Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JAVA - Script Parse Error

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    JAVA - Script Parse Error

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Seeandfeel last edited by Seeandfeel

      Hallo zusammen,

      Ich habe einen Parse Error im Script (was aber ziemlich sicher schon funktioniert hatte), komme aber irgendwie nicht drauf 😞 .
      Kann mir ggf. jemand weiterhelfen?

      Fehler (bei jedem CRON Aufruf):

      javascript.0 2024-08-03 13:18:00.009	error	at process.processTimers (node:internal/timers:512:7)
      javascript.0 2024-08-03 13:18:00.009	error	at listOnTimeout (node:internal/timers:569:17)
      javascript.0 2024-08-03 13:18:00.009	error	at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/Invocation.js:228:7)
      javascript.0 2024-08-03 13:18:00.009	error	at /opt/iobroker/node_modules/node-schedule/lib/Invocation.js:268:28
      javascript.0 2024-08-03 13:18:00.009	error	at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/Job.js:171:15)
      javascript.0 2024-08-03 13:18:00.008	error	at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1769:34)
      javascript.0 2024-08-03 13:18:00.008	error	at Object.<anonymous> (script.js.Parse.Parse_Sauna_Neu:23:5)
      javascript.0 2024-08-03 13:18:00.008	error	Error in callback: ReferenceError: Request is not defined
      

      Script:

      const url = 'http://192.168.5.113/api';
      const idTemp1 = 'javascript.0.Sauna.Sauna';
      const idTemp2 = 'javascript.0.Sauna.Sauna_Raum';
      
      createState(idTemp1, 0, {
          name: 'Temperatur_Sauna',
          desc: 'Temperatur in °C',
          type: 'string',
          role: 'value',
          unit: '°C'
      }) 
      
      createState(idTemp2, 1, {
          name: 'Temperatur_Raum',
          desc: 'Temperatur in °C',
          type: 'string',
          role: 'value',
          unit: '°C'
      }) 
      
      schedule('*/60 * * * * *', function() { //every minute
          Request(url, function(error, response, result) {
              let obj = JSON.parse(result);
              setState(idTemp1,  parseFloat(obj.sensors['0'].value), true);
              setState(idTemp2,  parseFloat(obj.sensors['1'].value), true);
          });
      });
      

      JSON von http://192.168.5.113/api :

      {
        "systemname": "Sauna",
        "secure_counter": 236923,
        "firmware": "2.3.05-b",
        "sensors": [
          {
            "name": "Sauna Temperature",
            "value": 22.3125,
            "mean-1": {
              "value": 21.80416679,
              "count": 60,
              "period": 3600
            },
            "mean-24": {
              "value": 19.52482605,
              "count": 1440,
              "period": 86400
            },
            "unit": "Celsius",
            "time": "Sat Aug  3 13:19:48 2024"
          },
          {
            "name": "Gebäude Temperatur",
            "value": 20.375,
            "unit": "Celsius",
            "time": "Sat Aug  3 13:19:48 2024"
          }
        ]
      }
      
      T paul53 2 Replies Last reply Reply Quote 0
      • T
        TT-Tom @Seeandfeel last edited by TT-Tom

        @seeandfeel

        Es handelt sich bei dir um das Request Problem. Request ist abgemeldet und sollte durch httpGet bzw httpPost ersetzt werden.
        Es gibt dazu schon viele Threads hier zu diesem Thema. Zum Beispiel hier Link Text

        Edit Link angepasst

        1 Reply Last reply Reply Quote 2
        • paul53
          paul53 @Seeandfeel last edited by paul53

          @seeandfeel sagte: schon funktioniert hatte

          Das kann mit groß geschriebenem Request() noch nie funktioniert haben.

          Ändere Zeilen 22 und 23 in:

              httpGet(url, function(error, response) {
                  let obj = JSON.parse(response.data);
          
          1 Reply Last reply Reply Quote 2
          • S
            Seeandfeel last edited by

            Perfekt, Vielen Dank euch beiden, hätte ich wohl genauer suchen müssen das "request" deprecated ist.

            @paul53 :
            Du hast recht, das Request hatte noch nie funktioniert. Ich hatte das vor kurzem erst groß geschrieben weil ich die (vorherige) Fehlermeldung dahingehenden interpretiert hatte. Leider vergessen, Sorry 😞 !

            haus-automatisierung 1 Reply Last reply Reply Quote 0
            • haus-automatisierung
              haus-automatisierung Developer Most Active @Seeandfeel last edited by

              @seeandfeel sagte in JAVA - Script Parse Error:

              hätte ich wohl genauer suchen müssen das "request" deprecated ist.

              Normalerweise solltest Du vor dem Upgrade eine große Warnung bekommen haben, dass das der Fall ist. Und diese muss man manuell bestätigen.

              https://github.com/ioBroker/ioBroker.javascript/blob/d5772eaf30e865c4089b83c1198a86e2aac73774/io-package.json#L343-L383

              Es ist erforderlich, alle Skripte zu aktualisieren, die das "Request"-Paket verwenden! Dieses Paket wird in zukünftigen Versionen entfernt. Bitte nutze die neuen "Bockly"-Blöcke für "httpGet" oder nutze eine andere Bibliothek (wie axios) im JavaScript-Code.

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

              Support us

              ioBroker
              Community Adapters
              Donate

              1.2k
              Online

              31.7k
              Users

              79.7k
              Topics

              1.3m
              Posts

              4
              5
              211
              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