NEWS
Zigbee 1.6.6 Update kein Ansteuern der Aussensirene
-
@legro
es geht ein Signal wenn:
strobe auf "false" steht bei "Burglar" und "Fire" mit blinkenden Lichtern und piepen mit und ohne Pausen. Ein nur akustischer Alarm bei dem Rest. -
@newpaint2 said in Zigbee 1.6.6 Update kein Ansteuern der Aussensirene:
es geht ein Signal wenn:
strobe auf "false" steht bei "Burglar" und "Fire" mit blinkenden Lichtern und piepen mit und ohne Pausen. Ein nur akustischer Alarm bei dem Rest.Ich hatte eine ganze Sequenz von JSON-Strings, die vernünftige Signalisierungen erzeugten. Hätte ich danach bloß aufgehört.
Leider hat das Austesten weiterer JSON-Strings dazu geführt, dass mittlerweile die ursprünglichen Befehle nur nicht mehr funktionieren.
Nun bin ich dabei herauszufinden, wie ich die Sirene und/oder den ZigBee-Adapter in den Zustand zurück überführen kann, in dem es zuvor leidlich funktionierte.
Was ich hierzu getan habe ..
- Die Sirene von der Batterie getrennt. Hierdurch konnte ich die Sirene überhaupt erst wieder ansprechen, dass sie etwas anderes signalisierte. Leider hat seither die Angabe von duration keine Auswirkung mehr, egal, was ich tue.
- Nun habe ich den Raspberry Pi 4 neu gestartet. Der "Erfolg" war überwältigend: Jetzt reagiert die Sirene 902010/29 überhaupt nicht mehr. Mehr noch: Auch die Rauchmelder 902010/24 sind jetzt wie tot.
Da müssen die Entwickler wohl oder übel nochmal ran. Was da falsch läuft kann unsereiner nicht einschätzen.
Hier die Fehlermeldung zu einem JSON {"warning": {"mode": "fire", "level": "high", "strobe": false,"duration": 12}}, der bisher funktioniert und die Sirenen heulen ließ.
2022-04-05 10:19:25.664 warn at script.js.ZigBee_Test.SireneAn:4:3 javascript.0 2022-04-05 10:19:25.663 warn at script.js.ZigBee_Test.SireneAn:1:1 javascript.0 2022-04-05 10:19:25.662 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1437:20) javascript.0 2022-04-05 10:19:25.658 warn You are assigning a string to the state "zigbee.0.00124b0008e73540.device_query" which expects a boolean. Please fix your code to use a boolean or change the state type to string. This warning might become an error in future versions. javascript.0
-
@legro sagte in Zigbee 1.6.6 Update kein Ansteuern der Aussensirene:
Hier die Fehlermeldung zu einem JSON {"warning": {"mode": "fire", "level": "high", "strobe": false,"duration": 12}}, der bisher funktioniert und die Sirenen heulen ließ.
2022-04-05 10:19:25.664 warn at script.js.ZigBee_Test.SireneAn:4:3 javascript.0 2022-04-05 10:19:25.663 warn at script.js.ZigBee_Test.SireneAn:1:1 javascript.0 2022-04-05 10:19:25.662 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1437:20) javascript.0 2022-04-05 10:19:25.658 warn You are assigning a string to the state "zigbee.0.00124b0008e73540.device_query" which expects a boolean. Please fix your code to use a boolean or change the state type to string. This warning might become an error in future versions. javascript.0
Es hilft vielleicht den String nicht auf den State "device_query" sondern auf den State "send_payload" zu setzen.
A.
-
@legro
spiel mal das Script von mir ein, belege die Schnittstellen, ich sende vorab die Szene und dann den Alarmbefehl... denn Effekt das es still war hatte ich auch. Ich habe aber die Sirene AV2010/29 als Gerät dafür genutzt. Vielleicht sind die bei der AV2010/24 wieder anders gemacht (?!). Eine echte Schnittstellenkonfiguration des Herstellers wäre vielleicht besser. Intern scheint der mit dem Befehl "Scene" was zu tun, was ja auch Sinn macht wenn die Komponenten, wie Zentrale, Tastenfeld und Sirene nebeneinander aggieren. -
@asgothian said in Zigbee 1.6.6 Update kein Ansteuern der Aussensirene:
Es hilft vielleicht den String nicht auf den State "device_query" sondern auf den State "send_payload" zu setzen.
Asche über mein Haupt!
Völlig verwirrt hatte ich mich beim Datenpunkt offenbar vergriffen.
Aber das betrifft nur den Test der Rauchmelder 902010/24. Diese arbeiten noch wie oben beschrieben. Insoweit ist hier alles beim Alten.
Aber die Außensirene funktioniert nicht mehr wie zuvor. Egal, was ich in send_payload reinschreibe, das Verhalten ist immer dasselbe: horizontales Lauflicht + piep-piep-piep.. (ca. 4s Dauer). Dasselbe erhalte ich auch, wenn ich bloß {"warning": {"mode": "off"}} sende.
Und hier ein Beispiel, was zuvor funktionierte ..
javascript.0 2022-04-05 12:04:09.840 warn script.js.ZigBee_Test.Send_Payload_Test: {"warning": {"mode": "burglar", "level": "medium", "stobe_level": "high", "stobe": false, "strobe_duty_cycle": 2, "duration": 20}}
-
spiel mal das Script von mir ein, belege die Schnittstellen, ..
Auf zwei Hochzeiten tanzen, möchte ich zunächst einmal nicht. Zunächst möchte ich erst einmal abklären, wo sich was verstellt hat.
-
Die Außensirene lässt sich überhaupt nicht mehr vernünftig ansteuern.
So sollte doch der Parameter level die Lautstärke regeln. Dies ist nicht der Fall! Statt die Lautstärke zu ändern, ändern sich das Blinken und Tonsignale. Auch ist die Außensirene so leise, dass sie kaum zu hören ist.
Kannst du dich bitte nicht nochmals der Sache annehmen.
-
@legro sagte in Zigbee 1.6.6 Update kein Ansteuern der Aussensirene:
Kannst du dich bitte nicht nochmals der Sache annehmen.
Das kann ich leider nicht - die Thematik was sich da verstellt ist zu 100% auf dem Gerät selber, da der "innere" Inhalt ({"warning" :{ ... } - alles was an Stelle der Punkte im String steht) so an das Zigbee Gerät gesandt wird. Dabei werden die Texte nach den Vorgaben des Zigbee-Standards in zahlen umgewandelt:
const mode = {'stop': 0, 'burglar': 1, 'fire': 2, 'emergency': 3, 'police_panic': 4, 'fire_panic': 5, 'emergency_panic': 6}; const level = {'low': 0, 'medium': 1, 'high': 2, 'very_high': 3}; const strobeLevel = {'low': 0, 'medium': 1, 'high': 2, 'very_high': 3}; const values = { mode: value.mode || 'emergency', level: value.level || 'medium', strobe: value.hasOwnProperty('strobe') ? value.strobe : true, duration: value.hasOwnProperty('duration') ? value.duration : 10, strobeDutyCycle: value.hasOwnProperty('strobe_duty_cycle') ? value.strobe_duty_cycle * 10 : 0, strobeLevel: value.hasOwnProperty('strobe_level') ? strobeLevel[value.strobe_level] : 1, };
Die Folgenden Standardwerte gelten für die einzelnen Einträge sofern sie nicht gesetzt sind:
mode: 'emergency'
level: 'medium'
strobe: wahr
duration: 10
strobe_duty_cycle: 0
strobe_level: 1Welche der entsprechenden Werte von der Sirene ausgewertet und genutzt werden geht (wenn überhaupt) aus der Anleitung der Sirene hervor.
@legro sagte in Zigbee 1.6.6 Update kein Ansteuern der Aussensirene:
Aber die Außensirene funktioniert nicht mehr wie zuvor. Egal, was ich in send_payload reinschreibe, das Verhalten ist immer dasselbe: horizontales Lauflicht + piep-piep-piep.. (ca. 4s Dauer). Dasselbe erhalte ich auch, wenn ich bloß {"warning": {"mode": "off"}} sende.
mode "off" ist ungültig. gültig wäre {"warning": {"mode": "stop"}} In meiner Aufzählung oben im Thread kommt dieses nicht vor. Zusammen mit dem Standard wird daraus mode "emergency"
Es ist schon notwendig korrekte Werte zu senden.
A.
Nachtrag:
Um welches Gerät handelt es sich bei Deiner Sirene ? AV2010/29 oder AV2010/29A ?
-
@asgothian said in Zigbee 1.6.6 Update kein Ansteuern der Aussensirene:
mode "off" ist ungültig. gültig wäre {"warning": {"mode": "stop"}} In meiner Aufzählung oben im Thread kommt dieses nicht vor. Zusammen mit dem Standard wird daraus mode "emergency"
Hier hast du beide Werte "stop" und "off" aufgeführt. Beides hat übrigens auch funktioniert.
Um welches Gerät handelt es sich bei Deiner Sirene ? AV2010/29 oder AV2010/29A ?
Ich habe noch die Geräte aus der ersten Generation: 902010/24 (Rauchmelder) und 902010/29 (Außensirene)
-
Mir scheint, dass die Sirene erst gar nicht die richtigen Werte erhält. Sie wurde bei der Neuregistrierung fälschlich als AV2010/29 erkannt. Unsere Sirene ist jedoch aus der älteren Serie vom Typ 902010/29.
Was auch immer ich sende, die Reaktionen der Sirene bleiben gleich.Die Sirene habe ich gelöscht und neu angelernt. Dabei sollte sie auch zurückgesetzt worden sein.
-
Nach weiteren unzähligen Tests bin ich zur Überzeugung gelangt, dass in Sachen ZigBee nicht sorgfältig gearbeitet wurde. Da blieb bei einem Umbau anscheinend kaum ein Stein auf dem anderen.
Jedenfalls wurden die BITRON Geräte der ersten Generation mehr oder weniger völlig aus ZigBee rausgekegelt. Weder die Rauchmelder 902010/24 noch die Außensirene 902010/29 lassen sich mit dem ZigBee Adapter sinnvoll steuern. Die Außensirene wird nicht einmal mehr korrekt erkannt, sondern als AV2010/29 im ZigBee Adapter ausgewiesen.
Dürfen die Besitzer der Geräte aus der 1.Generation jetzt diese in die Mülltonne einbauen oder gibt es Hoffnung, dass sich jemand diesem Dilemma annimmt?
-
Du wirst dich gedulden müssen. Dieses Thema ist nicht trivial zu analysieren und ich habe aktuell nicht die Zeit mehrere Stunden via Discord an dem Problem zu arbeiten.
Es gibt mehrere Ansatzpunkte die über die kommenden 2 bis 4 Wochen versucht werden können - dazu werde ich geeignete Testversionen / Testdateien bereitstellen wie es die Zeit erlaubt.
A.
-
@asgothian said in Zigbee 1.6.6 Update kein Ansteuern der Aussensirene:
Vorab: Vielen Dank für deinen Einsatz.
Du wirst dich gedulden müssen. Dieses Thema ist nicht trivial zu analysieren und ich habe aktuell nicht die Zeit mehrere Stunden via Discord an dem Problem zu arbeiten.
An Geduld soll es nicht fehlen. Die habe ich doch auch schon in den Anfängen bewiesen, als es darum ging, dass du via Discord bei mir das Ganze in Schwung gebracht hast.
Es gibt mehrere Ansatzpunkte die über die kommenden 2 bis 4 Wochen versucht werden können - dazu werde ich geeignete Testversionen / Testdateien bereitstellen wie es die Zeit erlaubt.
Im Gegensatz zu diesen Anfängen vor gut einem Jahr muss ich heute hoffentlich nicht mehr als ein Anfänger gelten.
Leider weiß ich noch viel zu wenig bezüglich der beteiligten Komponenten herdsman-converter, herdsman-Adapter, ZigBee-Adapter, .. und deren Zusammenspiel.
Gerne trage ich dazu bei, was mir möglich ist.
-
@legro sagte in Zigbee 1.6.6 Update kein Ansteuern der Aussensirene:
Gerne trage ich dazu bei, was mir möglich ist.
Versuch Nummer eins: Genau das tun was im 1.6.0 der State execute_warning getan hat:
Bitte sende an die Melder und die Sirene die folgende Nachricht via "send_payload"
{"warning":{"strobe":false, "duration":20}}
(alarm für 20 sekunden)
{"warning":{"strobe":false, "duration":0}}
(alarm aus)und berichte was passiert. Das ist genau die Nachricht die durch den State "execute_warning" gesendet wurde, wenn eine Dauer von 20 bzw. 0 eingetragen wurde.
Wenn diese Telegramme nicht (mehr) gehen dann muss ich davon ausgehen das der Herdsman Code sich signifikant geändert hat.
A.
-
@asgothian said in Zigbee 1.6.6 Update kein Ansteuern der Aussensirene:
Bitte sende an die Melder und die Sirene die folgende Nachricht via "send_payload"
{"warning":{"strobe":false, "duration":20}}
(alarm für 20 sekunden)
{"warning":{"strobe":false, "duration":0}}
(alarm aus)Vorbereitung ..
Ich habe die Außensirene 902010/29 zurückgesetzt, damit sie wieder die Signalisierung erzeugt, wie zuvor unter 1.6.0. Auch die Lautstärke war wieder so groß, dass man die Sirene sinnvoll einsetzen kann.
Test ..
- Ich habe {"warning":{"strobe":false, "duration":20}} an die Außensirene 902010/29 gesandt. Die heulte und blinkte wie früher los. Nach 20s ging sie aus.
- Sandte ich, während die Sirene heulte, die Ausschaltsequenz, so tat sich nicht.
- Beim Senden der Ausschaltsequenz bei ausgeschalteter Sirene heulte die Sirene los! Sie heulte unterbrochen
- Nur mit {"warning": {"mode": "stop"}} ließ sich die Sirene wieder ausschalten.
Soll ich auch die Rauchmelder daraufhin testen?
-
@legro sagte in Zigbee 1.6.6 Update kein Ansteuern der Aussensirene:
Soll ich auch die Rauchmelder daraufhin testen?
Ja.
A.
Nachtrag: Aus Deiner Erinnerung - führte ein Setzen der Dauer von 0 mit der 1.6.0er Adapterversion dazu das die Sirene aufhört zu signalisieren ?
A.
-
@asgothian said in Zigbee 1.6.6 Update kein Ansteuern der Aussensirene:
Soll ich auch die Rauchmelder daraufhin testen?
Ja.
Wird gemacht.
Nachtrag: Aus Deiner Erinnerung - führte ein Setzen der Dauer von 0 mit der 1.6.0er Adapterversion dazu das die Sirene aufhört zu signalisieren ?
Das weiß ich nicht (mehr). Ich hatte die 1.6.0 nie verwendet. Ich bin erst viel später auf 1.6.x umgestiegen. Welche Version ich verwendete, weiß ich auch nicht mehr.
Es kommt noch schlimmer: Ich habe bloß die Umstellung auf 1.6.x vollzogen, ohne das Ganze zu testen. Erst die Beiträge auf GitHub ließen mich aufhorchen.
-
Ich habe deine Parameter-Strings nun auch zu einem Rauchmelder 902010/24 geschickt. Es ergibt sich ein zu Sirene 902010/29 identisches Verhalten:
- Mit {"warning":{"strobe":false, "duration":10}} heult die eine gebaute Sirene für 10s los.
- Sende ich {"warning":{"strobe":false, "duration":0}} so heult sie ebenfalls los und hört nicht mehr auf.
- Wird {"warning":{"strobe":false, "duration":0}} gesandt, während die Sirene heult, hört sie auch nicht mehr auf, die duration=10 hat keine Wirkung mehr.
-
@legro ich habe das Fass ja irgendwann mal aufgemacht, habe still mitgelesen- hab meine Aussensirene wieder nach euren Beschreibungen mit Payload angesteuert- funktionieren tut sie ja zumindest damit. Aber den Blitz kann ich auch nicht separat ansteuern und die verschieden Modis funktionieren auch nicht- aber das ging unter 1.6.0 sowieso nicht.
-
Wenn ich das richtig überblicke, kann ich deine Diagnosen eins-zu-eins bestätigen. Leider habe ich zu keinem Zeitpunkt die Rauchmelder und Sirenen unter den Versionen 1.6.x getestet.
Nun ja, funktionieren tut's bei der Außensirene nicht so ohne Weiteres. Meine war nach den vielen Testserien komplett durch den Wind. Sie machte - gleichgültig, was ich sandte - bloß noch "piep-piep-piep.." für vier Sekunden und gab ein hin und herlaufendes Lauflicht aus.
Jetzt ruht halt unsere ganze Hoffnung auf @Asgothian.