NEWS
Wiederholtes Einschalten Zeitabhängig verhindern
-
Hallo,
erst mal ein freundliches "Guten Abend" in die Runde. Ich habe die letzten Stunden damit verbracht, eine IoBroker Umgebung auf meinem Raspi 4 aufzusetzen. Das Ganze funktioniert inkl. Alexa, Telegram und einigen Tasmota Sonoffs schon ganz gut. Leider komme ich (noch) nicht so richtig mit Blockly zurecht.
Ich möchte gerne eine Brauchwasser Zirkulationspumpe ansteuern. Unter folgenden Bedingungen:
Pumpe soll mit Vis oder Alexa gestartet werden -> funktioniert
Pumpe soll nach 5 Minuten wieder abschalten -> funktioniertDanach soll eine 2 Stündige Verzögerung laufen der ein wiederholtes Einschalten über Alexa oder Vis verhindert -> Klappt nicht.
Könnt ihr mir hier weiter helfen? Ich habe zwar schon Onkel Duck bemüht aber nichts passendes gefunden.
Danke & Gruß
Ciwa
-
@Ciwa sagte:
Danach soll eine 2 Stündige Verzögerung laufen der ein wiederholtes Einschalten über Alexa oder Vis verhindert
Das funktioniert richtig nur, wenn per Alexa oder Vis eine eigener, virtueller Datenpunkt geschaltet wird, der wiederum über eine Wiedereinschaltsperre die Pumpe schaltet. Etwa so:
Wird der Pumpen-Aktor direkt von Alexa oder Vis gesteuert, lässt sich ein kurzes Einschalten des Aktors nicht vermeiden, wobei die Pumpe aufgrund der Trägheit nicht anläuft.
-
Danke, das ist eine große Hilfe. Meine Blockly Lernkurve ist leider noch etwas holprig...ich bitte das zu entschuldigen.
Ich habe das zweite Skript mal eins zu eins übernommen. Als Objekt ID ist der Schalter der Pumpe direkt übernommen.
Allerdings schaltet die Pumpe sofort wieder aus.Für mich ist folgendes noch unverständlich: Aus welcher Quelle soll die Variable "einschaltzeit" erzeugt werden? Über den Schaltzustand macht das mMn. keinen Sinn. Also wäre doch der aktuelle Zeitstempel des Sonoff besser geeignet?
Die Aktuelle Zeit ist ja auch als Datumsobjekt definiert. Oder liege ich da falsch?Danke & Gruß
Ciwa
-
@Ciwa sagte:
Allerdings schaltet die Pumpe sofort wieder aus.
Dann sind nach dem letzten Einschalten noch keine 2 Std. + 5 Minuten vergangen. Die Variable einschaltzeit sollte bei Skriptstart mit "Letzte Änderung" von "Sonoff_Test POWER" initialisiert werden.
Bei dem Vergleichswert fehlt eine 0 (7500000 ms = 125 min). Sollte die Pumpe nicht 5 Minuten laufen ? -
Ich habe jetzt noch mal Lösung 1 mit virtuellem Datenpunkt (Schalter) angelegt. Das ist denke ich die elegantere Lösung und funktioniert sehr gut. Darauf baue ich auf.
Vielen Dank für die Hilfe.
Grüße
Ciwa
-
Hallo Ciwa,
ich verwende für Verzögerungen bzw das Blocken von aktionen für einen Zeitraum gerne Variablen.
Hier ein Beispiel:
Ich habe einen Saugroboter der das Bad saugen soll, nachdem meine Katze auf Toilette war (wegen Katzenstreu). Hier habe ich einen Bewegungssensor. Weil ich aber 2 Katzen habe und der Sauroboter nicht den ganzen Tag dauernd saugen soll, soll er höchstens einmal pro stunde saugen. Schau einfach auf die Variable ToiletteSaugen. SuctionPower ist die Saugleistung. Hier soll er mit geminderter Saugleistung zum bad fahren und dann die volle Saugleistung schalten.Hier mein Script:
Deine Lösung ist natürlich auch super
Liebe Grüße
Daniel -
ich kann mich für solche Sachen echt begeistern....eigentlich müsste ich sofort Katze und Saugroboter kaufen gehen
Danke für den DenkanstoßGruß
Ciwa