NEWS
Script mehrmals starten?
-
Anscheinend ist es möglich mit diesem Block ein Script mehrmals zu starten:

Ich dachte immer ein Script läuft immer nur einmal? Ist das ein normales Verhalten von iobroker?
-
Anscheinend ist es möglich mit diesem Block ein Script mehrmals zu starten:

Ich dachte immer ein Script läuft immer nur einmal? Ist das ein normales Verhalten von iobroker?
@Shadowhunter23 sagte in Script mehrmals starten?:
Anscheinend ist es möglich mit diesem Block ein Script mehrmals zu starten
woran machst du das fest?
-
Das Script sendet mir einen Text per Telegram und dann kamen die Nachrichten immer zweimal. Dann hab ich das Script gestoppt und gestartet von Hand dann kam wieder nur eine Nachricht an.
-
Das Script sendet mir einen Text per Telegram und dann kamen die Nachrichten immer zweimal. Dann hab ich das Script gestoppt und gestartet von Hand dann kam wieder nur eine Nachricht an.
@Shadowhunter23 sagte in Script mehrmals starten?:
Dann hab ich das Script gestoppt
auch zweimal?
@Shadowhunter23 sagte in Script mehrmals starten?:
Das Script sendet mir einen Text per Telegram
wie sieht das aus?
-
@Shadowhunter23 sagte in Script mehrmals starten?:
Dann hab ich das Script gestoppt
auch zweimal?
@Shadowhunter23 sagte in Script mehrmals starten?:
Das Script sendet mir einen Text per Telegram
wie sieht das aus?
@Homoran sagte in Script mehrmals starten?:
auch zweimal?
Nein einmal.
wie sieht das aus?

Nochmal der Ablauf was anscheinend passiert ist.
Ich hab dieses Script mit den Nachrichten von Hand gestartet. Und über ein anderes Script mit dem genannten Block das Script erneut gestartet.edit
Ich kann das morgen nochmals probieren und nachstellen. Ich hatte heute einen Hardware defekt und war etwas im Stress. Deshalb erst morgen. -
Anscheinend ist es möglich mit diesem Block ein Script mehrmals zu starten:

Ich dachte immer ein Script läuft immer nur einmal? Ist das ein normales Verhalten von iobroker?
bin jetzt kein blockly spezialist. aber abgeleitet von js skripte kann ein skript nur einmal laufen. allerdings können trigger oder timeouts innerhalb eines skripts mehrfach gestartet werden, so das gefühlt ein codeteil mehrfach ausgeführt wird.
Auch werden viele von Adaptern verwaltete Datenpunkte mehrfach beschrieben.
Einmal um eine Änderung zu initiieren und dann um die Änderung (aufgrund von Rückmeldung der Hardware/Dienstes) zu bestätigen.
Daher muss man bei Datenpunkten auch immer das ack mit auswerten.
Wie das in Blockly gemacht wird, weiß ich allerdings nicht. -
Ich musste es testen. Und ja man kann ein Script dadurch zweimal starten!
Script eins starten:

Im nächsten Script das Script nochmals starten:

Nachdem man das zweite Script gestartet hat kommen zwei Nachrichten.
-
Kann hier noch jemand was dazu sagen ob das ein normales Verhalten von iobroker darstellt?
-
Kann hier noch jemand was dazu sagen ob das ein normales Verhalten von iobroker darstellt?
@Shadowhunter23 wo sind die (debug-) logs?
-
Kann hier noch jemand was dazu sagen ob das ein normales Verhalten von iobroker darstellt?
@Shadowhunter23 sagte in Script mehrmals starten?:
Kann hier noch jemand was dazu sagen ob das ein normales Verhalten von iobroker darstellt?
Log (Debug) und zeig mal dein Blockly (das komplette -- nicht immer nur Ausschnitte oder Demos)
-
Blocklys und Log sind angehängt. Im Log sieht man das einmalige test und dann nach dem Starten des zweiten Blockly das test zweimal.

Blockly 1:

Blockly 2:
Debug:
javascript.0 2026-01-09 15:34:20.846 info script.js.Nachricht: Stopping script javascript.0 2026-01-09 15:34:18.677 info script.js.Start: Stopping script javascript.0 2026-01-09 15:33:32.636 info script.js.Nachricht: test javascript.0 2026-01-09 15:33:32.636 info script.js.Nachricht: test javascript.0 2026-01-09 15:33:29.492 info script.js.Nachricht: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 2026-01-09 15:33:29.492 info script.js.Nachricht: subscribe: {"pattern":{"id":"0_userdata.0.example_state","change":"ne","q":0},"name":"script.js.Nachricht"} javascript.0 2026-01-09 15:33:29.491 info script.js.Nachricht: start JavaScript (Blockly) javascript.0 2026-01-09 15:33:29.490 info script.js.Nachricht: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 2026-01-09 15:33:29.490 info script.js.Nachricht: subscribe: {"pattern":{"id":"0_userdata.0.example_state","change":"ne","q":0},"name":"script.js.Nachricht"} javascript.0 2026-01-09 15:33:29.489 info script.js.Nachricht: start JavaScript (Blockly) javascript.0 2026-01-09 15:33:29.485 info script.js.Nachricht: Stopping script javascript.0 2026-01-09 15:33:29.483 info script.js.Start: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 2026-01-09 15:33:29.478 info script.js.Start: start JavaScript (Blockly) javascript.0 2026-01-09 15:33:21.989 info script.js.Nachricht: test javascript.0 2026-01-09 15:33:18.391 info script.js.Nachricht: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 2026-01-09 15:33:18.391 info script.js.Nachricht: subscribe: {"pattern":{"id":"0_userdata.0.example_state","change":"ne","q":0},"name":"script.js.Nachricht"} javascript.0 2026-01-09 15:33:18.385 info script.js.Nachricht: start JavaScript (Blockly) -
Blocklys und Log sind angehängt. Im Log sieht man das einmalige test und dann nach dem Starten des zweiten Blockly das test zweimal.

