Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 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. JavaScript
  5. Erbitte Hilfe: Request - 9 Zeilen Code

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    1.7k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    681

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    1.2k

Erbitte Hilfe: Request - 9 Zeilen Code

Geplant Angeheftet Gesperrt Verschoben JavaScript
9 Beiträge 3 Kommentatoren 904 Aufrufe 3 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 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

                    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

                    502

                    Online

                    32.9k

                    Benutzer

                    83.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