Category: Z-Wave

Z-Way-Server … TypeError: Cannot read property ‚data‘ of undefined – solved


Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : Space required after the Public Identifier in /www/htdocs/w006f9ae/sub/wp/wordpress/wp-content/plugins/amazonsimpleadmin/lib/Asa/Service/Amazon/Request/Abstract.php on line 66

Warning: SimpleXMLElement::__construct(): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> in /www/htdocs/w006f9ae/sub/wp/wordpress/wp-content/plugins/amazonsimpleadmin/lib/Asa/Service/Amazon/Request/Abstract.php on line 66

Warning: SimpleXMLElement::__construct(): ^ in /www/htdocs/w006f9ae/sub/wp/wordpress/wp-content/plugins/amazonsimpleadmin/lib/Asa/Service/Amazon/Request/Abstract.php on line 66

Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : SystemLiteral " or ' expected in /www/htdocs/w006f9ae/sub/wp/wordpress/wp-content/plugins/amazonsimpleadmin/lib/Asa/Service/Amazon/Request/Abstract.php on line 66

Warning: SimpleXMLElement::__construct(): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> in /www/htdocs/w006f9ae/sub/wp/wordpress/wp-content/plugins/amazonsimpleadmin/lib/Asa/Service/Amazon/Request/Abstract.php on line 66

Warning: SimpleXMLElement::__construct(): ^ in /www/htdocs/w006f9ae/sub/wp/wordpress/wp-content/plugins/amazonsimpleadmin/lib/Asa/Service/Amazon/Request/Abstract.php on line 66

Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : SYSTEM or PUBLIC, the URI is missing in /www/htdocs/w006f9ae/sub/wp/wordpress/wp-content/plugins/amazonsimpleadmin/lib/Asa/Service/Amazon/Request/Abstract.php on line 66

Warning: SimpleXMLElement::__construct(): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> in /www/htdocs/w006f9ae/sub/wp/wordpress/wp-content/plugins/amazonsimpleadmin/lib/Asa/Service/Amazon/Request/Abstract.php on line 66

Warning: SimpleXMLElement::__construct(): ^ in /www/htdocs/w006f9ae/sub/wp/wordpress/wp-content/plugins/amazonsimpleadmin/lib/Asa/Service/Amazon/Request/Abstract.php on line 66

Moin zusammen,

heute mal ein kleines Tutorial, wie man das Einbinden von Fibaro RollladenSchaltern FGRM-222 in der WebUI des Z-Way-Servers ( ZWave.me ) erfolgreich durchführt, wenn die Firmware 22.22 auf dem kleinen Autor ausgespielt ist und man mit dem HTTP-API-Aufruf folgende unschöne Fehlermeldung im Browser erhält:

TypeError: Cannot read property 'data' of undefined

Für alle die vor dem gleichen Problem stehen, hier folgende Lösung:

Ausgangslage:

– erfolgreich in eigene Netzwerk eingebundener ZWave-Aktor von Fibaro (FGRM-222 Firmware 22.22) im Z-Way-Server von ZWAVE.me (Controller ist entweder ein RazBerry-Board oder ZME_UZB1 USB-Stick )

– keine Anzeige eines Sliders wie im folgenden Screenshot:

no Slider on the right side

-> so wie im nachfolgenden Bild sollte es aussehen:

viola, slider present ;)

 

Lösung:

Teil 1:

Hierbei ist es von elementarer Wichtigkeit, dass alle Geräte (Roller Shutter Autoren) für die dieses Tutorial angewendet werden soll, vorher kalibriert worden sind !!! 

Zur Lösung dieses Problems müssen wir uns ins Dateisystem des RaspBerry PI begeben. Ich mache das am liebsten mit TextWrangler ( beliebter freier Editor für Mac OS X). Hier kann ich die Dateien direkt vom FTP-Server holen und bearbeiten. Ab diesem Punkt lass ich die Bilder für sich sprechen:

ZielVerzeichnis auf dem RaspBerry PI:      /opt/z-way-server/config/zddx/

Die XML-Datei %-DeviceData.xml enthält die MetaDaten aller in euer ZWave-Netzwerk eingebundenen Geräte.    ( Dateiname bestehend aus: <eurer HomeID>-DeviceData.xml )

