NEWS
Blockly Script läuft nicht auf anhieb
-
Hallo Zusammen,
mit nachfolgendem Script schalte ich das Licht über meiner Kaffeemaschine.
Funktioniert wie folgt: Stromaufnahme der Maschine wird überwacht und dann das Licht mit einem Tastimpuls ein bzw. ausgeschaltet. Da es vor Ort eine herkömmliche Handbedienung der Beleuchtung gibt, wird über ein Shelly1 input
überwacht, ob das Licht an oder aus ist, bzw. ob es nach dem Einschalten per Kaffeemaschine manuell wider ausgeschaltet wurde.Das funktioniert auch alles wie es soll. Ich bekomme nur einen Sache nicht in Griff, bzw. kapiere ich einfach nicht.
Wenn ich das Script im ioBroker neu starte wird das erste Einschalten der Kaffeemaschine nicht erkannt. Trigger funktioniert dann wohl nicht. Wenn ich die Maschine dann aber ausschalte und erneut einschalte läuft das Script.
WISO??? Bitte last mich nicht dumm sterben!Gruß
Franz -
@franzosenfranz sagte in Blockly Script läuft nicht auf anhieb:
Wenn ich das Script im ioBroker neu starte wird das erste Einschalten der Kaffeemaschine nicht erkannt.
zu diesem Zeitpunkt sind deine Variablen, die im falls abgefragt werden noch nicht definiert.
Dazu bitte über dem Trigger beiden Variablen mit SETZE einen Wertzuweisen.
Der wird dann bei Skriptstart zugewiesen und dann müsste es laufen -
@homoran sagte: zu diesem Zeitpunkt sind deine Variablen, die im falls abgefragt werden noch nicht definiert.
Ja, die Variablen liefern undefined, womit der Vergleich mit falsch nicht funktioniert. Ersetze "Kaffeemaschine_ein_aus = falsch" durch "nicht Kaffeemaschine_ein_aus"; dann funktioniert es auch mit undefined.
-
Danke euch beiden! Typischer Anfängerfehler........
Habe ich eigentlich vor 35 Jahren schon gelernt, dass man Variablen immer erst eine Definition zuweisen sollte.
Funktioniert hätten beide Lösungsvorschläge von paul53 und Homoran. Gewählt habe ich die von Homoran, da in meinen Augen eleganter.
Bei der Lösung von paul53 hätte ich weiter unten im Script die Abfrage von "Licht__Kaffeemaschine_manuell_aus = falsch" auch auf noch durch "nicht Licht__Kaffeemaschine_manuell_aus" ersetzten müssen.
Gruß
Franz