NEWS
Scriptaufruf mit Schalterschnittstelle
-
Hi,
ich versuche gerade ein paar Scripte von der CCU loszuwerden und auf ioBroker zu migrieren.
Dabei habe ich eine Tasterschnittstelle. Wenn ich diese drücke dann geht eine Lampe an oder aus.
In diesem Fall gehen auch zwei andere Lampen an bzw aus, abhängig vom Status der ersten lampe.
Das mache is so, damit ich z.B. über VIS auch jede einzelne Lampe noch schalten kann und nicht immer alle an gehen, wenn Lampe1 eingeschaltet ist.
Dabei scheitere ich schon beim Scriptaufruf, denn die Objektliste zeigt die folgenden Datenpunkte:
1 channel TasterLichtWzEingang channel Wohnzimmer
INSTALL_TEST state TasterLichtWzEingang.INSTALL_TEST state indicator Wohnzimmer true
PRESS state TasterLichtWzEingang.PRESS state Wohnzimmer true
Ich dachte, dass es mit
on("hm-rpc.0.KEQxxxxxxx.1.PRESS") , function (obj) { }
funktionieren könnte. Allerdings verändert sich der Datenpunkt PRESS gar nicht.
Die Frage ist also wie das Drücken der Tasterschnittstelle mit iobroker abgefragt werden kann.
vG Looxer
-
Hallo Looxer,
ich mache das zum Beispiel bei unserer Klingel so:
on({id: "hm-rpc.0.LEQXXXXXXX.1.PRESS_LONG", valNe: 2}, function(obj) // Klingeltaster Haustür Tastendruck lang { log("EVENT ERKANNT: Taster Haustür Tastendruck lang","info"); sendTo("pushover.0", {message: 'Es hat an der Haustür geklingelt!', title: 'Information - Zu Hause', priority: 0}); });
-
ich mache das zum Beispiel bei unserer Klingel so: `
vielen Dank für die schnelle Antwort. Ein Press_long gibt es ja nicht bei der Tasterschnittstelle.
Was mich irritiert ist, dass in der objektliste steht bei PRESS = true. Eine Veränderung ist auch nicht zu sehen, wenn der Taster gedrückt wird.
Vielleicht habe ich da auch was falsch verstanden ?
-
nochmals danke für den Hinweis. Hat jetzt auch geklappt und zwar so:
on({id: "hm-rpc.0.KEQxxxxxxx.1.PRESS", valNe: false}, function(obj) // Event: taster WZ gedrückt { var statwzmaster = getState("hm-rpc.0.IEQxxxxxxx.1.STATE"); // lese status masterlampe if (statwzmaster.val === false || statwzmaster.val === "false") { // prüfe status masterlampe setState("hm-rpc.0.JEQxxxxxxx.1.STATE",true); // wz esstisch stehlampe an setState("hm-rpc.0.JEQxxxxxxx.1.LEVEL",100); // Dimmer Deckenlampe an log("EVENT bei Lampe an","info"); } else { setState("hm-rpc.0.JEQxxxxxxx.1.STATE",false); // WT esstisch stehlampe aus setState("hm-rpc.0.JEQxxxxxxx.1.LEVEL",0); // Dimmer Deckenlampe aus log("EVENT bei Lampe aus","info"); } });