Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Einsteigerfragen
  4. Einbindung von Geräten
  5. [gelöst]Hycube PV Anlage

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

[gelöst]Hycube PV Anlage

Scheduled Pinned Locked Moved Einbindung von Geräten
8 Posts 2 Posters 953 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Heiko GlohrH Offline
    Heiko GlohrH Offline
    Heiko Glohr
    wrote on last edited by Heiko Glohr
    #1

    Hallo,

    ich habe eine PV Anlage von Hycube. Da gibt es eine API Beschreibung für den Zugriff.
    Leider fehlt mir da irgendwie das Wissen wie das in iobroker angelegt wird.
    Ich bin grad dran mich mit JavaScript auseinanderzusetzen aber irgendwie krieg ich die Kurve nicht.
    Ich lade mal die API Beschreibung hochAPI_Manual.pdf

    Mir ist nicht klar wie ich wo was anlegen muss.
    Habe versucht das Zeile für Zeile abzutippen aber es kommen dann relativ schnell Fehler.

    Gibts jemand der mich da unterstützen würde?

    Gruß Heiko

    paul53P 1 Reply Last reply
    0
    • Heiko GlohrH Heiko Glohr

      Hallo,

      ich habe eine PV Anlage von Hycube. Da gibt es eine API Beschreibung für den Zugriff.
      Leider fehlt mir da irgendwie das Wissen wie das in iobroker angelegt wird.
      Ich bin grad dran mich mit JavaScript auseinanderzusetzen aber irgendwie krieg ich die Kurve nicht.
      Ich lade mal die API Beschreibung hochAPI_Manual.pdf

      Mir ist nicht klar wie ich wo was anlegen muss.
      Habe versucht das Zeile für Zeile abzutippen aber es kommen dann relativ schnell Fehler.

      Gibts jemand der mich da unterstützen würde?

      Gruß Heiko

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by paul53
      #2

      @heiko-glohr sagte: Habe versucht das Zeile für Zeile abzutippen aber es kommen dann relativ schnell Fehler.

      Du hast das Skript für ioBroker abgetippt? Dann poste es bitte in Code tags mit der richtigen IP-Adresse des Hycube.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      Heiko GlohrH 1 Reply Last reply
      0
      • paul53P paul53

        @heiko-glohr sagte: Habe versucht das Zeile für Zeile abzutippen aber es kommen dann relativ schnell Fehler.

        Du hast das Skript für ioBroker abgetippt? Dann poste es bitte in Code tags mit der richtigen IP-Adresse des Hycube.

        Heiko GlohrH Offline
        Heiko GlohrH Offline
        Heiko Glohr
        wrote on last edited by
        #3

        @paul53
        Wieder gelöscht 😬

        Ich kann das aber die Woche nochmal machen

        paul53P 1 Reply Last reply
        0
        • Heiko GlohrH Heiko Glohr

          @paul53
          Wieder gelöscht 😬

          Ich kann das aber die Woche nochmal machen

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by paul53
          #4

          @heiko-glohr sagte: Wieder gelöscht

          Du kannst es mal hiermit versuchen:

          // Konstanten anpassen!
          const ip = 'http://10.1.1.51/';
          const path = '0_userdata.0.Hycube.Power.';
          const user = "hycube";
          const password = "hycube";
          
          function MyJavascript() {
              var options = {
                  url: ip + '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 Auth-Fehler ist aufgetreten ")
                  } else {
                      options = {
                          url: ip + 'get_values/',
                          headers: {
                              "Authorization": body
                          },
                          body: '<?xml version="1.0" encoding="UTF-8"? > [...]'
                      };
                      request.post(options, function(error, response, body) {
                          if (error) {
                              console .log ("Ein Daten-Fehler ist aufgetreten ")
                          } else {
                              var result = JSON.parse(body);
                              setState (path + 'Batterie', result.Battery_P, true);
                              setState (path + 'Grid', result.Grid_P, true);
                              setState (path + 'Hausverbrauch', result.Home_P, true);
                              setState (path + 'Solar', result.solar1_P, true);
                          }
                      });
                  }
              });
          }
          
          schedule('*/5 * * * * *', MyJavascript);
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          Heiko GlohrH 2 Replies Last reply
          0
          • paul53P paul53

            @heiko-glohr sagte: Wieder gelöscht

            Du kannst es mal hiermit versuchen:

            // Konstanten anpassen!
            const ip = 'http://10.1.1.51/';
            const path = '0_userdata.0.Hycube.Power.';
            const user = "hycube";
            const password = "hycube";
            
            function MyJavascript() {
                var options = {
                    url: ip + '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 Auth-Fehler ist aufgetreten ")
                    } else {
                        options = {
                            url: ip + 'get_values/',
                            headers: {
                                "Authorization": body
                            },
                            body: '<?xml version="1.0" encoding="UTF-8"? > [...]'
                        };
                        request.post(options, function(error, response, body) {
                            if (error) {
                                console .log ("Ein Daten-Fehler ist aufgetreten ")
                            } else {
                                var result = JSON.parse(body);
                                setState (path + 'Batterie', result.Battery_P, true);
                                setState (path + 'Grid', result.Grid_P, true);
                                setState (path + 'Hausverbrauch', result.Home_P, true);
                                setState (path + 'Solar', result.solar1_P, true);
                            }
                        });
                    }
                });
            }
            
            schedule('*/5 * * * * *', MyJavascript);
            
            Heiko GlohrH Offline
            Heiko GlohrH Offline
            Heiko Glohr
            wrote on last edited by
            #5

            @paul53

            Vielen Dank!
            Soweit ich sehe, läuft das Script und ich bekomme Daten in die angelegten Datenpunkte.
            Jetzt muss ich mal selber veruschen weitere Daten auszulesen.

            Da steckt ja denke ich noch einiges mehr drin und dann mal sehen wie ich das visualisiere.
            In nächster Zeit werde ich mich mal selbst mehr mit JavaScript befassen.
            Vielleicht verstehe ich dann die Zusammenhänge besser :-)

            1 Reply Last reply
            0
            • paul53P paul53

              @heiko-glohr sagte: Wieder gelöscht

              Du kannst es mal hiermit versuchen:

              // Konstanten anpassen!
              const ip = 'http://10.1.1.51/';
              const path = '0_userdata.0.Hycube.Power.';
              const user = "hycube";
              const password = "hycube";
              
              function MyJavascript() {
                  var options = {
                      url: ip + '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 Auth-Fehler ist aufgetreten ")
                      } else {
                          options = {
                              url: ip + 'get_values/',
                              headers: {
                                  "Authorization": body
                              },
                              body: '<?xml version="1.0" encoding="UTF-8"? > [...]'
                          };
                          request.post(options, function(error, response, body) {
                              if (error) {
                                  console .log ("Ein Daten-Fehler ist aufgetreten ")
                              } else {
                                  var result = JSON.parse(body);
                                  setState (path + 'Batterie', result.Battery_P, true);
                                  setState (path + 'Grid', result.Grid_P, true);
                                  setState (path + 'Hausverbrauch', result.Home_P, true);
                                  setState (path + 'Solar', result.solar1_P, true);
                              }
                          });
                      }
                  });
              }
              
              schedule('*/5 * * * * *', MyJavascript);
              
              Heiko GlohrH Offline
              Heiko GlohrH Offline
              Heiko Glohr
              wrote on last edited by
              #6

              @paul53
              Was ich noch nicht genz verstehe ist:

              setState (path + 'Solar', result.solar1_P, true); liefert im Datenobject als Wert {"ack":true}

              mache ich in der nächsten Zeile win neues setState auf Solar2
              also:

              setState (path + 'Solar2', result.solar2_P, true); Dann kommt dort als Wert eine Zahl ( Erzeugung PV Leitung)

              Das ist aber dann nur das was die West Seite liefert.
              Solar1 müsste Ost sein.

              Das macht mich noch etwas stutzig.
              Wenn ich an der Anlage direkt nachschaue dann steht bei Solar1 und Solar2 eine derzeitige Erzeugung drin.

              Ansonsten müsste ich mal den Hersteller kontaktieren

              paul53P 1 Reply Last reply
              0
              • Heiko GlohrH Heiko Glohr

                @paul53
                Was ich noch nicht genz verstehe ist:

                setState (path + 'Solar', result.solar1_P, true); liefert im Datenobject als Wert {"ack":true}

                mache ich in der nächsten Zeile win neues setState auf Solar2
                also:

                setState (path + 'Solar2', result.solar2_P, true); Dann kommt dort als Wert eine Zahl ( Erzeugung PV Leitung)

                Das ist aber dann nur das was die West Seite liefert.
                Solar1 müsste Ost sein.

                Das macht mich noch etwas stutzig.
                Wenn ich an der Anlage direkt nachschaue dann steht bei Solar1 und Solar2 eine derzeitige Erzeugung drin.

                Ansonsten müsste ich mal den Hersteller kontaktieren

                paul53P Offline
                paul53P Offline
                paul53
                wrote on last edited by paul53
                #7

                @heiko-glohr sagte: result.solar1_P

                Mal versucht mit?

                result.Solar1_P
                

                Hycube.JPG

                Falls es nicht funktioniert, logge mal body (ist ein JSON).

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                Heiko GlohrH 1 Reply Last reply
                0
                • paul53P paul53

                  @heiko-glohr sagte: result.solar1_P

                  Mal versucht mit?

                  result.Solar1_P
                  

                  Hycube.JPG

                  Falls es nicht funktioniert, logge mal body (ist ein JSON).

                  Heiko GlohrH Offline
                  Heiko GlohrH Offline
                  Heiko Glohr
                  wrote on last edited by
                  #8

                  @paul53

                  funktioniert.
                  Er hat als state nur solar_P angelegt
                  Jetzt kommen beide Werte.

                  Thanks!

                  1 Reply Last reply
                  0
                  Reply
                  • Reply as topic
                  Log in to reply
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes


                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  696

                  Online

                  32.6k

                  Users

                  82.3k

                  Topics

                  1.3m

                  Posts
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                  ioBroker Community 2014-2025
                  logo
                  • Login

                  • Don't have an account? Register

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Home
                  • Recent
                  • Tags
                  • Unread 0
                  • Categories
                  • Unreplied
                  • Popular
                  • GitHub
                  • Docu
                  • Hilfe