NEWS
Anker Solix Smartmeter gen 2 & Anker Solarbank 4 - Modbus
-
Hallo, funktioniert die Ansteuerung über Modbus TCP zuverlässig? Ich möchte den SPeicher per Modbus in ein anderes System einbinden (Loxone) aber es scheint im Internet kaum Erfahrungsberichte zur Einbindung per Modbus TCP zu geben.
@Gurki nach meiner Erfahrung funktioniert Modbus TCP recht robust. Die Werte vom Anker sind hin und wieder etwas merkwürdig zu interpretieren, aber wenn es läuft, läufts.
-
Hallo zusammen, bin neu hier...
Ich habe gestern meine Solarbank Max AC gekommen und via Modbus Teilweise ausgelesen. Die Anbindung funktioniert ohne Probleme.
Lesen geht einiges aber schreiben kann ich die für mich wichtigen der Netzleistungsbegrenzung-Register (10036 und 10038) leider nicht.
z.B. 60000_charging_limit_soc und 60001_discharge_limit_soc kann ich scheiben und werden ohne Probleme übernommen.
10036_max_charge_power kann ich lesen (Änderungen in der App werden im Register direkt angezeigt), aber nicht schreiben
und 10038_max_discharge_power zeigt mir immer 3500 an, egal was ich in der App einstelle.
Habe auch mal den Adapter vom Matthias v0.10.91 installiert und der hat auf Anhieb funktioniert, aber die Netzleistungsbegrenzung-Register finde ich dort auch nicht.mache ich da was falsch?
@matthiasulrich
kann gerne was testen.Gruß Dieter
@DieterBrenner Hier mal meine Eingangsregister:
_address name description unit type len factor offset formula role room cw isScale 10001 battery_status Batterie-Status uint16be 1 1 0 value enum.rooms.ControlRoom false false 10002 pv_power PV-Leistung W int32be 2 1 0 value enum.rooms.ControlRoom false false 10004 third_party_pv_power Externe PV-Leistung W int32be 2 1 0 value enum.rooms.ControlRoom false false 10008 battery_charging_power Batterie-Ladeleistung W int32be 2 1 0 x<0?Math.abs(x):0 value enum.rooms.ControlRoom false false 10008 battery_discharging_power Batterie-Entladeleistung W int32be 2 1 0 x>0?x:0 value enum.rooms.ControlRoom false false 10010 load_power Verbraucherleistung W int32be 2 1 0 value enum.rooms.ControlRoom false false 10012 grid_import_power Netz-Importleistung W int32be 2 1 0 x>0?x:0 value enum.rooms.ControlRoom false false 10012 grid_export_power Netz-Exportleistung W int32be 2 1 0 x<0?Math.abs(x):0 value enum.rooms.ControlRoom false false 10014 battery_soc State of Charge % uint16be 1 1 0 value enum.rooms.ControlRoom false false 10014 battery_soc State of Charge % uint16be 1 1 0 value enum.rooms.ControlRoom false false 10018 pv_total_generation Gesamt-PV-Generation kWh uint32be 2 10 0 value enum.rooms.ControlRoom false false 10036 max_charge_power Maximale Ladeleistung W int32be 2 1 0 value enum.rooms.ControlRoom false false 10038 max_discharge_power Maximale Entladeleistung W int32be 2 1 0 value enum.rooms.ControlRoom false false 10100 device_sn Seriennummer string 12 1 0 value enum.rooms.ControlRoom false false 10112 device_sw_version Software-Version string 6 1 0 value enum.rooms.ControlRoom false false 10208 ac_grid_output_power AC-Netz-Ausgangsleistung W int32be 2 1 0 value enum.rooms.ControlRoom false false 10250 rated_energy Nennkapazität kWh uint32be 2 0.1 0 value enum.rooms.ControlRoom false false 10262 cumulative_charge_energy Kumulierte Ladeenergie kWh uint32be 2 0.1 0 value enum.rooms.ControlRoom false false 10264 cumulative_discharge_energy Kumulierte Entladeenergie kWh uint32be 2 0.1 0 value enum.rooms.ControlRoom false false 32768 device_model Modellname string 5 1 0 value enum.rooms.ControlRoom false false 32774 ems_mode_mask EMS-Modus-Maske uint16be 1 1 0 value enum.rooms.ControlRoom false falseund meine Holding Register
_address name description unit type len factor offset formula role room poll wp cw isScale 10064 operating_mode Betriebsmodus (0=Self-Consumption, 1=TOU, 3=Third-Party, 4=Custom, 5=Socket Overlay, 6=Smart, 7=Dynamic Pricing) uint16be 1 1 0 value ControlRoom true false false false 10071 battery_power_setpoint Batterie-Leistungssollwert W int32be 2 1 0 value ControlRoom true false false false 60000 charging_limit_soc Ladegrenze (80–100%) % uint16be 1 1 0 value ControlRoom true false false false 60001 discharge_limit_soc Entladegrenze (0–20%) % uint16be 1 1 0 value ControlRoom true false false false 60002 backup_reserve_soc Backup-Reserve % uint16be 1 1 0 value ControlRoom true false false false 60003 backup_soc_enable Backup-SOC aktivieren (0=Deaktiviert, 1=Aktiviert) uint16be 1 1 0 value ControlRoom true false false falseMan muss 10064_operating_mode auf 3 stellen. Die Ladung bzw. Entnahme steuere ich über 10071_battery_power_setpoint. Etwas gewöhnungsbedürftig ist, dass sich das Vorzeichen nach dem Eintragen immer dreht. Man muss also z.b. die Auswertung, ob entnommen oder geladen wird, über 10008_battery_charging_power oder so vornehmen.
-
@dieterbrenner Du hast von GitHub installiert. Es ist besser von Npm zu installieren. GitHub ist ein Arbeitsstand. Diese Version enthält noch Fehler. Ich arbeite gerade an einem Vis Widget das funktioniert aber noch nicht gut und ist noch nicht sinnvoll nutzbar.
Daher bitte von NPM drüber bügeln um keine Probleme zu bekommen.Danke!
-
@dominic151617
Danke für die Listen. Ist schon seltsam, das man die 10036 und 10038 nur lesen kann; denn es geht ja über die App.
Mit dem Mode 3 und 10071 muss ich mal ausprobieren; ..dann hätte ich mir den Shelly Pro sparen können,
denn die Daten (PV/Netz) bekomme ich über Modbus aus meiner Alpha ESS.@matthiasulrich
hab ich gemacht, jetzt passt die Version.
Kannst du die battery_charging_power / _discharging_power über die API/Cloud irgendwie steuern?Danke und Gruß
-
@dominic151617
Danke für die Listen. Ist schon seltsam, das man die 10036 und 10038 nur lesen kann; denn es geht ja über die App.
Mit dem Mode 3 und 10071 muss ich mal ausprobieren; ..dann hätte ich mir den Shelly Pro sparen können,
denn die Daten (PV/Netz) bekomme ich über Modbus aus meiner Alpha ESS.@matthiasulrich
hab ich gemacht, jetzt passt die Version.
Kannst du die battery_charging_power / _discharging_power über die API/Cloud irgendwie steuern?Danke und Gruß
-
Ist schon seltsam, das man die 10036 und 10038 nur lesen kann
Eingangsregister kann man nie beschreiben
Ja, aber warum das keine Holding Register sind, ist unlogisch. Die sind ja zum steuern da.
-
Ja, aber warum das keine Holding Register sind, ist unlogisch. Die sind ja zum steuern da.
warum das keine Holding Register sind, ist unlogisch
Da musst du dich an @dominic151617 wenden!
Der hat die Liste so zusammengestellt.Ich habe bei victron auch einige Register, die beschreibbar wären, bewusst in Inputregistern konfiguriert, da ich zwar den Status sehen, aber keine ungewollte Änderung riskieren wollte.
Möglicherweise geht das hier auch, denn wie er schreibt
Die Werte vom Anker sind hin und wieder etwas merkwürdig zu interpretieren,
-
@dieterbrenner
Meinst du die Einspeiseleistung? Die kann im Benutzerdefinierten Modus gesteuert werden. Aber! Das geht nur alle 30 Sekunden über die Cloud API. Man kann eigentlich nahezu alle Einstellungen anpassen über die API.Probier es einfach aus. Cloud+ MQTT und Modbus gehen parallel. Aber sie werden in unterschiedlichen Objekten angelegt.
Wenn was fehlt oder nicht funktioniert am Besten-> Debug Mode -> Log -> Issue auf GitHub
-
ich meine folgende 2 Werte in der Anker App.
(Im Modbus sind es 10036 max_charge_power und 10038 max_discharge_power)

