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. Hilfe bei Skripte von request auf httpGet umbauen

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.9k

Hilfe bei Skripte von request auf httpGet umbauen

Geplant Angeheftet Gesperrt Verschoben JavaScript
132 Beiträge 16 Kommentatoren 16.9k Aufrufe 12 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.
  • liv-in-skyL liv-in-sky

    @negalein

    also - voll geschätzt - du musst axios in den zusätzlichen modulen in der javascriptinstanz haben !

    versuche mal das - keine ahnung ob das auch nur ansatzweise funktioniert

    user namen eintragen !

    const axios = require('axios');
    const qs = require('qs'); // Um die Daten für den POST-Request zu serialisieren
    
    const user = 'yourUsername'; // Benutzername hier einfügen
    const pass = 'yourPassword'; // Passwort hier einfügen
    
    const optionsLogin = {
     method: 'POST',
     url: 'https://netservice.iqcard.at/de/login',
     data: qs.stringify({
       BENUID: user,
       PASSWT: pass,
       'login-form-submit': 'login'
     }),
     headers: {
       'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
       'Accept-Encoding': 'gzip, deflate, br',
       'Accept-Language': 'de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7',
       'Cache-Control': 'no-cache',
       'Content-Type': 'application/x-www-form-urlencoded',
       'DNT': '1',
       'Origin': 'https://netservice.iqcard.at',
       'Pragma': 'no-cache',
       'Sec-CH-UA': '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"',
       'Sec-CH-UA-Mobile': '?0',
       'Sec-CH-UA-Platform': '"Windows"',
       'Sec-Fetch-Dest': 'empty',
       'Sec-Fetch-Mode': 'cors',
       'Sec-Fetch-Site': 'same-origin',
       'Upgrade-Insecure-Requests': '1',
       'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
       'Cookie': 'cAccept=true; NETSERVICE=true; IQCARDPASSWT=; IQCARDBENUID= ',
       'Referer': 'https://netservice.iqcard.at/de/kunden'
     },
     maxRedirects: 5, // Anzahl der zu folgenden Redirects
     withCredentials: true // für das Cookie-Handling
    };
    
    const optionsPriceinfo = {
     method: 'GET',
     url: 'https://netservice.iqcard.at/de/netservice_preisinfo',
     headers: {
       'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
       'Accept-Encoding': 'gzip, deflate, br',
       'Accept-Language': 'de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7',
       'Cache-Control': 'no-cache',
       'DNT': '1',
       'Origin': 'https://netservice.iqcard.at',
       'Pragma': 'no-cache',
       'Sec-CH-UA': '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"',
       'Sec-CH-UA-Mobile': '?0',
       'Sec-CH-UA-Platform': '"Windows"',
       'Sec-Fetch-Dest': 'empty',
       'Sec-Fetch-Mode': 'cors',
       'Sec-Fetch-Site': 'same-origin',
       'Sec-Fetch-User': '?1',
       'Upgrade-Insecure-Requests': '1',
       'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
       'Referer': 'https://netservice.iqcard.at/de/netservice'
     },
     maxRedirects: 5, // Anzahl der zu folgenden Redirects
     withCredentials: true // für das Cookie-Handling
    };
    
    // Anmeldung mit POST-Request
    axios(optionsLogin)
     .then(() => {
       // Erfolgreiche Anmeldung, jetzt GET-Request für Preisinfo
       return axios(optionsPriceinfo);
     })
     .then(response => {
       // Verarbeitung der Antwort
       const data = analyze(response.data);
       log(data);
       writeDatapoint(data);
     })
     .catch(error => {
       console.error('Error making the request:', error);
     });
    
    

    NegaleinN Offline
    NegaleinN Offline
    Negalein
    Global Moderator
    schrieb am zuletzt editiert von
    #52

    @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

    versuche mal das

    in welche DP schreibt das Script??
    Im Original steht in 3. Zeile noch const dpPrices = "0_userdata.0.IQ_Sprit.IQ_Sprit";. Kann ich das so 1:1 ins Neue übernehmen?

    ° Node.js: 20.17.0 NPM: 10.8.2
    ° Proxmox, Ubuntu 22.04.3 LTS
    ° Fixer ---> iob fix

    liv-in-skyL 1 Antwort Letzte Antwort
    0
    • liv-in-skyL liv-in-sky

      @negalein

      nene

      du musst das

      http://192.168.178.159/cm?cmnd=Dimmer%2010
      

      mit dem:

      http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365
      

      ersetzen -

      NegaleinN Offline
      NegaleinN Offline
      Negalein
      Global Moderator
      schrieb am zuletzt editiert von
      #53

      @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

      ersetzen

      Ahh, gecheckt.

      ° Node.js: 20.17.0 NPM: 10.8.2
      ° Proxmox, Ubuntu 22.04.3 LTS
      ° Fixer ---> iob fix

      liv-in-skyL 1 Antwort Letzte Antwort
      0
      • NegaleinN Negalein

        @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

        versuche mal das

        in welche DP schreibt das Script??
        Im Original steht in 3. Zeile noch const dpPrices = "0_userdata.0.IQ_Sprit.IQ_Sprit";. Kann ich das so 1:1 ins Neue übernehmen?

        liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        schrieb am zuletzt editiert von
        #54

        @negalein sagte in Hilfe bei Skripte von request auf httpGet umbauen:

        @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

        versuche mal das

        in welche DP schreibt das Script??
        Im Original steht in 3. Zeile noch const dpPrices = "0_userdata.0.IQ_Sprit.IQ_Sprit";. Kann ich das so 1:1 ins Neue übernehmen?

        moment - ich muss noch was bei dem iq script ändern

        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

        1 Antwort Letzte Antwort
        0
        • NegaleinN Negalein

          @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

          ersetzen

          Ahh, gecheckt.

          liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          schrieb am zuletzt editiert von
          #55

          @negalein

          neuer versuch

          der daten punkt ist ja im script definiert und sollte auch von dir angelegt sein (type text)

          //hier bitte konfigurieren
          //datenpunkt sollte vor skriptstart bereits existieren und mit Typ Text erstellt worden sein
          const dpPrices = "0_userdata.0.IQ_Sprit.IQ_Sprit";
          let user = "xxxxxxxxxx";
          let pass = "xxxxxxxxxx";
          
          //ab hier nix verändern
          const axios = require('axios');
          const cheerio = require("cheerio");
          
          let $;
          async function main() {
          
          const optionsLogin = {
           method: 'POST',
           url: 'https://netservice.iqcard.at/de/login',
           data: `BENUID=${user}&PASSWT=${pass}&login-form-submit=login`,
           headers: {
             'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
             'Accept-Encoding': 'gzip, deflate, br',
             'Accept-Language': 'de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7',
             'Cache-Control': 'no-cache',
             'Content-Type': 'application/x-www-form-urlencoded',
             'DNT': '1',
             'Origin': 'https://netservice.iqcard.at',
             'Pragma': 'no-cache',
             'Sec-CH-UA': '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"',
             'Sec-CH-UA-Mobile': '?0',
             'Sec-CH-UA-Platform': '"Windows"',
             'Sec-Fetch-Dest': 'empty',
             'Sec-Fetch-Mode': 'cors',
             'Sec-Fetch-Site': 'same-origin',
             'Upgrade-Insecure-Requests': '1',
             'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
             'Cookie': 'cAccept=true; NETSERVICE=true; IQCARDPASSWT=; IQCARDBENUID= ',
             'Referer': 'https://netservice.iqcard.at/de/kunden'
           },
           maxRedirects: 5, // Anzahl der zu folgenden Redirects
           withCredentials: true // für das Cookie-Handling
          };
          
          const optionsPriceinfo = {
           method: 'GET',
           url: 'https://netservice.iqcard.at/de/netservice_preisinfo',
           headers: {
             'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
             'Accept-Encoding': 'gzip, deflate, br',
             'Accept-Language': 'de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7',
             'Cache-Control': 'no-cache',
             'DNT': '1',
             'Origin': 'https://netservice.iqcard.at',
             'Pragma': 'no-cache',
             'Sec-CH-UA': '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"',
             'Sec-CH-UA-Mobile': '?0',
             'Sec-CH-UA-Platform': '"Windows"',
             'Sec-Fetch-Dest': 'empty',
             'Sec-Fetch-Mode': 'cors',
             'Sec-Fetch-Site': 'same-origin',
             'Sec-Fetch-User': '?1',
             'Upgrade-Insecure-Requests': '1',
             'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
             'Referer': 'https://netservice.iqcard.at/de/netservice'
           },
           maxRedirects: 5, // Anzahl der zu folgenden Redirects
           withCredentials: true // für das Cookie-Handling
          };
          
          // Anmeldung mit POST-Request
          axios(optionsLogin)
           .then(() => {
             // Erfolgreiche Anmeldung, jetzt GET-Request für Preisinfo
             return axios(optionsPriceinfo);
           })
           .then(response => {
             // Verarbeitung der Antwort
             const data = analyze(response.data);
             log(data);
             writeDatapoint(data);
           })
           .catch(error => {
             console.error('Error making the request:', error);
           });
          function writeDatapoint(data) {
            log("write dpPrices");
            setState(dpPrices,JSON.stringify(data));
          }
          }
          main()
          
          function analyze(body) {
           $ = cheerio.load(body);
           let countrys = $(".row > div > fieldset");
           let data = {}
           for (var i = 1; i < countrys.length; i++) {
             let country = getCountry(countrys[i]);
             data[country.countryname] = country;
           }
           return data;
          }
          function getCountry(country) {
           let data = {};
           data.services = {};
           data.info = "";
           data.countryname = $(country).find("> legend").text().trim();
           let sections = $(country).find(".panel .panel-heading");
           for (var i = 0; i < sections.length; i++) {
             let section = $(sections[i]);
             let title = section.text().trim();
             let fields = $(section.next().find("fieldset"));
             if (fields.length > 0) {
               data.services[title] = getGasPrices(fields);
             } else {
               data.services[title] = getOtherServices(section.next());
             }
           }
           if (sections.length == 0) data.info = $(country).contents().filter((i, el) => el.nodeType == 3).text().trim();
           return data;
          }
          function getGasPrices(fields) {
           let data = [];
           for (var i = 0; i < fields.contents().length; i++) {
             let field = fields.contents()[i];
             if (field.nodeType == 3 && field.data.replace(/\s/gm, "") != "") {
               let date = field.data.replace(/\s/gm, "");
               let price = $(field).next().text();
               data.push({ date: date, price: price });
             }
           }
           return data;
          }
          function getOtherServices(fields) {
           return fields.text().trim();
          }  
          
          
          schedule("59 * * * *", async function () {
            main();   
          });
          
          

          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

          NegaleinN 1 Antwort Letzte Antwort
          0
          • LatziL Online
            LatziL Online
            Latzi
            schrieb am zuletzt editiert von
            #56

            weiterer Ansatz zum IQ-Script:
            IQ-Bash-Script

            NegaleinN 1 Antwort Letzte Antwort
            1
            • liv-in-skyL liv-in-sky

              @negalein

              neuer versuch

              der daten punkt ist ja im script definiert und sollte auch von dir angelegt sein (type text)

              //hier bitte konfigurieren
              //datenpunkt sollte vor skriptstart bereits existieren und mit Typ Text erstellt worden sein
              const dpPrices = "0_userdata.0.IQ_Sprit.IQ_Sprit";
              let user = "xxxxxxxxxx";
              let pass = "xxxxxxxxxx";
              
              //ab hier nix verändern
              const axios = require('axios');
              const cheerio = require("cheerio");
              
              let $;
              async function main() {
              
              const optionsLogin = {
               method: 'POST',
               url: 'https://netservice.iqcard.at/de/login',
               data: `BENUID=${user}&PASSWT=${pass}&login-form-submit=login`,
               headers: {
                 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
                 'Accept-Encoding': 'gzip, deflate, br',
                 'Accept-Language': 'de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7',
                 'Cache-Control': 'no-cache',
                 'Content-Type': 'application/x-www-form-urlencoded',
                 'DNT': '1',
                 'Origin': 'https://netservice.iqcard.at',
                 'Pragma': 'no-cache',
                 'Sec-CH-UA': '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"',
                 'Sec-CH-UA-Mobile': '?0',
                 'Sec-CH-UA-Platform': '"Windows"',
                 'Sec-Fetch-Dest': 'empty',
                 'Sec-Fetch-Mode': 'cors',
                 'Sec-Fetch-Site': 'same-origin',
                 'Upgrade-Insecure-Requests': '1',
                 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
                 'Cookie': 'cAccept=true; NETSERVICE=true; IQCARDPASSWT=; IQCARDBENUID= ',
                 'Referer': 'https://netservice.iqcard.at/de/kunden'
               },
               maxRedirects: 5, // Anzahl der zu folgenden Redirects
               withCredentials: true // für das Cookie-Handling
              };
              
              const optionsPriceinfo = {
               method: 'GET',
               url: 'https://netservice.iqcard.at/de/netservice_preisinfo',
               headers: {
                 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
                 'Accept-Encoding': 'gzip, deflate, br',
                 'Accept-Language': 'de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7',
                 'Cache-Control': 'no-cache',
                 'DNT': '1',
                 'Origin': 'https://netservice.iqcard.at',
                 'Pragma': 'no-cache',
                 'Sec-CH-UA': '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"',
                 'Sec-CH-UA-Mobile': '?0',
                 'Sec-CH-UA-Platform': '"Windows"',
                 'Sec-Fetch-Dest': 'empty',
                 'Sec-Fetch-Mode': 'cors',
                 'Sec-Fetch-Site': 'same-origin',
                 'Sec-Fetch-User': '?1',
                 'Upgrade-Insecure-Requests': '1',
                 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
                 'Referer': 'https://netservice.iqcard.at/de/netservice'
               },
               maxRedirects: 5, // Anzahl der zu folgenden Redirects
               withCredentials: true // für das Cookie-Handling
              };
              
              // Anmeldung mit POST-Request
              axios(optionsLogin)
               .then(() => {
                 // Erfolgreiche Anmeldung, jetzt GET-Request für Preisinfo
                 return axios(optionsPriceinfo);
               })
               .then(response => {
                 // Verarbeitung der Antwort
                 const data = analyze(response.data);
                 log(data);
                 writeDatapoint(data);
               })
               .catch(error => {
                 console.error('Error making the request:', error);
               });
              function writeDatapoint(data) {
                log("write dpPrices");
                setState(dpPrices,JSON.stringify(data));
              }
              }
              main()
              
              function analyze(body) {
               $ = cheerio.load(body);
               let countrys = $(".row > div > fieldset");
               let data = {}
               for (var i = 1; i < countrys.length; i++) {
                 let country = getCountry(countrys[i]);
                 data[country.countryname] = country;
               }
               return data;
              }
              function getCountry(country) {
               let data = {};
               data.services = {};
               data.info = "";
               data.countryname = $(country).find("> legend").text().trim();
               let sections = $(country).find(".panel .panel-heading");
               for (var i = 0; i < sections.length; i++) {
                 let section = $(sections[i]);
                 let title = section.text().trim();
                 let fields = $(section.next().find("fieldset"));
                 if (fields.length > 0) {
                   data.services[title] = getGasPrices(fields);
                 } else {
                   data.services[title] = getOtherServices(section.next());
                 }
               }
               if (sections.length == 0) data.info = $(country).contents().filter((i, el) => el.nodeType == 3).text().trim();
               return data;
              }
              function getGasPrices(fields) {
               let data = [];
               for (var i = 0; i < fields.contents().length; i++) {
                 let field = fields.contents()[i];
                 if (field.nodeType == 3 && field.data.replace(/\s/gm, "") != "") {
                   let date = field.data.replace(/\s/gm, "");
                   let price = $(field).next().text();
                   data.push({ date: date, price: price });
                 }
               }
               return data;
              }
              function getOtherServices(fields) {
               return fields.text().trim();
              }  
              
              
              schedule("59 * * * *", async function () {
                main();   
              });
              
              

              NegaleinN Offline
              NegaleinN Offline
              Negalein
              Global Moderator
              schrieb am zuletzt editiert von
              #57

              @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

              neuer versuch

              funktioniert leider nicht

              javascript.1
              2024-05-27 19:42:00.907	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Zeitraum.Zeitraum": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].date" => Cannot read properties of undefined (reading 'services')
              
              javascript.1
              2024-05-27 19:42:00.905	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Preis.IQ_Sprit": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price" => Cannot read properties of undefined (reading 'services')
              
              web.0
              2024-05-27 19:42:00.906	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Zeitraum.Zeitraum": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].date" => Cannot read properties of undefined (reading 'services')
              
              web.0
              2024-05-27 19:42:00.906	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Preis.IQ_Sprit": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price" => Cannot read properties of undefined (reading 'services')
              
              web.0
              2024-05-27 19:42:00.906	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Preis.IQ_Sprit": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price" => Cannot read properties of undefined (reading 'services')
              
              web.0
              2024-05-27 19:42:00.905	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Zeitraum.Zeitraum": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].date" => Cannot read properties of undefined (reading 'services')
              
              javascript.0
              2024-05-27 19:42:00.905	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Zeitraum.Zeitraum": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].date" => Cannot read properties of undefined (reading 'services')
              
              javascript.0
              2024-05-27 19:42:00.905	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Preis.IQ_Sprit": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price" => Cannot read properties of undefined (reading 'services')
              
              history.0
              2024-05-27 19:42:00.904	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Zeitraum.Zeitraum": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].date" => Cannot read properties of undefined (reading 'services')
              
              history.0
              2024-05-27 19:42:00.904	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Preis.IQ_Sprit": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price" => Cannot read properties of undefined (reading 'services')
              
              influxdb.2
              2024-05-27 19:42:00.904	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Zeitraum.Zeitraum": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].date" => Cannot read properties of undefined (reading 'services')
              
              influxdb.2
              2024-05-27 19:42:00.904	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Preis.IQ_Sprit": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price" => Cannot read properties of undefined (reading 'services')
              
              influxdb.0
              2024-05-27 19:42:00.904	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Zeitraum.Zeitraum": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].date" => Cannot read properties of undefined (reading 'services')
              
              influxdb.0
              2024-05-27 19:42:00.904	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Preis.IQ_Sprit": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price" => Cannot read properties of undefined (reading 'services')
              

              dc96e9c4-c535-42e9-a958-0f05c85dc0de-image.png

              ° Node.js: 20.17.0 NPM: 10.8.2
              ° Proxmox, Ubuntu 22.04.3 LTS
              ° Fixer ---> iob fix

              liv-in-skyL 1 Antwort Letzte Antwort
              0
              • LatziL Latzi

                weiterer Ansatz zum IQ-Script:
                IQ-Bash-Script

                NegaleinN Offline
                NegaleinN Offline
                Negalein
                Global Moderator
                schrieb am zuletzt editiert von
                #58

                @latzi sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                weiterer Ansatz zum IQ-Script:

                hast du das in Verwendung?

                Ist das ein normales JS?

                ° Node.js: 20.17.0 NPM: 10.8.2
                ° Proxmox, Ubuntu 22.04.3 LTS
                ° Fixer ---> iob fix

                LatziL liv-in-skyL 2 Antworten Letzte Antwort
                0
                • NegaleinN Negalein

                  @latzi sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                  weiterer Ansatz zum IQ-Script:

                  hast du das in Verwendung?

                  Ist das ein normales JS?

                  LatziL Online
                  LatziL Online
                  Latzi
                  schrieb am zuletzt editiert von
                  #59

                  @negalein
                  Ja, das verwende ich.
                  Nein, ist ein Bash-Script (so wie das Wetterstation-Script von SBORG), wird am Server ausgeführt

                  1 Antwort Letzte Antwort
                  0
                  • NegaleinN Negalein

                    @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                    neuer versuch

                    funktioniert leider nicht

                    javascript.1
                    2024-05-27 19:42:00.907	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Zeitraum.Zeitraum": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].date" => Cannot read properties of undefined (reading 'services')
                    
                    javascript.1
                    2024-05-27 19:42:00.905	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Preis.IQ_Sprit": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price" => Cannot read properties of undefined (reading 'services')
                    
                    web.0
                    2024-05-27 19:42:00.906	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Zeitraum.Zeitraum": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].date" => Cannot read properties of undefined (reading 'services')
                    
                    web.0
                    2024-05-27 19:42:00.906	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Preis.IQ_Sprit": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price" => Cannot read properties of undefined (reading 'services')
                    
                    web.0
                    2024-05-27 19:42:00.906	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Preis.IQ_Sprit": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price" => Cannot read properties of undefined (reading 'services')
                    
                    web.0
                    2024-05-27 19:42:00.905	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Zeitraum.Zeitraum": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].date" => Cannot read properties of undefined (reading 'services')
                    
                    javascript.0
                    2024-05-27 19:42:00.905	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Zeitraum.Zeitraum": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].date" => Cannot read properties of undefined (reading 'services')
                    
                    javascript.0
                    2024-05-27 19:42:00.905	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Preis.IQ_Sprit": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price" => Cannot read properties of undefined (reading 'services')
                    
                    history.0
                    2024-05-27 19:42:00.904	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Zeitraum.Zeitraum": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].date" => Cannot read properties of undefined (reading 'services')
                    
                    history.0
                    2024-05-27 19:42:00.904	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Preis.IQ_Sprit": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price" => Cannot read properties of undefined (reading 'services')
                    
                    influxdb.2
                    2024-05-27 19:42:00.904	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Zeitraum.Zeitraum": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].date" => Cannot read properties of undefined (reading 'services')
                    
                    influxdb.2
                    2024-05-27 19:42:00.904	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Preis.IQ_Sprit": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price" => Cannot read properties of undefined (reading 'services')
                    
                    influxdb.0
                    2024-05-27 19:42:00.904	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Zeitraum.Zeitraum": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].date" => Cannot read properties of undefined (reading 'services')
                    
                    influxdb.0
                    2024-05-27 19:42:00.904	error	Invalid read function for "alias.0.IQ-Sprit.Diesel.Preis.IQ_Sprit": "JSON.parse(val)['ÖSTERREICH'].services.Diesel[0].price" => Cannot read properties of undefined (reading 'services')
                    

                    dc96e9c4-c535-42e9-a958-0f05c85dc0de-image.png

                    liv-in-skyL Offline
                    liv-in-skyL Offline
                    liv-in-sky
                    schrieb am zuletzt editiert von
                    #60

                    @negalein

                    das sind keinen axios fehler - da ist ein problem mit dem datenpunkt

                    du könntest mir deinenaccount geben und ich teste es mal bei mir - wenn ja,dann über chat

                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                    1 Antwort Letzte Antwort
                    0
                    • NegaleinN Negalein

                      @latzi sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                      weiterer Ansatz zum IQ-Script:

                      hast du das in Verwendung?

                      Ist das ein normales JS?

                      liv-in-skyL Offline
                      liv-in-skyL Offline
                      liv-in-sky
                      schrieb am zuletzt editiert von liv-in-sky
                      #61

                      @negalein

                      also : der zugriff funktioniert, aber das auslesen kann nicht funktionieren - weißt du noch, wo du das script her hast - und lief das schon mal ?

                      das script von @latzi verstehe ich un dkann es auch nachvollziehen - dein script schau ich mir morgen früh nochmal an

                      der unterschied ist der - dein script versucht die linken daten zu bekommen (was nicht wirklich funktioniert, weil das über ein internes script angezeigt wird

                      das von latzi liest die rechten werte aus (schwarzer hintergrund)

                      Image 001.png

                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                      LatziL 1 Antwort Letzte Antwort
                      0
                      • liv-in-skyL liv-in-sky

                        @negalein

                        also : der zugriff funktioniert, aber das auslesen kann nicht funktionieren - weißt du noch, wo du das script her hast - und lief das schon mal ?

                        das script von @latzi verstehe ich un dkann es auch nachvollziehen - dein script schau ich mir morgen früh nochmal an

                        der unterschied ist der - dein script versucht die linken daten zu bekommen (was nicht wirklich funktioniert, weil das über ein internes script angezeigt wird

                        das von latzi liest die rechten werte aus (schwarzer hintergrund)

                        Image 001.png

                        LatziL Online
                        LatziL Online
                        Latzi
                        schrieb am zuletzt editiert von
                        #62

                        @liv-in-sky
                        das Script funktionierte und kommt von hier

                        liv-in-skyL 2 Antworten Letzte Antwort
                        0
                        • LatziL Latzi

                          @liv-in-sky
                          das Script funktionierte und kommt von hier

                          liv-in-skyL Offline
                          liv-in-skyL Offline
                          liv-in-sky
                          schrieb am zuletzt editiert von
                          #63

                          @latzi

                          ich kucke morgen nochmal - braucht etwas hirnpower

                          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                          1 Antwort Letzte Antwort
                          1
                          • LatziL Latzi

                            @liv-in-sky
                            das Script funktionierte und kommt von hier

                            liv-in-skyL Offline
                            liv-in-skyL Offline
                            liv-in-sky
                            schrieb am zuletzt editiert von
                            #64

                            @latzi @Negalein @OliverIO

                            vielleicht hat der ersteller lust, da nochmal draufzuschauen

                            https://forum.iobroker.net/post/907470

                            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                            NegaleinN OliverIOO 2 Antworten Letzte Antwort
                            0
                            • liv-in-skyL liv-in-sky

                              @latzi @Negalein @OliverIO

                              vielleicht hat der ersteller lust, da nochmal draufzuschauen

                              https://forum.iobroker.net/post/907470

                              NegaleinN Offline
                              NegaleinN Offline
                              Negalein
                              Global Moderator
                              schrieb am zuletzt editiert von
                              #65

                              @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                              vielleicht hat der ersteller lust, da nochmal draufzuschauen

                              Hab Oliver im Ursprungsthread geschrieben.

                              Ah, seh gerade, dass du ihn eh verlinkt hast.

                              ° Node.js: 20.17.0 NPM: 10.8.2
                              ° Proxmox, Ubuntu 22.04.3 LTS
                              ° Fixer ---> iob fix

                              liv-in-skyL 1 Antwort Letzte Antwort
                              0
                              • NegaleinN Negalein

                                @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                                vielleicht hat der ersteller lust, da nochmal draufzuschauen

                                Hab Oliver im Ursprungsthread geschrieben.

                                Ah, seh gerade, dass du ihn eh verlinkt hast.

                                liv-in-skyL Offline
                                liv-in-skyL Offline
                                liv-in-sky
                                schrieb am zuletzt editiert von
                                #66

                                @negalein

                                wäre cool, wenn er hilft, er hat def mehr ahnung von solchen abfragen :-)

                                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                1 Antwort Letzte Antwort
                                0
                                • liv-in-skyL liv-in-sky

                                  @negalein

                                  wenn du testen magst - sendet alle 15 sek den wert an iob - kannste dann ein blockly machen und dir einen alarm geben, wenn der wert mal über 1 (sek) ist.

                                  mache alles auf der console unter /usr/local/bin

                                  • kopiere datei curl-format.txt ins verzeichnis /usr/local/bin
                                  • erstelle datei httptest (sudo nano httptest) im verzeichnis mit inhalt und ändere den datenpukt in allen zeilen - den dp musst du anlegen (number)
                                  • die url musst du auch anpassen

                                  
                                  #!/bin/bash
                                  dauer=`curl -w "@curl-format.txt"  -s 'http://192.168.178.159/cm?cmnd=Dimmer%2010' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'`
                                  #curl "http://192.168.178.59:8087/set/0_userdata.0.CONTROL-OWN.htttpget-test?value=$dauer"
                                  iobroker state set 0_userdata.0.CONTROL-OWN.htttpget-test $dauer
                                  echo Temp:  $dauer
                                  sleep 15
                                  tempi=`curl -w "@curl-format.txt"  -s 'http://192.168.178.159/cm?cmnd=Dimmer%2010' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'`
                                  iobroker state set 0_userdata.0.CONTROL-OWN.htttpget-test $tempi
                                  sleep 15
                                  tempi=`curl -w "@curl-format.txt"  -s 'http://192.168.178.159/cm?cmnd=Dimmer%2010' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'`
                                  iobroker state set 0_userdata.0.CONTROL-OWN.htttpget-test $tempi
                                  sleep 15
                                  tempi=`curl -w "@curl-format.txt"  -s 'http://192.168.178.159/cm?cmnd=Dimmer%2010' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'`
                                  iobroker state set 0_userdata.0.CONTROL-OWN.htttpget-test $tempi
                                  
                                  

                                  • sichern und befehl sudo chmod +x httptest ausführen
                                  • dann sudo crontab -e öffnen und folgenden eintrag eingeben: */1 * * * * /usr/local/bin/httptest

                                  Image 048.png

                                  NegaleinN Offline
                                  NegaleinN Offline
                                  Negalein
                                  Global Moderator
                                  schrieb am zuletzt editiert von
                                  #67

                                  @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                                  dann sudo crontab -e öffnen und folgenden eintrag eingeben: */1 * * * * /usr/local/bin/httptest

                                  muss danach rebootet werden, oder läuft der Cron gleich los?

                                  ° Node.js: 20.17.0 NPM: 10.8.2
                                  ° Proxmox, Ubuntu 22.04.3 LTS
                                  ° Fixer ---> iob fix

                                  liv-in-skyL 2 Antworten Letzte Antwort
                                  0
                                  • NegaleinN Negalein

                                    @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                                    dann sudo crontab -e öffnen und folgenden eintrag eingeben: */1 * * * * /usr/local/bin/httptest

                                    muss danach rebootet werden, oder läuft der Cron gleich los?

                                    liv-in-skyL Offline
                                    liv-in-skyL Offline
                                    liv-in-sky
                                    schrieb am zuletzt editiert von
                                    #68

                                    @negalein
                                    Läuft sofort los

                                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                    NegaleinN 1 Antwort Letzte Antwort
                                    1
                                    • NegaleinN Negalein

                                      @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                                      dann sudo crontab -e öffnen und folgenden eintrag eingeben: */1 * * * * /usr/local/bin/httptest

                                      muss danach rebootet werden, oder läuft der Cron gleich los?

                                      liv-in-skyL Offline
                                      liv-in-skyL Offline
                                      liv-in-sky
                                      schrieb am zuletzt editiert von
                                      #69

                                      @negalein
                                      Ob alles richtig ist stellst du am besten so fest
                                      Gehe ins Verzeichnis und rufe einfach httptest auf, dann siehst du was passiert

                                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                      NegaleinN 1 Antwort Letzte Antwort
                                      1
                                      • liv-in-skyL liv-in-sky

                                        @negalein
                                        Läuft sofort los

                                        NegaleinN Offline
                                        NegaleinN Offline
                                        Negalein
                                        Global Moderator
                                        schrieb am zuletzt editiert von
                                        #70

                                        @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                                        Läuft sofort los

                                        Ok, DP ändert sich nicht.

                                        der Port bei der ioB-IP ist eh der normale (8081 in meinem Fall)?

                                        ° Node.js: 20.17.0 NPM: 10.8.2
                                        ° Proxmox, Ubuntu 22.04.3 LTS
                                        ° Fixer ---> iob fix

                                        1 Antwort Letzte Antwort
                                        0
                                        • liv-in-skyL liv-in-sky

                                          @negalein
                                          Ob alles richtig ist stellst du am besten so fest
                                          Gehe ins Verzeichnis und rufe einfach httptest auf, dann siehst du was passiert

                                          NegaleinN Offline
                                          NegaleinN Offline
                                          Negalein
                                          Global Moderator
                                          schrieb am zuletzt editiert von Negalein
                                          #71

                                          @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                                          Gehe ins Verzeichnis und rufe einfach httptest auf, dann siehst du was passiert

                                          pi@raspberrypi:~ $ cd /usr/local/bin/
                                          pi@raspberrypi:/usr/local/bin $ httptest
                                          Warning: Failed to read curl-format.txt/usr/local/bin/httptest: command substitution: Zeile 4: Syntaxfehler beim unerwarteten Wort `|'
                                          /usr/local/bin/httptest: command substitution: Zeile 4: `| awk '{print $2}' | sed -e 's/s//''
                                          Warning: Failed to read curl-format.txtcurl: no URL specified!
                                          curl: try 'curl --help' or 'curl --manual' for more information
                                          /usr/local/bin/httptest: Zeile 6: http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365: Datei oder Verzeichnis nicht gefunden
                                          /usr/local/bin/httptest: Zeile 5: iobroker: Kommando nicht gefunden.
                                          Warning: Failed to read curl-format.txtcurl: no URL specified!
                                          curl: try 'curl --help' or 'curl --manual' for more information
                                          /usr/local/bin/httptest: Zeile 8: http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365: Datei oder Verzeichnis nicht gefunden
                                          /usr/local/bin/httptest: Zeile 7: iobroker: Kommando nicht gefunden.
                                          Warning: Failed to read curl-format.txtcurl: no URL specified!
                                          curl: try 'curl --help' or 'curl --manual' for more information
                                          /usr/local/bin/httptest: Zeile 10: http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365: Datei oder Verzeichnis nicht gefunden
                                          /usr/local/bin/httptest: Zeile 9: iobroker: Kommando nicht gefunden.
                                          /usr/local/bin/httptest: Zeile 11: iobroker: Kommando nicht gefunden.
                                          pi@raspberrypi:/usr/local/bin $
                                          
                                          

                                          ° Node.js: 20.17.0 NPM: 10.8.2
                                          ° Proxmox, Ubuntu 22.04.3 LTS
                                          ° Fixer ---> iob fix

                                          liv-in-skyL 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

                                          840

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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