NEWS
modbus Varta pulse neo - Register ??? - ILLEGAL DATA ADDRESS
-
-
@glasfaser Ja der Port ist offen und erreichbar.
Entschuldigt den Screenshot.
Hab den Fehler gefunden er möchte kein Http:// vor der IP in den Einstellungen des Adapters. -
@phoenix Hi, bin noch ziemlich neu in Sachen ioBroker und Modbus.. Die Verbindung zu meinem Varta Pulse Neo 6 funktioniert. Leider kann ich im Modbus-Adapter aber keine .txt im Holding-Register hochladen, gehen immer nur einzelne Zeilen. Kannst du einen mir einen Screenshot von deinem Holding-Register schicken, dann könnte ich es abtippen und es sollte alles funktionieren. Unterm Strich geht es mir ledglich um das Format / Type der einzelnen Zeichen.
init16be = ?
usw.Danke dir
-
Ich betreibe seit 30.11.2022 zu meiner schon vorhandenen 5 kW-PV-Anlage mit einem
Fronius Symo 4.5-3-M einen neu installierten Speicher VARTA Pulse Neo 6.
Diesen kann ich auch über Modbus auslesen.
Mir ist aufgefallen das meine Adressen immer eine Zahl höher ist als alle bisher angegebenen.
Da habe ich zwar keine Erklärung für, aber es funktioniert._address name description unit type len factor offset formula role room poll wp cw isScale 41001 software version EMS software version EMS int32be 2 1 0 value true false 41054 timestamp timestamp uint16be 1 1 0 x / 1000 value true false 41065 bm_installed Anzahl der installierten Batteriemodule uint16be 1 1 0 value true false 41066 state Status uint16be 1 1 0 value true false 41067 active power Wirkleistung W int16be 1 1 0 value true false 41068 apparent power Scheinleistung VA int16be 1 1 0 value true false 41069 soc Gesamtladezustand % uint16be 1 1 0 value true false 41070 energy counter ac to dc Gesamtladeenergie kWh uint16be 1 1 0 x / 1000 value true false 41072 installed capacity Summe aller installierten Batteriemodule kWh uint16be 1 1 0 x / 100 value true false 41073 grid power ? gemessen am Netzanschlusspunkt des Haushalts ? W int16be 1 1 0 value true false 41075 available AC charging power tatsächlich verfügbare Ladeleistung (AC) kW uint16be 1 1 0 x / 1000 value true false 41076 available AC discharging power tatsächlich verfügbare Entladeleistung (AC) kW uint16be 1 1 0 x / 1000 value true false 41077 usable energy for charging Energie, die zum Aufladen zur Verfügung steht kWh uint16be 1 1 0 x / 1000 value true false 41078 usable energy for discharging Energie, die zum Entladen zur Verfügung steht Wh uint16be 1 1 0 value true false 41079 grid power Netzanschluss: neg./ Verbrauch - pos./ Einspeisung W int16be 1 1 0 value true false 41080 PV-sensor power aktuelle AC-Erzeugungsleistung, gemessen mit dem PV-Sensor von VARTA kW uint16be 1 1 0 x / 1000 value true false 41083 grid frequency durchschnittliche Netzfrequenz Hz uint16be 1 1 0 x / 100 value true false 41084 available AC charging power tatsächlich verfügbare Ladeleistung (AC) W uint16be 1 1 0 value true false 41085 available AC discharging power verfügbare AC-Entladeleistung W uint16be 1 1 0 value true false 41086 usable energy for charging Energie, die zum Aufladen zur Verfügung steht Wh uint16be 1 1 0 value true false 41087 usable energy for discharging Energie, die zur Entladung zur Verfügung steht Wh uint16be 1 1 0 value true false 41088 reactive power Blindleistung, gemessen am internen Wechselrichter var uint16be 1 1 0 value true false 41103 PV-sensor power aktuelle AC-Erzeugungsleistung, gemessen mit dem PV-Sensor von VARTA W uint16be 1 1 0 value true false 42067 active power SF Exponent für die Wirkleistung int16be 1 1 0 value true false 42068 apparent power SF Exponent für die Scheinleistung (wie Wirkleistung) int16be 1 1 0 value true false 42070 energy counter SF Exponent für Energiezähler (wie Wirkleistung) int16be 1 1 0 value true false 42072 capacity SF Exponent für Kapazität (wie Wirkleistung) int16be 1 1 0 value true false 42079 grid power SF Exponent für Netzleistung (wie Wirkleistung) int16be 1 1 0 value true false
Nun habe ich allerdings eine Frage zu den ausgelesenen Daten.
Zur Visualisierung baue ich mir gerade Scripte um die Erzeugung, Ladung usw. anzuzeigen.
Allerdings passen diese nicht zu denen des VARTA-Portals.
Beispielsweise lese ich den Zähler (optisch) über Smartmeter aus, die Werte zu Einspeisung
und Verbrauch passen allerdings nicht zu denen im VARTA-Portal (ausgelesen über eingebaute Stromwandler
im Schaltschrank).
Wie kann im VARTA-Portal ein Eigenverbrauch gestern von 14,5 kWh stehen, wenn der Geamtverbrauch nur
12,8 kWh beträgt ?
Soll ich besser meinen ausgelesenen Zählerdaten trauen oder die aus dem VARTA-Portal verwenden?
Bin im Moment ein wenig ratlos, denke ja immer das ich bei meinen Berechnungsscripten etwas falsch gemacht habe.
-
@sprite01 Wie kommst du auf die Adressen? Hier ist ja immer eine "4" vorangestellt - im Vergleich zur bekannten Modbus-Adressliste.
-
Ehrlich gesagt, keine Ahnung mehr. Das war eher "True and Error", ich hatte nur gemerkt das ich mit den u. a. auch hier veröffentlichten nicht klar gekommen bin.
Mit der vorangestellten 4 (und alle Adressen plus 1) wird alles aktualisiert. -
@sprite01 Okay. Laut der Varta Modbus Dokumentation kann der Varta Pulse Neo nämlich z.B. PV-sensor power (Register 1087) nicht auslesen. Ich erhalte über den Varta Speicher also nicht die aktuell von der PV erzeugte Leistung. Ich bekomme es auch nicht hin. Die vorangestellte 4 bringt mich leider auch nicht weiter.
-
@sprite01 Hallo
Bei mir tun die Register für den aktuellen PVErzeugung, Batteriestand usw wunderbar. Danke!
Bekommst Du denn Werte des Varta-Portals in ioBroker? In den Modbus Registern ist ja der Netzbezug nicht drin (oder übersehe ich etwas?)
Ich hätte insb Interessa an Netzbezug am (letzten/aktuellen) Tag
Gruss -
Hat jemand eine Idee, wie ich den (Tages)Bezug aus dem Netz über den Varta Pulse Neo bekomme?
-
@adarof Ich antworte mir mal selber ... ich hab nun das Webinterface angeschaut und hol mir die Daten über die Schnittstelle:
const fetch = require('node-fetch'); const getData = async (url) => { const res = await fetch("http://192.168.66.250/cgi/data", { "headers": { "cookie": "settings_lastTab=user; beaker.session.id=<SessionIdFromBrowser>; lastTab=EVCHARGER; language=lang%2Fen.css", }, "body": null, "method": "GET" }) const resText = await res.text() return resText } var json = await getData(); const obj = JSON.parse(json); log("consumed kWh: " +obj.pulse.procImg.counters.energyCounterHouseIn_Ws / 3600000) log("provided kWh: " +obj.pulse.procImg.counters.energyCounterHouseOut_Ws / 3600000)