Temperature & Humidity Sensor and Alarm - Zigbee Sirene

Ich ha mir dieses Teil geholt.

Wird auch von Deconz richtig erkannt. Interessantereise bekomme ich ein Gerät in den Lampen und eines in den Sensoren.
Richtigerweise werden Temperatur und Luftfeuchtigkeit erkannt. Was mir allerdings fehlt ist das schalten des Alarms. Ich hab auch schon herausgefunden, dass sie nicht nur einen, sondern mehrere Signaltöne von sich geben kann.
Aktuell verwende ich das Modul von @Silberstreifen und ich habe nur einmal einen schaltbaren Status nach IPS bekommen. Der hat allerdings nichts bewirkt.
Hat jemand Erfahrung mit dem Teil?

Wenn es in DeCONZ funktioniert, dann sollten wir es auch in IPS zum laufen bringen. Kannst Du den Alarm in der DeCONZ-App schalten? Wenn ja, dann schicke mir bitte mal den Debug-String von dem Gerät.
Grüße
Jürgen

nein, das kann ich leider nicht. Ich schau mal, was ich so alles bekomme. Jedenfalls wird es von deinem Modul richtig als „Warning device“ erkannt.

Wenn ich in der PhosconApp auf das Lampensymbol klicke, bekomme ich im IPS Debugger folgendes

19.04.2021, 17:34:50 | Received | {„DataID“:"{D7B089F0-6AFD-8861-2226-07B675D951B1}",„Buffer“:"{„e“:„changed“,„id“:„29“,„r“:„sensors“,„state“:{„lastupdated“:„2021-04-19T15:34:50.241“,„temperature“:2010},„t“:„event“,„uniqueid“:„ec:1b:bd:ff:fe:6c:1e:cd-01-0402“}"}

Das ist die Ausgabe aus dem KonfiguratorDump

{„instanceID“:0,„name“:„On/Off light 18“,„DeviceID“:„ec:1b:bd:ff:fe:6c:1e:cd-01“,„Manufacturer“:"_TYST11_d0yu2xgi",„modelID“:„0yu2xgi“,„DetailType“:„Warning device“,„DeviceType“:„lights“,„create“:{„moduleID“:"{6BC9ED7D-742A-4909-BDEB-6AD27B1F1A3E}",„configuration“:{„DeviceID“:„ec:1b:bd:ff:fe:6c:1e:cd-01“}}}

Wobei das mit der Ausgabe bei der Instanz nur Zufall war. Das Klicken auf die Lampe in der App bewirkt nichts.

dann könnte es eng werden.

das ist nur die Temperatur. Um irgendetwas schalten zu können, muss da etwas von „r“:„lights“ stehen. Oder es läuft über die config.

Wenn Du in einer DeCONZ-Instanz das Debug-Fenster öffnest und danach eine Änderung an der DeviceID vornimmst und die Änderung speicherst, dann hast Du im Debug-Fenster eine Zeile „Response“. Da steht alles über alle Deine Geräte drin, was DeCONZ kennt. Wenn Du magst, schickst Du mir den Inhalt von Response per PN. Dann kann ich mal gucken, ob ich da etwas für Dich machen kann.
Grundsätzlich wird das Gerät unter den supported Devices noch nicht gelistet.

Grüße
Jürgen

Nachdem ich es in obiger Liste gefunden hab, bin ich mal blauäugig davon ausgegangen…
Danke für deine Bemühungen. Dump kommt per PN

ich glaube das ist ganz interessant zu lesen

ja, habe ich mir angeguckt. Da wird prognostiziert, dass es jetzt eigentlich gehen sollte. Die Siren soll über das lights-Device schaltbar sein. In Deinem Dump fehlt dem lights-Device aber die on-Eigenschaft. Hast Du ggf. die stable-Version von DeCONZ? Dann lohnt der Schwenk auf den Beta-Kanal. Der ist bereits auf 2.11. Danach die Instanz noch einmal installieren.

Grüße
Jürgen

Ich kann mal die Beta probieren.
Also auf die schnelle find ich für Windows keine Beta. Ich hab schon die 2.11

Dann hilft nur abwarten, bis das Gerät vollständig unterstützt wird.

@Silberstreifen
Ich hab jetzt wieder ein Update gemacht, leider ohne nennenswerten Erfolg. ABER, jetzt weiß ich warum sie mir immer wieder was vorspielt. Offenbar sind da Grenzwerte für Temperatur und Luftfeuchte gespeichert.


