NEWS
SKript läuft nur, wenn iobroker offen?
-
Hallo,
ich habe ein kleines Blockly Skript gebaut, welches erkennen soll, wann die Waschmaschine fertig ist. Dazu frage ich eine von einer TASMOTA-Steckdose gemessene Größe ab und versuche festzustellen, wann diese für eine bestimte Zeit unter einen Grenzwert fällt.
Egal, welche Größe ich nehme (ENERGY_APPARENT_POWER, ENERGY_POWER, ENERGY_CURRENT), das Skript funktioniert nur, solange ich iobroker auf meinem Rechner geöffnet habe. Wenn es gewissermaßen "im Hintergrund" laufen soll, tut es nichts.
Hier das Skript:

Kann das am Debug-Block liegen?
Dank im Voraus
-
Hallo,
ich habe ein kleines Blockly Skript gebaut, welches erkennen soll, wann die Waschmaschine fertig ist. Dazu frage ich eine von einer TASMOTA-Steckdose gemessene Größe ab und versuche festzustellen, wann diese für eine bestimte Zeit unter einen Grenzwert fällt.
Egal, welche Größe ich nehme (ENERGY_APPARENT_POWER, ENERGY_POWER, ENERGY_CURRENT), das Skript funktioniert nur, solange ich iobroker auf meinem Rechner geöffnet habe. Wenn es gewissermaßen "im Hintergrund" laufen soll, tut es nichts.
Hier das Skript:

Kann das am Debug-Block liegen?
Dank im Voraus
@wrod nutze nicht den wiederhole block
ersetzte ihn mit einem interval block und im interval die stop bedingung nicht vergessen
-
Hallo,
ich habe ein kleines Blockly Skript gebaut, welches erkennen soll, wann die Waschmaschine fertig ist. Dazu frage ich eine von einer TASMOTA-Steckdose gemessene Größe ab und versuche festzustellen, wann diese für eine bestimte Zeit unter einen Grenzwert fällt.
Egal, welche Größe ich nehme (ENERGY_APPARENT_POWER, ENERGY_POWER, ENERGY_CURRENT), das Skript funktioniert nur, solange ich iobroker auf meinem Rechner geöffnet habe. Wenn es gewissermaßen "im Hintergrund" laufen soll, tut es nichts.
Hier das Skript:

