Doif unabhängig von Zeiten nur ein oder zweimal am Tag...

Begonnen von KnuMu, 09 Dezember 2016, 15:46:46

Vorheriges Thema - Nächstes Thema

KnuMu

Einen schönen guten Tag!
Ich habe einen LG Saugroboter, der soll möglichst, wenn keiner zu Hause ist, ein wenig sauber machen. Das funktioniert ganz gut. Wenn alle weg, legt er los. Nun soll er das auch nur machen, wenn er auch voll aufgeladen ist. Kann ja sein, man verlässt mehrmals am Tag das Haus nur kurz. Dann würde er ja jedes mal (halb aufgeladen) "sauber machen".
Hab das bisher so gelöst

define Clean DOIF ([Kind] eq "absent" and [Frau] eq "absent" and [Vater] eq "absent" and [LuiGi:batteryPercent] eq "100") (set LuiGi cleanStart)

Ohne die Batterieauswertung würde er ohne Änderung nur einmal sauber machen. Wenn er jedoch 100 Prozent Batteriestatus hat, ist meine Vermutung, fährt er jedesmal neu raus. Mir würde ein oder zweimal am Tag reichen. Wir gehen zu allen möglichen Zeiten aus dem Haus, somit ist eine zeitliche Eingrenzung nicht so sinnvoll....

Vielen Dank, Euch ein schönes Wochenende

Knut



Icinger

Hi KnuMu,

[Kind] eq "absent" and [Frau] eq "absent" and [Vater] eq "absent"
Gehe ich richtig in der Annehme, dass du Residents usw verwendest? Dann könntest du ja auch gleich den Residents-Status nehmen, der ist ja kummuliert für alle zusammen.

Für das ein, zweimal am Tag:
Könntest du evtl. mit einem Zähler realisieren, den du in ein UserReading schreibst (direkt im DOIF). Jedesmal starten um eins erhöhen, und darauf checken.
Dann noch im DOIF einen DOLELSEIF-Teil, der dir um zB 01:00 den Zähler zurücksetzt.

lg, Stefan
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

KnuMu

Hallo Stefan!
Richtig, ich könnte auch die Residents nehmen. Das wäre aber dann verdammt kurz!  ;-))
Danke für den Hinweis! So ganz grob hab ich auch schon in so eine Richtung gedacht... fehlt nur noch die Umsetzung.
Meine FHEM- Umgebung ist inzwischen schon recht komplex; Heizung, Umwälzung, Alarme, Pushmitteilungen.....
Dennoch ist das Meiste mehr oder minder "copy-paste-modify".... übersetzt also irgendwo geklaut. Ich setze mich mal ran...
Liebe Grüße
Knut

Per

Einmal am Tag geht recht leicht, DOIF ohne do always und
Zitat von: Icinger am 09 Dezember 2016, 16:18:41Dann noch im DOIF einen DOLELSEIF-Teil, der dir um zB 01:00 den Zähler zurücksetzt.
Wobei ich nicht 01:00 nehmen würde, kommt man mal etwas später heim (01:20 z.B.) und der Akku wird 01:15 voll, stolpert man über das dann rumwuselnte Teil :D.
Besser fände ich 09:00. Und 09:01 einen Trigger, falls man schon eher aus dem Haus ist.
define Clean DOIF ([Kind] eq "absent" and [Frau] eq "absent" and [Vater] eq "absent" and [LuiGi:batteryPercent] eq "100" and [09:01-20:00]) (set LuiGi cleanStart)
DOELSEIF [09:00]

Bei den 20:00 sollte man noch die maximale Saugzeit berücksichtigen, wenn man keinen Stoppbefehl senden kann.