NEWS
Trigger mit Schleife
-
Hallo,
leider komme ich gerade nicht weiter.
Kann mir evtl. jemand sagen warum folgendes Blockly nicht durchläuft:
Es wird nicht einmal start_A_schnell_1 ausgegeben.Idee: Wenn die Variable Stromvorgabe_bei_Netzbezug geändert wird, soll diese Vorgabe auf den DP chargingALimitConn1 geschrieben werden, dass aber nur, so lange die Variable Schnell_Netz auf 1 steht.
Wenn ich die Schleife lösche läuft der Trigger Block bis zu start_A_schnell_2 durch, quasi so:
Wo ist mein Denkfehler?
Danke euch vorab!
-
@daruse Manchmal sieht man den Wald vor lauter Bäumen nicht....
Ich brauch ja gar nicht die Schlafe...hatte es vor kurzem nochmal umgebaut.Interessant wäre aber trotzdem für mich warum der Trigger Block nicht gestartet wird?!?!?
-
@daruse du erzeugst mit deinem ersten Blockly in wenigen Sekunden tausende von triggern. Dadurch stürzt das Skript ab.
-
@asgothian was ist der Auslöser für die tausende...leider kapier ich es noch nicht ganz.
Dachte wenn Stromvorgabe geändert wird --> dann mit der falls Abfrage in die Schleife --> dann aber erst den DP setzen wenn Vorgabe geändert wird.
Dem ist aber leider nicht so...wie du schon geschrieben hastDanke
-
@daruse
Trigger in Trigger … funktioniert nicht, macht nur jede Menge Ärger.https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps
-
@daruse
Sobald die Schleife einmal gestartet wurde, erzeugt die im Millisekundentakt neue Trigger.
Bis da zum ersten Mal die Abbruchbedingung greift, sind das Tausende. -
@daruse sagte in Trigger mit Schleife:
@asgothian was ist der Auslöser für die tausende...leider kapier ich es noch nicht ganz.
Dachte wenn Stromvorgabe geändert wird --> dann mit der falls Abfrage in die Schleife --> dann aber erst den DP setzen wenn Vorgabe geändert wird.
Dem ist aber leider nicht so...wie du schon geschrieben hastDanke
Du hast am Anfang einen trigger. Der ist ok.
Dann kommt die Schleife. Solange das was in der Schleife ist nicht lange für die Ausführung braucht läuft diese so in 10-20 ms durch, sprich der Befehl in der Schleife wird mehrfach pro Sekunde ausgeführt.
In der Schleife definierst du einen weiteren trigger (rot) an Stelle einer normalen falls Abfrage (blau). Das dauert vielleicht 100 ms. Alle Befehle im trigger werden. Ur aktiv wenn sich der DP nochmal ändert - das aber unabhängig von der Schleife. Die Schleife liefert also unbegrenzt neue trigger an das System.Ich hoffe das ist besser verständlich.
A.
-
@asgothian Ok alles klar, Danke für die ausführliche Erklärung...Danke euch beiden!