NEWS
setStateDelayed - Fragen zur Funktion
-
@laser sagte: wie schalte ich wieder aus?
Was soll wann wieder ausgeschaltet werden? GPIO22 oder "power_on"?
@laser sagte in setStateDelayed - Fragen zur Funktion:
Hatte gehofft, das passiert mit dem "false"
Das false hinter der Verzögerungszeit bedeutet, dass der Timer bei erneutem Aufruf nicht gestoppt wird.
-
@laser
Wenn "power_on" verzögert ausgeschaltet werden soll, muss false (anstelle von true) vor der Verzögerungszeit verwendet werden.setStateDelayed('opendtu.1.114184537824.power_control.power_on'/**/, false, 2000, false, function() { console.log("aus") }); -
@laser
Wenn "power_on" verzögert ausgeschaltet werden soll, muss false (anstelle von true) vor der Verzögerungszeit verwendet werden.setStateDelayed('opendtu.1.114184537824.power_control.power_on'/**/, false, 2000, false, function() { console.log("aus") });@paul53 versuche es jetzt so:
function einschalten() { setState('rpi2.0.gpio.22.state'/**/,true); // true ist einschalten Relais setState('opendtu.1.114184537824.power_control.power_on'/*Start the inverter*/,true); setStateDelayed('opendtu.1.114184537824.power_control.power_on'/*Start the inverter*/,false,6000); }; // Ende einschaltenEDIT: das ging so schnell, daß ich es in "Objekte" nicht gesehen habe. Bin jetzt auf 6000 gegangen.
-
@paul53 versuche es jetzt so:
function einschalten() { setState('rpi2.0.gpio.22.state'/**/,true); // true ist einschalten Relais setState('opendtu.1.114184537824.power_control.power_on'/*Start the inverter*/,true); setStateDelayed('opendtu.1.114184537824.power_control.power_on'/*Start the inverter*/,false,6000); }; // Ende einschaltenEDIT: das ging so schnell, daß ich es in "Objekte" nicht gesehen habe. Bin jetzt auf 6000 gegangen.
@paul53 zweimal "delayed" geht wohl nicht? Nach Einschalten über Relais muß der Inverter erst hochlaufen...
und: gibt es einen Höchstwert für Delay?function einschalten() { // setState('rpi2.0.gpio.22.state'/**/,true); // true ist einschalten Relais setStateDelayed('opendtu.1.114184537824.power_control.power_on'/**/,true,5000); setStateDelayed('opendtu.1.114184537824.power_control.power_on'/*Start the inverter*/,false,8000); }; // Ende einschalten -
@paul53 zweimal "delayed" geht wohl nicht? Nach Einschalten über Relais muß der Inverter erst hochlaufen...
und: gibt es einen Höchstwert für Delay?function einschalten() { // setState('rpi2.0.gpio.22.state'/**/,true); // true ist einschalten Relais setStateDelayed('opendtu.1.114184537824.power_control.power_on'/**/,true,5000); setStateDelayed('opendtu.1.114184537824.power_control.power_on'/*Start the inverter*/,false,8000); }; // Ende einschalten -
@laser sagte: zweimal "delayed" geht wohl nicht?
Sollte funktionieren. Ich würde allerdings setTimeout() bevorzugen.
@laser sagte in setStateDelayed - Fragen zur Funktion:
gibt es einen Höchstwert für Delay?
Ja, der ist aber sehr hoch.
@paul53 das setzen funktioniert nicht. Erst wenn ich das zweite "setstateDelayed" auskommentiere, wird gesetzt nach Ablauf der Zeit. "setTimeout" muß ich mir ansehen.
function einschalten() { // setState('rpi2.0.gpio.22.state'/**/,true); // true ist einschalten Relais setStateDelayed('opendtu.1.114184537824.power_control.power_on'/**/,true,5000); // setStateDelayed('opendtu.1.114184537824.power_control.power_on'/*Start the inverter*/,false,8000); }; // Ende einschalten -
@paul53 das setzen funktioniert nicht. Erst wenn ich das zweite "setstateDelayed" auskommentiere, wird gesetzt nach Ablauf der Zeit. "setTimeout" muß ich mir ansehen.
function einschalten() { // setState('rpi2.0.gpio.22.state'/**/,true); // true ist einschalten Relais setStateDelayed('opendtu.1.114184537824.power_control.power_on'/**/,true,5000); // setStateDelayed('opendtu.1.114184537824.power_control.power_on'/*Start the inverter*/,false,8000); }; // Ende einschalten@laser sagte: "setTimeout" muß ich mir ansehen.
function einschalten() { setState('rpi2.0.gpio.22.state'/**/,true); // true ist einschalten Relais setTimeout(function() { setState('opendtu.1.114184537824.power_control.power_on'/**/, true); setStateDelayed('opendtu.1.114184537824.power_control.power_on', false, 3000); // 3 s Impuls }, 5000); // 5 s Hochlauf }; // Ende einschalten -
@laser sagte: "setTimeout" muß ich mir ansehen.
function einschalten() { setState('rpi2.0.gpio.22.state'/**/,true); // true ist einschalten Relais setTimeout(function() { setState('opendtu.1.114184537824.power_control.power_on'/**/, true); setStateDelayed('opendtu.1.114184537824.power_control.power_on', false, 3000); // 3 s Impuls }, 5000); // 5 s Hochlauf }; // Ende einschalten -
@paul53 Danke, das Absetzen der Impulse klappt so. Muß nur noch die Zeiten für den Inverter- Hochlauf hinbekommen, damit die Impulse auch wirken.
EDIT: Klappt auch mit dem Hochlauf abwarten... ,40000 -
@paul53
irgendwelche Nebenwirkungen hat das aber nicht (Unterbrechen von JS- Abarbeitung für die timeout-Zeit?)
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden