NEWS
Test Adapter Z-Wave 2 (v1.8.x)
-
@Marsx79 Dann probiers bitte noch ein paar Mal. Der hat nur ganz kurz auf eine Nachricht geantwortet.
-
@AlCalzone
Moin,
ich habe wieder einen neuen Sensor der nicht erkannt wird.
Bedienungsanleitung.
Dann hätte ich noch eine Frage.
Macht es was das die Software den Sensor nicht kennt?
Man kann doch einfach nur das Gerät nicht Konfigurieren oder?Vielen Dank viele Grüße
-
@Domoe sagte in Test Adapter Z-Wave 2 (v1.8.x):
Macht es was das die Software den Sensor nicht kennt?
Man kann doch einfach nur das Gerät nicht Konfigurieren oder?Korrekt. Bei manchen neueren Geräten geht sogar das.
-
@AlCalzone
Moin,
ich habe mich mal an so einer Config-Datei versucht.
Das ist für den Eurotronic Temperatur und Feuchte Sensor.
Bevor ich diese Teste, was ich noch rausfinden muss wie das geht, wollte ich sie dir zeigen ob das so richtig ist.
EUR_Temp_Hum.json -
@Domoe Ich fürchte das war Doppelarbeit. Das Gerät existiert schon, habe aber seitdem noch kein Adapterupdate released:
https://github.com/zwave-js/node-zwave-js/blob/bcc7af4fd6839123d7615c5cbfb4de43235199ef/packages/config/config/devices/0x0148/eur_airquality.json#L8Falls du es schon nutzen willst, sollte folgendes funktionieren:
cd /opt/iobroker/node_modules/zwave-js
oder wenn das Verzeichnis nicht existiert:
cd /opt/iobroker/node_modules/iobroker.zwave2/node_modules/zwave-js
und dann
npm install @zwave-js/config@latest
um die neuesten Gerätekonfigurationen zu laden.
-
@AlCalzone
Ne ich habe für den Eurotronic Temperatur und Feuchte Sensor eine Datei gemacht. Das ist wieder ein anderer Sensor.Muss ich den Adapter dannach einfach neustarten?
-
@Domoe
Deine Datei:"manufacturerId": "0x0148", "devices": [ { "productType": "0x0005", "productId": "0x0001" } ],
Meine Datei:
"manufacturerId": "0x0148", "devices": [ { "productType": "0x0005", "productId": "0x0001" } ],
Ich sehe keinen Unterschied. Meiner hat lediglich den internationalen Namen.
-
v1.8.1 ist auf dem Weg - Changelog oben.
-
Hallo,
gäbe es evtl. die Möglichkeit einen Ordner für eigene Konfigurationsdateien zu erstellen welcher immer beim Neuladen des Adapters wieder eingelesen wird? -
@Besserso mmn. sollten die lieber bereit gestellt werden, damit alle davon profitieren können.
-
Nabend,
ich habe nun auch mein Z-Wave Adapter auf den 2er aktualisiert.
Habe den alten Adapter dafür pausiert und den neuen aktiviert und den USB-Stick als Gerät übergeben. Mein System ist eine Synology NAS mit ioBroker im Docker - das nur am Rand.Probleme habe ich aktuell bei allen Fenstersensoren "Philio Technology Corp PST02C".
Beim Öffnen des Fensters werden nur die 2 Werte in zwave2.0.Node_023.Multilevel_Sensor aktualisiert(grün)zwave2.0.Node_023.Notification.accessControl_doorState bleibt leer
Und die im alten Adapter enthaltenen zwave.0.NODE27.ALARM.Access_Control_1 sowie zwave.0.NODE27.SENSOR_BINARY.Sensor_1 tauchen gar nicht erst auf.
Aber ich muss dazu sagen, dass die Philio Fenstersensoren schon immer gezickt haben.
^^^^^^^^^^^^^^
Beim Türschloss ASUS CFA3010 fehlt mir der zwave.0.NODE73.DOOR_LOCK.Locked_1 aus dem alten Adapter welchen ich zum öffnen/schließen genutz habe.
Der vermutlich geplante Wert zum Öffnen mit dem Zwave2 Adapter zwave2.0.Node_073.Basic.targetValue mit Werten 0-99 reagiert nicht.
Möglich aber auch dass ich hier den korrekten Schaltvalue grad nicht mehr sehe, hab schon eckige Augen...
^^^^^^^^^^^^^^
Ein Fibaro FGS223 will unter dem neuen Adapter auch nicht mehr.
Wo unter Zwave1 die zwave.0.NODE3.SWITCH_BINARY.Instance_1:_Switch_1 und zwave.0.NODE3.SWITCH_BINARY.Instance_2:_Switch_2 korrekt angezeigt und geschaltet werden
so steht im ZWave 2 nur zwave2.0.Node_003.Binary_Switch.targetValue ohne die 1/2.°°°°°°°°°°°°°°°°°°°°
Aber sonst scheinen die restlichen 50 Nodes korrekt zu schalten. Hut ab, @AlCalzone , du machst hier echt einen tollen Job, vielen Dank!
-
Hi AlCalzone,
mir ist gerade aufgefallen, dass er bei Batteriegeräte beim level keine Unit mitgibt.
Ist das so gewollt? Müsste da nicht % hinter?
Gruß
-
@Troya Kannst du mir bitte für die betroffenen Geräte ein Log machen und die hier beschriebenen Infos posten:
https://github.com/AlCalzone/ioBroker.zwave2/blob/master/docs/de/bei-problemen.md#notwendige-informationen-für-ein-issueDazu Adapter starten, abwarten bis Ruhe eingekehrt ist (alle Geräte fertig). Dann die 3 Nodes einzeln neu interviewen über die Geräte-Liste in der Adapter-Konfiguration.
@Gabe hast Recht!
-
@AlCalzone danke änderst du das?
-
@AlCalzone
Ok, war nicht einfach die Dateien aus Docker zu bekommen...10:10:48.443 Beginnt das Inverview on Node 023 - ist der Fenstersensor Philio. Während des Interviews habe ich den Button gedrückt, damit der Sensor wach wird.
10:14:37.797 Beginnt das Interview von Node 080, ist das Schloss.
10:17:59.900 Beginnt das Interview von Node 003, Ist der Fibaro FGS223.Hier die Logfiles
zwave-1108.log
f0f1c31b.values.jsonl
f0f1c31b.jsonNoch eine Frage bzw. Problem.
Ich arbeite nicht direkt über die Nodes sondern habe für jeden Wert den ich schalten möchte ein Alias erstellt. (Damit ich nicht alle Scripte ändern muss, wenn mal wieder ein Node ausfällt)
Nun gibt es bei Schaltern unter Zwave2 die Neuerung, dass es einen zwave2.0.Node_033.Binary_Switch.targetValue_001
zum schalten gibt und einen für die Rückmeldung: zwave2.0.Node_033.Binary_Switch.currentValue_001
(So verstehe ich das zumindest )
Damit bekomme ich aber Probleme mit den Alias. Grade beim Restart des Adapters wo der targetValue auf "null" steht. -
@Troya sagte in Test Adapter Z-Wave 2 (v1.8.x):
Damit bekomme ich aber Probleme mit den Alias. Grade beim Restart des Adapters wo der targetValue auf "null" steht.
Hast du das mit Version 1.8.1 auch noch?
-
@Gabe Jap, Issue ist bereits erstellt.
-
So wie es nach ersten Tests aussieht wohl ja.
Schalte ich ein Licht ein. z.B.:
alias.0.EG_Wohnzimmer.Aktor.PendellampeWohnzimmer = true
wird der entsprechend dazugehörige
zwave2.0.Node_062.Binary_Switch.targetValue_001 = true
gesetzt und logischerweise auch final der
zwave2.0.Node_062.Binary_Switch.currentValue_001 0 true
-> Die Lampe geht an.Starte ich nun den Adapter neu, bleibt currentValue erhalten. Jedoch targetValue wird leer (null).
Dadurch auch der Alias.
Besonders im Vis, wo ich den Alias ebenfalls hinter Schalter sitzen habe verwirrt das, denn physikalisch ist das Licht an, wird jedoch bei Vis als aus dargestellt wird.Entsprechend ist das auch beim physikalischen schalten des Lichtschalters:
currentValue reagiert korrekt
jedoch targetValue bleibt unverändert, wie auch der Alias und zuletzt auch die Symbole im Vis.Warum hast du denn den value in die current- und -target value aufgeteilt? Der "alte" Zwave-Adapter hatte das ja in einem value und hat anhand der Farbe angezeigt ob korrekt geschaltet wurde.
-
@Troya Kannste mir bitte mal ein Log machen, in dem man beides sieht? Eigentlich sollte
targetValue
nicht mehr gelöscht werden.Danach probier bitte mal die Option "Kompatibilität mit Schaltern verbessern".
Der Grund ist einfach erklärt:
Die Z-Wave Spezifikation kennt eine Unterscheidung zwischen Zielwert und aktuellem Wert, um z.B. bei langen Vorgängen (Rollo) rückmelden zu können, dass ein Vorgang aktiv ist und sowohl das Ziel als auch den aktuellen Wert anzuzeigen.
Die Library, die der alte Adapter genutzt hat, ist entstanden, als es diese Funktion noch nicht gab. -
@AlCalzone sagte in Test Adapter Z-Wave 2 (v1.8.x):
@Troya Kannste mir bitte mal ein Log machen, in dem man beides sieht? Eigentlich sollte
targetValue
nicht mehr gelöscht werden.Weiß nicht genau was du meinst mit "beides sieht". Ich habe jetzt nochmal folgendes gemacht:
- im "Objekte"-Reiter unter "ID" das Wort tvalue eingetragen, dadurch werden currentvalue sowie targetvalue angezeigt. Habe als Beispiel den Node 033 extra einmal geschaltet, dass beide Values eingetragen sind.
- Anschließend in der Instanz das erweitertes Logging aktiviert. Dadurch wird ja der Controller neu gestartet.
- wieder in Objekte geschaut und nach ein paar Sekunden des Neustarts blinkt currentvalue einmal grün auf und targetvalue wird entfernt.
- somit schnell zur Instanz und Zwave2 gestoppt und den Log extrahiert und hier hochgeladen, glaube aber der unterscheidet sich kaum vom ersten Log.
f0f1c31b.values.jsonl
zwave-1125.log
f0f1c31b.json
Ich habe in den Logs zwave-1252.log, sowie die beiden .jsonl Files im Notepad versucht mehr zu dem targetvalue und currentvalue herauszufinden. Aber da bin ich zu wenig Programmierer.
Man kann sich da aber recht schnell durchsuchen wenn man unseren Beispiel-Node 33 sucht.Oder habe auch mal nach targetValue gesucht und das hier steht häufig in der Datei values.jsonl:
{"k":"{\"nodeId\":76,\"commandClass\":37,\"endpoint\":0,\"property\":\"targetValue\"}"} {"k":"{\"nodeId\":68,\"commandClass\":38,\"endpoint\":0,\"property\":\"targetValue\"}"} {"k":"{\"nodeId\":62,\"commandClass\":37,\"endpoint\":1,\"property\":\"targetValue\"}"}
Sieht für mich als Laie irgendwie leer aus, denn da steht bei anderen meist zum Beispiel sowas:
{"k":"{\"nodeId\":18,\"commandClass\":49,\"endpoint\":0,\"property\":\"Formaldehyde (CH₂O) level\"}","v":67}
^^^^^
Dann habe ich im Zwave-Log noch sowas häufig gefunden:
(leider nicht für unser Beispiel-Node 033)17:42:22.544 CNTRLR [Node 017] [~] [Binary Switch] currentValue: false => true [Endpoint 0] 17:42:22.544 CNTRLR [Node 017] [+] [Binary Switch] targetValue: undefined [Endpoint 0]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Danach probier bitte mal die Option "Kompatibilität mit Schaltern verbessern".
Mache ich jetzt mal, berichte dann...
Der Grund ist einfach erklärt:
Die Z-Wave Spezifikation kennt eine Unterscheidung zwischen Zielwert und aktuellem Wert, um z.B. bei langen Vorgängen (Rollo) rückmelden zu können, dass ein Vorgang aktiv ist und sowohl das Ziel als auch den aktuellen Wert anzuzeigen.
Die Library, die der alte Adapter genutzt hat, ist entstanden, als es diese Funktion noch nicht gab.Ok, glaub hab's verstanden.
Früher(ZWave1):- Rollo steht auf 50.
- Ich tippe 90 rein.
- Der Wert springt umgehend auf 50 und zählt mit jeder Rückmeldung vom Node hoch bis 90.
Heute(Zwave2.0):
- Currentvalue steht auf 50. (und theoretisch ja auch vom letzten schalten auch targetvalue)
- ich tippe targetvalue auf 90.
- currentvalue zählt mit jeder Rückmeldung vom Node hoch bis 90.
^^
^^
Für mich aber noch nicht ganz schlüssig ist, wie das mit Vis funktionieren soll:
Beispiel Lichtschalter und Glühbrine.
Bisher habe ich da wo die Lampe sitzt ein Glühbirnensymbol. Dort tippe ich drauf, Der Befehl wird gesendet, die Rückmeldung kommt und die Birne leuchtet - in Real wie auch das Symbol in Vis. Manchmal geht das Symbol in Vis blitzschnell AN-AUS-AN, weil der Node zuerst den Stand "Aus" meldet bevor geschaltet wird und "An" gemeldet wird, aber das stört kaum.Unter Zwave2 gibt's jetzt folgendes:
-
A) Setze ich dort den CurrentValue ein, dann lässt sich der nicht als Schalter nutzen - ist ja nur die Rückmeldung vom Switch.
-
B) Setze ich dort den targetValue ein, dann lässt sich der Schalter zwar schalten, aber ob das Licht real an ist wird an diesem Punkt nicht korrekt angezeigt, da ja CurrentValue die Rückmeldung gibt.
Meinem Verständnis nach bräuchte ich unter Zwave2.0 also sowie ein Symbol für den Lichtschalter(targetValue) als auch ein Symbol der Glühbirne(currentvalue)
Sehe da den Vorteil nicht.
Aus EDV-Sicht verstehe ich aber, dass ein Objekt nicht gleichzeitig Eingabe wie auch Ausgabe sein sollte, falls das der Grund ist.