Weiter zum Inhalt
  • Home
  • Aktuell
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Sporadisch Fehler bei Blockly

NEWS

  • Monatsrückblick Oktober 2026 ist online!
    BluefoxB
    Bluefox
    10
    1
    258

  • Mitmachen: Sprich „ioBroker“ ein – für ein lokales Aktivierungswort
    BluefoxB
    Bluefox
    6
    1
    464

  • Neuer Blogbeitrag: KI in ioBroker, vom Helfer im Admin bis zum eigenen Smart Assistant
    BluefoxB
    Bluefox
    4
    1
    509

Sporadisch Fehler bei Blockly

Geplant Angeheftet Gesperrt Verschoben Blockly
15 Beiträge 3 Kommentatoren 363 Aufrufe 2 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • R RichieXX

    Seit einiger Zeit bekomme ich folgende Meldugen im Log:

    2026-10-21 19:43:03.985 - error: javascript.0 (2027743) script.js.common.Heizung.Set_Heizung_MotionWZ_Var: Error: TypeError: Converting circular structure to JSON
    2026-10-21 19:43:03.985 - error: javascript.0 (2027743) script.js.common.Heizung.Set_Heizung_MotionWZ_Var: --> starting at object with constructor 'Timeout'
    2026-10-21 19:43:03.985 - error: javascript.0 (2027743) script.js.common.Heizung.Set_Heizung_MotionWZ_Var: | property '_idlePrev' -> object with constructor 'TimersList'
    2026-10-21 19:43:03.985 - error: javascript.0 (2027743) script.js.common.Heizung.Set_Heizung_MotionWZ_Var: --- property '_idleNext' closes the circle
    2026-10-21 19:43:03.985 - error: javascript.0 (2027743) script.js.common.Heizung.Set_Heizung_MotionWZ_Var: at JSON.stringify ()
    2026-10-21 19:43:03.985 - error: javascript.0 (2027743) script.js.common.Heizung.Set_Heizung_MotionWZ_Var: at getState (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:3281:68)
    2026-10-21 19:43:03.985 - error: javascript.0 (2027743) script.js.common.Heizung.Set_Heizung_MotionWZ_Var: at Object. (script.js.common.Heizung.Set_Heizung_MotionWZ_Var:4:9)
    2026-10-21 19:43:03.985 - error: javascript.0 (2027743) script.js.common.Heizung.Set_Heizung_MotionWZ_Var: at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:1968:38)
    2026-10-21 19:43:03.985 - error: javascript.0 (2027743) script.js.common.Heizung.Set_Heizung_MotionWZ_Var: at JavaScript.onStateChange (/opt/iobroker/node_modules/iobroker.javascript/src/main.ts:1184:29)
    2026-10-21 19:43:03.985 - error: javascript.0 (2027743) script.js.common.Heizung.Set_Heizung_MotionWZ_Var: at JavaScript.emit (node:events:519:28)
    2026-10-21 19:43:03.985 - error: javascript.0 (2027743) script.js.common.Heizung.Set_Heizung_MotionWZ_Var: at Immediate. (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11270:53)
    2026-10-21 19:43:03.986 - error: javascript.0 (2027743) script.js.common.Heizung.Set_Heizung_MotionWZ_Var: at processImmediate (node:internal/timers:484:21)
    2026-10-21 19:43:03.986 - error: javascript.0 (2027743) script.js.common.Heizung.Set_Heizung_MotionWZ_Var: at process.callbackTrampoline (node:internal/async_hooks:130:17)
    

    Das dazugehörige Blockly lesbar als JS:

    on({ id: [].concat(['zigbee.1.00158d00029bb07b.occupancy']).concat(['zigbee.1.00158d0002f3c7cf.occupancy']), change: 'ne' }, async (obj) => {
      if (getState('zigbee.1.00158d00029bb07b.occupancy').val == true || getState('zigbee.1.00158d0002f3c7cf.occupancy').val == true) {
        if (getState('SavedStates.0.Heizung.MotionWZ').val == false) {
          setState('SavedStates.0.Heizung.MotionWZ' /* Heizung.MotionWZ */, true);
        }
      } else {
        setStateDelayed('0_userdata.0.example_state', { val: false, ack: true, expire: 0 }, parseInt(((getState('0_userdata.0.Heizung.TimeoutMotionWZ').val) || '').toString(), 10), true);
        setStateDelayed('SavedStates.0.Heizung.MotionWZ' /* Heizung.MotionWZ */, false, 1200000, true);
      }
    });
    
    

    Das Script soll Bewegung erfassen und da die Aqara's keine "keep time" mehr bereitstellen, hab ich die mit ins Script gepackt. Die Erassung hat auch Jahre so funktioniert. Nun nicht mehr. Die Erfassung ist nicht mehr zuverlässig.
    Was ist hier die Ursache?

    paul53P
    paul53P
    paul53
    schrieb am zuletzt editiert von paul53
    #5

    @RichieXX [sagte:

    getState('0_userdata.0.Heizung.TimeoutMotionWZ').val
    

    Was für einen Wert enthält dieser DP? Er muss eine Zahl oder einen String enthalten!

    Hast du oben rechts "Ausführliche Protokollausgaben" aktiviert?

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: Asus PN42: N100 / 8 GB / 500 GB; Proxmox mit 2 VM (ioBroker / openCCU)

    R 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @RichieXX [sagte:

      getState('0_userdata.0.Heizung.TimeoutMotionWZ').val
      

      Was für einen Wert enthält dieser DP? Er muss eine Zahl oder einen String enthalten!

      Hast du oben rechts "Ausführliche Protokollausgaben" aktiviert?

      R
      R
      RichieXX
      schrieb am zuletzt editiert von
      #6

      @paul53

      {
        "common": {
          "name": "TimeoutMotionWZ",
          "desc": "Manuell erzeugt",
          "role": "state",
          "type": "number",
          "read": true,
          "write": true,
          "def": 0,
          "min": 0,
          "max": 1800000,
          "step": 100000,
          "unit": ""
        },
        "type": "state",
        "native": {},
        "_id": "0_userdata.0.Heizung.TimeoutMotionWZ",
        "acl": {
          "object": 1638,
          "state": 1638,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator"
        },
        "from": "system.adapter.admin.0",
        "user": "system.user.admin",
        "ts": 1792427335713
      }
      

      Ausführliche Protokollausgaben sind aktiviert. Sonst würde ich eingangs erwähntes Protokoll nicht so bekommen.

      Ich bin mir inzwischen auch sicher, dass dieser Datenpunkt die Ursache ist.

      Aber wie schon geschrieben, hat das jahrelang funktioniert. Das kam mit irgendeinem Update, vielleicht von "javascript".

      paul53P 1 Antwort Letzte Antwort
      0
      • R RichieXX

        @paul53

        {
          "common": {
            "name": "TimeoutMotionWZ",
            "desc": "Manuell erzeugt",
            "role": "state",
            "type": "number",
            "read": true,
            "write": true,
            "def": 0,
            "min": 0,
            "max": 1800000,
            "step": 100000,
            "unit": ""
          },
          "type": "state",
          "native": {},
          "_id": "0_userdata.0.Heizung.TimeoutMotionWZ",
          "acl": {
            "object": 1638,
            "state": 1638,
            "owner": "system.user.admin",
            "ownerGroup": "system.group.administrator"
          },
          "from": "system.adapter.admin.0",
          "user": "system.user.admin",
          "ts": 1792427335713
        }
        

        Ausführliche Protokollausgaben sind aktiviert. Sonst würde ich eingangs erwähntes Protokoll nicht so bekommen.

        Ich bin mir inzwischen auch sicher, dass dieser Datenpunkt die Ursache ist.

        Aber wie schon geschrieben, hat das jahrelang funktioniert. Das kam mit irgendeinem Update, vielleicht von "javascript".

        paul53P
        paul53P
        paul53
        schrieb am zuletzt editiert von paul53
        #7

        @RichieXX [sagte: Ausführliche Protokollausgaben sind aktiviert.

        Deaktiviere sie. Man aktiviert sie nur zur Fehlersuche in einem Skript.

        Enthält der gezeigte DP tatsächlich eine Zahl als Wert?

        @RichieXX sagte:

        Update, vielleicht von "javascript".

        Das kann sein. In "sandbox.ts" steht um Zeile 3281

                                if (sandbox.verbose) {
                                    sandbox.log(
                                        `getState(id=${id}, timerId=${JSON.stringify(timers[id])}) => ${JSON.stringify(states[id])}`,
                                        'info',
                                    );
                                }
        

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: Asus PN42: N100 / 8 GB / 500 GB; Proxmox mit 2 VM (ioBroker / openCCU)

        1 Antwort Letzte Antwort
        0
        • R
          R
          RichieXX
          schrieb am zuletzt editiert von
          #8

          Ich hatte die ausführliche Protokollierung aktiviert, da das Script nicht zuverlässig läuft und ich mir keinen Reim drauf machen konnte.
          Ja, est steht eine Zahl drin.

          paul53P 1 Antwort Letzte Antwort
          0
          • R RichieXX

            Ich hatte die ausführliche Protokollierung aktiviert, da das Script nicht zuverlässig läuft und ich mir keinen Reim drauf machen konnte.
            Ja, est steht eine Zahl drin.

            paul53P
            paul53P
            paul53
            schrieb am zuletzt editiert von paul53
            #9

            @RichieXX [sagte: Ja, est steht eine Zahl drin.

            Dann kann ich mir die Fehlermeldung nicht erklären.
            Welche Meldung erscheint ohne ausführliche Protokollierung?
            Wozu dient der Block "schreibe"?

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: Asus PN42: N100 / 8 GB / 500 GB; Proxmox mit 2 VM (ioBroker / openCCU)

            R 1 Antwort Letzte Antwort
            0
            • R
              R
              RichieXX
              schrieb am zuletzt editiert von
              #10

              Ich hab das jetzt mit fixer Verzögerung getestet und bekomme den gleichen Fehler.
              grafik.jpeg

              Ich werde mich jetzt mit @codierknecht 's Lösung beschäftigen.

              paul53P 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @RichieXX [sagte: Ja, est steht eine Zahl drin.

                Dann kann ich mir die Fehlermeldung nicht erklären.
                Welche Meldung erscheint ohne ausführliche Protokollierung?
                Wozu dient der Block "schreibe"?

                R
                R
                RichieXX
                schrieb am zuletzt editiert von RichieXX
                #11

                @paul53 sagte:

                @RichieXX [sagte: Ja, est steht eine Zahl drin.

                Dann kann ich mir die Fehlermeldung nicht erklären.
                Welche Meldung erscheint ohne ausführliche Protokollierung?
                Wozu dient der Block "schreibe"?

                Ohne die Aktivierung kommen auch keine Fehler. Trotzdem funktioniert das Script nicht zuverlässig (trotz beider Objekte "true" wird "Heizung.Motion.WZ" nicht "true" und umgekehrt).

                Ich brauche aufgrund der Größe/Lage des WZ zwei Bewegungsmelder um den Status "Motion" klar zu definieren. Den schreibe ich dann in ein Objekt.

                Mit diesem steuere ich weitere Aktoren, inzwischen nicht mehr nur die Heitung.

                paul53P 1 Antwort Letzte Antwort
                0
                • R RichieXX

                  Ich hab das jetzt mit fixer Verzögerung getestet und bekomme den gleichen Fehler.
                  grafik.jpeg

                  Ich werde mich jetzt mit @codierknecht 's Lösung beschäftigen.

                  paul53P
                  paul53P
                  paul53
                  schrieb am zuletzt editiert von
                  #12

                  @RichieXX [sagte: mit @codierknecht 's Lösung beschäftigen.

                  Vorschlag:

                  Blockly_temp.JPG

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: Asus PN42: N100 / 8 GB / 500 GB; Proxmox mit 2 VM (ioBroker / openCCU)

                  1 Antwort Letzte Antwort
                  0
                  • R
                    R
                    RichieXX
                    schrieb am zuletzt editiert von
                    #13

                    Ja. So in die Richtung. Danke für den Tipp.

                    1 Antwort Letzte Antwort
                    0
                    • R RichieXX

                      @paul53 sagte:

                      @RichieXX [sagte: Ja, est steht eine Zahl drin.

                      Dann kann ich mir die Fehlermeldung nicht erklären.
                      Welche Meldung erscheint ohne ausführliche Protokollierung?
                      Wozu dient der Block "schreibe"?

                      Ohne die Aktivierung kommen auch keine Fehler. Trotzdem funktioniert das Script nicht zuverlässig (trotz beider Objekte "true" wird "Heizung.Motion.WZ" nicht "true" und umgekehrt).

                      Ich brauche aufgrund der Größe/Lage des WZ zwei Bewegungsmelder um den Status "Motion" klar zu definieren. Den schreibe ich dann in ein Objekt.

                      Mit diesem steuere ich weitere Aktoren, inzwischen nicht mehr nur die Heitung.

                      paul53P
                      paul53P
                      paul53
                      schrieb am zuletzt editiert von
                      #14

                      @RichieXX [sagte]: "Motion" klar zu definieren. Den schreibe ich dann in ein Objekt.
                      Mit diesem steuere ich weitere Aktoren, inzwischen nicht mehr nur die Heitung.

                      Dann würde ich es so machen:

                      Blockly_temp.JPG

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: Asus PN42: N100 / 8 GB / 500 GB; Proxmox mit 2 VM (ioBroker / openCCU)

                      1 Antwort Letzte Antwort
                      0
                      • R
                        R
                        RichieXX
                        schrieb am zuletzt editiert von
                        #15

                        Ich werde das mal testen. Danke.

                        1 Antwort Letzte Antwort
                        0

                        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
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        507

                        Online

                        33.1k

                        Benutzer

                        84.2k

                        Themen

                        1.4m

                        Beiträge
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2026
                        logo
                        • Anmelden

                        • Du hast noch kein Konto? Registrieren

                        • Anmelden oder registrieren, um zu suchen
                        • Erster Beitrag
                          Letzter Beitrag
                        0
                        • Home
                        • Aktuell
                        • Ungelesen 0
                        • Kategorien
                        • Unreplied
                        • Beliebt
                        • GitHub
                        • Docu
                        • Hilfe