Schalter für den NULL-Wert hast du auf „aus“ und den für „lastseen“ auf an?
Es kommen keine Fehlermeldungen?
hm - wo ist der Schalter für NULL-Wert ?
„zuletzt angekündigt“ ist der NULL-Wert. Der muss aus.
Ah - sorry … habe nicht verstanden, was du meintest. Ja, wenn man das Attribut deaktiviert, dann funktioniert es überall. Komisch nur, dass 3 Thermostate den Wert liefern und 7 nicht. Mit der FW kann es aber nicht zusammenhängen. Aber egal, LastSeen ist eh wichtiger - danke.
Das NULL-Wert-Thema habe ich jetzt gefixt.
Hallo @Silberstreifen
Ich hab mal wieder was neues
Einen Zigbee ORP, Chlor, Salz und was weiß ich noch alles Messer. Mit dem richtigen DDF (kann ich gerne auch bereitstellen), klappt es auch mit DeconZ und ich bekomme die Instanzen auch nach IPS.
Leider ohne Variablen (Korrektur: die Temperatur kommt an)
Ich häng mal mein Dump vom Konfigurator an.
debug.txt (198,8 KB)
Es ist dieses Teil
Mit dieser DDF
{
"schema": "devcap1.schema.json",
"manufacturername": "_TZE200_v1jqz5cy",
"modelid": "TS0601",
"vendor": "Tuya",
"product": "Zigbee Chlorine Meter PH ORP EC TDS Salinity Temp CL",
"sleeper": false,
"status": "Gold",
"path": "/devices/_TZE200_TS0601_v1jqz5cy_v12.json",
"subdevices": [
{
"type": "$TYPE_TEMPERATURE_SENSOR",
"restapi": "/sensors",
"uuid": [
"$address.ext",
"0x01",
"0x0514"
],
"items": [
{
"name": "attr/id"
},
{
"name": "attr/lastannounced"
},
{
"name": "attr/lastseen"
},
{
"name": "attr/manufacturername"
},
{
"name": "attr/modelid"
},
{
"name": "attr/name"
},
{
"name": "attr/swversion"
},
{
"name": "attr/type"
},
{
"name": "attr/uniqueid"
},
{
"name": "config/battery",
"read": {
"fn": "none"
},
"parse": {
"dpid": 7,
"eval": "Item.val = Attr.val;",
"fn": "tuya"
},
"default": 0
},
{
"name": "config/on"
},
{
"name": "config/reachable"
},
{
"name": "state/lastupdated"
},
{
"name": "state/temperature",
"refresh.interval": 3600,
"read": {
"fn": "tuya"
},
"parse": {
"dpid": 2,
"eval": "Item.val = (10 * Attr.val);",
"fn": "tuya"
},
"default": 0
}
]
},
{
"type": "$TYPE_PH_SENSOR",
"restapi": "/sensors",
"uuid": [
"$address.ext",
"0x01",
"0x0512"
],
"items": [
{
"name": "attr/lastannounced"
},
{
"name": "attr/lastseen"
},
{
"name": "attr/manufacturername"
},
{
"name": "attr/modelid"
},
{
"name": "attr/name"
},
{
"name": "attr/swversion"
},
{
"name": "attr/type"
},
{
"name": "attr/uniqueid"
},
{
"name": "cap/measured_value/unit",
"static": "pH"
},
{
"name": "config/on"
},
{
"name": "config/reachable"
},
{
"name": "state/lastupdated"
},
{
"name": "state/measured_value",
"read": {
"fn": "none"
},
"parse": {
"dpid": 10,
"eval": "Item.val = Attr.val;",
"fn": "tuya"
},
"default": 0
}
]
},
{
"type": "$TYPE_CHLORINE_SENSOR",
"restapi": "/sensors",
"uuid": [
"$address.ext",
"0x01",
"0x041a"
],
"items": [
{
"name": "attr/id"
},
{
"name": "attr/lastannounced"
},
{
"name": "attr/lastseen"
},
{
"name": "attr/manufacturername"
},
{
"name": "attr/modelid"
},
{
"name": "attr/name"
},
{
"name": "attr/swversion"
},
{
"name": "attr/type"
},
{
"name": "attr/uniqueid"
},
{
"name": "cap/measured_value/max",
"default": 0
},
{
"name": "cap/measured_value/min",
"default": 0
},
{
"name": "cap/measured_value/unit",
"static": "mg/L"
},
{
"name": "config/on"
},
{
"name": "config/reachable"
},
{
"name": "state/lastupdated"
},
{
"name": "state/measured_value",
"read": {
"fn": "none"
},
"parse": {
"dpid": 102,
"eval": "Item.val = (ZclFrame.at(3) << 32) | (ZclFrame.at(2) << 16) | (ZclFrame.at(1) << 8) | ZclFrame.at(0);",
"fn": "tuya"
},
"default": 0
}
]
},
{
"type": "$TYPE_ORP_SENSOR",
"restapi": "/sensors",
"uuid": [
"$address.ext",
"0x01",
"0x042a"
],
"items": [
{
"name": "attr/id"
},
{
"name": "attr/lastannounced"
},
{
"name": "attr/lastseen"
},
{
"name": "attr/manufacturername"
},
{
"name": "attr/modelid"
},
{
"name": "attr/name"
},
{
"name": "attr/swversion"
},
{
"name": "attr/type"
},
{
"name": "attr/uniqueid"
},
{
"name": "cap/measured_value/max",
"description": "Maximum value of state/measured_value.",
"default": 0
},
{
"name": "cap/measured_value/min",
"description": "Minimum value of state/measured_value.",
"default": 0
},
{
"name": "cap/measured_value/unit",
"static": "mV"
},
{
"name": "config/on"
},
{
"name": "config/reachable"
},
{
"name": "state/lastupdated"
},
{
"name": "state/measured_value",
"read": {
"fn": "none"
},
"parse": {
"dpid": 101,
"eval": "Item.val = (ZclFrame.at(3) << 32) | (ZclFrame.at(2) << 16) | (ZclFrame.at(1) << 8) | ZclFrame.at(0);",
"fn": "tuya"
},
"default": 0
}
]
},
{
"type": "$TYPE_EC_SENSOR",
"restapi": "/sensors",
"uuid": [
"$address.ext",
"0x01",
"0x043a"
],
"items": [
{
"name": "attr/id"
},
{
"name": "attr/lastannounced"
},
{
"name": "attr/lastseen"
},
{
"name": "attr/manufacturername"
},
{
"name": "attr/modelid"
},
{
"name": "attr/name"
},
{
"name": "attr/swversion"
},
{
"name": "attr/type"
},
{
"name": "attr/uniqueid"
},
{
"name": "cap/measured_value/max",
"description": "Maximum value of state/measured_value.",
"default": 0
},
{
"name": "cap/measured_value/min",
"description": "Minimum value of state/measured_value.",
"default": 0
},
{
"name": "cap/measured_value/unit",
"static": "μS/cm"
},
{
"name": "config/on"
},
{
"name": "config/reachable"
},
{
"name": "state/lastupdated"
},
{
"name": "state/measured_value",
"read": {
"fn": "none"
},
"parse": {
"dpid": 11,
"eval": "Item.val = (ZclFrame.at(3) << 32) | (ZclFrame.at(2) << 16) | (ZclFrame.at(1) << 8) | ZclFrame.at(0);",
"fn": "tuya"
},
"default": 0
}
]
},
{
"type": "$TYPE_TDS_SENSOR",
"restapi": "/sensors",
"uuid": [
"$address.ext",
"0x01",
"0x042B"
],
"items": [
{
"name": "attr/lastannounced"
},
{
"name": "attr/lastseen"
},
{
"name": "attr/manufacturername"
},
{
"name": "attr/modelid"
},
{
"name": "attr/name"
},
{
"name": "attr/swversion"
},
{
"name": "attr/type"
},
{
"name": "attr/uniqueid"
},
{
"name": "cap/measured_value/unit",
"static": "ppm"
},
{
"name": "config/on"
},
{
"name": "config/reachable"
},
{
"name": "state/lastupdated"
},
{
"name": "state/measured_value",
"read": {
"fn": "none"
},
"parse": {
"dpid": 1,
"eval": "Item.val = Attr.val;",
"fn": "tuya"
},
"default": 0
}
]
},
{
"type": "$TYPE_SALT_SENSOR",
"restapi": "/sensors",
"uuid": [
"$address.ext",
"0x01",
"0x040D"
],
"items": [
{
"name": "attr/lastannounced"
},
{
"name": "attr/lastseen"
},
{
"name": "attr/manufacturername"
},
{
"name": "attr/modelid"
},
{
"name": "attr/name"
},
{
"name": "attr/swversion"
},
{
"name": "attr/type"
},
{
"name": "attr/uniqueid"
},
{
"name": "cap/measured_value/unit",
"static": "ppm"
},
{
"name": "config/on"
},
{
"name": "config/reachable"
},
{
"name": "state/lastupdated"
},
{
"name": "state/measured_value",
"read": {
"fn": "none"
},
"parse": {
"dpid": 117,
"eval": "Item.val = Attr.val;",
"fn": "tuya"
},
"default": 0
}
]
}
]
}
Edi
Ich hab ein paar Debug Meldungen wenn Werte kommen
20.06.2024, 18:05:46 | Received | {"DataID":"{D7B089F0-6AFD-8861-2226-07B675D951B1}","Buffer":"{\"e\":\"changed\",\"id\":\"237\",\"r\":\"sensors\",\"state\":{\"lastupdated\":\"2024-06-20T16:05:46.037\",\"measured_value\":6717186},\"t\":\"event\",\"uniqueid\":\"7c:c6:b6:ff:fe:8a:e0:14-01-041a\"}"}
20.06.2024, 18:05:45 | Received | {"DataID":"{D7B089F0-6AFD-8861-2226-07B675D951B1}","Buffer":"{\"e\":\"changed\",\"id\":\"239\",\"r\":\"sensors\",\"state\":{\"lastupdated\":\"2024-06-20T16:05:45.819\",\"measured_value\":752898},\"t\":\"event\",\"uniqueid\":\"7c:c6:b6:ff:fe:8a:e0:14-01-043a\"}"}
20.06.2024, 18:05:45 | Received | {"DataID":"{D7B089F0-6AFD-8861-2226-07B675D951B1}","Buffer":"{\"e\":\"changed\",\"id\":\"238\",\"r\":\"sensors\",\"state\":{\"lastupdated\":\"2024-06-20T16:05:45.944\",\"measured_value\":6651394},\"t\":\"event\",\"uniqueid\":\"7c:c6:b6:ff:fe:8a:e0:14-01-042a\"}"}
20.06.2024, 18:05:45 | Received | {"DataID":"{D7B089F0-6AFD-8861-2226-07B675D951B1}","Buffer":"{\"e\":\"changed\",\"id\":\"236\",\"r\":\"sensors\",\"state\":{\"lastupdated\":\"2024-06-20T16:05:45.694\",\"measured_value\":710},\"t\":\"event\",\"uniqueid\":\"7c:c6:b6:ff:fe:8a:e0:14-01-0512\"}"}
20.06.2024, 18:05:47 | Received | {"DataID":"{D7B089F0-6AFD-8861-2226-07B675D951B1}","Buffer":"{\"e\":\"changed\",\"id\":\"241\",\"r\":\"sensors\",\"state\":{\"lastupdated\":\"2024-06-20T16:05:47.819\",\"measured_value\":216},\"t\":\"event\",\"uniqueid\":\"7c:c6:b6:ff:fe:8a:e0:14-01-040d\"}"}
20.06.2024, 18:05:45 | Received | {"DataID":"{D7B089F0-6AFD-8861-2226-07B675D951B1}","Buffer":"{\"e\":\"changed\",\"id\":\"240\",\"r\":\"sensors\",\"state\":{\"lastupdated\":\"2024-06-20T16:05:45.366\",\"measured_value\":216},\"t\":\"event\",\"uniqueid\":\"7c:c6:b6:ff:fe:8a:e0:14-01-042b\"}"}
aktuell fehlt mir leider die Zeit, da etwas zu basteln. Wenn du das selbst machen magst, dann kann ich das gerne später übernehmen.
Grüße
Jürgen
Kein Problem. Bin mir allerdings nicht sicher, ob ich das schaffe. Aber ich such mal.
Edit: Ok, ich l<ss es ist besser.
Hast eventuell einen Tip wo ich was suchen muss, damit die Variablen angelegt werden und befüllt werden?
Ich bekomme Werte. Keine Ahnung ob das richtig ist, was ich gemacht habe. Jedenfalls habe ich im Skript DeconzBaseModule.php Abfragen zu den Sensoren gefunden und dann das eingefügt:
//Änderung Helmut Beginn
if (property_exists($Payload, 'measured_value')) {
$this->RegisterVariableFloat('Z2D_value', $this->Translate('Value'), '');
$this->SetValue('Z2D_value', $Payload->measured_value);
}
//Änderung Helmut Ende
Es werden Variablen mit dem Namen „Value“ und ohne Profil angelegt. Ebenso der Ident wird auf Z2D_value gesetzt. Nicht schön, aber vorerst egal. Das kann ich in IPS ja alles ändern.
Es kommen keine Nachkommastellen. Der ORP (Redox) ist um den Faktor 10000 und der PH um 100 zu hoch. Auch kein Beinbruch.
Ob das so stimmt und ob die Werte plausibel sind, werde ich beobachten.
Ich hänge das mal an. Meine Änerungen sind ab Zeile 321.
DeconzBaseModule.zip (4,9 KB)
Ich habe heute von IKEA die ORMANAS LED Strips via Deconz installiert. Soweit ok.
Nun habe diese auch in IPS konfiguriert. Auch dies, soweit ok.
Aber ich habe ein komisches Phänomen: Wenn ich den Wert Helligkeit auf 50% setze, dann wird kurzzeitig auf 1% gesetzt (und die Farbe wird auf Schwarz gesetzt)… und erst so nach ein paar Sekunden wird der Wert dann auf den vorher korrekten Wert wieder zurück gesetzt. Als ob er dazwischen einen Reset macht…
Hat jemand anderes dieses Verhalten?
Danke schon mal
Ausgangslage:
Dann setzte ich den Wert auf 45% ==> er geht kurzzeitig auf 45% (vielleicht einen Bruchteil einer Sekunde). Dann geht er auf 1%
Um dann erst so nach ein paar Sekunden dann auf den korrekten/geschalteten Wert (wieder) einzustellen:
Tatsächlich wird der Wert „1%“ im Log/Debug aufgeführt…
ja das ist leider so und hat nichts mit deiner IKEA-Lampe zu tun. Das scheint eine Schrulligkeit von DeCONZ zu sein und lässt sich mindestens von meiner Seite nicht ändern.
Grüße
Jürgen
Danke für die Info.
Mir ist es drum aufgefallen, als ich versuchte, durch konstantes (oder mehrmaliges) Drücken einer Taste z.B. die Helligkeit um x mal -5% zu reduzieren. Da hat mir dieser „Zwischenresett“ immer dazwischen gefunkt…
Gibt es für für einen solchen UseCase allenfalls eine andere Lösung? Vermutlich nicht, da ich immer einen Delay vorsehen müsste von ein paar Sekunden, bei dieser schrittweisen Reduktion des Wertes, da ansonsten immer wieder der 1% Wert genommen würde… Und somit sieht man auch nicht, wie die Helligkeit des Lichtes reduziert wird…
aus welchem Grund nimmst du nicht einfach
Z2D_DimUp($ID)
Z2D_DimDown($ID)
Z2D_DimStop($ID)
Hatte dies nicht auf dem Radar
Danke dir für den Tipp. Dann schaue ich mir das mal an, ob ich es damit hinkriege.
Update: hat sehr gut funktioniert. Nochmals Danke!
Habe jetzt auch mal das Fyrtur problem angeschaut. Seit Deconz 2.24.1 funktionieren diese nicht mehr.
Der Grund ist, dass die DDF aufgeräumt wurde. In der Deconz API spec steht zu den Rollos
For historic reasons window covering devices are currently exposed under the lights endpoint.
und dass diese mittels „open“, „lift“ und „tilt“ gesteuert werden.
Die Rollos konnten zuvor auch wie lichter mittels „on“, „bri“ (lift) und „sat“ (tilt) gesteuert werden. Dies geht seit der 2.24.1 nicht mehr…
Gruss
pelota
Gucke ich mir an. Danke für den Hinweis.
Grüße
Jürgen
V3.26 - Neu: Window covering device
Wie von @pelota beschrieben, wird ab DeCONZ-Version 2.24.1 für Jallousien ein neues Profil verwendet. Dieses ist in der neuen Version implementiert.
Wie immer ist die neue Version zunächst als Beta im Module-Store erhältlich.
Grüße
Jürgen
Danke, ging ja schnell
Habs grad getestet (ausser tilt natürlich, das gibts beim Fyrtur nicht).
Geht alles, bis auf StopMotion. Da kommt unknown Command: stop
, obwohl die API was anderes sagt.
Mit folgendem gehts:
#DeconzHelper.php:471
$data['lift'] = "stop";
Aber das könnte andere Jalousien stören !? hmm…
Gruss
pelota
kannst du mir mal eine dump.txt von der Instanz schicken? Ich gehe mal davon aus, dass der Stop-Button nicht angelegt wurde. Richtig?