Wichtig: Bevor ihr irgendwelche Änderungen an dieser Datei vornehmt, ERSTELLT vorher IMMER eine SICHERUNG !!!  

Bildschirmfoto 2016-01-28 um 23.11.00

geöffnete XML-Datei

Bildschirmfoto 2016-01-28 um 23.14.05

  • ein Collapse Top-Level Folds lässt die komplette Datei etwas übersichtlicher Aussehen (Gruppieren und Zusammenklappen auf NodeEbene)
  • so behält man gut die Übersicht

Bildschirmfoto 2016-01-28 um 23.16.05

  • wir schauen uns jetzt MetaDaten der Nodes 12 und 13 mal genauer an
  • NodeID 12 ist noch ohne Slider und NodeID 13 hat schon einen (da neuere Firmwareversion des Autors ;/ )

Bildschirmfoto 2016-01-28 um 23.32.24

  •   kopiert den kompletten Block von NodeID 13 der zwischen den INSTANCE-Tags steht und fügt ihn in ein leeres Dokument ein

Bildschirmfoto 2016-01-28 um 23.35.42

  • hier sollten dann alle Command-Classes von NodeID 13 zu sehen sein.

Bildschirmfoto 2016-01-28 um 23.37.55

  • alle Vorkommen von devices.13 durch devices.12 ersetzen

Bildschirmfoto 2016-01-28 um 23.43.44

  • sollte danach ungefähr so aussehen
  • als nächstes kopieren wir den geänderten Inhalt und ersetzen in der vorher GESICHERTEN ORIGINAL-VERSION den Inhalt zwischen den INSTANCES-Tags (ACHTUNG) von DEVICE-ID 12 !!
  • Speichern und Upload auf dem RaspBerry PI nicht vergessen

Bildschirmfoto 2016-01-28 um 23.47.14

  • damit wäre der Bearbeitungsteil beendet

Teil 2:

  • Neustart des Z-Way-Servers auf dem RaspBerry PI
sudo /etc/init.d/z-way-server restart
  • Neuanmeldung in der WebUI des Z-Way-Servers  ( elementar wichtig, sonst funktioniert das Nachfolgende Procedere nicht und ihr müsst Teil1 nochmals von vorn durcharbeiten ! )
  • Diese beiden URL’s nacheinander im Browser ausführen.  (Eine Anmeldung im WebInterface muss vorher erfolgt sein ! )
    Das ‚X‘  durch die Node-ID des Gerätes ersetzen. Im BeispielFall wäre dies jetzt die ID 12.
http://<raspberrypi-ip>:8083/JS/Run/zway.devices[X].SwitchMultilevel.data.supported=true
#Response im Browser:   true

http://<raspberrypi-ip>:8083/JS/Run/zway.devices.SaveData()
#Response im Browser:   null

 

Jetzt in der Expert-UI ein ‚Update alles‘ durchführen und die Darstellung ändert sich wie folgt:

Bildschirmfoto 2016-01-29 um 00.03.31

Sollte sich bei Euch auch die Änderung in der WebUI entsprechend geändert haben, dann habt ihr alles richtig gemacht, Glückwunsch.

Wenn nicht, postet es hier und es euch wird geholfen werden 😉

Oliver


Disclaimer !

Ich übernehme keinerlei Verantwortung und Haftung für Schäden oder Datenverluste die durch Benutzung dieser Anleitung entstehen oder entstehen könnten. Die Umsetzung des Gelesenen erfolgt auf eigene Gefahr und Verantwortung!


RaZBerry + Fibaro FGRM-222 Fw. rev. 22.22 (Roller Shutter)


Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : Space required after the Public Identifier in /www/htdocs/w006f9ae/sub/wp/wordpress/wp-content/plugins/amazonsimpleadmin/lib/Asa/Service/Amazon/Request/Abstract.php on line 66

Warning: SimpleXMLElement::__construct(): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> in /www/htdocs/w006f9ae/sub/wp/wordpress/wp-content/plugins/amazonsimpleadmin/lib/Asa/Service/Amazon/Request/Abstract.php on line 66

