Hallo,
ich möchte jetzt endlich mal etwas sinnvolles mit meiner Plug S machen.
Ziel ist es, dass durch den Knopf an der Steckdose eine Schaltsequenz gestartet wird:
15 Pulse kurz einschalten, danach dauerhaft einschalten.
Hintergrund: Mein Ultraschallreiniger soll zunächst die Flüssigkeit entgasen, das passiert während der ersten 15 Pulse. Danach folgt der eigentliche Reinigungsprozess.
Ich verstehe leider nicht richtig, wie ich das Event eines Knopfdrucks (kurz, lang, doppelt) abfangen kann.
Hier ist mein letzter Stand:
JavaScript
let userdata = null;
let state = false;
let bool = false;
let timer_handle = null;
let degasing_counter = 0;
let degasing_cycles_requested = 15;
function callback(userdata) {
bool = !bool;
if (degasing_counter >= degasing_cycles_requested) {
Shelly.call("Switch.set", {'id': 0, 'on': true});
}
else if (bool) {
// turn on and start on-delay
Shelly.call("Switch.set", {'id': 0, 'on': true});
timer_handle = Timer.set(1000,false,callback,null);
}
else {
// turn off and start off-delay
Shelly.call("Switch.set", {'id': 0, 'on': false});
timer_handle = Timer.set(2000,false,callback,null);
degasing_counter++
}
}
function eventcallback(userdata) {
if (userdata.component === "input:0") {
if (userdata.info.event === "single_push") {
callback(null);
}
}
}
Shelly.addEventHandler(eventcallback, userdata);
Alles anzeigen
Das ist mein erstes Projekt mit Java Script, meine Skills sind diesbezüglich also sehr beschränkt
Ich würde mich sehr freuen, wenn mir jemand aufzeigen könnte, was ich hier falsch mache.
Gruß
Daniel