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. Skripten / Logik
  4. JavaScript
  5. Erbitte Hilfe: Request - 9 Zeilen Code

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

Erbitte Hilfe: Request - 9 Zeilen Code

Geplant Angeheftet Gesperrt Verschoben JavaScript
9 Beiträge 3 Kommentatoren 780 Aufrufe 3 Watching
  • Ä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 Offline
    R Offline
    rotamint
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich Bitte um Eure Hilfe:

    Nachdem es nun endlich aufgehört hat zu Regnen, habe ich den Pool betriebsbereit gemacht und die im Herbst gestoppten Scripte wieder gestartet. Wie ich nun gelesen habe, ist der request-Befehl bei einem Javascript-Update weggefallen. ==> Ergo das Poolthermometer funktioniert nicht mehr:

    const url = 'http://192.168.16.83/api';
    const idTemp1 = '0_userdata.0.Pool.Wassertemperatur';
    schedule('* * * * *', function() { //every minute
       
        request(url, function(error, response, result) {
            let obj = JSON.parse(result);
            setState(idTemp1,  parseFloat(obj.sensors['0'].value), true);
           
        });
    });
    

    Der darauf hin mir vom Entwickler vorgeschlagene (und von mir leicht angepasste) Code liefert zwar in den Datenpunkt, jedoch keinen Temperaturwert, sondern "(null)":

    const axios = require('axios');
    
    const url = 'http://192.168.16.83/api';
    const idTemp1 = '0_userdata.0.Pool.Wassertemperatur';
    // const idTemp2 = '0_userdata.0.Temp2IoT.Temperatur_Ambi';
     
    
    schedule('* * * * *', async function() { //every minute
        try
        {
            let response = await axios.get(url);
            let obj = response.data;
            setState(idTemp1,  parseFloat(obj.sensors['0'].Value), true);
          //  setState(idTemp2,  parseFloat(obj.sensors['1'].Value), true);
        }
        catch (error)
        {
            log(exMsg, 'error');
        }
    });
    

    Ich danke für´s Lesen und Eure Hilfe!

    LG S.

    OliverIOO 1 Antwort Letzte Antwort
    0
    • R rotamint

      Hallo zusammen,

      ich Bitte um Eure Hilfe:

      Nachdem es nun endlich aufgehört hat zu Regnen, habe ich den Pool betriebsbereit gemacht und die im Herbst gestoppten Scripte wieder gestartet. Wie ich nun gelesen habe, ist der request-Befehl bei einem Javascript-Update weggefallen. ==> Ergo das Poolthermometer funktioniert nicht mehr:

      const url = 'http://192.168.16.83/api';
      const idTemp1 = '0_userdata.0.Pool.Wassertemperatur';
      schedule('* * * * *', function() { //every minute
         
          request(url, function(error, response, result) {
              let obj = JSON.parse(result);
              setState(idTemp1,  parseFloat(obj.sensors['0'].value), true);
             
          });
      });
      

      Der darauf hin mir vom Entwickler vorgeschlagene (und von mir leicht angepasste) Code liefert zwar in den Datenpunkt, jedoch keinen Temperaturwert, sondern "(null)":

      const axios = require('axios');
      
      const url = 'http://192.168.16.83/api';
      const idTemp1 = '0_userdata.0.Pool.Wassertemperatur';
      // const idTemp2 = '0_userdata.0.Temp2IoT.Temperatur_Ambi';
       
      
      schedule('* * * * *', async function() { //every minute
          try
          {
              let response = await axios.get(url);
              let obj = response.data;
              setState(idTemp1,  parseFloat(obj.sensors['0'].Value), true);
            //  setState(idTemp2,  parseFloat(obj.sensors['1'].Value), true);
          }
          catch (error)
          {
              log(exMsg, 'error');
          }
      });
      

      Ich danke für´s Lesen und Eure Hilfe!

      LG S.

      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      schrieb am zuletzt editiert von
      #2

      @rotamint said in Erbitte Hilfe: Request - 9 Zeilen Code:

          let obj = response.data;
      

      füge mal zwischen zweile 12 und 13 folgende zeilen ein

      console.log(JSON.parse(response.data));
      obj=JSON.parse(response.data);
      

      wenn du das dann im javascript adapter laufen lässt, schalte in der skript-ansicht oben rechts im käfersymbol noch debug und verbose an.
      dann sieht man in der console etwas mehr.

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      R 1 Antwort Letzte Antwort
      0
      • OliverIOO OliverIO

        @rotamint said in Erbitte Hilfe: Request - 9 Zeilen Code:

            let obj = response.data;
        

        füge mal zwischen zweile 12 und 13 folgende zeilen ein

        console.log(JSON.parse(response.data));
        obj=JSON.parse(response.data);
        

        wenn du das dann im javascript adapter laufen lässt, schalte in der skript-ansicht oben rechts im käfersymbol noch debug und verbose an.
        dann sieht man in der console etwas mehr.

        R Offline
        R Offline
        rotamint
        schrieb am zuletzt editiert von
        #3

        @oliverio Danke für Deine Hilfe!

        Die Fehlermeldung bleibt der gleiche und es gibt keinen zusätzlichen Logeintrag...

        javascript.0
        	2024-07-18 07:09:22.116	info	Stopping script script.js.common.Pool.Skript_1
        javascript.0
        	2024-07-18 07:09:00.148	error	at processTicksAndRejections (node:internal/process/task_queues:95:5)
        javascript.0
        	2024-07-18 07:09:00.148	error	at Object.<anonymous> (script.js.common.Pool.Skript_1:23:13)
        javascript.0
        	2024-07-18 07:09:00.147	error	script.js.common.Pool.Skript_1: ReferenceError: exMsg is not defined
        javascript.0
        	2024-07-18 07:08:03.290	info	script.js.common.Pool.Skript_1: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
        javascript.0
        	2024-07-18 07:08:03.290	info	script.js.common.Pool.Skript_1: schedule(cron=* * * * *)
        javascript.0
        	2024-07-18 07:08:03.251	info	Start JavaScript script.js.common.Pool.Skript_1 (Javascript/js)
        
        arteckA 1 Antwort Letzte Antwort
        0
        • R rotamint

          @oliverio Danke für Deine Hilfe!

          Die Fehlermeldung bleibt der gleiche und es gibt keinen zusätzlichen Logeintrag...

          javascript.0
          	2024-07-18 07:09:22.116	info	Stopping script script.js.common.Pool.Skript_1
          javascript.0
          	2024-07-18 07:09:00.148	error	at processTicksAndRejections (node:internal/process/task_queues:95:5)
          javascript.0
          	2024-07-18 07:09:00.148	error	at Object.<anonymous> (script.js.common.Pool.Skript_1:23:13)
          javascript.0
          	2024-07-18 07:09:00.147	error	script.js.common.Pool.Skript_1: ReferenceError: exMsg is not defined
          javascript.0
          	2024-07-18 07:08:03.290	info	script.js.common.Pool.Skript_1: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
          javascript.0
          	2024-07-18 07:08:03.290	info	script.js.common.Pool.Skript_1: schedule(cron=* * * * *)
          javascript.0
          	2024-07-18 07:08:03.251	info	Start JavaScript script.js.common.Pool.Skript_1 (Javascript/js)
          
          arteckA Offline
          arteckA Offline
          arteck
          Developer Most Active
          schrieb am zuletzt editiert von arteck
          #4

          @rotamint sagte in Erbitte Hilfe: Request - 9 Zeilen Code:

          script.js.common.Pool.Skript_1:23:13)

          das kann nicht oder du postetst nicht alles

          code Ziele 23 ist nicht da in deinem Post

          const url = 'http://192.168.16.83/api';
          
          httpGet(url, { timeout: 5000, responseType: 'text' }, async (err, response) => {
                  if (err) {
                      console.error(err);
                  } else {
                 const jsonData  = JSON.parse(response.data);
                  console.log(JSON.stringify(jsonData));
          });
          

          was ist damit... ohne cron ohne nix.. einfach nur so ...

          zigbee hab ich, zwave auch, nuc's genauso und HA auch

          R 1 Antwort Letzte Antwort
          0
          • arteckA arteck

            @rotamint sagte in Erbitte Hilfe: Request - 9 Zeilen Code:

            script.js.common.Pool.Skript_1:23:13)

            das kann nicht oder du postetst nicht alles

            code Ziele 23 ist nicht da in deinem Post

            const url = 'http://192.168.16.83/api';
            
            httpGet(url, { timeout: 5000, responseType: 'text' }, async (err, response) => {
                    if (err) {
                        console.error(err);
                    } else {
                   const jsonData  = JSON.parse(response.data);
                    console.log(JSON.stringify(jsonData));
            });
            

            was ist damit... ohne cron ohne nix.. einfach nur so ...

            R Offline
            R Offline
            rotamint
            schrieb am zuletzt editiert von rotamint
            #5

            @arteck sagte in Erbitte Hilfe: Request - 9 Zeilen Code:

            @rotamint sagte in Erbitte Hilfe: Request - 9 Zeilen Code:

            script.js.common.Pool.Skript_1:23:13)

            das kann nicht oder du postetst nicht alles

            code Ziele 23 ist nicht da in deinem Post

            Entschuldige, klar. Hier nochmals:

            const axios = require('axios');
            
            const url = 'http://192.168.16.83/api';
            const idTemp1 = '0_userdata.0.Pool.Wassertemperatur';
            // const idTemp2 = '0_userdata.0.Temp2IoT.Temperatur_Ambi';
             
            
            schedule('* * * * *', async function() { //every minute
                try
                {
                    let response = await axios.get(url);
                    let obj = response.data;
            
            console.log(JSON.parse(response.data));
            obj=JSON.parse(response.data);
            
                    setState(idTemp1,  parseFloat(obj.sensors['0'].Value), true);
                  //  setState(idTemp2,  parseFloat(obj.sensors['1'].Value), true);
                }
                catch (error)
                {
                    log(exMsg, 'error');
                }
            });
            
            const url = 'http://192.168.16.83/api';
            
            httpGet(url, { timeout: 5000, responseType: 'text' }, async (err, response) => {
                    if (err) {
                        console.error(err);
                    } else {
                   const jsonData  = JSON.parse(response.data);
                    console.log(JSON.stringify(jsonData));
            });
            

            was ist damit... ohne cron ohne nix.. einfach nur so ...

            Ausgabe zu Deinem Vorschlag:

            javascript.0
            	2024-07-18 07:34:44.254	error	at processImmediate (node:internal/timers:478:21)
            javascript.0
            	2024-07-18 07:34:44.254	error	at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1688:17)
            javascript.0
            	2024-07-18 07:34:44.253	error	at /opt/iobroker/node_modules/iobroker.javascript/main.js:2230:17
            javascript.0
            	2024-07-18 07:34:44.253	error	at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:2132:37)
            javascript.0
            	2024-07-18 07:34:44.253	error	at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1866:21)
            javascript.0
            	2024-07-18 07:34:44.253	error	at new Script (node:vm:99:7)
            javascript.0
            	2024-07-18 07:34:44.253	error	SyntaxError: Unexpected token ')'
            javascript.0
            	2024-07-18 07:34:44.253	error	^
            javascript.0
            	2024-07-18 07:34:44.253	error	});
            javascript.0
            	2024-07-18 07:34:44.252	error	script.js.common.Pool.Skript_1_Test compile failed: at script.js.common.Pool.Skript_1_Test:18
            javascript.0
            	2024-07-18 07:34:44.250	info	Start JavaScript script.js.common.Pool.Skript_1_Test (Javascript/js)
            
            arteckA 1 Antwort Letzte Antwort
            0
            • R rotamint

              @arteck sagte in Erbitte Hilfe: Request - 9 Zeilen Code:

              @rotamint sagte in Erbitte Hilfe: Request - 9 Zeilen Code:

              script.js.common.Pool.Skript_1:23:13)

              das kann nicht oder du postetst nicht alles

              code Ziele 23 ist nicht da in deinem Post

              Entschuldige, klar. Hier nochmals:

              const axios = require('axios');
              
              const url = 'http://192.168.16.83/api';
              const idTemp1 = '0_userdata.0.Pool.Wassertemperatur';
              // const idTemp2 = '0_userdata.0.Temp2IoT.Temperatur_Ambi';
               
              
              schedule('* * * * *', async function() { //every minute
                  try
                  {
                      let response = await axios.get(url);
                      let obj = response.data;
              
              console.log(JSON.parse(response.data));
              obj=JSON.parse(response.data);
              
                      setState(idTemp1,  parseFloat(obj.sensors['0'].Value), true);
                    //  setState(idTemp2,  parseFloat(obj.sensors['1'].Value), true);
                  }
                  catch (error)
                  {
                      log(exMsg, 'error');
                  }
              });
              
              const url = 'http://192.168.16.83/api';
              
              httpGet(url, { timeout: 5000, responseType: 'text' }, async (err, response) => {
                      if (err) {
                          console.error(err);
                      } else {
                     const jsonData  = JSON.parse(response.data);
                      console.log(JSON.stringify(jsonData));
              });
              

              was ist damit... ohne cron ohne nix.. einfach nur so ...

              Ausgabe zu Deinem Vorschlag:

              javascript.0
              	2024-07-18 07:34:44.254	error	at processImmediate (node:internal/timers:478:21)
              javascript.0
              	2024-07-18 07:34:44.254	error	at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1688:17)
              javascript.0
              	2024-07-18 07:34:44.253	error	at /opt/iobroker/node_modules/iobroker.javascript/main.js:2230:17
              javascript.0
              	2024-07-18 07:34:44.253	error	at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:2132:37)
              javascript.0
              	2024-07-18 07:34:44.253	error	at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1866:21)
              javascript.0
              	2024-07-18 07:34:44.253	error	at new Script (node:vm:99:7)
              javascript.0
              	2024-07-18 07:34:44.253	error	SyntaxError: Unexpected token ')'
              javascript.0
              	2024-07-18 07:34:44.253	error	^
              javascript.0
              	2024-07-18 07:34:44.253	error	});
              javascript.0
              	2024-07-18 07:34:44.252	error	script.js.common.Pool.Skript_1_Test compile failed: at script.js.common.Pool.Skript_1_Test:18
              javascript.0
              	2024-07-18 07:34:44.250	info	Start JavaScript script.js.common.Pool.Skript_1_Test (Javascript/js)
              
              arteckA Offline
              arteckA Offline
              arteck
              Developer Most Active
              schrieb am zuletzt editiert von arteck
              #6

              @rotamint hab ne klammer vergessen

              const url = 'http://192.168.16.83/api';
              
              httpGet(url, { timeout: 5000, responseType: 'text' }, async (err, response) => {
                  if (err) {
                      console.error(err);
                  } else {
                      const jsonData  = JSON.parse(response.data);
                      console.log(JSON.stringify(jsonData));
                  }
              });
              

              sollte tun

              ansonsten

              http://192.168.16.83/api
              

              im browser aufrufen und screenshot posten von der ausgabe

              zigbee hab ich, zwave auch, nuc's genauso und HA auch

              R 1 Antwort Letzte Antwort
              0
              • arteckA arteck

                @rotamint hab ne klammer vergessen

                const url = 'http://192.168.16.83/api';
                
                httpGet(url, { timeout: 5000, responseType: 'text' }, async (err, response) => {
                    if (err) {
                        console.error(err);
                    } else {
                        const jsonData  = JSON.parse(response.data);
                        console.log(JSON.stringify(jsonData));
                    }
                });
                

                sollte tun

                ansonsten

                http://192.168.16.83/api
                

                im browser aufrufen und screenshot posten von der ausgabe

                R Offline
                R Offline
                rotamint
                schrieb am zuletzt editiert von rotamint
                #7

                @arteck sagte in Erbitte Hilfe: Request - 9 Zeilen Code:

                @rotamint hab ne klammer vergessen

                const url = 'http://192.168.16.83/api';
                
                httpGet(url, { timeout: 5000, responseType: 'text' }, async (err, response) => {
                    if (err) {
                        console.error(err);
                    } else {
                        const jsonData  = JSON.parse(response.data);
                        console.log(JSON.stringify(jsonData));
                    }
                });
                

                sollte tun

                DANKE:

                javascript.0
                	2024-07-18 08:37:19.097	info	script.js.common.Pool.Skript_1_Test: {"systemname":"Poolthermometer","secure_counter":24127,"firmware":"2.3.05-b","sensors":[{"name":"Wassertemperatur","value":21.75,"mean-1":{"value":21.78437,"count":60,"period":3600},"mean-24":{"value":22.79323,"count":1440,"period":86400},"unit":"Celsius","time":"Thu Jul 18 08:37:18 2024"}]}
                javascript.0
                	2024-07-18 08:37:18.779	info	script.js.common.Pool.Skript_1_Test: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                javascript.0
                	2024-07-18 08:37:18.746	info	Start JavaScript script.js.common.Pool.Skript_1_Test (Javascript/js)
                

                ansonsten

                http://192.168.16.83/api
                

                im browser aufrufen und screenshot posten von der ausgabe

                Vorschlag von oben liefert Daten, trotzdem zusätzlich anbei:

                {
                
                  "systemname": "Poolthermometer",
                
                  "secure_counter": 24112,
                
                  "firmware": "2.3.05-b",
                
                  "sensors": [
                
                    {
                
                      "name": "Wassertemperatur",
                
                      "value": 21.75,
                
                      "mean-1": {
                
                        "value": 21.78542,
                
                        "count": 60,
                
                        "period": 3600
                
                      },
                
                      "mean-24": {
                
                        "value": 22.79371,
                
                        "count": 1440,
                
                        "period": 86400
                
                      },
                
                      "unit": "Celsius",
                
                      "time": "Thu Jul 18 08:36:03 2024"
                
                    }
                
                  ]
                
                }
                
                1 Antwort Letzte Antwort
                0
                • R Offline
                  R Offline
                  rotamint
                  schrieb am zuletzt editiert von
                  #8

                  … ein höfliches „up“ zum Wochenende … 👌

                  1 Antwort Letzte Antwort
                  0
                  • R Offline
                    R Offline
                    rotamint
                    schrieb am zuletzt editiert von
                    #9

                    Es darf nicht catch (error), sondern muss catch (exMsg) heissen. Problem gelöst.

                    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

                    782

                    Online

                    32.5k

                    Benutzer

                    81.7k

                    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