Den Output hab ich aus IPS.
Kann man dieses „Zusammenfassen“ temporär deaktivieren?

Vieleicht hilft das noch etwas

"41":{"config":{"offset":0,"on":true,"reachable":true},"ep":1,"etag":"b63ffd223bc9dcf833c724490c21180f","lastseen":"2021-04-26T12:33Z","manufacturername":"_TYST11_d0yu2xgi","modelid":"0yu2xgi","name":"Siren","state":{"lastupdated":"2021-04-26T13:08:13.187","temperature":1980},"swversion":"20180727","type":"ZHATemperature","uniqueid":"ec:1b:bd:ff:fe:6c:1e:cd-01-0402"},"42":{"config":{"offset":0,"on":true,"reachable":true},"ep":1,"etag":"f0ee6b64b593ffdc9ced597b02b0ed17","lastseen":"2021-04-26T12:33Z","manufacturername":"_TYST11_d0yu2xgi","modelid":"0yu2xgi","name":"Humidity 42","state":{"humidity":4700,"lastupdated":"2021-04-26T12:56:53.817"},"swversion":"20180727","type":"ZHAHumidity","uniqueid":"ec:1b:bd:ff:fe:6c:1e:cd-01-0405"},"43":{"config":{"enrolled":3,"humiditythreshold":"45,80","melody":5,"on":true,"pending":[],"preset":"both","reachable":true,"temperaturethreshold":"18,27","volume":null},"ep":1,"etag":"fcb37ca58101de4074136a717a9c03b3","lastseen":"2021-04-26T12:33Z","manufacturername":"_TYST11_d0yu2xgi","modelid":"0yu2xgi","name":"Alarm 43","state":{"alarm":false,"lastupdated":"2021-04-26T11:26:57.067"},"swversion":"20180727","type":"ZHAAlarm","uniqueid":"ec:1b:bd:ff:fe:6c:1e:cd-01-0500"}

ja, kann man. Erstelle mal bitte manuell einen DeCONZ-Sensor mit der DeviceID „ec:1b:bd:ff:fe:6c:1e:cd-01-0402“, einen mit der DeviceID „ec:1b:bd:ff:fe:6c:1e:cd-01-0405“ und einen mit der DeviceID „ec:1b:bd:ff:fe:6c:1e:cd-01-0500“.

Wenn Du das hast, dann kannst Du mal bitte folgendes probieren:
bei der DeviceID „ec:1b:bd:ff:fe:6c:1e:cd-01-0500“:

Z2D_SetConfig(12345, "on", "true");

bzw.

Z2D_SetConfig(12345, "on", "false");

Damit solltest Du die Melodie an und abstellen können.
Und mit

Z2D_SetConfig(12345, "melody", "4");

oder eine andere gültige Zahl, sollte sich die Melodie verstellen lassen.
Mit

Z2D_SetConfig(12345, "temperaturethreshold", "18,25");

werden die Temperaturgrenzen der Sirene eingestellt.

Mit

Z2D_SetConfig(12345, "humiditythreshold", "35,75");

die Luftfeuchtegrenzwerte.

Darüber hinaus kannst Du mal probieren mit

Z2D_setJson(12345, '{"alarm":true}');

oder

Z2D_setJson(12345, '{"alarm":false}');

den Alarm an- bzw. abzuschalten.

Dabei ist 12345 die InstanzID Deiner Instanz mit der DeviceID „ec:1b:bd:ff:fe:6c:1e:cd-01-0500“.

Viel Spaß und Erfolg beim Probieren
Jürgen

Vielen Dank für deine Mühen.
Hab das alles ausprobiert. Bei den SetConfig bekomme ich

Fatal error:  Uncaught TypeError: array_key_first() expects parameter 1 to be array, null given in C:\ProgramData\Symcon\modules\.store\deconz.zigbee.ips\libs\DeconzHelper.php:395
Stack trace:
#0 C:\ProgramData\Symcon\modules\.store\deconz.zigbee.ips\libs\DeconzHelper.php(395): array_key_first(NULL)
#1 C:\ProgramData\Symcon\modules\.store\deconz.zigbee.ips\libs\DeconzHelper.php(328): DeconzDevice->SetDeconz('config', '{"melody":4}')
#2 C:\ProgramData\Symcon\scripts\__generated.inc.php(583): DeconzDevice->SetConfig('melody', 4)
#3 C:\ProgramData\Symcon\scripts\48696.ips.php(4): Z2D_SetConfig(46286, 'melody', 4)
#4 {main}
  thrown in C:\ProgramData\Symcon\modules\.store\deconz.zigbee.ips\libs\DeconzHelper.php on line 395

