NEWS
modbus Varta pulse neo - Register ??? - ILLEGAL DATA ADDRESS
-
Hallo zusammen,
ich möchte mit modbus meinen Varta Speicher vom Typ pulse neo abfragen. Hierzu habe ich von Varta die Modbus Dokumentation bekommen.
Beim Einrichten der instance passt noch alles, er connectiert auf port 502 und disconneced wieder. Richte ich jedoch im Eingangsregister eine abzufragende Variable ein bekomme ich folgenden Fehler: (11224) Poll error count: 1 code: {"errorCode":132,"exceptionCode":2,"message":"ILLEGAL DATA ADDRESS"}
Ich habe in den "allgemeinen" Einstellungen breits verschiedenes probiert, also nicht auf 16 bit ausrichten, alias, etc., -> aber ohne Erfolg.
Lt. Fehlermeldung ist wohl die Nummer des Registers falsch, aber ich finde hierzu leider keine zusätzlichen Angaben und mir versuchen komme ich auch nicht weiter.
Habt Ihr vielleicht noch einen Tipp, wie ich es gelöst bekomme? Hier noch die Registertabelle von Varta und meine derzeitigen Einstellungen im modbus.Danke. Chris
-
Hallo zusammen,
Thema gelöst. Die Abrage muss im iobroker modbus im "Holding Register" mit poll abgefragt werden. Die Werte können dann direkt übernommen werden.
Gruss Chris
-
@aqua_chris
Gerade erst den Post gesehen aber gut das es jetzt klappt wenn du magst wäre es super deine Register Tabelle im Forum zu Posten.https://forum.iobroker.net/topic/44510/aufruf-sammlung-an-modbus-anbindungen/9?_=1625838642611
-
@aqua_chris Hallo Chris, könntest Du mir die Registereinstellungen zur Verfügung stellen. Ich bekomme es einfach nicht hin. Vielen Dank im Voraus! Gruß Christof
-
@tiftof-emsdetten flaas Du nicht mittlerweile eine Lösung gefunden hast...
ich habe bei mir folgende Einstellungen gesetzt:
sowie folgende Holding Register:_address name description unit type len factor offset formula role room poll wp cw isScale 1064 bm installed number of installed battery modules uint16be 1 1 0 value true 1065 state uint16be 1 1 0 value true 1066 active power W int16be 1 1 0 value true 1067 apparent power VA int16be 1 1 0 value true 1068 soc total state of charge % uint16be 1 1 0 value true 1069 energy counter ac to dc total charge energy Wh uint32sw 2 1 0 value true 1071 installed capacity sum of all installed battery modules Wh uint16be 1 10 0 value true 1078 grid power measured at household grid connection point W int16be 1 1 0 value true 1082 grid frequency average grid frequency over the last X waves Hz uint16be 1 0,01 0 value true 1083 available AC charging power actual available charging power (AC) W uint16be 1 1 0 value true 1084 available AC discharging power actual available discharging power (AC) W uint16be 1 1 0 value true 1085 usable energy for charging energy which is available for charging Wh uint16be 1 1 0 value true 1086 usable energy for discharging energy which is available for discharging Wh uint16be 1 1 0 value true 1087 reactive power var uint16be 1 1 0 value true 1088 PV-sensor power current AC production power measured by VARTA´s PV-sensor W uint16be 1 1 0 value true
Zumindest in meinem Fall funktioniert das
-
@phoenix Hallo hab genau die oben beschriebenen Einstellungen verwendet aber leider bekomme ich immer folgenden Fehler:
Weiß jemand was ich falsch mache?
-
-
@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)