NEWS
Solarspeicher Marstek B2500
-
Grundsätzlich ist eine Nulleinspeisung mit solchen verteilten Systemen immer schwierig. Dazu gab es auch mal ein ganz brauchbares yt video habe ich aber auf die schnelle nicht gefunden.
Die Kernaussage war aber am ende das dein Regelkreis zu langsam ist. Selbst wenn du eine recht schnelle Verbindung hast wird ja doch immer wieder integriert über eine Zeit also dein Verbrauch steigt an und auch deine Energiemenge steigt an die du dem Haus zur verfüfung stellst evtl das maximum.
Dein realverbrauch ist aber möglicherweise schon wieder abgefallen auf den Startwert du schenkst nun aber noch schön dem Netzbertreiber die Energie.Deswegen habe ich mich auch noch nicht aktiv um das Thema Nulleinspeisung gekümmert und fahre aktuell eher einen Grundlastbetrieb. Also schaue ich mir was mein Grundbedarf ist den ich praktisch nie unterschreite und speise die Menge an Energie kontinuierlich ins Hausnetz.
-
Ah was ich gerade noch gelesen habe es scheint viele Möglichkeiten zu geben den Energiezähler sei es als IR-Kopf oder was gänzlich anderes mit Marstek zu verheiraten.
Entweder hier mit einem weiteren container von tomquist:
https://github.com/tomquist/b2500-meterWas warscheinlich mein persönlicher favorit wäre um in dem selben "ökosystem" zu bleiben.
Oder aber sowas hier:
https://github.com/sdeigm/uni-meterWas schlicht den Shelly 3EM Pro emuliert und so etwa auch über den MQTT angebunden werden kann.
-
Da braucht es dann natürlich ein zusätzliches physisches Gerät, bei dem man sich dann mit den der Schnittstelle abmühen muss. Bin mir auch nicht sicher in wieweit die Bluetooth Kommunikation dem Inverse-Forwarding vorteile bietet.
Ich gehe immer davon aus das man ioBroker in einem Container oder auf einer Linux Maschine direkt betreibt die Leistungsstärker wie ein Raspberry Pi 3 ist. Deswegen wäre der Docker Container mein GoTo.
Da man ja für den "Marstek"-Stack sowieso einen Mosquitto server bruacht kann man sich damit ja schon schnell eine Compose zusammenbauen die alles enthält. Mache das evtl heute abend mal. -
Ich habe mich jetzt für den Uni-Meter in einem Docker Container entschieden. Hat jetzt ewig gedauert, aber jetzt scheint es so, dass die Daten von iobroker sauber im Uni-Meter landen. Zumindest aktualisiert Uni-Meter die 3 Phasen Power Daten.
Jetzt muss nur noch der Speicher kommen, dann kann ich das Testen.
Uni-Meter sollte jetzt hoffentlich sauber als Shelly-pro3em sich beim Speicher dann melden. -
Ich kam erst heute dazu mich wirklich damit auseinander zu setzen.
version: "3.7" services: eclipse-mosquitto: image: eclipse-mosquitto hostname: mosquitto container_name: mosquitto stdin_open: true tty: true ports: - 1885:1883 - 8080:8080 volumes: - ./mosquitto/config:/mosquitto/config - ./mosquitto/data:/mosquitto/data - ./mosquitto/log:/mosquitto/log restart: always hame-relay: # image: ghcr.io/tomquist/hame-relay:1.2 image: ghcr.io/tomquist/hame-relay container_name: hame-relay restart: always volumes: - $DOCKERDIR/marstek/hame-relay/config:/app/config environment: - LOG_LEVEL=trace - TZ="Europe/Berlin" hm2mqtt: image: ghcr.io/tomquist/hm2mqtt:latest container_name: hm2mqtt restart: always environment: MQTT_BROKER_URL: mqtt://192.168.4.26:1885 MQTT_USERNAME: $MA_MQTT_USERNAME MQTT_PASSWORD: $MA_MQTT_PASSWORD # MQTT_PROXY_ENABLED: true MQTT_POLLING_INTERVAL: 60 MQTT_RESPONSE_TIMEOUT: 30 MQTT_ALLOWED_CONSECUTIVE_TIMEOUTS: 5 POLL_CELL_DATA: true POLL_EXTRA_BATTERY_DATA: true POLL_CALIBRATION_DATA: true DEVICE_0: HMJ-2:my_MAC DEVICE_1: HMI-1:my_MAC b2500-meter: image: ghcr.io/tomquist/b2500-meter:latest container_name: b2500-meter network_mode: host restart: always volumes: - ./b2500-meter/config.ini:/app/config.iniDa es ja endlos viele optionen gibt in der Konfiguration vom b2500 auch mal hier meine wie sie aktuell am laufen ist:
[GENERAL] # Comma-separated list of device types to emulate (ct001, shellypro3em, shellyemg3, shellyproem50, shellypro3em_old, shellypro3em_new) DEVICE_TYPE = shellyemg3 # Skip initial powermeter test on startup SKIP_POWERMETER_TEST = False # Sum power values of all phases and report on phase 1 (ct001 only and default is False) DISABLE_SUM_PHASES = False # Send absolute values (necessary for storage system) (ct001 only and default is False) DISABLE_ABSOLUTE_VALUES = False # Interval for sending power values in seconds (ct001 only and default is 1) POLL_INTERVAL = 1 # Global throttling interval in seconds to prevent control instability or oscillation # Set to 0 to disable throttling (default). Recommended: 1-3 seconds for slow data sources # Can be overridden per powermeter section THROTTLE_INTERVAL = 0 [TASMOTA] IP = 192.168.4.134 JSON_STATUS = StatusSNS JSON_PAYLOAD_MQTT_PREFIX = SML JSON_POWER_MQTT_LABEL = Watt_Summe # JSON_POWER_INPUT_MQTT_LABEL = Power1 # JSON_POWER_OUTPUT_MQTT_LABEL = Power2 JSON_POWER_CALCULATE = FalseMittels der HTTP Requests sind die abfragen doch sehr schnell und damit hat man dann in Marstek einen Shelly EM Gen3 konfigurieren und der wird zu meiner Überraschung auch direkt ohne murren akzeptiert.
Ports und IPs müssen natürlich entsprechend eurer Infrastruktur angepasst werden.
Falls ihr Zweifel habt ob alle Einstellungen richtig sind könnt ihr einfach den Pfad auf eurem Tasmota aufrufen:
http://192.168.4.134/cm?cmnd=Status 10 -
@wusa
Servus,
Nein sind beides leider keine ioBroker adapter sondern docker container von github.
Die Architektur sieht damit dann in etwa so aus:
Deine Batterie oder eben der Wechselrichter senden die Daten an dein Marstek-Konto. Diese Nachrichten werden mittels dem hame-relay
https://github.com/tomquist/hame-relay
An einen lokalen MQTT Broker deiner Wahl weitergeleitet. Am besten einen eigenen Mosquitto-Server. Mit dem IoBroker Broker hatte ich massive Probleme zuletzt das er nicht sauber gepublished/subscribed hatte.Ebenso schaltet sich dann ein Container mit hm2mqtt auf den selben MQTT Broker. Der nimmt die Daten von hame-relay und interprettiert sie. Das man sie einfach anschauen kann. Das ist Notwendig da die Kommunikation zwischen dem Gerät und dem offiziellen Server sehr kryptisch ist. Sowas wie cd=1 etwa.
https://github.com/tomquist/hm2mqttIch habe mir das JS-Script hier basteln lassen mit dem ich dann aus den JSON-Datenpunkten in dem mqtt-client eingene States gebaut werden da die ja die gänge Datenform in ioBroker sind.
https://gist.github.com/9Mad-Max5/ea29c3bcc109ef485cbecb89415fb365Ich fürchte egal wie ist es zu empfehlen es als container zu instazieren und nicht bare metal laufen zu lassen. Ich bin auch auf den mqtt-client gewächselt das ansonsten nur nach einem Neustart die Daten geladen werden.
@9_Mad-Max_5 sagte in Solarspeicher Marstek B2500:
Ich habe mir das JS-Script hier basteln lassen mit dem ich dann aus den JSON-Datenpunkten in dem mqtt-client eingene States gebaut werden da die ja die gänge Datenform in ioBroker sind.
https://gist.github.com/9Mad-Max5/ea29c3bcc109ef485cbecb89415fb365Ich fürchte egal wie ist es zu empfehlen es als container zu instazieren und nicht bare metal laufen zu lassen. Ich bin auch auf den mqtt-client gewächselt das ansonsten nur nach einem Neustart die Daten geladen werden.
Hallo Mad,
Danke für das script.
läuft hier mit b2500 -> cloud -> hame-relay - hm2mqtt -> dein script.
werte werden ca jede Minute akutalisiert. -
@9_Mad-Max_5 sagte in Solarspeicher Marstek B2500:
Ich habe mir das JS-Script hier basteln lassen mit dem ich dann aus den JSON-Datenpunkten in dem mqtt-client eingene States gebaut werden da die ja die gänge Datenform in ioBroker sind.
https://gist.github.com/9Mad-Max5/ea29c3bcc109ef485cbecb89415fb365Ich fürchte egal wie ist es zu empfehlen es als container zu instazieren und nicht bare metal laufen zu lassen. Ich bin auch auf den mqtt-client gewächselt das ansonsten nur nach einem Neustart die Daten geladen werden.
Hallo Mad,
Danke für das script.
läuft hier mit b2500 -> cloud -> hame-relay - hm2mqtt -> dein script.
werte werden ca jede Minute akutalisiert.Könntest du da etwas genauer drauf eingehen?
Hier wurde dann doch etwas mehr und mit unterschiedlichen Ansätzen geschrieben.Was machst du genau damit und was liest du alles aus oder was steuerst du damit?
-
also ich nutze das script nur um Daten abzufragen und dann in iobroker lovelace darzustellen.