Kann das am Debug-Block liegen?
Dank im Voraus
-
@wrod sagte: Kann das am Debug-Block liegen?
Nein. Das Skript wird nur einmal bei Skriptstart ausgeführt.
Verwende den zu prüfenden Datenpunkt "ENERGY_CURRENT" als Trigger. Im Forum gibt es etliche Beispiele für "Waschmaschine fertig". -
@wrod Es scheint tatsächlich der debug-Block zu sein. Er ist wohl in "produktiven" Nutzungen (=außerhalb geöffneter Skript-Instanz) nicht erlaubt. Das führt mich zur Frage: Kann man in Blockly Blöcke auskommentieren?
@wrod sagte in SKript läuft nur, wenn iobroker offen?:
Er ist wohl in "produktiven" Nutzungen (=außerhalb geöffneter Skript-Instanz) nicht erlaubt.
Blödsinn!
läuft bei mir monatelang und wirft gewünschte Meldungen ins Log
-
@wrod sagte in SKript läuft nur, wenn iobroker offen?:
Er ist wohl in "produktiven" Nutzungen (=außerhalb geöffneter Skript-Instanz) nicht erlaubt.
Blödsinn!
läuft bei mir monatelang und wirft gewünschte Meldungen ins Log
-
@homoran Das habe ich hier gefunden: https://hobbyblogging.de/iobroker-blockly
"Für produktive Zwecke ist der Debugging-Modus nicht erlaubt und auch nicht zu empfehlen."
@wrod sagte in SKript läuft nur, wenn iobroker offen?:
@homoran Das habe ich hier gefunden: https://hobbyblogging.de/iobroker-blockly
"Für produktive Zwecke ist der Debugging-Modus nicht erlaubt und auch nicht zu empfehlen."
das ist ja auch ganz was anderes!
der wird rechts oben aktiviert!hat nichts mit den debug-Bausteinen zu tun
-
- Ja, solange die Skript-Instanz offen ist
- Dieses Prinzip verstehe ich nicht ganz. Es geht mir darum, abzufragen, ob die Stromaufnahme nicht nur kurzfristig unter einen Grenzwert gefallen ist, sondernfür eine bestimmte Zeit.
@wrod sagte: ob die Stromaufnahme nicht nur kurzfristig unter einen Grenzwert gefallen ist, sondernfür eine bestimmte Zeit.
Genau das macht mein Vorschlag: Die Stromaufnahme muss 5 Minuten lang <= 0.5 sein, damit die Fertigmeldung erzeugt wird.
@wrod sagte in SKript läuft nur, wenn iobroker offen?:
solange die Skript-Instanz offen ist
Nein, nur einmal nach Skriptstart, wenn zu diesem Zeitpunkt eingeschaltet ist.
-
- Nein, ich konnte, wenn ich das Skript bei geöffneter Instanz starte, mehrfach die WaMa anschalten, und sie wurde wieder wieder ausgeschaltet.
- Wenn ich die Instanz schließe, passiert nichts, es wird erst weiter (!) gezählt (die Sekunden), wenn ich die Instanz wieder starte. Das Skript muss ich dazu nicht wieder starten.
- Ich verstehe die Logik Deinens Skripts nicht. Es fragt ab, ob die Stromaufnahme ÜBER einem Grenzwert ist, wenn ja, stoppt es einen Timeout, der noch gar nicht gestartet wurde. ANDERENFALLS, wird doch nur 5 Minuten gewartet bis zur Meldung, aber doch nicht geprüft, ob der Wert 5 Minuten unter dem Schwellenwert liegt - oder verstehe ich das falsch?
-
- Nein, ich konnte, wenn ich das Skript bei geöffneter Instanz starte, mehrfach die WaMa anschalten, und sie wurde wieder wieder ausgeschaltet.
- Wenn ich die Instanz schließe, passiert nichts, es wird erst weiter (!) gezählt (die Sekunden), wenn ich die Instanz wieder starte. Das Skript muss ich dazu nicht wieder starten.
- Ich verstehe die Logik Deinens Skripts nicht. Es fragt ab, ob die Stromaufnahme ÜBER einem Grenzwert ist, wenn ja, stoppt es einen Timeout, der noch gar nicht gestartet wurde. ANDERENFALLS, wird doch nur 5 Minuten gewartet bis zur Meldung, aber doch nicht geprüft, ob der Wert 5 Minuten unter dem Schwellenwert liegt - oder verstehe ich das falsch?
@wrod sagte: stoppt es einen Timeout, der noch gar nicht gestartet wurde.
Es stört aber auch nicht, wenn er noch nicht gestartet wurde.
@wrod sagte in SKript läuft nur, wenn iobroker offen?:
doch nicht geprüft, ob der Wert 5 Minuten unter dem Schwellenwert liegt
Sobald der Grenzwert innerhalb der 5 Minuten wieder überschritten wird, wird der Timeout gestoppt und so die Meldung verhindert.
-
- Nein, ich konnte, wenn ich das Skript bei geöffneter Instanz starte, mehrfach die WaMa anschalten, und sie wurde wieder wieder ausgeschaltet.
- Wenn ich die Instanz schließe, passiert nichts, es wird erst weiter (!) gezählt (die Sekunden), wenn ich die Instanz wieder starte. Das Skript muss ich dazu nicht wieder starten.
- Ich verstehe die Logik Deinens Skripts nicht. Es fragt ab, ob die Stromaufnahme ÜBER einem Grenzwert ist, wenn ja, stoppt es einen Timeout, der noch gar nicht gestartet wurde. ANDERENFALLS, wird doch nur 5 Minuten gewartet bis zur Meldung, aber doch nicht geprüft, ob der Wert 5 Minuten unter dem Schwellenwert liegt - oder verstehe ich das falsch?
@wrod sagte in SKript läuft nur, wenn iobroker offen?:
verstehe ich das falsch?
ja!
@wrod sagte in SKript läuft nur, wenn iobroker offen?:
der noch gar nicht gestartet wurde.
doch! ggf. bei der Änderung der Leistung davor.
Da es nie dazu kommen darf, dass ein Timeout zweimal gestartet wird, muss vorher ein ggf. noch laufender timeout gestoppt werden.@wrod sagte in SKript läuft nur, wenn iobroker offen?:
aber doch nicht geprüft
doch! bei jeder Änderung der Leistung
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