Blockly 1:

Blockly 2:
Debug:
javascript.0 2026-01-09 15:34:20.846 info script.js.Nachricht: Stopping script javascript.0 2026-01-09 15:34:18.677 info script.js.Start: Stopping script javascript.0 2026-01-09 15:33:32.636 info script.js.Nachricht: test javascript.0 2026-01-09 15:33:32.636 info script.js.Nachricht: test javascript.0 2026-01-09 15:33:29.492 info script.js.Nachricht: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 2026-01-09 15:33:29.492 info script.js.Nachricht: subscribe: {"pattern":{"id":"0_userdata.0.example_state","change":"ne","q":0},"name":"script.js.Nachricht"} javascript.0 2026-01-09 15:33:29.491 info script.js.Nachricht: start JavaScript (Blockly) javascript.0 2026-01-09 15:33:29.490 info script.js.Nachricht: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 2026-01-09 15:33:29.490 info script.js.Nachricht: subscribe: {"pattern":{"id":"0_userdata.0.example_state","change":"ne","q":0},"name":"script.js.Nachricht"} javascript.0 2026-01-09 15:33:29.489 info script.js.Nachricht: start JavaScript (Blockly) javascript.0 2026-01-09 15:33:29.485 info script.js.Nachricht: Stopping script javascript.0 2026-01-09 15:33:29.483 info script.js.Start: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 2026-01-09 15:33:29.478 info script.js.Start: start JavaScript (Blockly) javascript.0 2026-01-09 15:33:21.989 info script.js.Nachricht: test javascript.0 2026-01-09 15:33:18.391 info script.js.Nachricht: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 2026-01-09 15:33:18.391 info script.js.Nachricht: subscribe: {"pattern":{"id":"0_userdata.0.example_state","change":"ne","q":0},"name":"script.js.Nachricht"} javascript.0 2026-01-09 15:33:18.385 info script.js.Nachricht: start JavaScript (Blockly)@Shadowhunter23 sagte in Script mehrmals starten?:
Log sind angehängt
und wo sind die doppelten Meldungen?
-
@Shadowhunter23 sagte in Script mehrmals starten?:
Log sind angehängt
und wo sind die doppelten Meldungen?

Doppelt:
javascript.0 2026-01-09 15:33:32.636 info script.js.Nachricht: test javascript.0 2026-01-09 15:33:32.636 info script.js.Nachricht: testEinmal:
javascript.0 2026-01-09 15:33:21.989 info script.js.Nachricht: test -

Doppelt:
javascript.0 2026-01-09 15:33:32.636 info script.js.Nachricht: test javascript.0 2026-01-09 15:33:32.636 info script.js.Nachricht: testEinmal:
javascript.0 2026-01-09 15:33:21.989 info script.js.Nachricht: testach, das ist falsch herum sortiert 😞
ist aber auch kein debug-log@Shadowhunter23 sagte in Script mehrmals starten?:
2026-01-09 15:33:29.485 info script.js.Nachricht: Stopping script
dort stoppt das Skript aber
so ganz kann ich die Abfolge noch nicht erkennen
-

Doppelt:
javascript.0 2026-01-09 15:33:32.636 info script.js.Nachricht: test javascript.0 2026-01-09 15:33:32.636 info script.js.Nachricht: testEinmal:
javascript.0 2026-01-09 15:33:21.989 info script.js.Nachricht: test@Shadowhunter23 sagte: Doppelt:
Das Skript wird nach dem Stoppen um 15:33:29.485 Uhr zweimal gestartet: Um 15:33:29.489 Uhr und um 15:33:29.491 Uhr. Das scheint ein Fehler der Funktion startScriptAsync(id) zu sein. Bitte Issue auf Github erstellen.
-
ach, das ist falsch herum sortiert 😞
ist aber auch kein debug-log@Shadowhunter23 sagte in Script mehrmals starten?:
2026-01-09 15:33:29.485 info script.js.Nachricht: Stopping script
dort stoppt das Skript aber
so ganz kann ich die Abfolge noch nicht erkennen
@Homoran sagte in Script mehrmals starten?:
ist aber auch kein debug-log
ich hab die Instanz auf Debug gestellt?
so ganz kann ich die Abfolge noch nicht erkennen
Man erstellt das Blockly 1 und startet es. Dann nimmt man den Datenpunkt den man triggert und stellt den auf true. Somit bekommt man ein debug-output mit test. Dann legt man ein zweites Blockly an und wählt im Script steuern das Blockly 1 aus zum starten und dann startet man dieses Blockly. Dann triggert man nochmal den Datenpunkt
-
@Shadowhunter23 sagte: Doppelt:
Das Skript wird nach dem Stoppen um 15:33:29.485 Uhr zweimal gestartet: Um 15:33:29.489 Uhr und um 15:33:29.491 Uhr. Das scheint ein Fehler der Funktion startScriptAsync(id) zu sein. Bitte Issue auf Github erstellen.
Danke!