Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • 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. Entwicklung
  4. [gelöst] Adapter Scope-Problem mit scheduleJob getState (ReferenceError)

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    811

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

[gelöst] Adapter Scope-Problem mit scheduleJob getState (ReferenceError)

Geplant Angeheftet Gesperrt Verschoben Entwicklung
11 Beiträge 4 Kommentatoren 1.0k Aufrufe
  • Ä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.
  • apollon77A Offline
    apollon77A Offline
    apollon77
    schrieb am zuletzt editiert von
    #2

    Hi,

    wie genau lautet denn der ReferenceError? Grundsätzlich strange und sollte nicht passieren.

    Ansonsten hier noch ein paar Anmerkungen:

    • Die ganzen States (scheint ja recht viel und immer gleich zu sein) kannst Du auch in der io-package unter instanceObjects definieren. Dann werden die automatisch von ioBroker angelegt wenn der Adapter installiert wird. Dann sparst Du dir den Code dafür im Skript.

    • die beiden "setTimeouts" am Ende kommen mir auch etwas optimierbar vor. Falls es darum geht zu warten bis andere Dinge fertig sind am besten mit callbacks arbeiten

    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
    1 Antwort Letzte Antwort
    0
    • greyhoundG Offline
      greyhoundG Offline
      greyhound
      schrieb am zuletzt editiert von
      #3

      Die Fehlermeldung

      "C:\Program Files\JetBrains\WebStorm 2018.1\bin\runnerw.exe" "C:\Program Files\nodejs\node.exe" --debug-brk=23504 --expose_debug_as=v8debug C:\ioBroker\node_modules\iobroker.husq-automower\main.js --force --log
      Debugger listening on [::]:23504
      ReferenceError: idnLastdayLocations is not defined
          at Socket. <anonymous>(C:\ioBroker\node_modules\iobroker.husq-automower\main.js:859:30)
          at Socket.onack (C:\ioBroker\node_modules\iobroker.js-controller\node_modules\socket.io-client\lib\socket.js:316:9)
          at Socket.onpacket (C:\ioBroker\node_modules\iobroker.js-controller\node_modules\socket.io-client\lib\socket.js:241:12)
          at Manager. <anonymous>(C:\ioBroker\node_modules\iobroker.js-controller\node_modules\component-bind\index.js:21:15)
          at Manager.Emitter.emit (C:\ioBroker\node_modules\iobroker.js-controller\node_modules\component-emitter\index.js:133:20)
          at Manager.ondecoded (C:\ioBroker\node_modules\iobroker.js-controller\node_modules\socket.io-client\lib\manager.js:345:8)
          at Decoder. <anonymous>(C:\ioBroker\node_modules\iobroker.js-controller\node_modules\component-bind\index.js:21:15)
          at Decoder.Emitter.emit (C:\ioBroker\node_modules\iobroker.js-controller\node_modules\component-emitter\index.js:133:20)
          at Decoder.add (C:\ioBroker\node_modules\iobroker.js-controller\node_modules\socket.io-parser\index.js:251:12)
          at Manager.ondata (C:\ioBroker\node_modules\iobroker.js-controller\node_modules\socket.io-client\lib\manager.js:335:16)
      
      Process finished with exit code 6</anonymous></anonymous></anonymous> 
      

      Das mit dem setTimeout kann wahrscheinlich direkt erfolgen, ansonsten baue ich das noch um.

      Ja, die States hatte ich erst in der io-package, aber die Lösung im Skript finde ich besser pflegbar und außerdem kann ich da gleich meine Initialen Werte setzen, was letztendlich den Ausschlag gab. Denke per io-package geht das nicht.

      ioBroker auf ODROID-XU4 / Influx u. a. auf FUJITSU D3400-B, Celeron G3900, 16 GB RAM / CCU2 / Nuki

      1 Antwort Letzte Antwort
      0
      • apollon77A Offline
        apollon77A Offline
        apollon77
        schrieb am zuletzt editiert von
        #4

        @greyhound:

        Die Fehlermeldung

        "C:\Program Files\JetBrains\WebStorm 2018.1\bin\runnerw.exe" "C:\Program Files\nodejs\node.exe" --debug-brk=23504 --expose_debug_as=v8debug C:\ioBroker\node_modules\iobroker.husq-automower\main.js --force --log
        Debugger listening on [::]:23504
        ReferenceError: idnLastdayLocations is not defined
            at Socket. <anonymous>(C:\ioBroker\node_modules\iobroker.husq-automower\main.js:859:30)
            at Socket.onack (C:\ioBroker\node_modules\iobroker.js-controller\node_modules\socket.io-client\lib\socket.js:316:9)
            at Socket.onpacket (C:\ioBroker\node_modules\iobroker.js-controller\node_modules\socket.io-client\lib\socket.js:241:12)
            at Manager. <anonymous>(C:\ioBroker\node_modules\iobroker.js-controller\node_modules\component-bind\index.js:21:15)
            at Manager.Emitter.emit (C:\ioBroker\node_modules\iobroker.js-controller\node_modules\component-emitter\index.js:133:20)
            at Manager.ondecoded (C:\ioBroker\node_modules\iobroker.js-controller\node_modules\socket.io-client\lib\manager.js:345:8)
            at Decoder. <anonymous>(C:\ioBroker\node_modules\iobroker.js-controller\node_modules\component-bind\index.js:21:15)
            at Decoder.Emitter.emit (C:\ioBroker\node_modules\iobroker.js-controller\node_modules\component-emitter\index.js:133:20)
            at Decoder.add (C:\ioBroker\node_modules\iobroker.js-controller\node_modules\socket.io-parser\index.js:251:12)
            at Manager.ondata (C:\ioBroker\node_modules\iobroker.js-controller\node_modules\socket.io-client\lib\manager.js:335:16)
        
        Process finished with exit code 6</anonymous></anonymous></anonymous> 
        ```` `  
        

        Kannst Du bitte Code auf Github updaten … Da ist die zeile was ganz anderes. :-)

        Strange ist in jedem Fall der Stacktrace hier ... Wie genau löst Du das aus? WO setzt du den Timer dafür?

        @greyhound:

        Ja, die States hatte ich erst in der io-package, aber die Lösung im Skript finde ich besser pflegbar und außerdem kann ich da gleich meine Initialen Werte setzen, was letztendlich den Ausschlag gab. Denke per io-package geht das nicht. `
        Doch ab js-controller 1.5.0 wird es gehen :-) "common.def" kann man dann leere States auf initialwerte setzen.

        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
        1 Antwort Letzte Antwort
        0
        • blauholstenB Offline
          blauholstenB Offline
          blauholsten
          Developer
          schrieb am zuletzt editiert von
          #5

          @greyhound:

          Die Fehlermeldung

          "C:\Program Files\JetBrains\WebStorm 2018.1\bin\runnerw.exe" "C:\Program Files\nodejs\node.exe" --debug-brk=23504 --expose_debug_as=v8debug C:\ioBroker\node_modules\iobroker.husq-automower\main.js --force --log
          Debugger listening on [::]:23504
          ReferenceError: idnLastdayLocations is not defined
              at Socket. <anonymous>(C:\ioBroker\node_modules\iobroker.husq-automower\main.js:859:30)
              at Socket.onack (C:\ioBroker\node_modules\iobroker.js-controller\node_modules\socket.io-client\lib\socket.js:316:9)
              at Socket.onpacket (C:\ioBroker\node_modules\iobroker.js-controller\node_modules\socket.io-client\lib\socket.js:241:12)
              at Manager. <anonymous>(C:\ioBroker\node_modules\iobroker.js-controller\node_modules\component-bind\index.js:21:15)
              at Manager.Emitter.emit (C:\ioBroker\node_modules\iobroker.js-controller\node_modules\component-emitter\index.js:133:20)
              at Manager.ondecoded (C:\ioBroker\node_modules\iobroker.js-controller\node_modules\socket.io-client\lib\manager.js:345:8)
              at Decoder. <anonymous>(C:\ioBroker\node_modules\iobroker.js-controller\node_modules\component-bind\index.js:21:15)
              at Decoder.Emitter.emit (C:\ioBroker\node_modules\iobroker.js-controller\node_modules\component-emitter\index.js:133:20)
              at Decoder.add (C:\ioBroker\node_modules\iobroker.js-controller\node_modules\socket.io-parser\index.js:251:12)
              at Manager.ondata (C:\ioBroker\node_modules\iobroker.js-controller\node_modules\socket.io-client\lib\manager.js:335:16)
          
          Process finished with exit code 6</anonymous></anonymous></anonymous> 
          

          Das mit dem setTimeout kann wahrscheinlich direkt erfolgen, ansonsten baue ich das noch um.

          Ja, die States hatte ich erst in der io-package, aber die Lösung im Skript finde ich besser pflegbar und außerdem kann ich da gleich meine Initialen Werte setzen, was letztendlich den Ausschlag gab. Denke per io-package geht das nicht. `

          Day hast du einmal gross und einmal klein geschrieben

          Entwickler vom: - Viessman Adapter
          - Alarm Adapter

          1 Antwort Letzte Antwort
          0
          • greyhoundG Offline
            greyhoundG Offline
            greyhound
            schrieb am zuletzt editiert von
            #6

            Der Code ist aktualisiert, für den Test mache ich das mit setTimeout als letzte Anweisung in Main.

            Den Fehler bekomme ich per WebStorm oder auch beim Start als ioBroker-Adapter, dann erst um Mitternacht (ohne den Testtimer). Da war mir der Fehler im Log aufgefallen.

            Ist ein eigener Schedule in einem Adapter erlaubt? Habe sonst keine andere Möglichkeit gefunden, um Mitternacht jeweils etwas laufen zu lassen.

            Wahrscheinlich wichtig auch die Umgebung:

            • Windows10

            • node v6.14.2

            • ioBroker aktuell aus latest

            ioBroker auf ODROID-XU4 / Influx u. a. auf FUJITSU D3400-B, Celeron G3900, 16 GB RAM / CCU2 / Nuki

            1 Antwort Letzte Antwort
            0
            • greyhoundG Offline
              greyhoundG Offline
              greyhound
              schrieb am zuletzt editiert von
              #7

              @blauholsten:

              Day hast du einmal gross und einmal klein geschrieben `
              Ich wundere mich manchmal wirklich über die eigene Code-Blindheit.

              Ich danke euch ganz dolle :ugeek:

              ioBroker auf ODROID-XU4 / Influx u. a. auf FUJITSU D3400-B, Celeron G3900, 16 GB RAM / CCU2 / Nuki

              1 Antwort Letzte Antwort
              0
              • Jey CeeJ Online
                Jey CeeJ Online
                Jey Cee
                Developer
                schrieb am zuletzt editiert von
                #8

                Ich hätte da noch eine Anmerkung zur Verwendung von 'var'. Das ist eigentlich veraltet und wurde in ES6 durch 'let' und 'const' ersetzt. Der Grund ist das var nicht klar abgrenzt wo die Variable dann abgegriffen werden kann.

                let und const sind immer nur innerhalb eines Blocks verfügbar. So kann man auch den selben variablen Namen öfter definieren ohne das man gleich ein Problem hat.

                Generell empfehle ich sich mit ES6 auseinander zu setzen das es viele Änderungen gebracht hat.

                ES = Ecma Script was der Name für den Standard von JavaScript ist.

                Gesendet von meinem m8 mit Tapatalk

                Persönlicher Support
                Spenden -> paypal.me/J3YC33

                1 Antwort Letzte Antwort
                0
                • apollon77A Offline
                  apollon77A Offline
                  apollon77
                  schrieb am zuletzt editiert von
                  #9

                  @greyhound:

                  @blauholsten:

                  Day hast du einmal gross und einmal klein geschrieben `
                  Ich wundere mich manchmal wirklich über die eigene Code-Blindheit.

                  Ich danke euch ganz dolle :ugeek: `

                  Mit der Blindheit schliesse ich mich an … und verfluche die Firefox websuche das die im Standard Not-Case-Sensitive sucht ;-)

                  Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                  1 Antwort Letzte Antwort
                  0
                  • greyhoundG Offline
                    greyhoundG Offline
                    greyhound
                    schrieb am zuletzt editiert von
                    #10

                    Und noch mal eine andere Frage, gab es hier nicht mal einen Danke-Button zu den einzelnen Beiträgen?

                    ioBroker auf ODROID-XU4 / Influx u. a. auf FUJITSU D3400-B, Celeron G3900, 16 GB RAM / CCU2 / Nuki

                    1 Antwort Letzte Antwort
                    0
                    • Jey CeeJ Online
                      Jey CeeJ Online
                      Jey Cee
                      Developer
                      schrieb am zuletzt editiert von
                      #11

                      Doch gab es, das Plugin ist nicht mehr Kompatibel mit der Foren Software.

                      Gesendet von meinem m8 mit Tapatalk

                      Persönlicher Support
                      Spenden -> paypal.me/J3YC33

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      654

                      Online

                      32.6k

                      Benutzer

                      82.0k

                      Themen

                      1.3m

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

                      • Du hast noch kein Konto? Registrieren

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