Die setJson bringen keine Fehler, die Sirene bleibt aber Stumm. Hab es auch mit anderen Instanzen probiert, immer das selbe Ergebnis.

Der -0500 erzeugt keine Variablen, wohin hingegen die beiden anderen die Temperatur und Luftfeuchte erzeugen. Bei der Temperatur hab ich auch die Batterie dabei, die ich kurz getestet hab.

mein Fehler. Der Parameter muss immer als String übergeben werden. „humiditythreshold“ und „temperaturethreshold“ hätten aber funktionieren müssen.
Habe ich oben korrigiert. Probiere bitte nochmal.

Die setConfig funktionieren alle nicht.
Könnte es sein, dass der Fehler in der DeconzHelper.php in Zeile 328 liegt?

$this->SetDeconz('config', json_encode($data));

Die Funktion SetDeconz hat nur einen Parameter.

protected function SetDeconz($Payload)

Wobei ich jetzt kein PHP Profi bin :wink:
Ist mir nur aufgefallen.

Habe jetzt eine neue Beta-Version erzeugt. Bitte mal probieren, was jetzt funktioniert.

Vielen Dank.
Die Json gehen alle nicht, zumindest merke ich keine Änderung.

Z2D_setJson(46286, '{"alarm":false}');

Sended

27.04.2021, 09:30:37 |               Sended | {"DataID":"{875B91AC-45F1-9757-30F6-BF71445B2BDB}","Buffer":"{\"command\":\"sensors/ec:1b:bd:ff:fe:6c:1e:cd-01-0500/config\",\"method\":\"PUT\",\"data\":\"{\\\"on\\\":\\\"false\\\"}\"}"}

27.04.2021, 09:30:37 |             Response | [{"success":{"/sensors/ec:1b:bd:ff:fe:6c:1e:cd-01-0500/config/on":"false"}}]

27.04.2021, 09:30:37 |               Sended | {"DataID":"{875B91AC-45F1-9757-30F6-BF71445B2BDB}","Buffer":"{\"command\":\"/sensors/ec:1b:bd:ff:fe:6c:1e:cd-01-0500/state\",\"method\":\"PUT\",\"data\":\"{\\\"alarm\\\":false}\"}"}

27.04.2021, 09:30:38 |             Response | [{}]

Die SetCondig funktionieren fast alle

Z2D_SetConfig(46286, "on", "false"); /*geht*/
Z2D_SetConfig(46286, "melody","6");
Z2D_SetConfig(46286, "volume", "0");
Z2D_SetConfig(46286, "enrolled", "1");

Als Beispiel den „on“ aus dem Debugger

27.04.2021, 09:33:56 |               Sended | {"DataID":"{875B91AC-45F1-9757-30F6-BF71445B2BDB}","Buffer":"{\"command\":\"sensors/ec:1b:bd:ff:fe:6c:1e:cd-01-0500\",\"method\":\"GET\",\"data\":\"\"}"}
27.04.2021, 09:33:56 |             Response | {"config":{"enrolled":1,"humiditythreshold":"45,80","melody":6,"on":false,"pending":[],"preset":"both","reachable":true,"temperaturethreshold":"18,27","volume":0},"ep":1,"etag":"8b0cdd68ff4394f3dfb815a280b9c6ba","lastseen":"2021-04-27T07:33Z","manufacturername":"_TYST11_d0yu2xgi","modelid":"0yu2xgi","name":"Alarm 46","state":{"alarm":false,"lastupdated":"2021-04-27T07:29:32.903"},"swversion":"20180727","type":"ZHAAlarm","uniqueid":"ec:1b:bd:ff:fe:6c:1e:cd-01-0500"}
27.04.2021, 09:33:56 |               Sended | {"DataID":"{875B91AC-45F1-9757-30F6-BF71445B2BDB}","Buffer":"{\"command\":\"sensors/ec:1b:bd:ff:fe:6c:1e:cd-01-0500/config\",\"method\":\"PUT\",\"data\":\"{\\\"on\\\":\\\"false\\\"}\"}"}
27.04.2021, 09:33:56 |             Response | [{"success":{"/sensors/ec:1b:bd:ff:fe:6c:1e:cd-01-0500/config/on":"false"}}]

