@mading
Was machst Du falsch:
Die Zeitbedingung passt nicht. Der Baustein Zeit zwischen A und B erwartet das A < B. Diese Regel verletzt du in deinem Falls. Besser wäre hier gewesen: nicht Zeit zwischen 0:00 und 3:00 Uhr
die zusätzliche Abfrage im Sonst-Falls ist unnötig, ein "Sonst" hätte gereicht (wenn das Falls denn ok gewesen wäre.
Die Falls Bedingung wird nur beim Start des Skriptes überprüft, sprich welchen Zweig der Bedingung du ausführst hängt nur davon ab wann das Skript gestartet wird.
Die Variable BatterieLevel ist unnötig. Du kannst an Stelle dieser Variablen den Baustein aus dem Trigger-Bereich nutzen, der mit "Object ID" vorbelegt ist, sofern du diesen auf "Wert" umstellst.
Die Sondermeldung bei Batterie < 5 % ist ungünstig in einem sonst Falls verbaut. Das führt dazu das wenn die Batterie unter 5% und die Ladesteckdose noch aus ist keine Warnmeldung das die Batterie so niedrig ist ausgegeben wird Ich würde auf eine gesonderte Meldung verzichten und statt dessen den Text in der Meldung über Bausteine aus dem Textbereich so zusammen setzen:
erstelle Text aus Vis Tablett Batterie auf BatterieLevel %. Schalte Strom ein.
Dabei hat der Erstelle Text aus Baustein 3 Knoten an denen die 3 folgenden Bausteine angedockt sind.
Generell gilt:
Trigger (auch Cron Trigger) machen hinter Falls Abfragen nur in Sonderfällen Sinn. Meistens ist es besser, den Trigger allgemein zu definieren und mit einer Falls Abfrage innerhalb des Triggers Zusatzbedingungen (wie die Uhrzeit) abzuprüfen.
Was du brauchst:
Im Trigger eine Abfrage auf die Uhrzeit, die verhindert das die Steckdose zwischen 0 und 3 Uhr abgeschaltet wird.
Einen cron Trigger, der die Steckdose um 0:00 Uhr auf jeden Fall einschaltet.
A.
p.s. Ich hasse Autokorrektur, insbesondere wenn sie verschlimmbessert.