NEWS
Test Adapter ZWave2 (v0.8.x)
-
Aktuelle Test Version 0.8.0 Veröffentlichungsdatum 04.01.2020 Github Link https://github.com/AlCalzone/ioBroker.zwave2 Neuigkeiten
Diesmal gibts nicht viel, außer ein verbessertes Handling der Cache-Datei.
Diese wird ab sofort nicht mehr innerhalbnode_modules/zwave-js
gespeichert, sondern iniobroker-data
, damit sie bei Updates nicht verloren geht. Falls sie doch mal zurück gesetzt werden muss, gibt es dafür jetzt einen Button auf der Geräteübersicht.Wer testen möchte, darf gerne
-
@AlCalzone - Moin Moin
Da bin ich natürlich dabei und ist schon installiert
Cache Datei auch gefunden:
Am Dienstag sollten dann meine Fibaros RollerShuter3, Dimmer2 und DoubleSwitch2 kommen.
Bin derzeit am Scripten... Läuft alles wie geschmiert!Weiter so @AlCalzone - perfekt!
-
Was mir beim Scripten mit deinem Adapter und einem Fibaro RollerShutter2 aufgefallen ist,
dass die SceneId beim Drücken einer Taste rauf o. runter (sind bei mir Taster, keine Schalter) mit der korrekten Nr.
gesetzt wird, diese dann aber auch so stehen bleibt. (SceneID 16 = rauf/open, 26 = runter/close)Beim normalen Z-Wave Adapter wird zwar auch die korrekte Nr. gesetzt, aber nur für die Zeit solange der Taster gedrückt wird,
danach wird wieder automatisch die 0 (Null) gesetzt – was für mich eigentlich auch korrekt ist.Ich bin mir nicht sicher ob das absichtlich so von dir programmiert wurde oder ob es noch ein Fehler ist.
Bei der gesetzten Schalterkonfiguration, beim mir eben „Momentary switches“, sollte die SceneId daher nur für die Zeit
des Tastendruck gesetzt werden und danach wieder auf 0 gehen – wie beim normalen Z-Wave Adapter auch.Derzeit behelfe ich mir, in dem ich den Power Status auswerte (<1 Watt) und dann die SceneId auf 0 setze
wobei ich dann aber eine Fehlermeldung in ioB Log erhalte – wie im Screenshot.Anbei auch deine Log Datei, falls Du etwas prüfen möchtest: zwave-1607.log
Sonst läuft bei mir alles bisher bestens
-
@Rolf_KA Hab mal nachgeschaut. Die Schaltereinstellung (Momentary Switches) gibt nur an, wie das Gerät die Spannung am Schaltereingang interpretiert. Auf die Scene ID hat das keinen Einfluss. Auch ein Reset wird laut Log nicht gesendet.
Das von dir beschriebene Verhalten ist in OpenZWave so implementiert, dass nach Ablauf der angegebenen Zeit (in deinem Fall sofort), frühestens aber nach 1s die Scene-ID zurückgesetzt wird auf 0.
In den Spezifikationen steht hierzu allerdings nichts. Wenn das sinvolles und gewünschtes Verhalten ist, kann ich dazu was einbauen.
-
Hallo,
ich habe mir den neuen Adapter installiert. Das hat auch problemlos funktioniert und meine vier Geräte tauchen allesamt auf (Stick, Steckdose, Tür-/Fenstkontakte).
Leider scheint es aber mit meinen Tür-/Fensterkontakten "DCH Z110" nicht sauber zu funktionieren. Es werden zwar Objekte angelegt, ich sehe jedoch nirgends, wenn der Sensor auslöst bzw. den aktuellen Zustand. Vielleicht sehe ich auch einfach den Wald vor lauter Bäumen nicht? Wo müsste diese Info denn zu finden sein? Batterie, Temperatur, Helligkeit ... ist soweit alles vorhanden und wird beim Auslösen auch neu geschrieben. Nur offen/geschlossen kann ich nicht entdecken.
-
@AlCalzone sagte in Test Adapter ZWave2 (v0.8.x):
sinvolles und gewünschtes Verhalten ist
Okay, habe ich verstanden.
Für mich sah es unter OpenZW so aus, als ob die SceneId Nr. eben nur dann gesetzt wird, wenn eine Taste gedrückt wurde.
(es gibt ja auch mehrfache 1 x, 2x, 3x drücken).Ob es jetzt unbedingt ein sinnvolles und gewünschtes Verhalten ist, ist so eine Sache…
In meinem Fall wäre es sinnvoll da ich über Scripte eben den Tastenstatus auslese und dann halt auf irgendwas reagiere.
Wenn das Script aber ständig denkt der Taster sei gedrückt, kommt halt was durcheinander, auch wenn man es dann irgendwie anderes Scripten könnte.Wäre aber auch für Adapter Umsteiger die vorher OpenZW hatten nicht schlecht, wenn das Verhalten bei SceneId eben identisch wäre – die habe ja auch vielleicht Scripte
Jedenfalls ist dein alternativer Z-Wave2 Adapter für mich der bessere
-
@Rolf_KA Reicht es dir denn, wenn der Wert sofort wieder zurück gesetzt wird und nicht erst nach 1s? Aus ioBroker kannst du auf jeden Fall darauf reagieren.
-
Schau auch hier noch nach: https://forum.iobroker.net/topic/27796/test-adapter-z-wave-2-v0-6-x-v0-7-x
(Die Log Datei Erstellung kann jetzt aber viel komfortabler über den Adapter aktiviert werden)
Aber dann weißt Du schon mal wo was ist.Mit deinem Tür-/Fensterkontakten "DCH Z110" kann leider nicht weiterhelfen - denke aber @AlCalzone bekommt das locker hin.
Für mich ist sein alternativer Z-Wave2 Adapter alternativlos!
-
Unter
/opt/iobroker/iobroker-data/zwave2.0/cache
findest du eine JSON-Datei. Die bitte mal posten, dann kann ich mehr sagen. -
@AlCalzone sagte in Test Adapter ZWave2 (v0.8.x):
Reicht es dir denn, wenn der Wert sofort wieder zurück gesetzt wird und nicht erst nach 1s?
Wenn ich über ioBroker bzw. Script darauf reagieren kann, muss das nicht erst nach 1s zurückgesetzt werden.
-
@AlCalzone Hallo und danke. Hier kommt die Datei:
ed4e16cf.jsonDa fällt mir noch ein, die Geräte liefern wohl kein true/false zurück, sondern Statuswerte: 22, 23 (offen, geschlossen) und 254 etc.
-
Sehr gut, jetzt geht auch der selbst gesetzte Name bei den Devices nicht mehr verloren.
-
@dabbeljuh Schau mal unter
Notification.accessControl_DoorState
oder ähnlich. Müsste folgende Zustände haben, deren Name auch in ioBroker angezeigt wird:"states": { "0": "idle", "22": "Window/door is open", "23": "Window/door is closed" }
Außerdem sollte es in
Binary_Sensor
zwei Datenpunkte geben. Es kann aber sein, dass das Interview nicht vollständig durchgelaufen ist. Ggf mal aufwecken. -
@AlCalzone sagte in Test Adapter ZWave2 (v0.8.x):
Reicht es dir denn, wenn der Wert sofort wieder zurück gesetzt wird und nicht erst nach 1s? Aus ioBroker kannst du auf jeden Fall darauf reagieren.
Habe vor ca. 1 1/2 Stunde deinen Adapter mal aktualisiert.
Wie ich bemerkt habe, hast Du zur SceneID schon etwas gemacht – die Version ist aber noch die 0.8.0.
Die SceneID wird jetzt unmittelbar, nachdem sie mit dem korrekten Schaltwert gesetzt wird, sofort auf die vorherige eigetragene Wert Zahl (bei mir die 9 zum Test) zurückgesetzt.
Ich muss doch zugeben, dass ist verdammt schnell…
Ein Trigger reagiert zwar auf die SceneID Änderung, aber da die Umschaltung so schnell ist, habe ich keine anderen Werte vom jeweiligen Node.
Die SceneID sollte eigentlich solange gesetzt bleiben, bis ich mind. eine Aktualisierung der Verbrauchsmessung habe.
Beispiel – Trigger auf Motor/Power:
Der Motor läuft zwar, aber es ist keine korrekte SceneID mehr vorhanden, in welche Richtig läuft der Motor, rauf oder runter?Das mit der 1 Sek. bei OpenZW hatte wohl doch einen Sinn.
Wenn es aber für dich zu umständlich ist gebe Bescheid.
Ich muss dann 2 Trigger erstellen und mir dann die SceneID Nr. kurz zw. speichern welche ich dann beim Trigger Motor/Power weiter verarbeiten kann.
Danke Dir
-
Ich möchte vermeiden, ein Verhalten einzubauen, das nur für einen bestimmten Anwendungsfall funktioniert und bei anderen wiederum zu Problemen führt. Wer weiß, ob nicht jemand anderes auf sofortige Änderungen reagieren will?
@Rolf_KA sagte in Test Adapter ZWave2 (v0.8.x):
Der Motor läuft zwar, aber es ist keine korrekte SceneID mehr vorhanden, in welche Richtig läuft der Motor, rauf oder runter?
Nutzt du Blockly oder JavaScript? In letzterem kannst du soetwas machen:
on("zwave2.0.Node_XYZ.Scene_Activation.sceneId", async (obj) => { const sceneId = obj.state.val; if (sceneId) { // nur reagieren, wenn sceneId gesetzt wurde // Einmalig warten, bis der Motor einen Verbrauch > 1W meldet const motorPower = await once({id: "dp.für.motor-power", valGt: 1}); // mit der Leistung weiterrechnen } });
-
@AlCalzone sagte in Test Adapter ZWave2 (v0.8.x):
Ich möchte vermeiden, ein Verhalten einzubauen, das nur für einen bestimmten Anwendungsfall funktioniert und bei anderen wiederum zu Problemen führt. Wer weiß, ob nicht jemand anderes auf sofortige Änderungen reagieren will?
Da gebe ich dir natürlich vollkommen Recht !
Hatte es gerade nochmal mit OpenZW getestet -
bis der Power Trigger (>1W) reagiert, ist bei denen der Wert SceneID noch korrekt vorhanden…Eigentlich Scripte ich mit Blockly, JavaScript wäre jetzt aber auch kein Problem.
Ich teste mal...Danke dir nochmal für deine Unterstützung
-
@AlCalzone Den State Notification.accessControl_DoorState gibt es - der wird nur leider nicht befüllt. Der Datenpunkt Binary_Sensor existiert gar nicht.
Ich hab es mit löschen der Datenpunkte, des Caches und sogar des kompletten Adapters versucht. Nutzt leider nichts. -
Hast Du schon die "Detaillierte Logdatei schreiben" in seinem Adapter bei dir aktiviert?
Vielleicht benötigt er diese würde ihm diese posten, dann kann er in "Ruhe" prüfen...
(in der Ruhe liegt ja bekanntlich die Kraft ) -
@Rolf_KA Die habe ich derzeit nicht aktiviert, kann ich aber natürlich gerne tun. Wohin wird die Datei denn geschrieben?
Und ich möchte @AlCalzone keinesfalls hetzen. Bin ja dankbar, dass er sich die Arbeit mit dem Adapter macht.
Muss ich ggf. noch ein Update von irgendwelchen Bibliotheken auf meinem Rechner durchführen? -
@dabbeljuh Die Datei landet in
/opt/iobroker/node_modules/zwave-js
und heißtzwave-<zahl>-.log
. Wäre hilfreich, die zu sehen, da anscheinend was schief läuft.Muss ich ggf. noch ein Update von irgendwelchen Bibliotheken auf meinem Rechner durchführen?
Nein, das ist das schöne an dem Adapter