Was nicht funktioniert ist „temperaturethreshold“ und „humiditythreshold“.
Aus dem Debug

27.04.2021, 09:43:50 |               Sended | {"DataID":"{875B91AC-45F1-9757-30F6-BF71445B2BDB}","Buffer":"{\"command\":\"sensors/ec:1b:bd:ff:fe:6c:1e:cd-01-0500\",\"method\":\"GET\",\"data\":\"\"}"}
27.04.2021, 09:43:50 |             Response | {"config":{"enrolled":1,"humiditythreshold":"45,80","melody":6,"on":false,"pending":[],"preset":"both","reachable":true,"temperaturethreshold":"18,27","volume":0},"ep":1,"etag":"edbe04723b2cfa97d4e538c94e16530a","lastseen":"2021-04-27T07:33Z","manufacturername":"_TYST11_d0yu2xgi","modelid":"0yu2xgi","name":"Alarm 46","state":{"alarm":false,"lastupdated":"2021-04-27T07:29:32.903"},"swversion":"20180727","type":"ZHAAlarm","uniqueid":"ec:1b:bd:ff:fe:6c:1e:cd-01-0500"}
27.04.2021, 09:43:50 |               Sended | {"DataID":"{875B91AC-45F1-9757-30F6-BF71445B2BDB}","Buffer":"{\"command\":\"sensors/ec:1b:bd:ff:fe:6c:1e:cd-01-0500/config\",\"method\":\"PUT\",\"data\":\"{\\\"humiditythreshold\\\":30}\"}"}
27.04.2021, 09:43:50 |             Response | [{}]

Ich kann auch leider keinen Alarm aktiv ein- und ausschalten.
Interessant ist, dass ich bei dem „-01-0500“ eine neue Variable hab

Ich glaub mehr fällt mir im Moment nicht ein. Ich denke wir werden auf DeconZ warten müssen.

Die habe ich Dir spendiert. Dass Du trotzdem den Alarm nicht schalten kannst, deutet darauf hin, dass es bei DeCONZ noch nicht richtig implementiert ist.

Oh ja, da ist noch ein Fehler drin. Kannst Du mal probehalber die Zeile 318 in der DeconzHelpber.php auskommentieren?

 #               $value = (float)str_replace(",",".", $value);

Danach sollten die Befehle

Z2D_SetConfig(46286, "humiditythreshold", "35,75");
Z2D_SetConfig(46286, "temperaturethreshold", "18,25");

funktionieren.

Probiere auch mal Volume aus.

Viele Grüße
Jürgen

Ich hab das ausprobiert, aber die Grenzwerte für Temperatur und Luftfeuchte lassen sich nicht ändern.
Verdächtig ist der Response der beiden.

27.04.2021, 21:13:27 |             Response | [{}]

Im Vergleich dazu der Response von z.b. Volume - die offenbar nur die Zustände 0-2 kennt. Höhere Werte werden akzeptiert aber nicht gesetzt.
Der Response von Volume

27.04.2021, 21:15:55 |             Response | [{"success":{"/sensors/ec:1b:bd:ff:fe:6c:1e:cd-01-0500/config/volume":0}}]

kannst Du mir dazu noch den „Sended“-String posten?

Sicher doch

Volume

27.04.2021, 21:20:43 |               Sended | {"DataID":"{875B91AC-45F1-9757-30F6-BF71445B2BDB}","Buffer":"{\"command\":\"sensors/ec:1b:bd:ff:fe:6c:1e:cd-01-0500\",\"method\":\"GET\",\"data\":\"\"}"}
27.04.2021, 21:20:43 |             Response | {"config":{"enrolled":1,"humiditythreshold":"45,80","melody":1,"on":false,"pending":[],"preset":"both","reachable":true,"temperaturethreshold":"18,27","volume":0},"ep":1,"etag":"345084f87addcc1ac149bb47f9af9c51","lastseen":"2021-04-27T19:13Z","manufacturername":"_TYST11_d0yu2xgi","modelid":"0yu2xgi","name":"Alarm 46","state":{"alarm":false,"lastupdated":"2021-04-27T19:12:37.001"},"swversion":"20180727","type":"ZHAAlarm","uniqueid":"ec:1b:bd:ff:fe:6c:1e:cd-01-0500"}
27.04.2021, 21:20:43 |               Sended | {"DataID":"{875B91AC-45F1-9757-30F6-BF71445B2BDB}","Buffer":"{\"command\":\"sensors/ec:1b:bd:ff:fe:6c:1e:cd-01-0500/config\",\"method\":\"PUT\",\"data\":\"{\\\"volume\\\":0}\"}"}
27.04.2021, 21:20:43 |             Response | [{"success":{"/sensors/ec:1b:bd:ff:fe:6c:1e:cd-01-0500/config/volume":0}}]

