NEWS
[gelöst]Wechselschaltung
-
Da ich immer verwirrter werde und das Gefühl habe weniger zu verstehen, beschreibe ich nochmal genauer die Taster.
So sieht der Schalter aus:
Die Taster sind von Weksteinstellung so eingestellt, dass der obere Taster immer auf true schaltet, der untere immer auf false.
Sie können jedoch auch so eingestellt werden, dass jeder Tastendruck den State ändert. -
@dominik-f sagte: Sie können jedoch auch so eingestellt werden, dass jeder Tastendruck den State ändert.
Das muss dann eingestellt werden.
Alternativ wertet man alle 4 Tasten aus:
-
Das mit dem Auswerten der Tasten funktioniert nicht, wenn ich die Tasten betätige, dann ändert sich der Wert der Tasten nicht.
Das erste Bild von dir hat teilweise funktioniert. Es klappt irgendwie, aber manchmal geht die Lampe erst nach mehreren Sekunden an, mal geht es gar nicht, mal funktioniert es
-
@dominik-f sagte: wenn ich die Tasten betätige, dann ändert sich der Wert der Tasten nicht.
Deshalb muss auf "ist wahr" (s. Bild) oder "wurde aktualisiert" getriggert werden , da "PRESS_SHORT" immer true ist und nur den Zeitstempel aktualisiert.
-
Eventuell liegt dort das Problem:
Edit:
Der Zeitstempel aktualisiert sich auch nicht. Laut Stempel wurde gestern irgendwann das letzte mal aktualisiert
-
@dominik-f sagte: Eventuell liegt dort das Problem:
Die CCU sendet die Tasten nicht an ioBroker. Gibt es ein Dummy-Programm auf der CCU?
Sonst versuche mal das Aktivieren der Tasten für jeden der 4 Kanäle mit folgendem Skript:// Dieses Skript einmal für jeden Taster-Kanal ausführen const inst = 'hm-rpc.0'; // Instanz anpassen const channel = '001A5D899A7DDA:1'; // Kanal-Adresse anpassen sendTo(inst, 'reportValueUsage', {ID: channel, paramType: 'PRESS_SHORT', params: 1}, res => { log(JSON.stringify(res)); });
-
Ich weiß gar nicht was ein Dummy-Programm ist, daher schätze ich nein.
Ich melde mich wenn ich das Skript ausgeführt habe
-
einfach den "umschalten" block nehmen und den trigger auf "wurde aktualisiert"
dann ist es wurscht, welche Stellung oder welchen State irgendein Schalter hat
-
Ich bekomme folgende Fehlermeldung bei dem Skript:
hm-rpc.2 2022-02-21 14:25:05.889 error Cannot call reportValueUsage: XML-RPC fault: Invalid device
So hab ich die Daten eingetragen:
// Dieses Skript einmal für jeden Taster-Kanal ausführen const inst = 'hm-rpc.2'; // Instanz anpassen const channel = '001A5D899A7DDA.1'; // Kanal-Adresse anpassen sendTo(inst, 'reportValueUsage', {ID: channel, paramType: 'PRESS_SHORT', params: 1}, res => { log(JSON.stringify(res)); });
-
Ich habe schon so viel getestet, dass ich leider den Wald vor lauter Bäumen nicht mehr sehe
Wenn ich deinen Post richtig verstehe, habe ich das weiter oben schon getestet?
-
@dominik-f sagte: Fehlermeldung bei dem Skript:
Die Instanz "hm-rpc.2" stimmt?
Vielleicht funktioniert das Skript nur mit HM classic und nicht mit HmIP?
Dann wird eine Dummy-Programm in der CCU benötigt: Auf alle 4 Tasten-Kanäle reagieren, aber nichts ausführen. -
Ja, die HMIP Instanz ist die 2.
Eventuell wäre es dann einfacher, dass ich die Taster auf Toggel stelle und das was du als erstes geschrieben hast ausprobiere -
@dominik-f sagte: Eventuell wäre es dann einfacher, dass ich die Taster auf Toggel stelle und das was du als erstes geschrieben hast ausprobiere
Ja, probiere es aus.
-
@dominik-f
Wenn das nicht funktioniert, hast was falsch eingetragen, denn mit dem Block folgt der eine dem anderen DP und wenn man es in beide Richtungen haben möchte eben überkreuz mit beiden DPs, sehr einfach.
Da hast wahrscheinlich auch den Schalter falsch konfiguriert und wie Paul schon schreibt, wäre toggel hier richtig.
Lief bei mir sehr lange so, bis ich das Tasmota intern mit ner Rule gelöst habe, da noch einfacher. -
@dominik-f sagte: So hab ich die Daten eingetragen:
In Zeile 4 ist ein Fehler: Doppelpunkt anstelle Punkt eingeben (siehe meinen Post).
const channel = '001A5D899A7DDA:1'; // Kanal-Adresse anpassen
-
ich schätze, dass das dann der richtige Output ist?
script.js.common.test: {"result":true,"error":null}
Das Skript läuft soweit, ich bekomme nur immer mal wieder Fehlermeldungen und manchmal funktioniert es nicht, da braucht das Licht entweder mehrere Sekunden bis es sich umschaltet oder es schaltet sich gar nicht um.
hm-rpc.0 2022-02-21 16:30:42.856 error Cannot call setValue: XML-RPC fault: Failure hm-rpc.0 2022-02-21 16:30:42.854 error xmlrpc -> setValue ["OEQ0213583:1","STATE",false] BOOL hm-rpc.2 2022-02-21 16:21:42.618 error Cannot call setValue: XML-RPC fault: Generic error (TIMEOUT) hm-rpc.2 2022-02-21 16:21:42.618 error xmlrpc -> setValue ["001A5BE9A6542D:8","LEVEL",0] FLOAT hm-rpc.2 2022-02-21 16:17:19.370 error Cannot call setValue: XML-RPC fault: Generic error (TIMEOUT) hm-rpc.2 2022-02-21 16:17:19.370 error xmlrpc -> setValue ["001A5BE9A6542D:8","LEVEL",0] FLOAT
Edit:
Nachdem ich dein Skript nun ausgeführt habe, scheint diese Variante am besten zu funktionieren nach den ersten Tests:
Frage dazu: Wenn ich Aliase zu den Press Short Datenpunkten erstelle, aktualisieren diese sich dann ebenfalls? Oder muss ich dazu was beachten?
-
@dominik-f sagte: ich schätze, dass das dann der richtige Output ist?
Ja. Aktualisiert jetzt die Taste bei Betätigung den Zeitstempel von "PRESS_SHORT" und der Wert ist true?
-
Ja, das macht es.
Es kommt dabei jedoch folgende Fehlermeldung:hm-rpc.2 2022-02-21 17:26:07.601 error Cannot call setValue: XML-RPC fault: Generic error (TIMEOUT) hm-rpc.2 2022-02-21 17:26:07.601 error xmlrpc -> setValue ["001A5BE9A6542D:8","LEVEL",0] FLOAT
-
@dominik-f sagte: Es kommt dabei jedoch folgende Fehlermeldung:
Das ist ein anderer Datenpunkt (Dimmer oder Rollo), an den gesendet wird.
-
@dominik-f sagte: Wenn ich Aliase zu den Press Short Datenpunkten erstelle, aktualisieren diese sich dann ebenfalls?
Ja, das sollten sie.