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

                          455

                          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