Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Solarwatt Energymanager flex Daten auslesen die Zweite

NEWS

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    720

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.4k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    5.4k

Solarwatt Energymanager flex Daten auslesen die Zweite

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
solarwattenergymanager flexregex
37 Beiträge 5 Kommentatoren 2.3k Aufrufe 4 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • mcBirneM Offline
    mcBirneM Offline
    mcBirne
    schrieb am zuletzt editiert von
    #23

    Kannst du dich bei der IP vom Energimanager einloggen? Also hier http://192.168.180.72?

    1 Antwort Letzte Antwort
    0
    • D Offline
      D Offline
      DerAngler
      schrieb am zuletzt editiert von
      #24

      Hallo zusammen,
      ich bin aus dem Thema lange raus und meine Doku ist ein graus bzw. gar nicht vorhanden.
      Aber das:

      DerAngler sagte:

      @mcbirne Nein, der Zugang ist seit einem update von Solarwatt ein anderer. Man muss sich zuerst auf dem Energymanager
      einloggen, dann wird vom Energymanager ein Session-Cookie vergeben.
      Nur mit diesem Session-Cookie kann man dann über iobroker die Daten auslesen. Ich habe vor 3 Tagen mit Hilfe von Gemini eine Abfrage geschrieben,
      die im Moment im Pobelauf ist und zu funktionieren scheint. Falls ich hier in 2 Tagen nix reingeschrieben habe, melde Dich nochmal. Entweder funktioniert
      die Lösung doch nicht dauerhaft , oder ich habe vergessen sie reinzustellen.

      sollte die Lösung für folgendes sein:

      @Peter60 sagte:

      Hallo DerAngler, am 29.02.24 hattest Du in Deinem Beitrag geschrieben: „Auch ich kann die Seite http://IPSolarmanager/rest/items aufrufen, jedoch verstehe ich nicht, was ich da sehe.“
      An dieser Stelle scheitere ich schon. Firefox Ausgabe (http://192.168.180.72/rest/items) ist bei mir: 401 Authorization Required nginx.
      Muß ich mich kostenpflichtig bei Solarwatt Home plus anmelden um hier authotisiert zu sein? Viele Grüße Peter60

      Du loggst dich auf dem energymanager ein wie von McBirne beschrieben.
      Danach kommst Du auch unter rest/items rein (Session Cookie).
      Du brauchst keine Pro-Version.
      Ich mache alles unter Chrome

      Sorry, ich kann Dich leider nicht mehr supporten, bin im Moment zeitlich recht knapp.
      Versuch bitte die hier aufgeführten Schritte nachzuvollziehen.

      Alles Gute, Viel Erfolg

      DerAngler

      1 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        Peter60
        schrieb am zuletzt editiert von
        #25

        Hallo DerAngler und mcBirne, vielen, vielen Dank für Eure Hilfe. So bin ich wieder ein Schritt weiter:
        Mit http://192.168.180.72 komme ich auf http://192.168.180.72/em-setup/login und kann ich mich hier mit dem PW welches auf dem Solarwatt Manager flex aufgedruckt ist einloggen. Dann gelange ich auf http://192.168.180.72/em-setup/dashboard und kann auch http://192.168.180.72/rest/items erfolgreich öffnen. Unter Tab json sehe ich jetzt 2 Ordner (0 … 99) und (100 … 150) mit logischerweise 150 Zeilen in Summe. Bei mir sieht z.B. Zeile 17 so aus: link: "http://karaf/rest/items/foxesshybrid_battery_2RHD123055DM049_battery_bms_soc", state: "100.00000000000001 %", editable: false, … }. Das ist der Akku Ladestand in Prozent. Als nächstes versuche ich das Script anzupassen. In welchen Pfad sollte das Script installiert werden? Viele Grüße Peter

        1 Antwort Letzte Antwort
        0
        • mcBirneM Offline
          mcBirneM Offline
          mcBirne
          schrieb am zuletzt editiert von mcBirne
          #26

          ich habe es in einem Blockly integriert. Dort habe ich es als Javascript-Funktion eingefügt und es hat funktioniert.
          369c4e21-404c-4a93-b0d1-47a76a8bc671-image.jpeg

          1 Antwort Letzte Antwort
          0
          • Q Offline
            Q Offline
            qwasi
            schrieb am zuletzt editiert von
            #27

            Hallo, ich lese die Werte direkt mit Modbus aus dem Wechselrichter aus. Da ist auch möglich die Einspeißung zu begrenzen oder den Akku zu steuern.

            fca9e143-9eb9-4073-89e2-f97da8bc40c8-image.jpeg

            1 Antwort Letzte Antwort
            0
            • mcBirneM Offline
              mcBirneM Offline
              mcBirne
              schrieb am zuletzt editiert von
              #28

              Das ist ja super. So etwas habe ich schon lange gesucht. Kann man damit vielleicht sogar den Speicher mit Netzstrom laden? Sind die Register irgendwo beschrieben?

              1 Antwort Letzte Antwort
              0
              • Q Offline
                Q Offline
                qwasi
                schrieb am zuletzt editiert von
                #29

                Einfach mal suchen " Modbus Definition (V1.02.00.00) " , Ich kann aber nicht sagen ob die Register für alle Wechselrichter funktionieren, ich habe den 1Phasen mit 5KW von SW Vision. Es gibt auch noch eine Modbus Definition V2 von FOXESS mit der funktionierte es bei mir nicht.

                1 Antwort Letzte Antwort
                0
                • Q Offline
                  Q Offline
                  qwasi
                  schrieb am zuletzt editiert von
                  #30

                  screenshot_20260415_194926.png

                  1 Antwort Letzte Antwort
                  0
                  • Q Offline
                    Q Offline
                    qwasi
                    schrieb am zuletzt editiert von
                    #31

                    f8ee9cc2-8bd4-4b56-830c-6ad0b61e2c14-image.jpeg

                    1 Antwort Letzte Antwort
                    0
                    • mcBirneM Offline
                      mcBirneM Offline
                      mcBirne
                      schrieb am zuletzt editiert von
                      #32

                      Ok, du hast einen Solarwatt Wechselrichter. Ich habe welche von SMA und den Battery flex (Speicher) von Solarwatt. Auf den Speicher kann man soweit ich weiß nicht per Modbus zugreifen. Das geht nur über den Energymanager.
                      Keine Ahnung wie der Energymanager mit die Speicher kommuniziert.

                      1 Antwort Letzte Antwort
                      0
                      • P Offline
                        P Offline
                        Peter60
                        schrieb am zuletzt editiert von
                        #33

                        Hallo in die Runde, nachdem ich 6 Wochen die Solarwatt Manager flex problemlos auslesen und in meiner Homematic Hausautomatisierung nutzen konnte, gehen jetzt die Probleme wieder los. Die Variablen vom Solarwatt Manager werden nicht mehr geändert. Beim Versuch den Fehler einzugrenzen habe ich festgestellt das ich weiterhin auf http://192.168.180.72/em-setup/dashboard gelange, aber http://192.168.180.72/rest/items mir einen Fehler anzeigt:
                        exceptionType "javax.ws.rs.NotFoundException"
                        message "HTTP 404 Not Found"
                        Auslöser war ein Neustart des Solorwatt Manger flex, wobei vermutlich gleich ein Firmware Update durchgeführt wurde.
                        Hat jemand das gleiche Problem? Hat eventuell jemand einen Tipp zur Problemlösung? Danke im voraus und viele Grüße Peter

                        1 Antwort Letzte Antwort
                        0
                        • mcBirneM Offline
                          mcBirneM Offline
                          mcBirne
                          schrieb am zuletzt editiert von
                          #34

                          Ja, leider hat solarwatt da wieder was verändert. Ich habe s umgestellt und lese die Daten jetzt direkt vom Speicher. wenn ich die IP des Speichers eingeben, erhalte ich alle für mich wichtigen Daten wie Akkustand, Netzbezug und Speicherladung. Du musst die IP Adresse und die Namen der Variablen anpassen.

                          const url = "http://192.168.178.xxx/stat";
                          
                          schedule("*/5 * * * * *", function () {
                          
                              httpGet(url, { timeout: 4000 },function (err, response) {
                          
                                  if (err) {
                                      log("Solarwatt-Fehler: " + err, "error");
                                      return;
                                  }
                          
                                  try {
                                      const data = JSON.parse(response.data);
                          
                                      // Ladezustand
                                      setState("0_userdata.0.PV_Anlage.Batterie.Ladezustand", data.SoC, true);
                          
                                      // Batterieleistung
                                      if (data.PBat >= 0) {
                                          // Batterie entlädt
                                          setState("0_userdata.0.PV_Anlage.Batterie.Speicherentladung", data.PBat, true);
                                          setState("0_userdata.0.PV_Anlage.Batterie.Speicherladung", 0, true);
                                      } else {
                                          // Batterie lädt
                                          setState("0_userdata.0.PV_Anlage.Batterie.Speicherentladung", 0, true);
                                          setState("0_userdata.0.PV_Anlage.Batterie.Speicherladung", Math.abs(data.PBat), true);
                                      }
                          
                                      // Netzleistung
                                      if (data.PGrid >= 0) {
                                          // Netzbezug
                                          setState("0_userdata.0.PV_Anlage.Batterie.Netzbezug", data.PGrid, true);
                                          setState("0_userdata.0.PV_Anlage.Batterie.Netzeinspeisung", 0, true);
                                      } else {
                                          // Netzeinspeisung
                                          setState("0_userdata.0.PV_Anlage.Batterie.Netzbezug", 0, true);
                                          setState("0_userdata.0.PV_Anlage.Batterie.Netzeinspeisung", Math.abs(data.PGrid), true);
                                      }       
                          
                                  } catch (e) {
                                      log("Solarwatt JSON-Fehler: " + e, "error");
                                  }
                          
                              });
                          
                          });
                          
                          1 Antwort Letzte Antwort
                          1
                          • P Offline
                            P Offline
                            Peter60
                            schrieb am zuletzt editiert von
                            #35

                            Hallo mcBirne, vielen Dank für die Information. Da bin ich erst mal beruhigt das es nicht irgendwie an meiner Konfiguration/ meinen Einstellungen liegt und werde die nächsten Tage versuchen Deine Lösung zu übernehmen. Parallel habe ich eine Anfrage per E-Mail an Solarwatt geschickt, erwarte von dort aber nicht wirklich einen Lösungsvorschlag :-(.
                            Viele Grüße Peter

                            1 Antwort Letzte Antwort
                            0
                            • mcBirneM Offline
                              mcBirneM Offline
                              mcBirne
                              schrieb am zuletzt editiert von
                              #36

                              Von Solarwatt wird vermutlich nichts kommen. Habe da vor 2 oder 3 Jahren schon mehrere Anfragen gestartet, aber nie eine zufriedenstellende Rückmeldung erhalten, außer dass das System ein geschlossenes System ist.

                              1 Antwort Letzte Antwort
                              0
                              • D Offline
                                D Offline
                                DerAngler
                                schrieb am zuletzt editiert von
                                #37

                                Hallo zusammen,

                                ich habe jetzt eine "Mischlösung" aus McBirne und meinem vorherigen Code gemacht.
                                So komme ich an mehr Daten glaube ich.
                                Vielleicht hilft es jemandem.

                                const axios = require('axios');
                                const { wrapper } = require('axios-cookiejar-support');
                                const tough = require('tough-cookie');
                                
                                // --- Konfiguration ---
                                const IP_MANAGER = '192.168.178.XX';
                                const IP_BATTERY = '192.168.178.XX';
                                
                                const LOGIN_URL = `http://${IP_MANAGER}/auth/login`;
                                const URL_ENERGY = `http://${IP_MANAGER}/rest/hems-configurator/energy-overview?kg_session_extend=false`;
                                
                                const BENUTZERNAME = 'installer';
                                const PASSWORT = 'XXXXXX';
                                
                                // Cookie-Jar zur Session-Verwaltung für den Manager
                                const cookieJar = new tough.CookieJar();
                                const client = wrapper(axios.create({ 
                                    jar: cookieJar, 
                                    withCredentials: true,
                                    headers: { 'User-Agent': 'Mozilla/5.0', 'Accept': 'application/json' }
                                }));
                                
                                // Funktion zur automatischen Erstellung der Datenpunkte
                                function initStates() {
                                    const states = [
                                        { id: 'Production', name: 'PV Erzeugung', unit: 'W' },
                                        { id: 'Consumption', name: 'Hausverbrauch', unit: 'W' },
                                        { id: 'FeedIn', name: 'Netzbezug', unit: 'W' },
                                        { id: 'FeedOut', name: 'Einspeisung', unit: 'W' },
                                        { id: 'SoC', name: 'Batterie Ladezustand', unit: '%' },
                                        { id: 'PBat', name: 'Batterieleistung', unit: 'W' },
                                        { id: 'PGrid', name: 'Netzleistung', unit: 'W' }
                                    ];
                                    
                                    states.forEach(s => {
                                        const fullId = 'javascript.0.Solarwatt.' + s.id;
                                        if (!existsState(fullId)) {
                                            createState(fullId, 0, { type: 'number', name: s.name, unit: s.unit, role: 'value' });
                                        }
                                    });
                                }
                                
                                // Initialisierung beim Start
                                initStates();
                                
                                async function updateEnergyData() {
                                    try {
                                        // 1. Energie-Bilanz vom Manager (.64)
                                        await client.post(LOGIN_URL, `username=${BENUTZERNAME}&url=%2F&password=${PASSWORT}&submit=Login`);
                                        const resEnergy = await client.get(URL_ENERGY, { timeout: 10000 });
                                        
                                        if (resEnergy.data) {
                                            setState('javascript.0.Solarwatt.Production', resEnergy.data.production || 0, true);
                                            setState('javascript.0.Solarwatt.Consumption', resEnergy.data.householdConsumption || 0, true);
                                            setState('javascript.0.Solarwatt.FeedIn', resEnergy.data.feedIn || 0, true);
                                            setState('javascript.0.Solarwatt.FeedOut', resEnergy.data.feedOut || 0, true);
                                        }
                                
                                        // 2. Batteriedaten direkt vom Speicher (.65)
                                        const resBattery = await axios.get(`http://${IP_BATTERY}/stat`, { timeout: 5000 });
                                        if (resBattery.data) {
                                            setState('javascript.0.Solarwatt.SoC', resBattery.data.SoC || 0, true);
                                            setState('javascript.0.Solarwatt.PBat', Math.round(resBattery.data.PBat) || 0, true);
                                            setState('javascript.0.Solarwatt.PGrid', resBattery.data.PGrid || 0, true);
                                        }
                                        
                                        log("Daten erfolgreich von .64 und .65 aktualisiert.");
                                    } catch (e) {
                                        log("Fehler bei der Abfrage: " + e.message, "error");
                                    }
                                }
                                
                                // Zeitplan: Alle 60 Sekunden
                                schedule("*/60 * * * * *", updateEnergyData);
                                
                                
                                1 Antwort Letzte Antwort
                                0

                                Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                Registrieren Anmelden
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

                                ioBroker
                                Community Adapters
                                Donate
                                FAQ Cloud / IOT
                                HowTo: Node.js-Update
                                HowTo: Backup/Restore
                                Downloads
                                BLOG

                                458

                                Online

                                33.0k

                                Benutzer

                                83.5k

                                Themen

                                1.3m

                                Beiträge
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2026
                                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