-
ich meine folgende 2 Werte in der Anker App.
(Im Modbus sind es 10036 max_charge_power und 10038 max_discharge_power)

-
@homoran
Nein, schon ausprobiert, das ist ja mein Problem.
Und die Werte kann man über die App auch im Modus 0 ändern. -

Also ac_charge_limit kann ich schreiben. Für Output Limit müsste ich schauen ob ich das irgendwie integriert bekomme.
-
@matthiasulrich
Top, das sieht doch schon mal gut aus. -
@Gurki nach meiner Erfahrung funktioniert Modbus TCP recht robust. Die Werte vom Anker sind hin und wieder etwas merkwürdig zu interpretieren, aber wenn es läuft, läufts.
@Gurki nach meiner Erfahrung funktioniert Modbus TCP recht robust. Die Werte vom Anker sind hin und wieder etwas merkwürdig zu interpretieren, aber wenn es läuft, läufts.
Modbus TCP nutze ich schon länger in Verbindung mit SMA Wechselrichtern und Batterien. Ich schrieb jetzt 1 Woche mit dem Anker Support hin und her und die konnten mir keine offiziellen Modbus Register Listen geben.
Ich habe mir die Solarbank nun bestellt und hoffe das alles so wie oben beschrieben funktioniert.
-
-
-
Ich habe jetzt nochmal eine Grundsatzfrage, weil ich evtl. ein Verständnisproblem habe. Ich nutze die Solarbank aktuell als reinen Batteriespeicher und regele die Lade/Entladelleistung über das Modbusregister 10071 "Battery Charge/Discharge Control"
Nun hatte ich gehofft, dass es in der Modbus Doku von Anker Register gibt, die ich mit einem externen Netzanschlusszähler (in meinem Fall SMA SunnyHome Manager 2.0) verbinden kann. Leider weiß ich gerade nicht, ob das ohne den Anker Energymeter möglich möglich ist. Den möchte ich nicht zusätzlich auch noch einbauen. -
Seit gestern habe ich die Solix 4 in Betrieb. Modbus über IOBroker funktioniert problemlos. Das hier sind meine Inputregister:
inputRegisters_Solarbank4_full.tsvWas aber nicht funktioniert, ist die Cloud-Unabhängigkeit. Wenn ich in der Fritzbox der Solix den Internetzugang sperre, läuft sie zwar noch zwei, drei Minuten ganz normal weiter, allerdings wird dann der Modbus abgeschaltet und ist nicht mehr erreichbar. Gleichzeitig regelt die Solix aber noch zusammen mit dem Smartmeter den Eigenbedarf korrekt. Man sieht in den Fritzbox-Logs, dass die Solix alle 60 Sekunden die WLAN-Verbindung für wenige Sekunden unterbricht und dann wieder aufnimmt.
Modbus ist erst wieder erreichbar, wenn ich die Internetverbindung erneut freigebe. So war das ja eigentlich nicht gedacht, oder? Habt Ihr andere Erfahrungen gemacht?
-
Ich wollte nochmal nachfragen: Hat von Euch noch keiner getestet, ob Modbus auch ohne Cloud- bzw. Internet-Verbindung des Routers funktioniert?
Was passiert bei Euch, wenn Ihr vom Router die Internetverbindung abzieht? Wie lange läuft dann Euer Modbus von der Solarbank 4 zu iobroker weiter?
Bei mir sind es wenige Minuten. Dann ist Schluss. Dann fängt die Solarbank an, sich im Minutentakt vom WLAN zu trennen und nach wenigen Sekunden wieder neu zu verbinden. Modbus wird offenbar beim ersten Trennen der WLAN-Verbindung beendet und startet nach der WLAN-Neuverbindung nicht mehr neu.
So sieht es aus, wenn Internet vorhanden ist:
~$ nmap -p 502 192.168.100.53 Starting Nmap 7.94SVN ( https://nmap.org ) at 2026-10-03 18:55 CEST Nmap scan report for AnkerSolarbank4.fritz.box (192.168.100.53) Host is up (0.041s latency). PORT STATE SERVICE 502/tcp open mbap Nmap done: 1 IP address (1 host up) scanned in 0.09 secondsUnd so sieht die nmap-Überprüfung aus, nachdem die Internetverbindung einige Minuten vorher gekappt wurde ("state = closed"):
~$ nmap -p 502 192.168.100.53 Starting Nmap 7.94SVN ( https://nmap.org ) at 2026-10-03 18:55 CEST Nmap scan report for Anker.fritz.box (192.168.100.53) Host is up (0.047s latency). PORT STATE SERVICE 502/tcp closed mbap Nmap done: 1 IP address (1 host up) scanned in 0.11 secondsDer Service ist abgeschaltet und der Port 502 geschlossen. Die WLAN-Verbindung ist aber noch da, sonst bekäme ich ja nicht diese Antwort.
Ich kann mir kaum vorstellen, dass das nur bei mir so ist. Vielleicht hat ja jemand mal Lust und Laune, das bei sich nachzustellen.
-
Hallo, habe es nachgestellt und hatte das gleiche Problem, das bei fehlender Internetverbindung der Modbus nach ca. 6 Minuten abgeschaltet hat. Konnte zwar per Bluetooth mich verbinden aber keine Einstellungen machen. Habe heute die Firmware Version 1.0.3.21 installiert und danach hat es funktioniert. Leider hat sich durch die Firmware Version etwas bei den Input Registern geändert. 10012 grid_export_power. Vorher war negativer Wert Export und positiver Wert Import. Leider wird der Wert jetzt nur noch positiv geliefert. Das heißt ich habe keinen Export Wert mehr.
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