Temperatur

27.04.2021, 21:21:39 |               Sended | {"DataID":"{875B91AC-45F1-9757-30F6-BF71445B2BDB}","Buffer":"{\"command\":\"sensors/ec:1b:bd:ff:fe:6c:1e:cd-01-0500\",\"method\":\"GET\",\"data\":\"\"}"}
27.04.2021, 21:21:39 |             Response | {"config":{"enrolled":1,"humiditythreshold":"45,80","melody":1,"on":false,"pending":[],"preset":"both","reachable":true,"temperaturethreshold":"18,27","volume":0},"ep":1,"etag":"673154399038ed56022d109ae7bd8ed6","lastseen":"2021-04-27T19:13Z","manufacturername":"_TYST11_d0yu2xgi","modelid":"0yu2xgi","name":"Alarm 46","state":{"alarm":false,"lastupdated":"2021-04-27T19:12:37.001"},"swversion":"20180727","type":"ZHAAlarm","uniqueid":"ec:1b:bd:ff:fe:6c:1e:cd-01-0500"}
27.04.2021, 21:21:39 |               Sended | {"DataID":"{875B91AC-45F1-9757-30F6-BF71445B2BDB}","Buffer":"{\"command\":\"sensors/ec:1b:bd:ff:fe:6c:1e:cd-01-0500/config\",\"method\":\"PUT\",\"data\":\"{\\\"temperaturethreshold\\\":10.1}\"}"}
27.04.2021, 21:21:39 |             Response | [{}]

Luftfeuchte

27.04.2021, 21:23:29 |               Sended | {"DataID":"{875B91AC-45F1-9757-30F6-BF71445B2BDB}","Buffer":"{\"command\":\"sensors/ec:1b:bd:ff:fe:6c:1e:cd-01-0500\",\"method\":\"GET\",\"data\":\"\"}"}
27.04.2021, 21:23:29 |             Response | {"config":{"enrolled":1,"humiditythreshold":"45,80","melody":1,"on":false,"pending":[],"preset":"both","reachable":true,"temperaturethreshold":"18,27","volume":0},"ep":1,"etag":"13632b07134df3b5678fa30506bee9fa","lastseen":"2021-04-27T19:13Z","manufacturername":"_TYST11_d0yu2xgi","modelid":"0yu2xgi","name":"Alarm 46","state":{"alarm":false,"lastupdated":"2021-04-27T19:12:37.001"},"swversion":"20180727","type":"ZHAAlarm","uniqueid":"ec:1b:bd:ff:fe:6c:1e:cd-01-0500"}
27.04.2021, 21:23:29 |               Sended | {"DataID":"{875B91AC-45F1-9757-30F6-BF71445B2BDB}","Buffer":"{\"command\":\"sensors/ec:1b:bd:ff:fe:6c:1e:cd-01-0500/config\",\"method\":\"PUT\",\"data\":\"{\\\"humiditythreshold\\\":10.1}\"}"}
27.04.2021, 21:23:29 |             Response | [{}]

da hat noch etwas mit dem Auskommentieren der Zeile 318 nicht geklappt. Sieht Deine Zeile 318 so aus wie oben beschrieben und hast Du die Datei nachher auch gespeichert?
Richtig muss der „Sended“-String wie folgt heißen:

27.04.2021, 21:21:39 |               Sended | {"DataID":"{875B91AC-45F1-9757-30F6-BF71445B2BDB}","Buffer":"{\"command\":\"sensors/ec:1b:bd:ff:fe:6c:1e:cd-01-0500/config\",\"method\":\"PUT\",\"data\":\"{\\\"temperaturethreshold\\\":\\\"10,30\\\"}\"}"}