NEWS
Test Adapter Devices 0.3.x
-
@apollon77 said in Test Adapter Devices 0.3.x:
@martinschm Was genau macht er denn? Sieht an sich ok aus
Hi,
Also das Originalgerät zeigt unter "Available -> true" an
Im Alias Adapter will ich das invertieren und schreibe daher !val rein
Im Objektbaum der Aliase steht dann aber weiter "true" bei unreach anstatt "false".
-
Hi,
ich hab auch ein "Zerlegen" von Geräten beobachtet. Allerdings weiß ich noch nicht ganz ob es ein Muster gibt. Ich migriere grade meine ZigBee Geräte zum Zigbee Adapter und lege in dem Zuge auch gleich Aliase an. Für einige Fenstersensoren wurde jetzt ein zweiter Eintrag erstellt. Für manche nicht. Github Issue hab ich erstellt.
Von iQontrol wurden die Aliase zumindest für Fenster schon mal gut erkannt und konnten über die Routine automatisch erkannt und angelegt werden. Vorher mußte ich jeden Datenpunkt einzeln mappen. Ist schonmal ein Gewinn.
NACHTRAG:
Die Dopplung scheint dann zu passieren, wenn ein Gerät zwei Funktionen zu geordnet ist. Es werden pro Zeile zwar beide Funktionen angezeigt, aber das Gerät wird trotzdem doppelt aufgeführt -
@Garfonso said in Test Adapter Devices 0.3.x:
@martinschm
Man kann dem alias sagen er soll die Daten noch manipulieren, bevor er sie in den Alias State schreibt (read logik) oder aus dem alias state in den original state (write logik). Soweit ich weiß geht das bisher nur über die RAW Ansicht des Objekts. Dort dann sowas eintragen:"common": { "name": "Buero batteryWarning", "role": "indicator.lowbat", "type": "boolean", "read": true, "write": false, "smartName": false, "alias": { "id": "zigbee.0.00158d0003f3cea3.battery", "read": "val < 20" },
Also wichtig die Zeile "read". Hier wird aus einer Batterie % Anzeige eine Batteriewarnung, wenn die Batterie unter 20% fällt. Damit kann man relativ lustige Sachen machen. "val" ist dabei in read der Wert des target state (also hier zigbee.0.00158d0003f3cea3.battery) und bei write der Wert des alias state.
Ich hab das jetzt mal probiert, leider steht bei mir bei LOWBAT immer true drin.
Das hier ist mein raw "Code".{ "_id": "alias.0.Fenster.AZ_Links.LOWBAT", "native": {}, "type": "state", "common": { "alias": { "id": "zigbee.0.00158d0001e48a72.battery", "read": "val < 20" }, "name": "LOWBAT", "role": "indicator.maintenance.lowbat", "type": "boolean", "read": true, "write": false }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1601823158195, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Das val < 20 hab ich hier eingegeben. Das read: true, write: false hab ich in der raw Ansicht reinkopiert.
-
@martinschm Und es ist sicher das das "available" ein Boolean ist? Weil wenn es ein String "true" ist dann wäre eine invertierung genau so korrekt. Nur zur Sicherheit!
Im Admin so in der Ansicht kann man zwischen "true" (String) und true (Boolean) nicht wirklich unterscheiden.Ich habe es bei mir mal mit einem Boolean Wert getestet und da geht es Problemlos!
-
@apollon77 said in Test Adapter Devices 0.3.x:
@martinschm Und es ist sicher das das "available" ein Boolean ist? Weil wenn es ein String "true" ist dann wäre eine invertierung genau so korrekt. Nur zur Sicherheit!
Im Admin so in der Ansicht kann man zwischen "true" (String) und true (Boolean) nicht wirklich unterscheiden.Ich habe es bei mir mal mit einem Boolean Wert getestet und da geht es Problemlos!
Hi Apollon,
ja ist ein boolean, hab es im RAW Modus kontrolliert.
Muß man nach dem Eingeben von !val noch irgendwas aktualisieren oder so damit das übernommen und im Objektbaum so angezeigt wird?
-
Hab es jetzt nochmal probiert.
Das RAW des Alias sieht jetzt so aus{ "_id": "alias.0.Fenster.GaesteWC.UNREACH", "native": {}, "type": "state", "common": { "alias": { "id": "zigbee.0.00158d0001b7a818.available", "read": "!val" }, "name": "UNREACH", "role": "indicator.maintenance.unreach", "type": "boolean" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1601794464779, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Im Objektbaum steht bei unreach des Alias true:
Bei dem Originalgerät steht bei available auch true:
Also invertiert wird da leider nichts. Hab die Adapterversion 0.3.6, nodejs 12.x
-
@martinschm sagte:
ist ein boolean, hab es im RAW Modus kontrolliert.
Dann sollte es "boolean" sein, was nicht garantiert ist. Was ergibt in einem Test-Script ?
log(typeof getState('...available').val); // ID anpassen !
-
Hi,
bin grade beim Anlegen der Aliase für Lichter. Mir ist nicht ganz klar, was Set, Actual und Working bedeutet
Set : An/Aus ?
Actual : Aktueller Zustand an/aus
Working : ??? -
@paul53 said in Test Adapter Devices 0.3.x:
@martinschm sagte:
ist ein boolean, hab es im RAW Modus kontrolliert.
Dann sollte es "boolean" sein, was nicht garantiert ist. Was ergibt in einem Test-Script ?
log(typeof getState('...available').val); // ID anpassen !
Das ist die Ausgabe im Log, scheint tatsächlich boolean zu sein.
javascript.0 2020-10-05 11:08:47.717 info (569319) script.js.common.Test.ZigbeeTest: boolean javascript.0 2020-10-05 11:08:47.713 info (569319) Start javascript script.js.common.Test.ZigbeeTest javascript.0 2020-10-05 11:08:47.705 info (569319) Stop script script.js.common.Test.ZigbeeTest
-
Hi,
mir ist noch aufgefallen, das wenn ich ein Fenster einrichte ich bei unreach nur ein Read eingeben kann, wenn ich eine Türe einrichte kann ich read und write eingeben.
Beides sind Xiaomi Fensterkontakte die ich als Originalgeräte verwende.
Ein Bug?Ciao
Martin -
@martinschm SET ist der Datenpunkt den man nutzt um einen neuen wert zu setzen. ACTUAL ist der aktuelle Wert. Bei vielen Devices ist das der gleiche Datenpunkt, aber zb bei Thermostaten eher nicht
WORKING ist ein true/false indicator das eine Aktion gerade läuft. bei einer Rolladen/Markise zB ist WORKING=true so lange sie "fährt". Bei HM ist WORKING auch true wenn ein Timer läuft um die lampe zb nach 10 mins wieder auszuschalten. -
@martinschm denke ehr eine inkonstistenz bzw frage ist was bei read/wriote bei den Onbjekten in "common" steht
-
@apollon77 weißt du ob man irgendwie die fehlenden Gerätetypen in den Adapter zu bekommen. Es gibt leider einige Geräte wie zB Rauchmelder, Wassermelder oder Thermostate die sich nicht als Aliase anlegen lassen.
Gibt es zur Not einen manuellen (Um)weg?
ciao
Martin -
@martinschm sagte in Test Adapter Devices 0.3.x:
@apollon77 weißt du ob man irgendwie die fehlenden Gerätetypen in den Adapter zu bekommen. Es gibt leider einige Geräte wie zB Rauchmelder, Wassermelder oder Thermostate die sich nicht als Aliase anlegen lassen.
Gibt es zur Not einen manuellen (Um)weg?
ciao
Martinhttps://forum.iobroker.net/topic/27295/vorlage-alias-per-skript-erzeugen/1
-
@martinschm
Für thermostate gibt es aber ein Gerätetyp. Ist der ggf. nicht passend? -
@martinschm Ja da ist irgendwie kram definiert der noch nicht voll implementoert ist. macht bitte GitHub issues
-
@Garfonso said in Test Adapter Devices 0.3.x:
@martinschm
Für thermostate gibt es aber ein Gerätetyp. Ist der ggf. nicht passend?Hi, hatte fälschlicherweise als Typ Ventil gewählt. Der funktioniert nicht. Thermostat als Gerätetyp funktioniert.
-
@apollon77 said in Test Adapter Devices 0.3.x:
@martinschm Ja da ist irgendwie kram definiert der noch nicht voll implementoert ist. macht bitte GitHub issues
Hab ich bereits. Die Prios scheinen nur aktuell wo anders zu liegen, daher meine Frage ob man da irgendwas machen kann bzw drumherum arbeiten kann.
-
@martinschm kann man - manuell via Skript. So mache ich es nachwievor...wenn du Infos benötigst zum SKript, einfach dort im Thread fragen. Ich hab mir bisher 7 Skripts vorgefertigt für verschiedene Datenpunkte (immer nur minimale Änderungen, aber dann muss ich nicht immer in 1 Code rummachen)
https://forum.iobroker.net/topic/30004/test-adapter-devices-0-3-x/111 -
@Kueppert said in Test Adapter Devices 0.3.x:
@martinschm kann man - manuell via Skript. So mache ich es nachwievor...wenn du Infos benötigst zum SKript, einfach dort im Thread fragen. Ich hab mir bisher 7 Skripts vorgefertigt für verschiedene Datenpunkte (immer nur minimale Änderungen, aber dann muss ich nicht immer in 1 Code rummachen)
https://forum.iobroker.net/topic/30004/test-adapter-devices-0-3-x/111Danke. Denke für die Wasser- und Rauchmelder werde ich das Skript nutzen.
Kann man damit auch zusätzliche Felder anlegen?