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. Blockly
  5. Zugangsgeschützte API-Schnittstelle auslesen mit Blockly

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    9
    1
    56

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    554

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

Zugangsgeschützte API-Schnittstelle auslesen mit Blockly

Geplant Angeheftet Gesperrt Verschoben Blockly
78 Beiträge 7 Kommentatoren 8.7k Aufrufe 5 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.
  • S schnipsel71

    Ich möchte per Blockly den Datenpunkt "Battery_C" unseres PV-Managementsystems auslesen. Allerdings ist dazu eine Authorisation über einen Header notwendig und ich weiß nicht, wie man diesen in Blockly implementiert.
    Hier die Beschreibung aus dem API-Manual:
    8fd56ab9-1a6e-44bb-9b84-761727cfd0f1-image.png
    eaec50eb-9c65-417d-9802-852318e3577c-image.png

    Das habe ich bislang geschrieben:
    bcf6e310-1cf6-4cef-8ff1-8207b82c722c-image.png

    Wie kann ich die Zugangsdaten über den Header übergeben?

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

    @schnipsel71

    Hast du auch schon Seite 8 deiner Anleitung angeschaut?
    Den code hier als Text posten, dann kann man das auf die neuen methoden umstellen. da wird noch request verwendet.

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

    S 1 Antwort Letzte Antwort
    0
    • OliverIOO OliverIO

      @schnipsel71

      Hast du auch schon Seite 8 deiner Anleitung angeschaut?
      Den code hier als Text posten, dann kann man das auf die neuen methoden umstellen. da wird noch request verwendet.

      S Offline
      S Offline
      schnipsel71
      schrieb am zuletzt editiert von
      #4

      @oliverio Danke für den Hinweis.

      Hier der Code:

      var TimeInterval= setInterval(MyJavascript ,5000);
      
      function MyJavascript(){
      var request = require(’request’);
      var user= "hycube";
      var password= "hycube";
      var options = {
      url: ’http://10.1.1.51/auth/’,
      headers: {
      "Authorization": Buffer.from("Basic " + user + ":" + password).toString(’base64’)
      },
      body: ’<?xml version="1.0" encoding="UTF-8"?> [...]’
      };
      request.post(options, function(error, response, body) {
      if (error) {
      console.log("Ein Fehler ist aufgetreten ")
      } else {
      
      var auth_token= body;
      
      var url = require(’request’);
      var options = {
      url: ’http://10.1.1.51/get_values/’,
      headers: {
      "Authorization": auth_token
      },
      body: ’<?xml version="1.0" encoding="UTF-8"?> [...]’
      };
      
      url.post(options, function(error, response, body) {
      if (error) {
      console.log("Ein Fehler ist aufgetreten ")
      } else {
      var result = JSON.parse(body);
      
      var GridPower= (result["Grid_P"]);
      var BatteryPower=result["Battery_P"];
      var HausPower= result["Home_P"];
      var solar= result["solar1_P"];
      
      setState(’HyWeb.Batterie’, BatteryPower);
      setState(’HyWeb.Grid’, GridPower);
      setState(’HyWeb.Hausverbrauch’, HausPower);
      setState(’HyWeb.Solar’, solar);
      
      }
      });
      
      
      }
      });
      
      
      }
      
      
      OliverIOO 1 Antwort Letzte Antwort
      0
      • S schnipsel71

        @oliverio Danke für den Hinweis.

        Hier der Code:

        var TimeInterval= setInterval(MyJavascript ,5000);
        
        function MyJavascript(){
        var request = require(’request’);
        var user= "hycube";
        var password= "hycube";
        var options = {
        url: ’http://10.1.1.51/auth/’,
        headers: {
        "Authorization": Buffer.from("Basic " + user + ":" + password).toString(’base64’)
        },
        body: ’<?xml version="1.0" encoding="UTF-8"?> [...]’
        };
        request.post(options, function(error, response, body) {
        if (error) {
        console.log("Ein Fehler ist aufgetreten ")
        } else {
        
        var auth_token= body;
        
        var url = require(’request’);
        var options = {
        url: ’http://10.1.1.51/get_values/’,
        headers: {
        "Authorization": auth_token
        },
        body: ’<?xml version="1.0" encoding="UTF-8"?> [...]’
        };
        
        url.post(options, function(error, response, body) {
        if (error) {
        console.log("Ein Fehler ist aufgetreten ")
        } else {
        var result = JSON.parse(body);
        
        var GridPower= (result["Grid_P"]);
        var BatteryPower=result["Battery_P"];
        var HausPower= result["Home_P"];
        var solar= result["solar1_P"];
        
        setState(’HyWeb.Batterie’, BatteryPower);
        setState(’HyWeb.Grid’, GridPower);
        setState(’HyWeb.Hausverbrauch’, HausPower);
        setState(’HyWeb.Solar’, solar);
        
        }
        });
        
        
        }
        });
        
        
        }
        
        
        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        schrieb am zuletzt editiert von
        #5

        @schnipsel71

        Und, funktioniert er?

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

        S 1 Antwort Letzte Antwort
        0
        • OliverIOO OliverIO

          @schnipsel71

          Und, funktioniert er?

          S Offline
          S Offline
          schnipsel71
          schrieb am zuletzt editiert von
          #6

          @oliverio Das ist der alte Code mit den request-Befehlen. Er funktioniert noch, allerdings bekomme ich alle 5 Sekunden eine Warnung im Log, dass die requests in httpGet umgestellt werden sollen. Und ich weiß leider nicht, wie das geht:

          script.js.Steuerung.Hycube: request package is deprecated - please use httpGet (or a stable lib like axios) instead!
          

          Kann mir jemand helfen?

          T 1 Antwort Letzte Antwort
          0
          • S schnipsel71

            @oliverio Das ist der alte Code mit den request-Befehlen. Er funktioniert noch, allerdings bekomme ich alle 5 Sekunden eine Warnung im Log, dass die requests in httpGet umgestellt werden sollen. Und ich weiß leider nicht, wie das geht:

            script.js.Steuerung.Hycube: request package is deprecated - please use httpGet (or a stable lib like axios) instead!
            

            Kann mir jemand helfen?

            T Offline
            T Offline
            TT-Tom
            schrieb am zuletzt editiert von TT-Tom
            #7

            @schnipsel71

            probiere mal hiermit, ob du den Token zurück bekommst.

            httpPost(
                'http://10.1.1.51/auth/',
                {
                    timeout: 2000,
                    basicAuth: {
                        user: 'hycube',
                        password: 'hycube',
                    },
                },
                (error, response) => {
                    if (!error) {
                        console.log(response.statusCode);
                        console.log(response.data);
                        console.log(response.headers);
                    } else {
                        console.error(error);
                    }
                }
            );
            

            Poste dann mal die Ausgaben vom Log

            Gruß Tom
            https://github.com/tt-tom17
            Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

            NSPanel Script Wiki
            https://github.com/joBr99/nspanel-lovelace-ui/wiki

            NSPanel Adapter Wiki
            https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

            S 1 Antwort Letzte Antwort
            0
            • OliverIOO Offline
              OliverIOO Offline
              OliverIO
              schrieb am zuletzt editiert von OliverIO
              #8

              @schnipsel71

              ohne garantie. da ich es ja selbst nicht testen kann.
              leider ist die doku https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#httppost auch interpretationswürdig.
              ich gehe mal davon aus, das die parameter von httppost analgo deren von axios.post sind.
              ich habe den obigen code durch die ki auf axios umschreiben lassen und axios.post, dann durch httpPost ersetzt.

              ich habe dann noch zusätzlich 2 console.log eingefügt, um zu prüfen, was da für daten zurückkommen, bevor sie weiterverarbeitet werden.

              bitte mal probieren.
              Ich weiß nicht, ob die Datenpunktnamen angepasst werden sollten.
              Sollte da nicht was wie

              0_userdata.HyWeb.Batterie
              

              oder

              javascript.0.HyWeb.Batterie
              

              stehen?
              an andere Stellen sollte man eigentlich nicht schreiben.
              Die datenpunkte sollten auch schon existieren.

              var TimeInterval= setInterval(MyJavascript ,5000);
              
              async function MyJavascript() {
                const user = "hycube";
                const password = "hycube";
                const authUrl = 'http://10.1.1.51/auth/';
                const getValuesUrl = 'http://10.1.1.51/get_values/';
              
                try {
                  const authResponse = await httpPost(authUrl, null, {
                    headers: {
                      'Authorization': `Basic ${Buffer.from(`${user}:${password}`).toString('base64')}`
                    }
                  });
                  console.log(authResponse.data);
                  const authToken = authResponse.data;
              
                  const getValuesResponse = await httpPost(getValuesUrl, null, {
                    headers: {
                      'Authorization': authToken
                    }
                  });
                  console.log(getValuesResponse.data);
                  const result = getValuesResponse.data;
              
                  const GridPower = result["Grid_P"];
                  const BatteryPower = result["Battery_P"];
                  const HausPower = result["Home_P"];
                  const solar = result["solar1_P"];
              
                  setState('HyWeb.Batterie', BatteryPower);
                  setState('HyWeb.Grid', GridPower);
                  setState('HyWeb.Hausverbrauch', HausPower);
                  setState('HyWeb.Solar', solar);
                } catch (error) {
                  console.log("An error occurred:", error.message);
                }
              }
              

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

              haus-automatisierungH S 2 Antworten Letzte Antwort
              0
              • OliverIOO OliverIO

                @schnipsel71

                ohne garantie. da ich es ja selbst nicht testen kann.
                leider ist die doku https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#httppost auch interpretationswürdig.
                ich gehe mal davon aus, das die parameter von httppost analgo deren von axios.post sind.
                ich habe den obigen code durch die ki auf axios umschreiben lassen und axios.post, dann durch httpPost ersetzt.

                ich habe dann noch zusätzlich 2 console.log eingefügt, um zu prüfen, was da für daten zurückkommen, bevor sie weiterverarbeitet werden.

                bitte mal probieren.
                Ich weiß nicht, ob die Datenpunktnamen angepasst werden sollten.
                Sollte da nicht was wie

                0_userdata.HyWeb.Batterie
                

                oder

                javascript.0.HyWeb.Batterie
                

                stehen?
                an andere Stellen sollte man eigentlich nicht schreiben.
                Die datenpunkte sollten auch schon existieren.

                var TimeInterval= setInterval(MyJavascript ,5000);
                
                async function MyJavascript() {
                  const user = "hycube";
                  const password = "hycube";
                  const authUrl = 'http://10.1.1.51/auth/';
                  const getValuesUrl = 'http://10.1.1.51/get_values/';
                
                  try {
                    const authResponse = await httpPost(authUrl, null, {
                      headers: {
                        'Authorization': `Basic ${Buffer.from(`${user}:${password}`).toString('base64')}`
                      }
                    });
                    console.log(authResponse.data);
                    const authToken = authResponse.data;
                
                    const getValuesResponse = await httpPost(getValuesUrl, null, {
                      headers: {
                        'Authorization': authToken
                      }
                    });
                    console.log(getValuesResponse.data);
                    const result = getValuesResponse.data;
                
                    const GridPower = result["Grid_P"];
                    const BatteryPower = result["Battery_P"];
                    const HausPower = result["Home_P"];
                    const solar = result["solar1_P"];
                
                    setState('HyWeb.Batterie', BatteryPower);
                    setState('HyWeb.Grid', GridPower);
                    setState('HyWeb.Hausverbrauch', HausPower);
                    setState('HyWeb.Solar', solar);
                  } catch (error) {
                    console.log("An error occurred:", error.message);
                  }
                }
                
                haus-automatisierungH Online
                haus-automatisierungH Online
                haus-automatisierung
                Developer Most Active
                schrieb am zuletzt editiert von
                #9

                @oliverio sagte in Zugangsgeschützte API-Schnittstelle auslesen mit Blockly:

                leider ist die doku https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#httppost auch interpretationswürdig

                Lass mich gerne wissen was dir fehlt oder erstelle einen PR

                🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                📚 Meine inoffizielle ioBroker Dokumentation

                OliverIOO 1 Antwort Letzte Antwort
                0
                • haus-automatisierungH haus-automatisierung

                  @oliverio sagte in Zugangsgeschützte API-Schnittstelle auslesen mit Blockly:

                  leider ist die doku https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#httppost auch interpretationswürdig

                  Lass mich gerne wissen was dir fehlt oder erstelle einen PR

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

                  @haus-automatisierung

                  zumindest mal die Erwähnung der möglichen Parameter

                  httpGet(url[, config])
                  httpPost(url[, data[, config]])

                  und ggfs. einen Verweis auf die Axios Dokumentation., was das Config-Objekt alles kann

                  In der Dokumentation sehe ich nur einen Aufruf.
                  Den ersten Parameter mit url können die meisten noch erkennen,
                  das der 2.Parameter ein optinaler Datenblock ist oder was es für Config-Möglichkeiten gibt, ist für die meisten hier wahre Magie.

                  ohne die Referenz auf Axios können viele, die das nicht wissen, im Internet nicht nach Alternativ-Beispiele suchen und sind dann unbedingt hier aufs Forum angewiesen.

                  Ich kann da gern einen PR machen
                  https://github.com/ioBroker/ioBroker.javascript/pull/1637

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

                  haus-automatisierungH 1 Antwort Letzte Antwort
                  0
                  • OliverIOO OliverIO

                    @haus-automatisierung

                    zumindest mal die Erwähnung der möglichen Parameter

                    httpGet(url[, config])
                    httpPost(url[, data[, config]])

                    und ggfs. einen Verweis auf die Axios Dokumentation., was das Config-Objekt alles kann

                    In der Dokumentation sehe ich nur einen Aufruf.
                    Den ersten Parameter mit url können die meisten noch erkennen,
                    das der 2.Parameter ein optinaler Datenblock ist oder was es für Config-Möglichkeiten gibt, ist für die meisten hier wahre Magie.

                    ohne die Referenz auf Axios können viele, die das nicht wissen, im Internet nicht nach Alternativ-Beispiele suchen und sind dann unbedingt hier aufs Forum angewiesen.

                    Ich kann da gern einen PR machen
                    https://github.com/ioBroker/ioBroker.javascript/pull/1637

                    haus-automatisierungH Online
                    haus-automatisierungH Online
                    haus-automatisierung
                    Developer Most Active
                    schrieb am zuletzt editiert von haus-automatisierung
                    #11

                    @oliverio sagte in Zugangsgeschützte API-Schnittstelle auslesen mit Blockly:

                    zumindest mal die Erwähnung der möglichen Parameter

                    Das geben doch alles die Typings vor. Bisher werden daher in keiner Funktion alle Parameter genau in der Doku erklärt.

                    https://github.com/ioBroker/ioBroker.javascript/blob/bdfc9031a32b4f7c7b08203a389e968961aa73cb/lib/javascript.d.ts#L1330-L1340

                    Screenshot 2024-07-12 at 19.33.21.png

                    @oliverio sagte in Zugangsgeschützte API-Schnittstelle auslesen mit Blockly:

                    und ggfs. einen Verweis auf die Axios Dokumentation., was das Config-Objekt alles kann

                    Da findet intern ein Mapping statt. Ziel ist es, unabhängig von einer Bibliothek zu sein. Daher ist die Referenz auf axios falsch. Es wird nicht alles 1:1 an axios weitergegeben. Um in Zukunft die Lib austauschen zu können und nicht wieder in die Problematik (wie bei request) zu laufen.

                    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                    📚 Meine inoffizielle ioBroker Dokumentation

                    OliverIOO 1 Antwort Letzte Antwort
                    0
                    • T TT-Tom

                      @schnipsel71

                      probiere mal hiermit, ob du den Token zurück bekommst.

                      httpPost(
                          'http://10.1.1.51/auth/',
                          {
                              timeout: 2000,
                              basicAuth: {
                                  user: 'hycube',
                                  password: 'hycube',
                              },
                          },
                          (error, response) => {
                              if (!error) {
                                  console.log(response.statusCode);
                                  console.log(response.data);
                                  console.log(response.headers);
                              } else {
                                  console.error(error);
                              }
                          }
                      );
                      

                      Poste dann mal die Ausgaben vom Log

                      S Offline
                      S Offline
                      schnipsel71
                      schrieb am zuletzt editiert von
                      #12

                      @tt-tom Ich bekomme 2 Sekunden nach Start des Programms nur das hier:

                      javascript.0 908	2024-07-13 01:10:42.983	error	script.js.common.Hycube_neu: timeout of 2000ms exceeded
                      
                      OliverIOO T 2 Antworten Letzte Antwort
                      0
                      • haus-automatisierungH haus-automatisierung

                        @oliverio sagte in Zugangsgeschützte API-Schnittstelle auslesen mit Blockly:

                        zumindest mal die Erwähnung der möglichen Parameter

                        Das geben doch alles die Typings vor. Bisher werden daher in keiner Funktion alle Parameter genau in der Doku erklärt.

                        https://github.com/ioBroker/ioBroker.javascript/blob/bdfc9031a32b4f7c7b08203a389e968961aa73cb/lib/javascript.d.ts#L1330-L1340

                        Screenshot 2024-07-12 at 19.33.21.png

                        @oliverio sagte in Zugangsgeschützte API-Schnittstelle auslesen mit Blockly:

                        und ggfs. einen Verweis auf die Axios Dokumentation., was das Config-Objekt alles kann

                        Da findet intern ein Mapping statt. Ziel ist es, unabhängig von einer Bibliothek zu sein. Daher ist die Referenz auf axios falsch. Es wird nicht alles 1:1 an axios weitergegeben. Um in Zukunft die Lib austauschen zu können und nicht wieder in die Problematik (wie bei request) zu laufen.

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

                        @haus-automatisierung

                        Schnipsel hat keine Ahnung von typings
                        Und ich hab es trocken ohne live ein Script zu erstellen.

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

                        1 Antwort Letzte Antwort
                        0
                        • S schnipsel71

                          @tt-tom Ich bekomme 2 Sekunden nach Start des Programms nur das hier:

                          javascript.0 908	2024-07-13 01:10:42.983	error	script.js.common.Hycube_neu: timeout of 2000ms exceeded
                          
                          OliverIOO Offline
                          OliverIOO Offline
                          OliverIO
                          schrieb am zuletzt editiert von
                          #14

                          @schnipsel71

                          Dann hat das nach 2 Sekunden das Gerät nicht reagiert. Steht da die richtige IP Adresse drin ?

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

                          S 1 Antwort Letzte Antwort
                          0
                          • S schnipsel71

                            @tt-tom Ich bekomme 2 Sekunden nach Start des Programms nur das hier:

                            javascript.0 908	2024-07-13 01:10:42.983	error	script.js.common.Hycube_neu: timeout of 2000ms exceeded
                            
                            T Offline
                            T Offline
                            TT-Tom
                            schrieb am zuletzt editiert von
                            #15

                            @schnipsel71 wenn die url stimmt dann setze den timeout einfach mal höher 3000 oder mehr.

                            Gruß Tom
                            https://github.com/tt-tom17
                            Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                            NSPanel Script Wiki
                            https://github.com/joBr99/nspanel-lovelace-ui/wiki

                            NSPanel Adapter Wiki
                            https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                            S 1 Antwort Letzte Antwort
                            0
                            • OliverIOO OliverIO

                              @schnipsel71

                              ohne garantie. da ich es ja selbst nicht testen kann.
                              leider ist die doku https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#httppost auch interpretationswürdig.
                              ich gehe mal davon aus, das die parameter von httppost analgo deren von axios.post sind.
                              ich habe den obigen code durch die ki auf axios umschreiben lassen und axios.post, dann durch httpPost ersetzt.

                              ich habe dann noch zusätzlich 2 console.log eingefügt, um zu prüfen, was da für daten zurückkommen, bevor sie weiterverarbeitet werden.

                              bitte mal probieren.
                              Ich weiß nicht, ob die Datenpunktnamen angepasst werden sollten.
                              Sollte da nicht was wie

                              0_userdata.HyWeb.Batterie
                              

                              oder

                              javascript.0.HyWeb.Batterie
                              

                              stehen?
                              an andere Stellen sollte man eigentlich nicht schreiben.
                              Die datenpunkte sollten auch schon existieren.

                              var TimeInterval= setInterval(MyJavascript ,5000);
                              
                              async function MyJavascript() {
                                const user = "hycube";
                                const password = "hycube";
                                const authUrl = 'http://10.1.1.51/auth/';
                                const getValuesUrl = 'http://10.1.1.51/get_values/';
                              
                                try {
                                  const authResponse = await httpPost(authUrl, null, {
                                    headers: {
                                      'Authorization': `Basic ${Buffer.from(`${user}:${password}`).toString('base64')}`
                                    }
                                  });
                                  console.log(authResponse.data);
                                  const authToken = authResponse.data;
                              
                                  const getValuesResponse = await httpPost(getValuesUrl, null, {
                                    headers: {
                                      'Authorization': authToken
                                    }
                                  });
                                  console.log(getValuesResponse.data);
                                  const result = getValuesResponse.data;
                              
                                  const GridPower = result["Grid_P"];
                                  const BatteryPower = result["Battery_P"];
                                  const HausPower = result["Home_P"];
                                  const solar = result["solar1_P"];
                              
                                  setState('HyWeb.Batterie', BatteryPower);
                                  setState('HyWeb.Grid', GridPower);
                                  setState('HyWeb.Hausverbrauch', HausPower);
                                  setState('HyWeb.Solar', solar);
                                } catch (error) {
                                  console.log("An error occurred:", error.message);
                                }
                              }
                              
                              S Offline
                              S Offline
                              schnipsel71
                              schrieb am zuletzt editiert von
                              #16

                              @oliverio Ich habe einen Unterordner "HyWebNeu" und die vier Variablen darin manuell eingerichtet, dein Code so abgeändert:

                                  setState('0_userdata.0.HyWebNeu.Batterie', BatteryPower);
                                  setState('0_userdata.0.HyWebNeu.Grid', GridPower);
                                  setState('0_userdata.0.HyWebNeu.Hausverbrauch', HausPower);
                                  setState('0_userdata.0.HyWebNeu.Solar', solar);
                              

                              Aber es erscheint dennoch alle fünf Sekunden diese Fehlermeldung:

                              javascript.0 908	2024-07-13 01:27:34.284	info	script.js.common.HycubeOliverIO: An error occurred:
                              
                              T 1 Antwort Letzte Antwort
                              0
                              • S schnipsel71

                                @oliverio Ich habe einen Unterordner "HyWebNeu" und die vier Variablen darin manuell eingerichtet, dein Code so abgeändert:

                                    setState('0_userdata.0.HyWebNeu.Batterie', BatteryPower);
                                    setState('0_userdata.0.HyWebNeu.Grid', GridPower);
                                    setState('0_userdata.0.HyWebNeu.Hausverbrauch', HausPower);
                                    setState('0_userdata.0.HyWebNeu.Solar', solar);
                                

                                Aber es erscheint dennoch alle fünf Sekunden diese Fehlermeldung:

                                javascript.0 908	2024-07-13 01:27:34.284	info	script.js.common.HycubeOliverIO: An error occurred:
                                
                                T Offline
                                T Offline
                                TT-Tom
                                schrieb am zuletzt editiert von
                                #17

                                @schnipsel71 sind das alle Meldungen die du bekommst??

                                Gruß Tom
                                https://github.com/tt-tom17
                                Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                                NSPanel Script Wiki
                                https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                NSPanel Adapter Wiki
                                https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                                S 1 Antwort Letzte Antwort
                                0
                                • OliverIOO OliverIO

                                  @schnipsel71

                                  Dann hat das nach 2 Sekunden das Gerät nicht reagiert. Steht da die richtige IP Adresse drin ?

                                  S Offline
                                  S Offline
                                  schnipsel71
                                  schrieb am zuletzt editiert von
                                  #18

                                  @oliverio Ja, die ist richtig.

                                  1 Antwort Letzte Antwort
                                  0
                                  • T TT-Tom

                                    @schnipsel71 wenn die url stimmt dann setze den timeout einfach mal höher 3000 oder mehr.

                                    S Offline
                                    S Offline
                                    schnipsel71
                                    schrieb am zuletzt editiert von
                                    #19

                                    @tt-tom Hab' ich gemacht. Die gleiche Fehlermeldung kommt aber wieder nach 2 Sekunden.

                                    T 1 Antwort Letzte Antwort
                                    0
                                    • T TT-Tom

                                      @schnipsel71 sind das alle Meldungen die du bekommst??

                                      S Offline
                                      S Offline
                                      schnipsel71
                                      schrieb am zuletzt editiert von
                                      #20

                                      @tt-tom Ja, leider.

                                      1 Antwort Letzte Antwort
                                      0
                                      • S schnipsel71

                                        @tt-tom Hab' ich gemacht. Die gleiche Fehlermeldung kommt aber wieder nach 2 Sekunden.

                                        T Offline
                                        T Offline
                                        TT-Tom
                                        schrieb am zuletzt editiert von
                                        #21

                                        @schnipsel71 wenn du timeout auf 3000 setzt kommt nach zwei Sekunden die Fehlermeldung. Kann ich nicht nachvollziehen. Zeige mal das Script bitte.

                                        Gruß Tom
                                        https://github.com/tt-tom17
                                        Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                                        NSPanel Script Wiki
                                        https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                        NSPanel Adapter Wiki
                                        https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                                        S 1 Antwort Letzte Antwort
                                        0
                                        • T TT-Tom

                                          @schnipsel71 wenn du timeout auf 3000 setzt kommt nach zwei Sekunden die Fehlermeldung. Kann ich nicht nachvollziehen. Zeige mal das Script bitte.

                                          S Offline
                                          S Offline
                                          schnipsel71
                                          schrieb am zuletzt editiert von
                                          #22

                                          @tt-tom

                                          httpPost(
                                              'http://ip/auth/',
                                              {
                                                  timeout: 3000,
                                                  basicAuth: {
                                                      user: 'hycube',
                                                      password: 'hycube',
                                                  },
                                              },
                                              (error, response) => {
                                                  if (!error) {
                                                      console.log(response.statusCode);
                                                      console.log(response.data);
                                                      console.log(response.headers);
                                                  } else {
                                                      console.error(error);
                                                  }
                                              }
                                          )
                                          

                                          und hier das Log:

                                          javascript.0	02:39:28.715	info	Start JavaScript script.js.common.Hycube_neu (Javascript/js)
                                          javascript.0	02:39:28.727	info	script.js.common.Hycube_neu: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                          javascript.0	02:39:30.730	error	script.js.common.Hycube_neu: timeout of 2000ms exceeded
                                          
                                          T 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

                                          718

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          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