NEWS
Skript läuft zu schnell durch ....
-
@freemy sagte: erst wenn diese "Ein" ist wird ja erkannt, ob der Luftentfeuchter läuft
Genau eine Minute nach dem Einschalten des Switch wird die Leistung geprüft, danach nicht mehr. Deshalb muss die Leistung der Trigger-Datenpunkt sein.
@paul53 sagte in Skript läuft zu schnell durch ....:
@freemy sagte: erst wenn diese "Ein" ist wird ja erkannt, ob der Luftentfeuchter läuft
Genau eine Minute nach dem Einschalten des Switch wird die Leistung geprüft, danach nicht mehr. Deshalb muss die Leistung der Trigger-Datenpunkt sein.
Das funktioniert allerdings nur, wenn nach dem Einschalten des Geräts sich die Leistung auch dann ändert, wenn das Gerät nicht startet sondern einen Fehler hat.
Ich würde es so probieren:

Edit: Noch eine kleine Korrektur im Skript, damit der Timeout gestoppt wird, falls vor Ablauf der Minute die Steckdose wieder ausgeschaltet werden sollte.
-
@paul53 sagte in Skript läuft zu schnell durch ....:
@freemy sagte: erst wenn diese "Ein" ist wird ja erkannt, ob der Luftentfeuchter läuft
Genau eine Minute nach dem Einschalten des Switch wird die Leistung geprüft, danach nicht mehr. Deshalb muss die Leistung der Trigger-Datenpunkt sein.
Das funktioniert allerdings nur, wenn nach dem Einschalten des Geräts sich die Leistung auch dann ändert, wenn das Gerät nicht startet sondern einen Fehler hat.
Ich würde es so probieren:

Edit: Noch eine kleine Korrektur im Skript, damit der Timeout gestoppt wird, falls vor Ablauf der Minute die Steckdose wieder ausgeschaltet werden sollte.
@zarello sagte: Das funktioniert allerdings nur, wenn nach dem Einschalten des Geräts sich die Leistung auch dann ändert, wenn das Gerät nicht startet sondern einen Fehler hat.
Wenn das Gerät beim Einschalten per "Switch" einen Fehler hat, wird es eine nicht konstante Leistung < 5 W aufnehmen.
-
Hey, ich bin noch etwas neu in der ganzen Materie, habe aber nur mal probiert mein erstes Skript selber anzufertigen...
Hier habe ich nur ein Problem:
Ich möchte herausfinden ob der Stecker Leistung zieht oder eben nicht und daran erkennen, ob mein Luftentfeuchter voll ist oder eine andere Störung hat.
Die Datenabfrage mit Tuya dauert immer so locker 20sec. bis sich der Wert der Leistung aktualisiert. Nun habe ich deswegen eine Pause eingebaut, damit sich eben genau dieser Wert aufbauen kann. Das Problem ist, ich bekomme schon vor Ablauf der einen Minute eine Nachricht auf mein Handy.... Ich verstehe leider nicht warum.. -
@freemy sagte: sonst nicht Schritt nochmal aufschlüsseln??
sonst: Wenn Leistung <= 5 UND Switch ist ein UND Timeout ist noch nicht gestartet
dann starte Timeout (Verzögerung um 1 Minute) -
@freemy sagte in Skript läuft zu schnell durch ....:
@freemy eine frage zu meinem nochmal, wieso geht das Ganze nicht mit Pause?
Da bin ich mir nicht wirklich sicher, aber ich vermute, dass die Pause evtl. durch irgendwelche Signale vorzeitig beendet wird.
Du könntest vermutlich statt der Pause einfach einen Timeout verwenden und die Bedingung und Benachrichtigung wie bei Deinem ersten Post innerhalb des Timeout verwenden.
Aber bei einem Event-basierten System programmiert man lieber mittels der Trigger.@paul53 sagte in Skript läuft zu schnell durch ....:
Wenn das Gerät beim Einschalten per "Switch" einen Fehler hat, wird es eine nicht konstante Leistung < 5 W aufnehmen.
Ja, das stimmt, solange die Leistung >= 0.5W bzw. der Wert des Datenpunktes eine Fließkommazahl ist.
-
@freemy sagte in Skript läuft zu schnell durch ....:
@paul53 aber fehlt dort nicht noch ein = true?
Ein Vergleich liefert Dir einen Wahrheitswert (der ist entweder true oder false). Da der Datenpunkt aber schon ein Wahrheitswert ist, muss der nicht verglichen werden.
Der Wert ist ja ein Platzhalter, der in dem Fall entweder true oder false enthält. Beim Vergleich wird Wert durch seinen Inhalt ersetzt und es steht dort: true = true und das Ergebnis dieses Vergleichs ist wiederum true. Ich hoffe, es wird klar was ich meine.
-
@freemy sagte in Skript läuft zu schnell durch ....:
@paul53 aber fehlt dort nicht noch ein = true?
Ein Vergleich liefert Dir einen Wahrheitswert (der ist entweder true oder false). Da der Datenpunkt aber schon ein Wahrheitswert ist, muss der nicht verglichen werden.
Der Wert ist ja ein Platzhalter, der in dem Fall entweder true oder false enthält. Beim Vergleich wird Wert durch seinen Inhalt ersetzt und es steht dort: true = true und das Ergebnis dieses Vergleichs ist wiederum true. Ich hoffe, es wird klar was ich meine.
-
@freemy Hm, okay, aber das ist jetzt etwas ganz anderes als das was ich vorgeschlagen habe.
-
@freemy Lass beim linken Teil den sonst falls - Zweig komplett weg.
Und auf der rechten Seite den Timeout in ein falls-Baustein. Bei diesem ein sonst aktivieren und dort den Timeout löschen. Innerhalb des Timeout dann kein falls-Baustein mehr sondern nur die Benachrichtigung.
