NEWS
Zigbee 1.6.6 Update kein Ansteuern der Aussensirene
-
@asgothian said in Zigbee 1.6.6 Update kein Ansteuern der Aussensirene:
Es keine Logik dahinter.
Das was du einträgst wird 1:1 so an den Converter gesendet. Keine Modifikation.Entspricht send_payload somit dem Datenpunkt warning des Adapter eins-zu-eins? Mithin wäre es dann am Adapter nicht angegebene Parameter mit seinen Standardwerten zu füllen.
Irgendwie verstehe ich das Ganze wohl einfach noch nicht ausreichend.
Sei's d'rum! Um unser Alarmsystem soweit fit machen, dass es wieder funktioniert wie zuvor, dazu muss ich das auch nicht in aller Tiefe verstehen.
Die Außensirene werde ich einmal abbauen und an ihr die Wirkung der Parameter, die bei den Rauchmeldern (so gut wie) keine Reaktion hervorrufen (z.B. jene mit strobe im Namen), austesten. Die Nachbarn sind vorgewarnt, denn die Sirene ist dermaßen laut, dass sie auch außen zu hören ist, wenn sie im Haus losheult.
Was dabei herauskommt, werde ich hier berichten.
-
@legro sagte in Zigbee 1.6.6 Update kein Ansteuern der Aussensirene:
Entspricht send_payload somit dem Datenpunkt warning des Adapter eins-zu-eins? Mithin wäre es dann am Adapter nicht angegebene Parameter mit seinen Standardwerten zu füllen.
Irgendwie verstehe ich das Ganze wohl einfach noch nicht ausreichend.Zwischen dem Datenpunkt "send_payload" und den anderen Datenpunkten des Adapters gibt es gar keine Verbindung. Eigentlich ist "send_payload" dazu gedacht Funktionen anzusteuern die nicht als Datenpunkte zur Verfügung gestellt werden.
Was also in den Datenpunkten "excute_warning", "level", "mode", "strobe", "strobe_duty_cycle", "strobe_level", "duration" und "level" drin steht ist für die Nutzung des Datenpunktes "send_payload" irrelevant.
Problematisch ist das die zigbee-herdsman-converters erwarten das die Werte der Datenpunkte "level", "mode", "strobe", "strobe_duty_cycle", "strobe_level", "duration" und "level" gemeinsam als "warning" an das Gerät geschickt werden. Dieses setzt der Adapter (noch) nicht sauber um. Ich würde daher empfehlen die genannten States einfach nicht weiter zu nutzen.
Ich habe mir auch noch einmal angeschaut was als früher durch den state "execute_warning" gesendet wurde. Du kannst versuchen nur dieses an die Sirene zu schicken, da das ja bisher funktioniert hatte. In diesem Fall müsste bei "send_payload" der Wert
"{'strobe':false, 'duration':x}"
eingetragen werden, wobei statt x die Dauer des Signals angegeben werden muss (in Sekunden, 0 für aus)Ansonsten würde ich empfehlen einzelne substates einfach nicht mit Werten zu belegen wenn sie nicht wichtig sind. Insbesondere die Werte fuer "strobe" und "strobe_level" können entfallen.
A.
-
@asgothian said in Zigbee 1.6.6 Update kein Ansteuern der Aussensirene:
Zwischen .. "send_payload" und den anderen Datenpunkten .. gibt es gar keine Verbindung. ..
.. Problematisch ist das die zigbee-herdsman-converters erwarten das die Werte der Datenpunkte "level", "mode", "strobe", "strobe_duty_cycle", "strobe_level", "duration" und "level" gemeinsam als "warning" an das Gerät geschickt werden. ..
.. Dieses setzt der Adapter (noch) nicht sauber um. Ich würde daher empfehlen die genannten States einfach nicht weiter zu nutzen.Vielen Dank für diese klärenden Erläuterungen. Ich hatte dies nach meinen Tests ja bloß nur vermuten können und meine Programmierung darauf abgestimmt.
.. Du kannst versuchen nur dieses an die Sirene zu schicken, da das ja bisher funktioniert hatte. In diesem Fall müsste bei "send_payload" der Wert
"{'strobe':false, 'duration':x}"
eingetragen werden, ..Innerhalb meines Alarmsystems verwende ich zur Ansteuerung (derzeit) nur
{"warning": {"mode": "fire", "level": "high", "strobe": false,"duration": 120}}en detail ..
- mode verwende ich zum Abschalten (off oder stop), ansonsten ist's wohl egal, was ich da reinschreibe.
- Mit level kann ich eine unterschiedliche Signalisierung bewirken (medium kontinuierliches, high unterbrochenes Heulen).
- strobe muss ich auf false setzen.
- Alle übrigen Parameter lasse ich (derzeit noch) weg.
Könntest du uns bitte informieren, wenn sich in Sachen herdsman etwas tut?
Ich untersuche/teste nun, wie's um die Ansteuerung der Außensirene bestellt ist und werde hier berichten.
-
@legro sagte in Zigbee 1.6.6 Update kein Ansteuern der Aussensirene:
Könntest du uns bitte informieren, wenn sich in Sachen herdsman etwas tut?
Die Notwendigen Anpassungen werden nicht im Herdsman sondern im Zigbee Adapter vorgenommen werden. Und ja, ich informiere darüber - schon weil sich dadurch verhältnismässig viel ändert.
A.
-
Nun bin ich eifrig die Außensirene am Testen. Die reagiert offensichtlich auf Befehle, die bei den Rauchmeldern keine Reaktion auslösten. Sowohl das Blinken (strobe) als auch die Tonsignale können beeinflusst werden.
Jetzt kommt mein hier erstelltes Blockly doch noch zum Einsatz.
Sobald ich einen Überblick habe, gibt's hier eine Dokumentation darüber.
PS:
Den Telekomikern bei MSH/Qivicon können wir also bald Nachhilfe geben.
-
Nun bin ich mit meiner ersten Testserie durch. Die Ergebnisse sind äußerst verwirrend.
Beispielsweise scheint es egal zu sein, ob "strobe" auf true oder false gesetzt wird. Warum allein die Änderung beim Parameter "level" sich auch das Blinken verändert, kann ich mir nicht erklären. Dafür scheinen Änderungen im Parameter "strobe_level" keine Auswirkungen zu haben.
Da scheint wohl noch einiges im Argen zu liegen. Aber das soll mich nun nicht weiter stören, kann ich doch endlich an der Außensirene unsere Alarmarten (Rauch, Einbruch, Wasser, Gas) mit den bereits zur Verfügung stehenden Mitteln optisch und akustisch unterschiedlich signalisieren.
-
Hier einmal eine Rückmeldung vom ZigBee-Adapter:
Diesen Fehler habe ich ausgelöst, indem ich die Parameterwerte low und medium ohne Anführungszeichen eingab.
Ein Beispiel aus meiner Testsequenz ..
In diesem Beispiel erzeugt die Sirene 902010/29 optisch ein horizontal hin- und herlaufendes Lauflicht und gibt akustisch piep - piep - piep .. aus.
Fazit ..
Mein Vorschlag: Ausgehend von einem funktionierenden Beispiel sollte man die Parameterwerte systematisch ändern. So findet man - allerdings mit viel Mühe - nach und nach heraus, was geht und was nicht.
Ich bin, auch wenn ich noch nicht alles verstehe, alles in allem recht zufrieden.
-
@legro sagte in Zigbee 1.6.6 Update kein Ansteuern der Aussensirene:
Hier einmal eine Rückmeldung vom ZigBee-Adapter:
Es gibt an dieser Stelle 3 mögliche Reaktionen:
- eine Warnmeldung wenn die übergebenen Daten vom Format her falsch sind (Das Beispiel von @legro gehört dazu)
- eine Warnmeldung das es keinen Konverter für einen Schlüssel gibt - diese Meldung kommt immer dann wenn die Implementierung in den zigbee-herdsman-converters den Initialen Schlüssel im JSON nicht akzeptieren. Im Beispiel oben ist "warning" der initiale Schlüssel
- Eine Fehlermeldung 'error Send command to .. failed with ... - diese Meldung entsteht wenn das Gerät die Nachricht nicht erhält oder den Erhalt nicht bestätigt. Sie deutet in den meisten Fällen auf ein problem mit dem Funknetzwerk hin.
A.
-
Hallo, irgendwie knaubeln viele an dem neuen Problem.
ich habe es mal in ein Script gefaßt, jetzt ist es wenigstens wieder laut.
Ich denke es wird wohl auch nur eine vorübergehende Lösung sein. Eingestellt wird es über den Datenpunkt Alarmsound<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="interval" id="Intervall">Intervall</variable> <variable id="eeE_d!2Ey;9v%Qk9#*e!">Alarm erstellen</variable> <variable id="uIH]RFlkkm@Km41QGhaA">SireneAn</variable> </variables> <block type="timeouts_setinterval" id="?8hK!-J!G%AAa9N}!}i7" x="13" y="-387"> <field name="NAME">Intervall</field> <field name="INTERVAL">5000</field> <field name="UNIT">ms</field> </block> <block type="on" id="wl[o7J|ZgCK_n%fGy;a)" x="-512" y="13"> <field name="OID">zigbee.3.00124b0008b76e21.mode</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="2{XK@.Cyr`It+,rZ9{4^"> <value name="IF0"> <block type="logic_compare" id=".lVhjuRW,$$ackB9*=Qf"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id=".x,whcjOEE0$to(M(Z*c"> <field name="ATTR">val</field> <field name="OID">zigbee.3.00124b0008b76e21.mode</field> </block> </value> <value name="B"> <block type="text" id=";dkr5}gI@fkNV^33;gyj"> <field name="TEXT">stop</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="sZW,Yr8IfPP8YfXws==^"> <field name="VAR" id="eeE_d!2Ey;9v%Qk9#*e!">Alarm erstellen</field> <value name="VALUE"> <block type="text_join" id="`PhFOo7m~lCXd/]YQPN4"> <mutation items="9"></mutation> <value name="ADD0"> <block type="text" id="a7HB86`x#0,H2mxt4uY["> <field name="TEXT">{"warning": {"mode": "</field> </block> </value> <value name="ADD1"> <block type="get_value" id="?ydvm5{xrd!H(7mj.J2%"> <field name="ATTR">val</field> <field name="OID">zigbee.3.00124b0008b76e21.mode</field> </block> </value> <value name="ADD2"> <block type="text" id=":bmrU,b=74,Jxh~x?-8|"> <field name="TEXT">", "level": "</field> </block> </value> <value name="ADD3"> <block type="get_value" id="prF%[7$-uW%36^H|raZe"> <field name="ATTR">val</field> <field name="OID">zigbee.3.00124b0008b76e21.level</field> </block> </value> <value name="ADD4"> <block type="text" id="yfqtoefyW@xG*#v%M@Pk"> <field name="TEXT">", "strobe_level": "</field> </block> </value> <value name="ADD5"> <block type="get_value" id="NrFLOB.HcSy_^dXbNR=?"> <field name="ATTR">val</field> <field name="OID">zigbee.3.00124b0008b76e21.strobe_level</field> </block> </value> <value name="ADD6"> <block type="text" id="QxX[Xl`OHC*ROdQ.9v@@"> <field name="TEXT">", "strobe":</field> </block> </value> <value name="ADD7"> <block type="get_value" id=":92PW0z!T69A2a8k;]75"> <field name="ATTR">val</field> <field name="OID">zigbee.3.00124b0008b76e21.strobe</field> </block> </value> <value name="ADD8"> <block type="text" id="?oT4~+UzcfPQ%[*!+nr:"> <field name="TEXT">, "strobe_duty_cycle": 10, "duration": 60}}</field> </block> </value> </block> </value> <next> <block type="control" id="h9`^F[o$h4B,|KHL!LmB"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">zigbee.3.00124b0008b76e21.send_payload</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="5G|#`UWzx00qJK*P.G/z"> <field name="VAR" id="eeE_d!2Ey;9v%Qk9#*e!">Alarm erstellen</field> </block> </value> <next> <block type="variables_set" id="mBohDA[S(aMT.[G,OFS4"> <field name="VAR" id="uIH]RFlkkm@Km41QGhaA">SireneAn</field> <value name="VALUE"> <block type="text_join" id="TdNQ,}|q`gFxvZLwy$*8"> <mutation items="7"></mutation> <value name="ADD0"> <block type="text" id="Mb/%XCjvWonC$fO/?ls`"> <field name="TEXT">{"warning": {"mode": "</field> </block> </value> <value name="ADD1"> <block type="get_value" id="e(uG!N{D9[LxaAxPY+/d"> <field name="ATTR">val</field> <field name="OID">zigbee.3.00124b0008b76e21.mode</field> </block> </value> <value name="ADD2"> <block type="text" id="hbhm0T96nEr1AiU1OVhS"> <field name="TEXT">", "level": "</field> </block> </value> <value name="ADD3"> <block type="get_value" id="12-`Kc(])8|d-cj2HOM*"> <field name="ATTR">val</field> <field name="OID">zigbee.3.00124b0008b76e21.level</field> </block> </value> <value name="ADD4"> <block type="text" id="/A0Py]A=1U~]{8!)~jt+"> <field name="TEXT">", "strobe":</field> </block> </value> <value name="ADD5"> <block type="get_value" id="`lYLjrPFw@H#P7fCt0Q1"> <field name="ATTR">val</field> <field name="OID">zigbee.3.00124b0008b76e21.strobe</field> </block> </value> <value name="ADD6"> <block type="text" id="sM|q$*Tl-j)D%KxM52GM"> <field name="TEXT">,"duration": 120}}</field> </block> </value> </block> </value> <next> <block type="control" id="x%TnFrN(xRxN.6Lc==bc"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">zigbee.3.00124b0008b76e21.send_payload</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">3</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="variables_get" id="~Jp=F]w~yx=9N~*MSM*z"> <field name="VAR" id="uIH]RFlkkm@Km41QGhaA">SireneAn</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </xml>
Viele Grüße aus Zwickau und mal schauen ob es in einer Woche noch geht.
René -
An alle Leidensgenossen ..
Um möglichst viele funktionierende Kombinationen zu finden, welche unsere Sirenen zum Heulen zu bringen, stelle ich gerne mein Skript aus diesem Beitrag euch zur Verfügung.
Meine Bitte ..
Gebt anschließend den JSON-String hier an und welche optischen und akustischen Signale die Geräte erzeugten.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="YR4p+Yo[#86I$DB1#vWR">PayLoadText</variable> </variables> <block type="comment" id="aLN^mNBL~:Mu|y;w@VD6" x="-287" y="-363"> <field name="COMMENT">Initialisieren mit Startsequenz</field> <next> <block type="variables_set" id="ixx/=F[1^gH#ftdpBvY`"> <field name="VAR" id="YR4p+Yo[#86I$DB1#vWR">PayLoadText</field> <value name="VALUE"> <block type="text" id="lBN,{T|mn4IbsE[M0`V["> <field name="TEXT">{"warning": {</field> </block> </value> <next> <block type="comment" id="adZ^zvTN@tR]xMK-2L(E"> <field name="COMMENT">mode: stop, burglar, fire, emergency, ..</field> <next> <block type="comment" id="~y/z)g~%IS{p5Xc)Zxp;"> <field name="COMMENT">.. police_panic, fire_panic, emergency_panic</field> <next> <block type="variables_set" id="bGpA{l16@Rr47hhWKM+3"> <field name="VAR" id="YR4p+Yo[#86I$DB1#vWR">PayLoadText</field> <value name="VALUE"> <block type="text_join" id="A~qglP(][IZ@I5,W*1Q["> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="X@*cFv6$kvqzoc[CK_+/"> <field name="VAR" id="YR4p+Yo[#86I$DB1#vWR">PayLoadText</field> </block> </value> <value name="ADD1"> <block type="text" id="Q$HiKedT`k54bktki|]d"> <field name="TEXT">"mode": "fire", </field> </block> </value> </block> </value> <next> <block type="comment" id="1p3VP!i9h0|3sa8ffRtD"> <field name="COMMENT">level: low, medium, high, very_high</field> <next> <block type="variables_set" id="UqcCZN`~LS`=TxCw|pHo"> <field name="VAR" id="YR4p+Yo[#86I$DB1#vWR">PayLoadText</field> <value name="VALUE"> <block type="text_join" id="|A{q@Q{fc}}2m:8@DSP|"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="RMY*@hZ_0!?Q$eg!PDmI"> <field name="VAR" id="YR4p+Yo[#86I$DB1#vWR">PayLoadText</field> </block> </value> <value name="ADD1"> <block type="text" id="WYp,(TBTy23_hKs-}Fy+"> <field name="TEXT">"level": "medium", </field> </block> </value> </block> </value> <next> <block type="comment" id="orIhnf7@4[y%[Tg7@RA`"> <field name="COMMENT">strobe_level: low, medium, high, very_high</field> <next> <block type="variables_set" id="5O46{ziL4:2||ZrC%m%O"> <field name="VAR" id="YR4p+Yo[#86I$DB1#vWR">PayLoadText</field> <value name="VALUE"> <block type="text_join" id="st%{,VyUzg[ynV^OzFZf"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="uoRD||hY;E57a8kaNz?p"> <field name="VAR" id="YR4p+Yo[#86I$DB1#vWR">PayLoadText</field> </block> </value> <value name="ADD1"> <block type="text" id="[xWbj:q*NQFoQ#U~S~YX"> <field name="TEXT">"strobe_level": "low", </field> </block> </value> </block> </value> <next> <block type="comment" id="|U[/r^`DgR`|OJ_hy#H`"> <field name="COMMENT">strobe: true or false</field> <next> <block type="variables_set" id="]U6XL[iknK|D:2|DZ1HI"> <field name="VAR" id="YR4p+Yo[#86I$DB1#vWR">PayLoadText</field> <value name="VALUE"> <block type="text_join" id="@s.h7j8J0Nt26)9BS$1p"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="Cxtlx*F{e}cd|;1|;^uu"> <field name="VAR" id="YR4p+Yo[#86I$DB1#vWR">PayLoadText</field> </block> </value> <value name="ADD1"> <block type="text" id="`17Uzd0=1/9.c-T6q7;5"> <field name="TEXT">"strobe": true, </field> </block> </value> </block> </value> <next> <block type="comment" id="f]:jz0Qc+:iNRRfx(96_"> <field name="COMMENT">strobe_duty_cycle: vermutlich Sekunden</field> <next> <block type="variables_set" id="uTx=omy#$W.e.2K}1VGq"> <field name="VAR" id="YR4p+Yo[#86I$DB1#vWR">PayLoadText</field> <value name="VALUE"> <block type="text_join" id="zBq3j~IIWngLGF:ngYtj"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="Gt;9`BUF?6VK}+^j^1~b"> <field name="VAR" id="YR4p+Yo[#86I$DB1#vWR">PayLoadText</field> </block> </value> <value name="ADD1"> <block type="text" id=",_BTVwsZx#g:2g[;ap:w"> <field name="TEXT">"strobe_duty_cycle": 1, </field> </block> </value> </block> </value> <next> <block type="comment" id="+G2Y=jsVj|=*!%lOS)v%"> <field name="COMMENT">duration</field> <next> <block type="variables_set" id="H+lblOipO2bo[Z5PWEu4"> <field name="VAR" id="YR4p+Yo[#86I$DB1#vWR">PayLoadText</field> <value name="VALUE"> <block type="text_join" id="lMCIlI54{FjJtR!T28g+"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="3e%kdcXI.-UIZm?XTia5"> <field name="VAR" id="YR4p+Yo[#86I$DB1#vWR">PayLoadText</field> </block> </value> <value name="ADD1"> <block type="text" id="JLR]~^Iuz@)-;0*6{:]@"> <field name="TEXT">"duration": 10</field> </block> </value> </block> </value> <next> <block type="comment" id="2k;zbI?xQR/mgPW2G_gz"> <field name="COMMENT">Textsequenz abschließen mit }}</field> <next> <block type="variables_set" id="px.uUVKQsk`g@^-:T8ke"> <field name="VAR" id="YR4p+Yo[#86I$DB1#vWR">PayLoadText</field> <value name="VALUE"> <block type="text_join" id="tF9uoZEWZtA}ZlatQfTd"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="IlnB}uoLLQ}p]]%EypG["> <field name="VAR" id="YR4p+Yo[#86I$DB1#vWR">PayLoadText</field> </block> </value> <value name="ADD1"> <block type="text" id="BjFF*b*~$w-M0iN][oG*"> <field name="TEXT">}}</field> </block> </value> </block> </value> <next> <block type="control" id="MmUR%AqN)5s#,:c8O!:H"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">zigbee.0.aabbccddeeffgghh.send_payload</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="A@~]N2B$1em?]OmuLGBz"> <field name="VAR" id="YR4p+Yo[#86I$DB1#vWR">PayLoadText</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
-
Leider gibt es sehr schlechte Nachrichten.
Die mittels JSON an die Außensirene gesandten Befehle lösen undefinierte, in keiner Weise nachvollziehbare Reaktionen aus. Offenbar wird die Sirene durch das Testen unterschiedlicher JSON-Befehle völlig durcheinander gebracht.
Habe ich einige Befehlssequenzen ausgeführt, ist meist das Ergebnis, dass die Sirene ihre Signalisierung nicht mehr verändert. Welche Signalisierungsart dies ist, hängt in nicht nachvollziehbarer Weise von zuvor gesendeten Befehlssequenzen ab.
Beispielsweise führte heute Morgen die Sequenz ..
{"warning": {"mode": "off"}}
.. zum Auslösen der Signalisierung, statt diese zu beenden.Meine Einschätzung: Die Parameter werden der Sirene nicht ordnungsgemäß übermittelt. Sie gerät beim Senden unterschiedlicher Befehle immer mehr in undefinierte Zustände.
So ist das Ganze leider nicht zu gebrauchen. Ein sicher funktionierendes Alarmsystem lässt sich damit nicht aufbauen.
Bitte nimm dich dem Ganze nochmals an. Ich weiß jedenfalls nicht mehr weiter.
-
Das Script was ich eingestellt habe funktioniert, es wirft Debug-Meldungen, sauber ist es noch nicht. Wir haben die letzten Tage an der Befehlsequenz zu einem Tastenfeld gearbeitet und es sauber zum laufen gebracht. Was den ganzen Befehlen fehlt ist die Quittierung des Befehls nach Rückmeldung aus Msg_from_Zigbee. Beim Tastenfeld war es die Cluster-ID 1281 die reagierte, hier ist es die Cluster-ID 1282 die eine Quittung erwartet. Die dort hinterlegten Schlüsselworte auszulesen ist eher ein ahnen. Wenn die Übergabe der Werte in den Herdmanns aber noch nicht sauber läuft, lohnt die Mühe nicht, weil wir dann bei jeder neuen Version daneben liegen könnten. Also etwas Geduld der halbe Weg ist doch schon gegangen, das Ding macht doch Krach und blinkt.
-
@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 ?