Warning: SimpleXMLElement::__construct(): ^ in /www/htdocs/w006f9ae/sub/wp/wordpress/wp-content/plugins/amazonsimpleadmin/lib/Asa/Service/Amazon/Request/Abstract.php on line 66

Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : SystemLiteral " or ' expected in /www/htdocs/w006f9ae/sub/wp/wordpress/wp-content/plugins/amazonsimpleadmin/lib/Asa/Service/Amazon/Request/Abstract.php on line 66

Warning: SimpleXMLElement::__construct(): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> in /www/htdocs/w006f9ae/sub/wp/wordpress/wp-content/plugins/amazonsimpleadmin/lib/Asa/Service/Amazon/Request/Abstract.php on line 66

Warning: SimpleXMLElement::__construct(): ^ in /www/htdocs/w006f9ae/sub/wp/wordpress/wp-content/plugins/amazonsimpleadmin/lib/Asa/Service/Amazon/Request/Abstract.php on line 66

Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : SYSTEM or PUBLIC, the URI is missing in /www/htdocs/w006f9ae/sub/wp/wordpress/wp-content/plugins/amazonsimpleadmin/lib/Asa/Service/Amazon/Request/Abstract.php on line 66

Warning: SimpleXMLElement::__construct(): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> in /www/htdocs/w006f9ae/sub/wp/wordpress/wp-content/plugins/amazonsimpleadmin/lib/Asa/Service/Amazon/Request/Abstract.php on line 66

Warning: SimpleXMLElement::__construct(): ^ in /www/htdocs/w006f9ae/sub/wp/wordpress/wp-content/plugins/amazonsimpleadmin/lib/Asa/Service/Amazon/Request/Abstract.php on line 66

Dies ist ein Tutorial um den z-wave-Aktor FIBARO ZIB-FGRM-222 nach der Installation am RaZBerry prozentual positionieren zu können.

 

1. Hardware uRaZBerrynd deren Installation

So langsam macht der SmartHome-Gedanke bei uns zu Hause ein paar kleine Fortschritte. Nachdem der RaspBerry Pi mittlerweile schon ein gutes halbes Jahr läuft und das wirklich ausserordentlich stabil, hab ich ihm ein bisschen Verstärkung in Form eines RaZBerry Z-Wave Shields verschafft.

Und da man das ja nicht aus Langeweile oder Nonsens macht, gabs von Figaro noch einen Wallplug und einen Rollladenaktor dazu.
Erstmal klein anfangen. Wenns nicht funktioniert, kann man die Einzelteile ja auch binnen 4 Wochen an die Amazone zurückschicken. So, Teile sind da und gleich drangemacht die Dinger zu installieren. Gut, der Wallplug war jetzt nicht so die Herausforderung ;), einstöpseln und erstmal buntes Blinken anschauen.

Der Rollladenaktor war auch schnell verbaut, die Anleitung liegt ja bei und 1 Bild sagt ja bekanntlich mehr als 1000 Worte. Wer mit Hilfe dieser Grafik das Gerät nicht angeschlossen bekommt, sollte dann vielleicht doch ne ElektroFachkraft ranlassen.

 

2. Softwareinstallation

Wenn man sich die RaZberry-Erweiterung besorgt, liegt die Installation der passenden Software von zwave.me nahe. Entweder man nutzt gleich ein fertiges RaspberryPi-Image oder installiert sich die Software wie folgt:

wget -q -O - http://razberry.z-wave.me/install | sudo bash

Dieser Code lädt ein Installationsskript herunter und installiert den sog. Z-Way-Server automatisch.

Nach erfolgreicher Installation sollte der Z-Way-Server auf dem RaspBerry wie folgt zu erreichen sein:

http://:8083

Hier sollte jetzt folgende Anmeldemaske zu sehen sein:

Z-Way-Server Login

Die erste Anmeldung erfolgt per     User: admin    Passwort: admin

 


 

Startseite nach dem 1. login:

Startseite

 

 

 

 

 

 


 

Menüim DropdownMenu auf der rechten Seite kann man unter dem Menüpunkt ‚Geräte‘, seine Z-Wave-Geräte ins Netzwerk einbinden (inkludieren).

 

