NEWS
Zeitsaugen als Blockly
-
@helfi9999 Meines Erachtens ist die Logik halt nicht vollständig. Das Wiederholen für 1mal kann man sich in meinen Augen auch sparen, da ohne die Schleife das ja auch nur 1 mal abgearbeitet wird. Du musst halt noch eine Variable mit Zeitstempel einbauen, die zusätzlich zu Deinen Wochentagen und Uhrzeit abgefragt wird. Diesen setzt Du am Ende und frägst am Anfang ab - ob es der gleiche Tag war. Wenn also am gleichen Tag dieses Unterprogramm nochmal getriggert wird, blockierst Du es.
-
@mickym sagte in Zeitsaugen als Blockly:
@helfi9999 Meines Erachtens ist die Logik halt nicht vollständig. Das Wiederholen für 1mal kann man sich in meinen Augen auch sparen, da ohne die Schleife das ja auch nur 1 mal abgearbeitet wird. Du musst halt noch eine Variable mit Zeitstempel einbauen, die zusätzlich zu Deinen Wochentagen und Uhrzeit abgefragt wird. Diesen setzt Du am Ende und frägst am Anfang ab - ob es der gleiche Tag war. Wenn also am gleichen Tag dieses Unterprogramm nochmal getriggert wird, blockierst Du es.
Oder man nimmt eine globale Bool-Variable (oder noch besser: Einen eigenen DP) die beim Start des Saugvorgangs gesetzt und in der Nacht zurückgesetzt wird.
-
@codierknecht sagte in Zeitsaugen als Blockly:
Oder man nimmt eine globale Bool-Variable (oder noch besser: Einen eigenen DP) die beim Start des Saugvorgangs gesetzt und in der Nacht zurückgesetzt wird.
Ja dann braucht man aber dafür wieder einen eigenen Trigger UND ein Datenpunkt der zurücksetzt.
. Obwohl der Datenpunkt (auch ohne Zurücksetzen) sinnvoll ist, wenn wirklich mal der Strom ausfallen sollte - kommt darauf an, wie häufig das in Zukunft wird.
-
@helfi9999 Nimm als Trigger die Zeit. Wenn dann einer daheim sein sollte, soll das skript sich merken, dass der Staubsauger heute saugen sollte, es aber nicht ging, weil jmd da war.
Dann den Anwesenden alle 10-15 Minuten abfragen; falls keiner mehr da ist, eiinfach den Sauger losschicken -
@guergen @mickym @Codierknecht hallo,
er soll nur einmal saugen wenn niemand zuhause ist. Kommt jemand wieder und geht später nochmals weg soll er nicht nochmal saugen. Habe mich eventuell nicht richtig ausgedrückt. -
@helfi9999 Hab ich schon verstanden, ich mache das mit einem Reminder! Der Zeitpunkt wird bei mir genau festgelegt, z.B. Mittwoch 10 Uhr. Bin ich dann daheim, setze ich einen DP als Reminder und es wird alle 10 Minuten abgefragt, ob ich immer noch daheim bin. falls ja, bleibt der DP bestehen, falls nicht startet der Sauger und der DP wird gelöscht:
Hier mein Beispiel für Sonntag
Zeitblock:
Letzter Teil:
-
@helfi9999 sagte in Zeitsaugen als Blockly:
@guergen @mickym @Codierknecht hallo,
er soll nur einmal saugen wenn niemand zuhause ist. Kommt jemand wieder und geht später nochmals weg soll er nicht nochmal saugen. Habe mich eventuell nicht richtig ausgedrückt.Doch, hast Du. Ich befürchte, dass das als reine Beschreibung nicht verstanden wurde.
Daher hier als Blockly.
Der Trigger sitzt auf "anwesend". Irgendwie wirst Du ja prüfen können, ab Personen anwesend sind oder nicht.
Zusätzlich gibt es einen DP, der dem Sauger sagt ob er saugen soll oder nicht.
Wenn alle abwesend sind, läuft der Sauger los und merkt sich im DP, dass er nicht mehr saugen soll.
Nachts wird der DP wieder zurückgesetzt, damit er am neuen Tag auch wieder losläuft.
Ist nicht wirklich kompliziert. -
@codierknecht das sieht klasse aus. Eine Frage noch wie mache ich das mit 2 anwesenden Personen.
-
@helfi9999 sagte in Zeitsaugen als Blockly:
@codierknecht das sieht klasse aus. Eine Frage noch wie mache ich das mit 2 anwesenden Personen.
Ich würde einen eigenen DP (wie hier) anlegen, der das Gesamtergebnis repräsentiert.
Der wird per Script gefüllt: Entweder "true" (es ist jemand anwesend) oder "false" (niemand anwesend). -
@codierknecht vielen Dank für eure Hilfe hat alles geklappt wie es sollte.