NEWS
Abfrage Datenpunkt mit zusätzlicher Verzögerung
-
Hallo ich frage meine Pooltemperatur erfolgreich mit einer Regel im text2command Adapter ab und gebe sie über die entsprechende Alexa aus.
Da die Pumpe / Messung außerhalb des Pools ist möchte ich falls die Poolpumpe nicht läuft diese zunächst einschalten, dann die Sprachausgabe fortsetzen.
Folgendes möchte ich erreichen.- Alexa frage ioBroker nach der Pooltemperatur
- Abfrage der Pumpe
- Wenn läuft, dann Sprachausgabe mit der Temperatur
- Wenn Pumpe nicht läuft, dann Pumpe einschalten und die Ansage der Pooltemperatur verzögern
- Anschließend Poolpumpe wieder ausschalten
Hat jemand eine Idee? Ich müsste ja im Blockly die Frage abfangen, dann könnte ich mir sicher selbst helfen, obwohl dann müsste ich ja auch noch wissen welche Alexa die Frage gestellt hat, um die Sprachausgabe auf das richtige Gerät zu lenken.
So sieht es aktuell aus:
Ähnliches habe ich mit dem SMA Adapter Werten gemacht, allerdings ist hier keine Verzögerung drin.
-
@mike2712 sagte: falls die Poolpumpe nicht läuft diese zunächst einschalten, dann die Sprachausgabe fortsetzen.
Von Alexa habe ich keine Ahnung, aber was die Verzögerung mit Schalten der Pumpe betrifft:
Anmerkung: Man muss erst eine dummy-Variable erstellen, um auf die Timer-Variable timeout zugreifen zu können.
-
vielen Dank, das sieht besser aus als meine Lösung. Leider war das nicht das größte Problem, wenn ich Alexa frage ioBroker stelle, dann muss die Ansage unterbrochen werden.
Normal antwortet die Alexa direkt, jetzt habe ich schon etwas gebastelt das die Texterkennung etwas in Blockly auslöst, damit könnte ich dann das Blockly aktivieren.
Aber es wird normal sofort eine Antwort auf die Alexa ausgegeben, ich müsste dann zusätzlich im Blockly abfangen welche Alexa gefragt hat.
Denke ich muss mich an der Stelle vom Text2command verabschieden, aber dann bräuchte trotzdem den Trigger für das Blockly, also welche Alexa die Frage gestellt hat. -
@paul53 nochmals vielen Dank, den Alexa kram konnte ich lösen,
aber wie in Deiner Anmerkung schon beschrieben, das mit der dummy Variable bekomme ich nicht hin, sobald die Namen gleich sind gibt es eine Fehlermeldung. Was macht der Befehl "setze timeout auf "null""? Ist das wie der Stop Befehl?
Das Thema mit dem Timer interessiert mich, wie bekomme ich das hin, ich bin selbst Programmierer für SPS Steuerungen, gibt es bei diesen Timer hier im Blockly- Möglichkeit den Timer zu Stoppen, ja dafür gibt es ja den Stopp Befehl
- Abfrage ob der Timer läuft ? (Denke das wolltest Du mit der falls nicht timeout erreichen ?)
- Restzeit / Abgelaufene Zeit abfragen?
-
@mike2712 sagte: Was macht der Befehl "setze timeout auf "null""? Ist das wie der Stop Befehl?
Nein, er ermöglicht eine Abfrage der Timer-Variable, die ein spezielles Objekt ist.
Nach Ablauf der Zeit und nach Stoppen mittels clearTimeout(timeout) wird die Timer-Variable nicht zurück gesetzt. Das macht "setze timeout auf null" und in Blockly auch "stop timeout".
Blockly "stop timeout":(function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
@mike2712 sagte in Abfrage Datenpunkt mit zusätzlicher Verzögerung:
Restzeit / Abgelaufene Zeit abfragen?
Ist nicht möglich.