-> Hier sind die unterstützten Hersteller bzw. Funkprotokolle aufgelistet und man klickt sich relativ einfach bis zum gewünschten Gerät durch die Seite.


Gerät ins Netzwerk einbinden

Im Beispiel hier habe ich den Aktor für Rollläden von Fibaro genutzt, da später noch per HTTP-Request modifiziert werden muss. Doch dazu später mehr.

In diesem Menü auf Punkt 2 ( Anlernen starten ) klicken und dann am angeschlossenen Aktor den Button drücken. ( Phasenprüfer bereithalten 😉   )

Man klickt sich dann weiter durch den Dialog und wenn alles erfolgreich gelaufen ist, wird man am Ende wieder auf die Startseite geleitet und man hat den ersten Eintrag eines eingebundenen Z-Wave-Geräts vor Augen.

Glückwunsch!

Anschließend noch den RollladenAktor kalibrieren; 3 sek. den kleinen Knopf von eben drücken und der Rollladen sollte 1x runter, 1x hoch und 1x runter fahren ( ausgehend davon dass der Rollladen vor Drücken des Knopfes oben war !)


Rollladen-Aitor erfolgreich hinzugefügt

Rollladen-Aktor erfolgreich hinzugefügt

So sieht dann in etwa die Anzeige aus ( ich hab natürlich das Gerät schon umbenannt, da die Gerätekennung recht kryptisch wirkt 😉 )

Wie man erkennen kann, hat das Z-Wave-System den Aktor nur als reinen Schalter (AN/AUS) erkannt. Dies bedeutet, dass der Rollladen nicht automatisch in Position 75% (3/4 Status auf oder geschlossen)  fahren kann und wird !  ;/

 


Grund hierfür ist ein Parameter in der Konfiguration des RollladenAktors, der ab Werk auf ‚false‘ gestellt ist. Um die gewünschte Funktionalität des Aktors einzustellen, sind nur 2! URL-Aufrufe von Nöten!


 

Expert-UI

Wir benötigen hierfür die Node-ID des zu modifizierenden Z-Wave-Geräts.

Die Node-ID aller Z-Wave-Geräte kann man in der EXPERT-UI (Erreichbar aus dem DropDown-Menü oben) sehr gut auslesen:

Bei mir ist der Rollladen-Aktor die ID 4.

 

 


Expert-UI Node-4 Status

Eigenschaften des Rollladenaktors im Expert-UI

Binär schalten:   EIN / AUS


 

Diese beiden URL’s nacheinander im Browser ausführen.   Das ‚X‘  durch die Node-ID des Gerätes ersetzen.

http://<raspberrypi-ip>:8083/JS/Run/zway.devices[X].SwitchMultilevel.data.supported=true
#Response im Browser:   true

http://<raspberrypi-ip>:8083/JS/Run/zway.devices.SaveData()
#Response im Browser:   null

 


Jetzt in der Expert-UI ein ‚Update alles‘ durchführen und die Darstellung ändert sich wie folgt:

Bildschirmfoto 2015-09-17 um 21.32.22


 

 

 

 

Herzlichen Glückwunsch, jetzt sollte sich nach erneutem Einloggen in die Z-Wave Smarthome-Seite der RolladenAktor wie folgt darstellen:

 

Bildschirmfoto 2015-09-17 um 21.29.20

Die Prozentzahl variiert je nach RollladenStand 0% oder 99% initial.

 

 

 

 

Bildschirmfoto 2015-09-17 um 21.29.33

Bei klick auf die Prozentanzeige öffnet sich dieser Dialog und man kann per Mouse / Touch den Öffnungszustand des Rolladen ändern und unmittelbar darauf sollte der Rolladen sich auch in diese Position bewegen.

 

 

 

 


 

Viel Spass mit Euren Z-Wave-Devices

Anregungen und Fragen sind immer willkommen.

Grüße Oliver

[20.09.2015] – kleiner Nachtrag: . Diese Codeausführung ist nur notwendig wenn die RollladenSchalter die Firmware Version 22.22 noch aufgespielt haben. Ab Firmware Version 24.24 ist dies nicht mehr nötig, die Schalter werden korrekt erkannt und eingebunden !