-
@9_Mad-Max_5 sagte in Solarspeicher Marstek B2500:
Ich habe mir das JS-Script hier basteln lassen mit dem ich dann aus den JSON-Datenpunkten in dem mqtt-client eingene States gebaut werden da die ja die gänge Datenform in ioBroker sind.
https://gist.github.com/9Mad-Max5/ea29c3bcc109ef485cbecb89415fb365Ich fürchte egal wie ist es zu empfehlen es als container zu instazieren und nicht bare metal laufen zu lassen. Ich bin auch auf den mqtt-client gewächselt das ansonsten nur nach einem Neustart die Daten geladen werden.
Hallo Mad,
Danke für das script.
läuft hier mit b2500 -> cloud -> hame-relay - hm2mqtt -> dein script.
werte werden ca jede Minute akutalisiert.@BobmortonTX sagte in Solarspeicher Marstek B2500:
b2500 -> cloud -> hame-relay - hm2mqtt -> dein script.
Kannst du diesen Weg kurz erklären?
Was holst du für Daten und wie werden diese verarbeitet?Ich haben momentan den UniMeter am laufen aber steuere damit nur die Nulleinspeisung.
Ich hätte aber gerne SoC innerhalb iobroker.
Daher würde mich Interessieren, was du alles mit deinem Weg abfrägst usw. bzw. generell machst?