Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Blockly Skripte Javascript Fehler in jedem Skript

    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

    Blockly Skripte Javascript Fehler in jedem Skript

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Kobi 0 last edited by

      Hallo Liebe iobroker Gemeinde. Ich bin erst kürzlich dazugestoßen, komme soweit ganz gut zurecht und bin froh über die tolle Community! Leider halten sich meinen Kenntnisse noch in Grenzen. Ich betreibe iobroker auf einen Pi4. Die Situation ist folgende:

      Ich wollte linkeddevices einrichten, hab das Skript in der Einrichtung ausgeführt. Festgestellt, dass ich den Adapter nicht brauche und deinstalliert. Nachdem ich in meine Blockly Skripte zurück bin kommt folgende error meldung:

      error javascript.0 (27079) script.js.Eigene_Punkte.Anwesenheit compile failed: at script.js.Eigene_Punkte.Anwesenheit:2
      

      im Log steht folgendes:

      2022-03-31 11:15:30.888 - error: javascript.0 (27079) var = {};
      2022-03-31 11:15:30.889 - error: javascript.0 (27079) ^
      2022-03-31 11:15:30.889 - error: javascript.0 (27079) SyntaxError: Unexpected token '='
      2022-03-31 11:15:30.889 - error: javascript.0 (27079) at new Script (vm.js:102:7)
      2022-03-31 11:15:30.889 - error: javascript.0 (27079) at Object.createScript (vm.js:262:10)
      2022-03-31 11:15:30.890 - error: javascript.0 (27079) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1486:28)
      2022-03-31 11:15:30.890 - error: javascript.0 (27079) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1735:37)
      2022-03-31 11:15:30.890 - error: javascript.0 (27079) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1836:17
      2022-03-31 11:15:30.891 - error: javascript.0 (27079) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1311:17)
      2022-03-31 11:15:30.891 - error: javascript.0 (27079) at processImmediate (internal/timers.js:466:21)
      2022-03-31 11:15:31.783 - error: tr-064.0 (26625) Cannot start callmonitor: Error: connect ECONNREFUSED 192.168.178.1:1012
      2022-03-31 11:15:36.786 - error: tr-064.0 (26625) Cannot start callmonitor: Error: connect ECONNREFUSED 192.168.178.1:1012
      2022-03-31 11:15:40.224 - warn: ping.0 (26599) State "ping.0.raspberrypi." has no existing object, this might lead to an error in future versions
      2022-03-31 11:15:41.789 - error: tr-064.0 (26625) Cannot start callmonitor: Error: connect ECONNREFUSED 192.168.178.1:1012
      

      Ich hatte noch einen Ordner mit linkeddevices im global Ordner unter Javascript. Diese habe ich gelöscht im Expertenmodus. Allerdings funktioniert trotzdem nichts. Daraufhin habe ich mit folgenden Befehlen versucht den .js-controller neu aufgesetzt folgendes kam dabei rum:

      pi@raspberrypi:~ $ cd /opt/iobroker
      pi@raspberrypi:/opt/iobroker $ iobroker stop
      pi@raspberrypi:/opt/iobroker $ npm install iobroker.js-controller
      
      > iobroker.js-controller@4.0.21 preinstall /opt/iobroker/node_modules/iobroker.js-controller
      > node lib/preinstallCheck.js
      
      NPM version: 6.14.16
      
      > iobroker.js-controller@4.0.21 install /opt/iobroker/node_modules/iobroker.js-controller
      > node iobroker.js setup first
      
      Successfully migrated 2437 objects to Redis Sets
      object _design/system updated
      
      The following notifications happened during sync:
      - Ignoring Directory "linkeddevices.admin" because officially not created as meta object. Please remove directory!
      

      Allerdings habe ich die Ordner/Dateien aus global schon gelöscht und den Adapter deinstalliert.

      Kann mir jemand verraten wo der Fehler liegt bzw. was ich machen kann um ihn zu finden? Hab grad alle Geräte eingerichtet und alles am laufen inkl. meiner ersten Skripte, möchte ungerne alles neu aufsetzen.

      Vielen Dank im Voraus und einen wunderschönen Tag euch.

      Asgothian 1 Reply Last reply Reply Quote 0
      • Asgothian
        Asgothian Developer @Kobi 0 last edited by

        @kobi-0 sagte in Blockly Skripte Javascript Fehler in jedem Skript:

        script.js.Eigene_Punkte.Anwesenheit

        Bitte das Skript Eigene_Punkte.Anwesenheit überprüfen. Eine Variablendeklaration darf nie ohne Variablenname sein, und es darf keine Variable mit dem Namen var definiert werden.

        var = {};
        

        Das muss so aussehen: (Was genau bei "MeinName" stehen muss hängt vom Rest des Skriptes ab.

        var MeinName = {};
        
        
        K 1 Reply Last reply Reply Quote 1
        • K
          Kobi 0 @Asgothian last edited by Kobi 0

          @asgothian tausend Dank für die super schnelle Rückmeldung. Hier mal der Anfang des Skriptes:

          on({id: "javascript.0.scriptEnabled.Eigene_Punkte.Anwesenheit"/*Anwesenheit*/, change: "ne"}, async function (obj) {
            var value = obj.state.val;
            var oldValue = obj.oldState.val;
          

          hatte nicht erwähnt, der Fehler kommt bei jedem Skript auf Zeile 2, wirklich bei jedem. Ich schätze mal, dass eine globale Variable irgendwo steckt. Ich denke es hat etwas mit der Fehlermeldung vom Pi: Directroy "likeddevices.admin" zutun. Allerdings wird mir kein global Ordner angezeigt, lediglich ein admin Ordner unter JS. Ich bin aber der Meinung der war schon immer da und der muss da sein, oder?

          Ich hab das Skript was ich verlinkt hatte mal kopiert und versucht zu starten, allerdings zeigt er mir dann nichts an, weder Fehler noch etwas anderes.

          Asgothian 1 Reply Last reply Reply Quote 0
          • Asgothian
            Asgothian Developer @Kobi 0 last edited by

            @kobi-0 Schau doch mal nach ob du irgendwelche Skripte als Global definiert hast.

            (Expertenansicht im JS Adapter, schauen ob im "global" Ordner ein Skript liegt.)
            Screenshot 2022-03-31 at 11.50.24.png

            A.

            K 1 Reply Last reply Reply Quote 1
            • K
              Kobi 0 @Asgothian last edited by Kobi 0

              @asgothian ich habe den Inahlt des Ordners global bereits gelöscht, auch den Ordner global. Liegt da der Fehler? Wenn ich unter Skripte einen neuen Ordner anlegen möchte kann ich anstelle von root als Pfad auch auswählen:
              "global" und "global / linkeddevices"
              Wieso gibt es global / linkeddevices ? Habe den Adapter und alles was ich in Objekten finden konnte gelöscht.

              Lösung:

              Sorry habe nicht gewusst, dass es einen Expertenmodus für Skripte direkt gibt! Habe den Ordner linkeddevices und das Skript dort gelöscht. Nach neustart des Javascript Adapters läuft alles wieder. Tausend Dank hast mir zig Stunden Arbeit gespart und etwas neues beigebracht. 🙂 Danke

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              619
              Online

              31.9k
              Users

              80.1k
              Topics

              1.3m
              Posts

              2
              5
              178
              Loading More Posts
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes
              Reply
              • Reply as topic
              Log in to reply
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              The ioBroker Community 2014-2023
              logo