Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. KlausStoertebeker

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Profile
    • Following 0
    • Followers 0
    • Topics 24
    • Posts 143
    • Best 3
    • Groups 2

    KlausStoertebeker

    @KlausStoertebeker

    3
    Reputation
    28
    Profile views
    143
    Posts
    0
    Followers
    0
    Following
    Joined Last Online
    Location Dresden (Deutschland)

    KlausStoertebeker Follow
    Pro Starter

    Best posts made by KlausStoertebeker

    • Shelly-Geräte mit MQTT-Adapter steuern

      Hallo in's Forum,
      kann mir jemand zeigen, wie ich Shelly-Geräte über den MQTT-Adapter steuern kann?
      Zur Zeit nutze ich den wirklich guten Shelly-Adapter, der aber leider aktuell ein Problem bei der Steuerung der Shelly's per MQTT hat. Denn in unterschiedlichen Abständen sind die Shelly-Geräte über MQTT nicht mehr erreichbar, dann werden sie wieder angemeldet und anschließend die Verbindung durch den MQTT-Client wieder geschlossen.
      Ich möchte nun bei der Fehlersuche helfen und herausfinden, ob ich ähnliche Probleme bekomme, wenn ich den "reinen" MQTT-Adapter nutzte.
      Da ich aber mit MQTT noch keine Berührungspunkte hatte, brauche ich Eure Hilfe, um Fuß zu fassen:
      Wie lese ich beispielsweise Werte eines Sh

      • Selly's aus oder schreibe ich Daten in einen Shelly rein (Ich habe gelesen, dass die Daten über einen JSON-formatierten Datensatz gelesen/geschrieben werden, den ich erst parsen und dann in eigene Datenpunkte schreiben muss oder aus eigenen Datenpunkten lesen muss)?
      • Wie kann ich in Skripten auf geänderte Werte reagieren ("triggern")?
      • Wann muss ich eine id (beispielsweise in einem "value"-Konstrukt) vergeben, welche Bedeutung hat die und was kann/muss ich damit machen?

      Wäre schön, wenn mir jemand helfen könnte - Danke 🙂

      Viele Grüße
      "Klaus"

      posted in ioBroker Allgemein
      KlausStoertebeker
      KlausStoertebeker
    • RE: [gelöst] png-Bilder im mdw-Widget "Button Toggle"

      @sigi234
      Moin moin und entschuldigung für die lange Wartezeit.
      Ich habe ein wenig mit dem Widget "experimentiert" und herausgefunden, dass man das Widget MANUELL nachbearbeiten muss (könnte auch für andere Widgets des "materialdesign"-Adapters gelten). Interessant ist hier, dass man auch die Icons, die das System zur Verfügung stellt, manuell eintragen muss. Aber Du hast ja schon angemerkt, dass das "materialdesign" noch nicht unterstützt wird. Ich habe Folgendes herausgefunden:
      Wenn man einen "Button Toggle vertical" mit Icon erstellt, wird IMMER das Icon "checkbox-marked" genommen, egal, welches man über den entsprechenden Dialog auswählt. Im exportierten Widget sieht dass dann so aus:

      "image": "checkbox-marked",
      "g_icon": true,
      

      Möchte man jetzt eines von den "eingebauten" Icons verwenden (zum Beispiel das "Power"-Symbol), muss man den Code wie folgt ändern:

      "image": "power",
      "g_icon": true,
      

      Wenn man jetzt ein eigenes png-Bild nutzen möchte, muss man dann den KOMPLETTEN Pfad des png-Bildes (ab der ioBroker-root-Ebene!) angeben, angefgeführt von zwei Punkten. Außerdem muss das Attribut "g_icon" auf "false" gesetzt werden:

      "image": "../pfad/zum/png-Bild.png",
      "g_icon": false,
      

      Ärgerlich ist hier nur, dass die Änderungen nur so lange Bestand haben, bis eine neue Änderung an dem Widget durchgeführt wird.
      Ich habe daher die Seite exportiert, in eine Textdatei gepackt und gespeichert, nachdem ich alle Widgets plaziert hatte, und habe die Änderungen, wie beschrieben, in der Textdatei durchgeführt. Anschließen habe ich dann die komplette Seite importiert (ACHTUNG: vorher ALLE Widgets Löschen, sonst hat man die doppelt.

      posted in Visualisierung
      KlausStoertebeker
      KlausStoertebeker
    • RE: [gelöst] ECharts: Skalieren von Werten

      Hab's selbst gefunden 🙂 :
      Ist zu finden, wenn man den kleonen "Folder" links neben der Datenquelle anklickt. Dann ist im gelben Bereich "Anderre" das Feld "Umrechnungsformel" zu finden.

      posted in Visualisierung
      KlausStoertebeker
      KlausStoertebeker

    Latest posts made by KlausStoertebeker

    • RE: Shelly-Geräte mit MQTT-Adapter steuern

      @mickym

      Habe ich gemacht, und ich erhalte jetzt folgenden Fehler:

      javascript.0  2025-03-23 19:17:00.212  error  Invalid read function for "alias.0.Wohnzimmer_Esstischlampe_Hw-Schalter.Taster": "JSON.parse(mqtt.0.shellyplus2pm-d48afc7dbd1c.status.input:0).state ? JSON.parse(val).params.events[0].event : "null"" => missing ) after argument list
      
      posted in ioBroker Allgemein
      KlausStoertebeker
      KlausStoertebeker
    • RE: Shelly-Geräte mit MQTT-Adapter steuern

      @mickym

      Ob die Switches an oder aus sind, siehst Du am Attribut "output": "true" = an...
      Und ich muss Dir recht geben: Der Status der "input:x" wechselt von "null" auf "true", wenn er gedrückt wird - mea culpa! Vermutlich hat mein damaliges Skript nicht reagirt, weil ich nicht auf einen String sondern auf einen Boolean verglichen habe.

      Kann man diese Abfrage auch irgendwie in die Alias-read-Funktion packen? Vielleicht in der folgenden Art:

      JSON.parse(mqtt.0.shellyplus2pm-d48afc7dbd1c.status.input:0).state === "true" ? JSON.parse(val).params.events[0].event  : "null"
      
      posted in ioBroker Allgemein
      KlausStoertebeker
      KlausStoertebeker
    • RE: Shelly-Geräte mit MQTT-Adapter steuern

      @mickym

      Bei mir sind die Buttons "null" - siehe hier:

      Bildschirmfoto vom 2025-03-23 18-45-26.png

      posted in ioBroker Allgemein
      KlausStoertebeker
      KlausStoertebeker
    • RE: JSON mit Blockly auswerten

      @mickym

      Das hat ja auch funktioniert, ich habe auch gerade geantwortet: siehe hier
      Aber ich wollte Dich nicht mit Blockly nerven, und Node Red kann ich (noch) nicht...

      posted in ioBroker Allgemein
      KlausStoertebeker
      KlausStoertebeker
    • RE: Shelly-Geräte mit MQTT-Adapter steuern

      @mickym

      Hallo mickym,
      ich kann den Status eines "input:x" offenbar nur auswerten, wenn dieser als "Switch" konfiguriert ist. Dann bekomme ich über "JSON.parse(val).state" den aktuellen Schalterstatus ("true" oder "false").
      Ich habe aber meine "input:x" als "Button" konfiguriert und wollte auch hier über die "JSON.parse(val).state" Funktion die Art des Tastendrucks auswerten. Aber offenbar ändert sich der "state" nicht, wenn der "input:x" als Button konfiguriert ist - der ist immer "null". Zumindest habe ich mir mal ein Skript geschieben, dass auf eine Statusänderung getriggert war. Aber das hat nie ausgelöst"...

      JSON.parse(val).params.events[0].component === "input:0" ? JSON.parse(val).params.events[0].event  : ""
      

      funktioniert prima, allerdings bekomme ich nun vom Javascript-Adapter ständig folgende Fehlermeldungen:

      javascript.0   2025-03-23 18:32:00.161  error  Invalid read function for "alias.0.Kueche_Deckenbeleuchtung_Hw-Schalter.Schalter": "JSON.parse(val).params.events[0].component === "input:1" ? JSON.parse(val).params.events[0].event : (null)" => Cannot read properties of undefined (reading '0')
      

      Ich schätze aber mal, dass das damit zusammenhängt, dass nicht bei jedem Event auch die Attribute "component" und "event" enthalten sind, oder? Kann man diese Fehler irgendwie abfangen, indem man die read-Funktion anpasst?

      posted in ioBroker Allgemein
      KlausStoertebeker
      KlausStoertebeker
    • JSON mit Blockly auswerten

      Hallo in's Forum,
      ich betreibe einen Shelly Plus 2PM-Doppelschalter über MQTT (NICHT mit dem Shelly-Adapter, sondern mit dem MQTT-Adapter), der auch zwei Eingänge hat. Diese Eingänge können als "Switch" oder "Button" konfiguriert werden - ich habe sie als "Button" konfiguriert, damit ich auswerten kann, ob jemand den Taster ein, zwei oder drei Mal gedrückt hat. Diese Information wird im Datenpunkt "events/rpc" (in diesem Fall "mqtt.0.shellyplus2pm-d48afc7dbd1c.events.rpc" als JSON abgelegt und hat folgendes Format:

      {
        "src": "shellyplusi4-c4d8d554856c",
        "dst": "shellyplusi4-c4d8d554856c/events",
        "method": "NotifyEvent",
        "params": {
          "ts": 1742530641.42,
          "events": [
            {
              "component": "input:0",
              "id": 2,
              "event": "single_push",
              "ts": 1742530641.42
            }
          ]
        }
      }
      

      Ich möchte dieses JSON mit einem Blockly-Skript auswerten, und zwar folgendermaßen:
      Zuerst prüfen, ob das Attribut "component" vorhanden ist, um Fehler bei weiteren Abfragen zu vermeiden.
      Wenn "component" vorhanden ist, will ich prüfen ob es den Wert "Input:0" oder "Input:1" hat. Und wenn einer dieser beiden Werte enthalten ist, möchte ich das Attribut "event" auslesen und den ausgelesenen Wert abspeichern.
      "event" kann die Zeichenketten "single_push", "double_push", "triple_push", "btn_down" und "btn_up" annehmen.
      Ich habe mir die folgende Blockly-Lösung ausgedacht:

      Bildschirmfoto vom 2025-03-23 18-14-34.png

      Aber leider funktioniert das nicht, denn offenbar habe ich etwas bei den Attributen oder deren Schreibweise falschgemacht. Denn obwohl das Attribut "params.events[0].component" vorhanden ist, wird die Bedingung "params.events[0].component /= null" nicht erfüllt. (Achtung: "events" ist ein Array, daher [0] als Index).
      Kann mir jemand helfen und mir sagen, was ich an meinem Blockly ändern muss, damit ich die gewünschten Attribute auslesen kann?

      posted in ioBroker Allgemein
      KlausStoertebeker
      KlausStoertebeker
    • RE: Shelly-Geräte mit MQTT-Adapter steuern

      @mickym
      Moin moin mickym,
      ich brauche nochmal Deine Hilfe. Ich möchte aus folgender JSON-formatierter Zeichenkette folgende Information extrahieren

      {
        "src": "shellyplusi4-c4d8d554856c",
        "dst": "shellyplusi4-c4d8d554856c/events",
        "method": "NotifyEvent",
        "params": {
          "ts": 1742530641.42,
          "events": [
            {
              "component": "input:2",
              "id": 2,
              "event": "single_push",
              "ts": 1742530641.42
            }
          ]
        }
      }
      

      folgende Information extrahieren:
      wenn "events" vorhanden dann wenn "component" = "input:2" enthalten gib den Wert von "event" zurück.
      Wie kann ich das mit dem JSON.parse() und/oder anderen JSON.xxxx machen? Ich möchte das in einen Datenpunkt von einem Alias packen, um den RPC-Event-Datenpunkt eines Shelly auszuwerten.

      Hintergrund ist, dass ich nicht nur feststellen will, ob eine Taste gedrückt wurde (hier Taste an "input:2"), sondern auch, um was für einen Tastendruck es sich gehandelt hat (zum Beispiel "einfach", "zweifach", "dreifach", "lang"...)

      Wäre das dann vielleicht sowas wie

      if(JSON.parse(JSON.parse(val).params.events).component == "input:2") JSON.parse(JSON.parse(val).params.events).event; "";
      
      posted in ioBroker Allgemein
      KlausStoertebeker
      KlausStoertebeker
    • RE: "admin.0 Restart loop detected" und keine Trigger mehr

      @crunchip said in "admin.0 Restart loop detected" und keine Trigger mehr:

      noch generelle Fragen
      Systemzeit passt? und was ist bei Astro in der Javascript Instanz hinterlegt?

      Die Systemzeit passt, und meine javascript.0-Instanz hat folgende Astro-Einstellungen:
      Bildschirmfoto vom 2025-03-19 18-53-06.png

      posted in ioBroker Allgemein
      KlausStoertebeker
      KlausStoertebeker
    • RE: "admin.0 Restart loop detected" und keine Trigger mehr

      @codierknecht said in "admin.0 Restart loop detected" und keine Trigger mehr:

      Ist das nur ein Teil des Scripts? Da fehlen offenbar noch ein paar Zeilen. Angemeckert werden die Zeilen 2 und 20. Eine Zeile 20 gibt's aber nicht.
      By the way: Ich würde die Schedules nicht mit dem Wizard machen, sondern auf CRON setzen.

      Moin moin codierknecht,
      der Code ist das, was mir der Blockly-Editor anzeigt, wenn ich zwischen "Blockly" und "JavaScript" umschalte.
      Und wenn Du mir sagen könntest, wie ich von "Wizard" auf "CRON" umschalte, wäre ich Dir auch sehr dankbar (vermutlich muss ich da einen anderen Triggerblock nehmen, oder?)
      Und nach Systemzeit und Astroeinstellungen in der Javascript-Instanz muss ich schauen, wenn ich Feierabend habe...

      posted in ioBroker Allgemein
      KlausStoertebeker
      KlausStoertebeker
    • RE: "admin.0 Restart loop detected" und keine Trigger mehr

      Ich habe jetzt einen neuen ioBroker-Server auf meinem alten Raspberry Pi4 aufgesetzt, um damit auszuschließen, dass der Fehler, keine Trigger mehr zu bekommen, erneut auftritt.
      Ich habe KEIN altes Backup eingespielt und alles von Hand neu eingerichtet, um so auszuschließen, dass ein fehlerhaftes Backup wieder zu dem erwähnten Fehler führt. Aber leider hat das auch nicht zum Erfolg geführt und ich habe nach dem Start meiner ebenfalls neu erstellten Blockly-Skripte wieder keine Trigger - weder ereignis- noch zeitgesteuerte 😞
      Allerdings habe ich zuerst Erfolg mit zwei zeitgesteuerten Skripten gehabt, die ich als erste geschrieben habe und dann auch allein getestet hatte. Diese Skripte steuern meine Rolläden (zum Sonnenaufgang werden die Rollos hochgefahren, zum Sonnenuntergang werden sie heruntergefahren).
      Das Skript zum Hochfahren der Rolläden hat folgenden Code:

      var Esstischlampe_Schaltzustand;
      
      
      schedule({ astro: 'sunrise', shift: 0 }, async () => {
        // Diese Funktion schaltet zunächt im Wohnzimmer
        // die Beleuchtung ein (für die Haustiere), dann zu-
        // werden zunächst die Rolläden im Arbeits-
        // zimmer und in der Küche geöffnet, dann 30
        // Sekunden später im Wohnzimmer (zum Wach-
        // werden). Anschließend wride die Beleuchtung
        // wieder ausgeschaltet und das Radio einge-
        // schaltet.
        Esstischlampe_Schaltzustand = getState('alias.0.Wohnzimmer_Esstischlampe_Verbrauch_und_Schalter.Schalter').val;
        setState('alias.0.Wohnzimmer_Esstischlampe_Verbrauch_und_Schalter.Schalter' /* Schalter */, true);
        setState('homepilot20.0.Actuator.4-14234511.Position' /* Position */, getState('0_userdata.0.Rolladen.Arbeitszimmer_Rolladenposition').val);
        setState('homepilot20.0.Actuator.3-14234511.Position' /* Position */, getState('0_userdata.0.Rolladen.Kueche_Rolladenposition').val);
        setStateDelayed('homepilot20.0.Actuator.5-14234511.Position' /* Position */, getState('0_userdata.0.Rolladen.Wohnzimmer_Rolladenposition_links').val, 30000, false);
        setStateDelayed('homepilot20.0.Actuator.2-14234511.Position' /* Position */, getState('0_userdata.0.Rolladen.Wohnzimmer_Rolladenposition_rechts').val, 30000, false);
        setState('alias.0.Wohnzimmer_Esstischlampe_Verbrauch_und_Schalter.Schalter' /* Schalter */, Esstischlampe_Schaltzustand);
        setState('broadlink2.0.RM:0x27a9_c8:f7:42:48:5d:29.L.auna_Connect_link_Smart_Radio_On_Off' /* auna Connect Link - Smart Radio: On/Off */, true);
      });
      
      //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyVkE2JTYwMiU1RSU1RUpQSCUzRDkqdSU3Q0VwJTJGeWwlMjIlM0VFc3N0aXNjaGxhbXBlX1NjaGFsdHp1c3RhbmQlM0MlMkZ2YXJpYWJsZSUzRSUzQyUyRnZhcmlhYmxlcyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmFzdHJvJTIyJTIwaWQlM0QlMjIlNUVkJTI0LiU2MEtrJTNGN29wJTNBM1BEWSU0MFhMJTJDJTIyJTIweCUzRCUyMjM4JTIyJTIweSUzRCUyMjg4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVFlQRSUyMiUzRXN1bnJpc2UlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9GRlNFVCUyMiUzRTAlM0MlMkZmaWVsZCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjIlN0RkdmFpdCpTKEZmRGdkJTNGJTNCJTNGT012JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRURpZXNlJTIwRnVua3Rpb24lMjBzY2hhbHRldCUyMHp1biVDMyVBNGNodCUyMGltJTIwV29obnppbW1lciUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMiU1REolNUJfJTJGMVElNUUlN0IlNUJVMypzMU0lNUUlNUUlM0FiJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRWRpZSUyMEJlbGV1Y2h0dW5nJTIwZWluJTIwKGYlQzMlQkNyJTIwZGllJTIwSGF1c3RpZXJlKSUyQyUyMGRhbm4lMjB6dS0lM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjIlMkYlNUVpJTI1JTNBdCU1RThzJTdCelA0JTdEUyU2MFV3Q2klMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFd2VyZGVuJTIwenVuJUMzJUE0Y2hzdCUyMGRpZSUyMFJvbGwlQzMlQTRkZW4lMjBpbSUyMEFyYmVpdHMtJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyJTdCeUZhRSU3Qk53RmNifiU3RFE2WHZqLSUyMyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0V6aW1tZXIlMjB1bmQlMjBpbiUyMGRlciUyMEslQzMlQkNjaGUlMjBnZSVDMyVCNmZmbmV0JTJDJTIwZGFubiUyMDMwJTIwJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyUXglNUVXNyolN0RJVyUyNXMzQkRRcCUzQiU3QzclMjUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFU2VrdW5kZW4lMjBzcCVDMyVBNHRlciUyMGltJTIwV29obnppbW1lciUyMCh6dW0lMjBXYWNoLSUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMlJ+dlcqY3IlM0JodjV2dXl6IS0lMjNlXyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0V3ZXJkZW4pLiUyMEFuc2NobGllJUMzJTlGZW5kJTIwd3JpZGUlMjBkaWUlMjBCZWxldWNodHVuZyUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMmtuVCU1REp+MHB+eSUzRiU3QyUyQiU0MG9TNHFOVyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0V3aWVkZXIlMjBhdXNnZXNjaGFsdGV0JTIwdW5kJTIwZGFzJTIwUmFkaW8lMjBlaW5nZS0lM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjJoTWIlMjUqLVotZGNTZjIlMjQlMkNueCU2MGt1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRXNjaGFsdGV0LiUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMlFLJTJDcSkuV1ptWE8lNjAlMjMlN0JnUiUyQmElNjAlMkIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMlZBNiU2MDIlNUUlNUVKUEglM0Q5KnUlN0NFcCUyRnlsJTIyJTNFRXNzdGlzY2hsYW1wZV9TY2hhbHR6dXN0YW5kJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyaWQ4SDRHYUclN0Juak5EWGdkJTNEYiUyNSUyRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWFsaWFzLjAuV29obnppbW1lcl9Fc3N0aXNjaGxhbXBlX1ZlcmJyYXVjaF91bmRfU2NoYWx0ZXIuU2NoYWx0ZXIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyJTJGJTYwJTNGZ2UqSCUzRCUyM35lRGZEN24lNjAlMjRQJTdEJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFYWxpYXMuMC5Xb2huemltbWVyX0Vzc3Rpc2NobGFtcGVfVmVyYnJhdWNoX3VuZF9TY2hhbHRlci5TY2hhbHRlciUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMkgtJTdDTjRGaTUyJTNBS29JWE1Wa1QlMjUlNDAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjJ3JTdEVHZhQ2p2JTJDcCU3RE5wb0Q4KDclNURNJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFaG9tZXBpbG90MjAuMC5BY3R1YXRvci40LTE0MjM0NTExLlBvc2l0aW9uJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJ+JTNBLiUyNShHbC5UbyU0MFlGVm03UmFZWCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5Sb2xsYWRlbi5BcmJlaXRzemltbWVyX1JvbGxhZGVucG9zaXRpb24lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyJTJCJTVCbDd3SSU3QzNsdS5DWDclN0JCSnUlNUR5JTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFaG9tZXBpbG90MjAuMC5BY3R1YXRvci4zLTE0MjM0NTExLlBvc2l0aW9uJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjIlMkJ6eVZ4LWl3NlclN0JpMSUyRiUzQjkhJTdEYiU3QiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5Sb2xsYWRlbi5LdWVjaGVfUm9sbGFkZW5wb3NpdGlvbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjIoOTUlNUVrJTJDdHolNjAwKCUzQTglNjAlMkJiJTNCaDczJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJ0cnVlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0Vob21lcGlsb3QyMC4wLkFjdHVhdG9yLjUtMTQyMzQ1MTEuUG9zaXRpb24lM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRTMwMDAwJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJVTklUJTIyJTNFbXMlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNMRUFSX1JVTk5JTkclMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMiUzRlpqUDMydlNXZGhDJTJCJTVCJTJGZ1olM0FoVyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5Sb2xsYWRlbi5Xb2huemltbWVyX1JvbGxhZGVucG9zaXRpb25fbGlua3MlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyeXolM0Ftc0NvJTVCSCU3Q3U5KSgwa20lNUIlMkN3JTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJ0cnVlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0Vob21lcGlsb3QyMC4wLkFjdHVhdG9yLjItMTQyMzQ1MTEuUG9zaXRpb24lM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRTMwMDAwJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJVTklUJTIyJTNFbXMlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNMRUFSX1JVTk5JTkclMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMiUyQ21faGliaiUyNUQ2ZjE4JTI1KGxWT1VoJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLlJvbGxhZGVuLldvaG56aW1tZXJfUm9sbGFkZW5wb3NpdGlvbl9yZWNodHMlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyUXdDJTNEIUdLJTNGazBvJTI0WDdGJTYwQSUyRjUzJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFYWxpYXMuMC5Xb2huemltbWVyX0Vzc3Rpc2NobGFtcGVfVmVyYnJhdWNoX3VuZF9TY2hhbHRlci5TY2hhbHRlciUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMiglM0RnUndMLUhnJTVCUCUyRjMlN0J0JTJCV0tteCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyVkE2JTYwMiU1RSU1RUpQSCUzRDkqdSU3Q0VwJTJGeWwlMjIlM0VFc3N0aXNjaGxhbXBlX1NjaGFsdHp1c3RhbmQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyOTMqdCU3QnUwa0glMjQlNjAzNyUyRiU3RCU1QiU3Qm5+SyUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWJyb2FkbGluazIuMC5STSUzQTB4MjdhOV9jOCUzQWY3JTNBNDIlM0E0OCUzQTVkJTNBMjkuTC5hdW5hX0Nvbm5lY3RfbGlua19TbWFydF9SYWRpb19Pbl9PZmYlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjIlMkZXcHp3Vk81blMlM0Z0WCU3RGxvayU3Qy0yJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF
      

      und liefert beim Starten folgende Debugging-Informationen:

      javascript.0	17:49:42.677	info	Stopping script script.js.Rolladensteuerung.Funktion_Rollaeden_bei_Sonnenaufgang_oeffnen
      javascript.0	17:49:42.773	info	Start JavaScript script.js.Rolladensteuerung.Funktion_Rollaeden_bei_Sonnenaufgang_oeffnen (Blockly)
      javascript.0	17:49:42.812	info	script.js.Rolladensteuerung.Funktion_Rollaeden_bei_Sonnenaufgang_oeffnen: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
      

      Das Skript zum Herunterfahren hat folgenden Code:

      schedule({ astro: 'sunset', shift: 30 }, async () => {
        // Diese Funktion sichert zuerst die Rolladen-
        // positionen und schließt dann die Rolläden
        setState('0_userdata.0.Rolladen.Arbeitszimmer_Rolladenposition' /* Arbeitszimmer_Rolladenposition */, getState('homepilot20.0.Actuator.4-14234511.Position').val);
        setState('0_userdata.0.Rolladen.Kueche_Rolladenposition' /* Kueche_Rolladenposition */, getState('homepilot20.0.Actuator.3-14234511.Position').val);
        setState('0_userdata.0.Rolladen.Wohnzimmer_Rolladenposition_links' /* Wohnzimmer_Rolladenposition_links */, getState('homepilot20.0.Actuator.5-14234511.Position').val);
        setState('0_userdata.0.Rolladen.Wohnzimmer_Rolladenposition_rechts' /* Wohnzimmer_Rolladenposition_rechts */, getState('homepilot20.0.Actuator.2-14234511.Position').val);
        setState('homepilot20.0.Actuator.4-14234511.Position' /* Position */, 100);
        setState('homepilot20.0.Actuator.3-14234511.Position' /* Position */, 100);
        setState('homepilot20.0.Actuator.5-14234511.Position' /* Position */, 100);
        setState('homepilot20.0.Actuator.2-14234511.Position' /* Position */, 100);
      });
      
      //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJhc3RybyUyMiUyMGlkJTNEJTIyJTVFZCUyNC4lNjBLayUzRjdvcCUzQTNQRFklNDBYTCUyQyUyMiUyMHglM0QlMjIyMzglMjIlMjB5JTNEJTIyMTYzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVFlQRSUyMiUzRXN1bnNldCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0ZGU0VUJTIyJTNFMzAlM0MlMkZmaWVsZCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjIlNUJLSmIlNUI1VHpLJTJGNCUzQW9ScnglN0JYKHYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFRGllc2UlMjBGdW5rdGlvbiUyMHNpY2hlcnQlMjB6dWVyc3QlMjBkaWUlMjBSb2xsYWRlbi0lM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjIzYWNSTWtaKHIlM0ZiJTI1NSl3ZDYpeGElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFcG9zaXRpb25lbiUyMHVuZCUyMHNjaGxpZSVDMyU5RnQlMjBkYW5uJTIwZGllJTIwUm9sbCVDMyVBNGRlbiUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMnclN0RUdmFDanYlMkNwJTdETnBvRDgoNyU1RE0lMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuUm9sbGFkZW4uQXJiZWl0c3ppbW1lcl9Sb2xsYWRlbnBvc2l0aW9uJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJ+JTNBLiUyNShHbC5UbyU0MFlGVm03UmFZWCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWhvbWVwaWxvdDIwLjAuQWN0dWF0b3IuNC0xNDIzNDUxMS5Qb3NpdGlvbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjIlMkIlNUJsN3dJJTdDM2x1LkNYNyU3QkJKdSU1RHklMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuUm9sbGFkZW4uS3VlY2hlX1JvbGxhZGVucG9zaXRpb24lM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMiUyQnp5VngtaXc2VyU3QmkxJTJGJTNCOSElN0RiJTdCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFaG9tZXBpbG90MjAuMC5BY3R1YXRvci4zLTE0MjM0NTExLlBvc2l0aW9uJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMig5NSU1RWslMkN0eiU2MDAoJTNBOCU2MCUyQmIlM0JoNzMlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuUm9sbGFkZW4uV29obnppbW1lcl9Sb2xsYWRlbnBvc2l0aW9uX2xpbmtzJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjIlM0ZaalAzMnZTV2RoQyUyQiU1QiUyRmdaJTNBaFclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0Vob21lcGlsb3QyMC4wLkFjdHVhdG9yLjUtMTQyMzQ1MTEuUG9zaXRpb24lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyeXolM0Ftc0NvJTVCSCU3Q3U5KSgwa20lNUIlMkN3JTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLlJvbGxhZGVuLldvaG56aW1tZXJfUm9sbGFkZW5wb3NpdGlvbl9yZWNodHMlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMiUyQ21faGliaiUyNUQ2ZjE4JTI1KGxWT1VoJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFaG9tZXBpbG90MjAuMC5BY3R1YXRvci4yLTE0MjM0NTExLlBvc2l0aW9uJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMnJZUSUzRGJtdkZvd3QlNUVzbmQ3RHJQSSUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWhvbWVwaWxvdDIwLjAuQWN0dWF0b3IuNC0xNDIzNDUxMS5Qb3NpdGlvbiUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJ5c2wlM0Q4JTJGUFRReUEwJTNGS0p4UiU0MFhGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMTAwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMjZHZHUlMkNUTSUyQzgyb2JXYklIVX4uJTI0JTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFaG9tZXBpbG90MjAuMC5BY3R1YXRvci4zLTE0MjM0NTExLlBvc2l0aW9uJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMk5vREJtZiUyQmd6LjRfUmolMjVVNVQlNDAoJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMTAwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMjJ+ayUzRnE5JTI0a05meCU0MGpFbSU1RSU2MH54RiUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWhvbWVwaWxvdDIwLjAuQWN0dWF0b3IuNS0xNDIzNDUxMS5Qb3NpdGlvbiUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJjdSU3RDBHNyU1RDElN0MlM0IlMjQweSolN0NxSXclN0RyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMTAwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMmpUakd6JTVFJTYwLkVzJTVCNzQlMkMlMjUzJTNEU3glN0IlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0Vob21lcGlsb3QyMC4wLkFjdHVhdG9yLjItMTQyMzQ1MTEuUG9zaXRpb24lM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyZEglM0ZGLSU1RDghJTJDX0t3V2pWMkNqbHclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxMDAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF
      

      und liefert beim Starten folgende Debugging-Informationen:

      javascript.0	18:06:27.970	info	Start JavaScript script.js.Rolladensteuerung.Funktion_Rollaeden_bei_Sonnenuntergang_schliessen (Blockly)
      javascript.0	18:06:28.012	info	script.js.Rolladensteuerung.Funktion_Rollaeden_bei_Sonnenuntergang_schliessen: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
      

      Soweit, sogut. Undauf Grund der Debugging-Informationen gehe ich davon aus, dass die Skripte auch funktionieren (einmal haben sie das ja auch).
      Am folgenden Tag habe ich dann die anderen Skripte erstellt und unter anderem folgendes zeitgesteuertes Skript erstellt, das in Abhängigkeit von bestimmten Zeiten zwei Objekte auf einen bestimmten Wert setzt:

      schedule('{"time":{"exactTime":true,"start":"22:00"},"period":{"days":1,"dows":"[1, 2, 3, 4, 5]"}}', async () => {
        setState('0_userdata.0.Beleuchtung.Einstellungen.Tag_Nacht_Beleuchtungskennung' /* Tag_Nacht_Beleuchtungskennung */, 2);
      });
      schedule('{"time":{"exactTime":true,"start":"05:00"},"period":{"days":1,"dows":"[1, 2, 3, 4, 5]"}}', async () => {
        setState('0_userdata.0.Beleuchtung.Einstellungen.Tag_Nacht_Beleuchtungskennung' /* Tag_Nacht_Beleuchtungskennung */, 1);
      });
      schedule('{"time":{"exactTime":true,"start":"23:00"},"period":{"days":1,"dows":"[0, 6]"}}', async () => {
        setState('0_userdata.0.Beleuchtung.Einstellungen.Tag_Nacht_Beleuchtungskennung' /* Tag_Nacht_Beleuchtungskennung */, 2);
      });
      schedule('{"time":{"exactTime":true,"start":"08:00"},"period":{"days":1,"dows":"[0, 6]"}}', async () => {
        setState('0_userdata.0.Beleuchtung.Einstellungen.Tag_Nacht_Beleuchtungskennung' /* Tag_Nacht_Beleuchtungskennung */, 1);
      });
      
      //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJzY2hlZHVsZSUyMiUyMGlkJTNEJTIyX05fY1BMY0k4JTNCdSU1RGglM0JpKmNNa2glMjIlMjB4JTNEJTIyNjMlMjIlMjB5JTNEJTIyMTM4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU0NIRURVTEUlMjIlM0UlN0IlMjJ0aW1lJTIyJTNBJTdCJTIyZXhhY3RUaW1lJTIyJTNBdHJ1ZSUyQyUyMnN0YXJ0JTIyJTNBJTIyMjIlM0EwMCUyMiU3RCUyQyUyMnBlcmlvZCUyMiUzQSU3QiUyMmRheXMlMjIlM0ExJTJDJTIyZG93cyUyMiUzQSUyMiU1QjElMkMlMjAyJTJDJTIwMyUyQyUyMDQlMkMlMjA1JTVEJTIyJTdEJTdEJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyYm4lMkI0N1glMkZDeXElNUJMNWpTaEwlMjRMQSUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5CZWxldWNodHVuZy5FaW5zdGVsbHVuZ2VuLlRhZ19OYWNodF9CZWxldWNodHVuZ3NrZW5udW5nJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMlMlNUQ0JTdEN0Z0TiUzRjUlN0RqNSU3QkZFJTVEMEdkJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnNjaGVkdWxlJTIyJTIwaWQlM0QlMjJIR0ZCc3pCJTJGLVJONiF6JTdDd1QzJTYwJTJDJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU0NIRURVTEUlMjIlM0UlN0IlMjJ0aW1lJTIyJTNBJTdCJTIyZXhhY3RUaW1lJTIyJTNBdHJ1ZSUyQyUyMnN0YXJ0JTIyJTNBJTIyMDUlM0EwMCUyMiU3RCUyQyUyMnBlcmlvZCUyMiUzQSU3QiUyMmRheXMlMjIlM0ExJTJDJTIyZG93cyUyMiUzQSUyMiU1QjElMkMlMjAyJTJDJTIwMyUyQyUyMDQlMkMlMjA1JTVEJTIyJTdEJTdEJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyVGRGJTNEKS4lNUIlN0NpbXpnLVhyKCElNjB3MiUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5CZWxldWNodHVuZy5FaW5zdGVsbHVuZ2VuLlRhZ19OYWNodF9CZWxldWNodHVuZ3NrZW5udW5nJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMkxsJTQwamhRJTJDTCUyQzFTaU8zcTcySjMtJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnNjaGVkdWxlJTIyJTIwaWQlM0QlMjIoaGxVdyUyQkxMJTJDRDZKWjlDOCUzRGpHKiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNDSEVEVUxFJTIyJTNFJTdCJTIydGltZSUyMiUzQSU3QiUyMmV4YWN0VGltZSUyMiUzQXRydWUlMkMlMjJzdGFydCUyMiUzQSUyMjIzJTNBMDAlMjIlN0QlMkMlMjJwZXJpb2QlMjIlM0ElN0IlMjJkYXlzJTIyJTNBMSUyQyUyMmRvd3MlMjIlM0ElMjIlNUIwJTJDJTIwNiU1RCUyMiU3RCU3RCUzQyUyRmZpZWxkJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMlRpMzNPJTVCNXJON0VqJTNCZTFXRSUyQyUyNHYlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuQmVsZXVjaHR1bmcuRWluc3RlbGx1bmdlbi5UYWdfTmFjaHRfQmVsZXVjaHR1bmdza2VubnVuZyUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlMjMlM0IwMlElMkIlMkIlMjUlNUJEZiU2MH5kJTNBOWUlNjBvJTNCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnNjaGVkdWxlJTIyJTIwaWQlM0QlMjJEdiUyQyolN0NyJTdDQipvNmopfmsoJTIzJTI0SiolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTQ0hFRFVMRSUyMiUzRSU3QiUyMnRpbWUlMjIlM0ElN0IlMjJleGFjdFRpbWUlMjIlM0F0cnVlJTJDJTIyc3RhcnQlMjIlM0ElMjIwOCUzQTAwJTIyJTdEJTJDJTIycGVyaW9kJTIyJTNBJTdCJTIyZGF5cyUyMiUzQTElMkMlMjJkb3dzJTIyJTNBJTIyJTVCMCUyQyUyMDYlNUQlMjIlN0QlN0QlM0MlMkZmaWVsZCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjJpNzBNQUFiJTQwJTNCTldTJTYwUCUzRCklMkIxQXAlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuQmVsZXVjaHR1bmcuRWluc3RlbGx1bmdlbi5UYWdfTmFjaHRfQmVsZXVjaHR1bmdza2VubnVuZyUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJ1Mkw0ZzAlM0JwdiUzRGJQJTVFQV8lNUU3JTdDMjQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnhtbCUzRQ==
      

      Und hier werden Fehler geworfen:

      javascript.0	17:48:30.258	info	Start JavaScript script.js.Beleuchtung.Funktion_Tag_und_Nachtbeleuchtung_festlegen (Blockly)
      javascript.0	17:48:30.338	error	script.js.Beleuchtung.Funktion_Tag_und_Nachtbeleuchtung_festlegen: TypeError: Cannot read properties of null (reading 'add')
      javascript.0	17:48:30.340	error	at script.js.Beleuchtung.Funktion_Tag_und_Nachtbeleuchtung_festlegen:2:1
      javascript.0	17:48:30.341	error	at script.js.Beleuchtung.Funktion_Tag_und_Nachtbeleuchtung_festlegen:20:3
      

      Und die verstehe ich nicht. Denn ich weiß leider nicht, was die Fehlermeldungen bedeuten und wo ich den Fehler im Code beheben muss...
      Kann mir da vielleicht jemand helfen?

      posted in ioBroker Allgemein
      KlausStoertebeker
      KlausStoertebeker
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo