NEWS
Script nur kurz / einmal ausführen?
-
Hallo,
ich baue mir gerade ein Blockly Script, was im heatingControl meine Temperatur Profile setzen soll.
Nun ist es aber ja so, das dieses Script nicht immer laufen muss, sondern nur einmal kurz und wenn es durch ist sollte es wieder stoppen.
Wie macht man so was? -
Hallo,
ich baue mir gerade ein Blockly Script, was im heatingControl meine Temperatur Profile setzen soll.
Nun ist es aber ja so, das dieses Script nicht immer laufen muss, sondern nur einmal kurz und wenn es durch ist sollte es wieder stoppen.
Wie macht man so was?@exmerci
vielleicht kannst Du kurz witere Details erklären, wieso, weshalb warum?
Wenn Du bspw. einen Trigger hast auf den ein Script reagiert, dann wird das Script sowieso nur bei "Bedarf" ausgelöst. So ein Trigger kann zum Beispiel eine bestimmte Uhrzeit sein, die dann nur 1 x am Tag zutrifft -
Hallo,
ich baue mir gerade ein Blockly Script, was im heatingControl meine Temperatur Profile setzen soll.
Nun ist es aber ja so, das dieses Script nicht immer laufen muss, sondern nur einmal kurz und wenn es durch ist sollte es wieder stoppen.
Wie macht man so was?@exmerci
Skripte laufen immer und werden 'getriggert'. -
Gestartet werden soll das Script durch einen Button.
Ich drücke auf demn Button, Script wird abgearbeitet, dann aber nicht mehr benötigt.
Also ich drücke den Button Profil1 und das Script zu Profil1 wird gestartet.
Jetzt habe ich noch ein Profil2. Ich drücke den Button Profil2 und das Script zu Profil 2 wird gestartet.
Aber das Script von Profil1 läuft ja dann noch. Würden die beiden Scripte dann nicht dauern gegeneinander laufen?
Ich verstehe die Vorgehensweise noch nicht ganz.
Ich kenne das nur von Phyton oder aus der Bash. Man hat in Script. Das startet man und durch den Exit Code am Ende ist es fertig und wird beendet. Wenn man es wieder braucht startet man es wieder.
Aber hier laufen die Scripte ja die ganze Zeit. -
Gestartet werden soll das Script durch einen Button.
Ich drücke auf demn Button, Script wird abgearbeitet, dann aber nicht mehr benötigt.
Also ich drücke den Button Profil1 und das Script zu Profil1 wird gestartet.
Jetzt habe ich noch ein Profil2. Ich drücke den Button Profil2 und das Script zu Profil 2 wird gestartet.
Aber das Script von Profil1 läuft ja dann noch. Würden die beiden Scripte dann nicht dauern gegeneinander laufen?
Ich verstehe die Vorgehensweise noch nicht ganz.
Ich kenne das nur von Phyton oder aus der Bash. Man hat in Script. Das startet man und durch den Exit Code am Ende ist es fertig und wird beendet. Wenn man es wieder braucht startet man es wieder.
Aber hier laufen die Scripte ja die ganze Zeit. -
Ich glaube ich bin vielleicht auf dem Holzweg.
Wenn ich ein Script baue, das ich über einen Button starten will, läuft das auch, wenn es im Scripe Bereich, wo man es erstellt, auf Pause steht?@exmerci
Bitte zum Grundverständnis:
Laufen ist nicht Laufen ;-)Die mehrfach gestellte Frage, was du genau machen willst, bzw. das Skriopt nach abarbeiten NICHT mehr machen soll bitte beantworten, denn:
Das Skript ist bei js immer aktiv
Ein Trigger löst es aus (in deinem Fall der Button)
Das Skript wird abgearbeitet und wartet in einer ruhigen dunklen Ecke auf en nächsten Knopfdruck.Da muss nichts gestoppt werden, außer du hast eine unsaubere Schleife programmiert
-
@Homoran sagte in Script nur kurz / einmal ausführen?:
Die mehrfach gestellte Frage, was du genau machen willst, bzw. das Skriopt nach abarbeiten NICHT mehr machen soll bitte beantworten, denn
Wieso. Ich habe doch oben geschrieben was es machen soll.
ich baue mir gerade ein Blockly Script, was im heatingControl meine Temperatur Profile setzen soll.
Und was es nicht machen soll, ist wenn ich das Script für Profil2 sozusagen starte, die Werte von Script 2 wieder überschreiben, weil es ja noch läuft (nach meinem Vertändniss).
Ist wohl so, das ich das mit dem triggern nicht verstehe, da ich keine JS Erfahrung habe.
Wie triggere ich den das Script. Indem ich einfach einen Button in VIS baue und das Script dort eintrage? -
@Homoran sagte in Script nur kurz / einmal ausführen?:
Die mehrfach gestellte Frage, was du genau machen willst, bzw. das Skriopt nach abarbeiten NICHT mehr machen soll bitte beantworten, denn
Wieso. Ich habe doch oben geschrieben was es machen soll.
ich baue mir gerade ein Blockly Script, was im heatingControl meine Temperatur Profile setzen soll.
Und was es nicht machen soll, ist wenn ich das Script für Profil2 sozusagen starte, die Werte von Script 2 wieder überschreiben, weil es ja noch läuft (nach meinem Vertändniss).
Ist wohl so, das ich das mit dem triggern nicht verstehe, da ich keine JS Erfahrung habe.
Wie triggere ich den das Script. Indem ich einfach einen Button in VIS baue und das Script dort eintrage?@exmerci sagte in Script nur kurz / einmal ausführen?:
Ist wohl so, das ich das mit dem triggern nicht verstehe, da ich keine JS Erfahrung habe.
Wahrscheinlich.
Der Trigger (eigene Gruppe von Blöcken) "startet" (korrekt= löst aus) das Skript.
Danach schläft es und macht nichts mehr, bis es wieder getriggert wird.
(Außer es läuft eine falsche Endlosschleife)@exmerci sagte in Script nur kurz / einmal ausführen?:
Wie triggere ich den das Script.
Das ist unterschiedlich. In deinem Fall wohl über einen selbst angelegten Datenpunkt.
Je nach Wunsch wäre das ein boolscher Zustand, der durch das Button-Widget kurz auf true gesetzt wird oder ein Dantenpunkt vom Typ number in das du "1" oder "2" für das gewünschte Programm einträgst und darauf wird dann getriggert -
Eventuell auch ne Möglichkeit ? Den DP javascript.0.scriptEnabled vom Script auf true und verzögert wieder auf false setzen via toggle Button ?
Nur so ne Idee von mir ....
@harrym sagte in Script nur kurz / einmal ausführen?:
Nur so ne Idee von mir ....
soll man aber nicht machen ;-)
-
@harrym sagte in Script nur kurz / einmal ausführen?:
Nur so ne Idee von mir ....
soll man aber nicht machen ;-)
-
@exmerci sagte in Script nur kurz / einmal ausführen?:
Aber irgendwie geht das nicht.
Die Zahlen bitte als Mathematik-Block nehmen.
unwahr = falsch bitte las Logikblock
steuere durch aktualisiere-Block ersetzen -
@Homoran sagte in Script nur kurz / einmal ausführen?:
Die Zahlen bitte als Mathematik-Block nehmen.
Wenn ich das mache, kann ich keine Zahlen wie 12:00 eingeben für die Uhrzeit.
-
Obwohl es zu funktionieren scheint, wird folgender Fehler angezeigt.

Was habe ich noch falsch gemacht?

