Hallo, kann mir jemand bitte erkklären wie ich den B2500 in Homassistant einbinde? Die option MQTT in der App ist aktiviert, aber was muss ich da eingeben ? Danke
/edit
Hat sich erledigt !
Hallo, kann mir jemand bitte erkklären wie ich den B2500 in Homassistant einbinde? Die option MQTT in der App ist aktiviert, aber was muss ich da eingeben ? Danke
/edit
Hat sich erledigt !
Moin,
Simon42 hat vor wenigen Tagen ein tolles Video zum Marstek B2500-D veröffentlicht. Ich teste gerade die dort von ihm vorgestellte Automatisierung zur Nulleinspeisung, also so halbwegs laut Simon. ![]()
Bist Du mit Deiner Automatisierung zufrieden?
Habt Ihr nach dem Einrichten des B2500-D in HA per mqtt noch Helfer-Sensoren angelegt? Die Anzeige power-flow-card-plus ist mit den vorhandenen Entitäten Total Output Power in Verbindung mit Battery Output Threshold nicht optimal, zumindest bei mir… ![]()
Mittlerweile läuft die nulleinspeisung über HomeAssistant mit openDTU, die reagiert einfach deutlich schneller und ist auch stabiler. Mit der ESP werden Datensammlung. Helfer sind es bei mir 25 Stück, aber ich hab drei Speicher und an zwei WR.
Ich sehe aktuell den Wald vor lauter Bäumen nicht… ![]()
Setze den B2500-D mit einem Hoymiles HMS 800W-2T ein.
Vom Batteriespeicher sehe ich in HA 83 Entitäten. ![]()
Total Input Power scheint die aktuelle PV-Leistung zu sein, gibt es einen Unterschied zwischen Total Output Power und Time Period X Output Value?.
Wenn ich bei der Power Flow Card Plus bei Battery Consumption battery_output_threshold angebe, zeigt die Karte diesen Wert rechts als zusätzlichen Verbrauch an…
Hat jemand eine funktionierende Power Flow Karte für den B2500-D?
Also.
Ja, Input ist das, was von den Modulen am Speicher ankommt bzw. Runtergeregelt ankommen darf.
Total Output ist der aktuelle echte Output und time period X ist dein gewünschter Output.
Update:
Ich hatte mir die Nulleinspeisung von Simon mal versucht anzugucken, aber ich fand die Mega kompliziert.
Ich hab’s mir relativ leicht gemacht und fahre damit eigentlich ganz gut.
Man muss dazu sagen, dass ich 4 Platten auf dem Dach habe und 2 direkt am WR und 2 erst über den Speicher.
Ich schaue alle 30 Sekunden und stelle dementsprechend time period 1 Output ein.
Ich hatte häufiger Probleme, falls ich time period 1 deaktiviere, dass der Speicher dann beim aktivieren nicht mehr angeht und somit nicht mehr entlädt. Deswegen lasse ich den Speicher immer mit mind. 80W laufen (das Minimum von Marstek) und drehe ihn runter auf 80W, wenn der Input über 700W ist (dann kriegt der WR eh schon genug von den anderen beiden Platten).
Die 1. Option ist also runter auf 80W drehen.
Die 2. ist reagieren auf den Zähler Eingang vom SML, also wie viel der Zähler sich grad dreht.
Die 3. ist bei zu viel aus dem Speicher wieder etwas wegnehmen. Das geht natürlich nur bei einem 2-Richtungs Zähler.
Im Fall eines 1 Richtungs Zähler müsste man halt in kleineren Schritten reduzieren, bis der Zähler grad so wieder dreht.
Ich hänge nochmal Bilder an und die ganze Automation als YAML.
alias: Speicher Output setzen
description: ""
triggers:
- trigger: time_pattern
seconds: /30
conditions: []
actions:
- choose:
- conditions:
- condition: numeric_state
entity_id: sensor.hame_energy_hmj_2_009c17e0123d_total_input_power
above: 700
sequence:
- action: mqtt.publish
metadata: {}
data:
evaluate_payload: false
qos: 0
retain: false
topic: hm2mqtt/HMJ-2/control/009c17e0123d/time-period/1/output-value
payload: |
80
- conditions:
- condition: numeric_state
entity_id: sensor.tasmota_sml_power_curr
above: 80
sequence:
- action: mqtt.publish
metadata: {}
data:
evaluate_payload: false
qos: 0
retain: false
topic: hm2mqtt/HMJ-2/control/009c17e0123d/time-period/1/output-value
payload: >+
{{ [[states('sensor.tasmota_sml_power_curr') | int + 50, 800 -
states('sensor.hame_energy_hmj_2_009c17e0123d_total_input_power')
| int] | min , 800] | min }}
- conditions:
- condition: numeric_state
entity_id: sensor.stromuberschuss
above: 50
sequence:
- action: mqtt.publish
metadata: {}
data:
evaluate_payload: false
qos: 0
retain: false
topic: hm2mqtt/HMJ-2/control/009c17e0123d/time-period/1/output-value
payload: >-
{{
[states('sensor.hame_energy_hmj_2_009c17e0123d_total_output_power')
| int - states('sensor.stromuberschuss') | int + 20, 80] | max
}}
mode: single
by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)
@maui87
Vielen Dank für Deine Infos und die Automation. Ja, die Automation von Simon ist wirklich beeindruckend. Ich werde sie noch ein paar Tage testen und anschließend Deine ausprobieren. Dabei möchte ich – sofern ich es schaffe – auf "action: number.set_value" umstellen, anstatt payload zu verwenden.
Wie genau setzt sich der Sensor stromueberschuss zusammen? Es ergibt auf jeden Fall Sinn, den Überschuss von der output_power abzuziehen.
Übrigens gehe ich inzwischen davon aus, dass sich aufgrund des Mindestwerts von 80 W keine brauchbare Flow-Karte erstellen lässt. Bei mir wird dieser Wert – von der Batterie kommend – zusätzlich zum Verbrauch addiert…
Stromueberschuss ist einfach nur die Ableitung (helper) von dem sml Sensor am Stromzähler für out, aber wie gesagt ist das auch ein 2-Richtungs Zähler und out ist der Wert, wie er sich theoretisch schon zurück gedreht hat
BTW: für mich waren das gestern 2 Posts und ich verstehe nicht wirklich, warum sie zu einem zusammengefasst wurden. Das eine war eine Antwort auf einen Post und das andere eine allgemeine Antwort im Thread zur Nulleinspeisung.
Hallo habe folgendes Problem..
Habe den Akku via Mqtt mit Homeassistent verbunden und nehme das Addon toquist/hm2mqtt. Die ersten 24 Std lief es ohne Probleme und dann bekomme ich keine Daten mehr rein. Addon mehrmals neu gestartet bringt nichts.
WLAN verbindung steht.
Modell HMJ-2
Version 113.1
Hoffe irgendjemand kann mir helfen.
Versuche mqtt am Speicher nochmal neu zu setzen (mit dem BLE Tool). Das sollte dein Problem lösen.
Ich habe das gleiche Problem. Habe das online tool genutzt um mqqt zu aktivieren. Habe die FW v110.9 (HMJ-2)
Bekomme jedoch keinerlei Daten via mqqt vermitelt.
Habe dann auch mal versucht den Speicher auf Werkseinstellungen zurück zu setzten - aber auch das scheint nicht zu klappen.
Werde ich den weg über das hame relay gehen müssen?
Kann wer vielleicht weiterhelfen?
Bei mir Funktioniert es jetzt.. Mal schauen wie lange..
Du kannst den support anschreiben auf ein upgrade und mqtt freigabe und dann schalten sie es dir frei.
Habe die Version 116 jetzt drauf.
veruche mal es über den tool HM Device Demo
darüber kannst du auch die Wlan einstellungen durchführen aber habe dies nicht benutzt nur die sache mit Mqtt
Wenn du das Probleme mit Wlan verbindung hast dann Priorisiere mal das Gerät. ( Fritzbox 6660)
Bei mir läuft es nun auch. Habe noch mal die Einstellungen von MQQT zurückgesetzt und es über das Relay laufen lassen. Damit hat es sofort funktioniert.
ich warte noch auf die freischaltung auf v116. Wie läuft die FW bei dir momentan? Läuft auch alles so wie gewollt wenn der Speicher die 100% erreicht?
Kann ich noch nicht sagen der akku ist grad bei 80% geladen, aber kann später gerne Bericht geben
Also der Akku ist auf 100% geladen und sofort gleich den überschuss weiter geleitet und der Akku ist seit ne stunde auf 100 %.
Als 0 Einspeisung habe ich es so eingestellt das Addon B2500 Meter dort habe ich meinen Zähler auslese von poweropti via local in homeassistant laufen und den Sensor bei B2500 Meter hinterlegt und steuert den Speicher via Adaptive Mode funktioniert recht gut muss ich sagen.
Bin mir auch am überlegen ob ich eine Automation basteln könnte oder jemand kann mir ne Automation basteln. Mit folgenden werten.
Wenn Akku bei 20% ist dann soll der zuerst laden bis 60% akku und dann zurückstellen laden/entladen gleichzeitig. könnte jemand dies machen?
Ich bin über das Youtubevideo beim B2500 gelandet. Ich suche schon seit Ewigkeiten nach einem Speicher der sich komplett über HA regeln lässt, also vorallem ohne Cloudgedöns.
Der Speicher ist schon bestellt und sollte die nächsten Tage ankommen. Bin schon gespannt wie gut die HA-Integration klappt.
Der Grund warum ich jetzt schon hier schreibe ist aber ein anderer:
Beim Überfliegen des Threads hab ich jetzt schon mehrfach von 1000W/1600W PV-Eingangsleistung gelesen. Ebenso schon in diversen Onlinebewertungen das Leute 4 Panels mit Y-Kabeln an einen Speicher anschließen um die 1600W “auszuschöpfen”.
Im Datenblatt des Speichers steht zwar “2x800W max”, aber da steht “max” dabei und das ist wichtig! Diese 2x800W max sind leider ein ziemlich praxisuntauglicher und absolut theoretischer Wert.
Laut Datenblatt kann der Speicher pro Anschluss max. 59V und 13,5A… das sind rechnerisch 796,5W.
Es gibt aber keine PV-Panels die diese Maximalwerte direkt erreichen und selbst eine Kombination aus Panels wird extrem schwierig.
Und selbst wenn es solche Panels gäbe, darf/sollte weder deren Kurzschlusstrom noch Kurzschlussspannung diese Werte überschreiten. Also selbst wenn man eine Panelkombination fände, deren Kurzschlussstrom 13,5A und Kurzschlussspannung 59V wäre, hätten die Panels nur eine Nennleistung von 600-650W.
Als Beispiel:
Typische 400W Panels haben eine Arbeitsspannung von ~35V und einen Arbeitsstrom von ~11A.
Schließt man zwei solche Panels parallel an einen Anschluss, hat man einen Strom von 22A, welcher die maximalen 13,5A weit überschreitet.
Schließt man zwei solche Panels in Reihe an einen Anschluss, hat man 70V, was die maximale Spannung von 59V deutlich überschreitet.
Das sind aber noch “nur” die Arbeitswerte, die Kurzschlusswerte liegen nochmal eine Ecke höher.
Weder eine Parallelschaltung, noch eine Reihenschaltung von 2 Panels ist also praktisch empfehlenswert. Man überschreitet damit quasi immer entweder den Strom oder die Spannung.
Um sich überhaupt dem Maximum annähern zu können, müsste man 144-Zellen-Panels verwenden. Die haben eine etwas höhere Spannung aber dafür einen niedrigeren Strom. Bei ~400W Nennleistung haben die dann statt 35V/11A etwa 45V/9A. Da könnte man also jeweils ein 500-600W Panel betreiben, was dann etwa 45V/11-12A hätte (und bei den Kurschlusswerten wohl so 55V/13A, also auch schon sehr nahe am Maximum was der B2500 kann).
Praktisch kann man also an die 1600W-Version eher nur maximal ~1200W anhängen und selbst das nur mit entsprechend gut ausgewählten Panels.
Man “kann” das natürlich auch ignorieren. Der Speicher wird nicht direkt explodieren, wenn die angeschlossenen Panels statt den maximal spezifizierten 59V mal kurzzeitig 70V liefern… aber wenn solche Werte langfristig anliegen sollte man sich dann auch nicht wundern, wenn die Laderegelung des Speichers irgendwann über den Jordan wandert.
Andere Nachrüstspeicher wie z.B. der Growatt Noah können in der Hinsicht mehr: 60V/26A. Was theoretisch 1560W pro Eingang wären. Aber dort steht im Datenblatt nicht “2x 1560W max”, sondern “recommended input power 2x900W”. Also obwohl der Noah fast doppelt so hohen Strom abkann, ist die empfohlene PV-Leistung kaum mehr als das was der B2500 maximal kann….
Das war auch der Grund warum ich mich für den Jupiter C entschieden habe (wird im September Bestellt) denn dort kann ich die Module meine BWKs 4x405W mit passenden Ampere und Volt anschließen.
Bei dem B2500 sehe ich auch das Problem die passenden Module zu finden, in meinen Augen kannst du nur 2 x 500W Module Anschließen.
800W Eingang bedeutet, der B2500 regelt bei 13,5A intern ab.
Hast Du mehr zur Verfügung wird dies eben nicht genutzt, kaputt geht aber gar nichts.
Und jetzt habe ich die Anlage schon seit ca. einem halben Jahr gänzlich in Betrieb und habe weit mehr Erfahrung damit und will das noch etwas nachtragen:
Also die Marstek Batterien (ich hatte dann noch eine gekauft) können mittlerweile eine Art onBattery, also so viel Einspeisen, wie viel ihnen zB ein Shelly 3 Pro im Netzwerk mitteilt, dass er gerade verbraucht. Dazu gibt es eine Skripterweiterung von Ottelo die ich vor einer Woche installiert habe (nachdem ich endlich einen Zweirichtungszähler von der Stadt bekommen hatte) und die auch gut funktioniert.
Ich hab dann zwar auch die OpenDTU-onBattery Firmware installiert, aber nutze sie dafür gar nicht, weil das Skript mit dem Marstek auch so funktioniert.
Der Ertrag war über den Sommer hin sehr gut, ich hatte nurmehr einen durchschnittlichen Verbrauch von ca. 2 kWh am Tag. Die zwei Marsteks sind bei Sonne ca. mittags voll und am nächsten Morgen noch ein Drittel voll. Bei Wolken schaffen sie es vielleicht nicht mal ganz aufzuladen und sind dann morgens leer, dann ist der Verbrauch eher bei 4 kWh, immer natürlich davon abhängig wie viel gekocht, gebacken, gespülmaschint, gewaschen usw. wird.
Speicher ist angekommen. Via App zugreifbar. hm2mqtt installiert, MQTT mit dem BTE-Onlinetool eingestellt… alles offline in Homeassistant. Die App kann sich auch nachwievor via WLAN verbinden, was ja wohl schon bedeutet, das die MQTT-Config nicht greift.
Nachtrag: Die Firmwareversion bekomme ich in hm2mqtt aber anscheinend korrekt angezeigt. Na dann muss ich wohl darauf warten, das MQTT freigeschaltet wird.
Wäre ja zu schön gewesen, wenn mal was einfach so funktioniert. ![]()
Hab V110.9 mit einem HMJ-2, BT-MAC natürlich in hm2mqtt eingetragen. Wie oben mehrfach empfohlen mittlerweile auch eine Feedbacknachricht geschickt, das ich gerne MQTT freigeschaltet hätte. Leider wird im Video nicht erwähnt, das man das erst irgendwie freischalten lassen muss (und sich somit auf den Support verlassen und darauf hoffen muss, das der das auch tut), sowie das man die App trotzdem benötigt um den Speicher ins WLAN zu bringen.
Falls das mit der Demo gehen sollte, wäre es immerhin ohne Account möglich, das habe ich aber nicht ausprobiert.
Edit:
Der Support hat recht flott nach ~20 Minuten mit einer Mail geantwortet, in der ich darauf hingewiesen wurde das mit der Aktivierung von MQTT kein Support mehr möglich ist. Ich sollte bitte bestätigen das ich das verstanden habe und die Freischaltung trotzdem möchte. Darauf habe ich entsprechend geantwortet.
Ich habe absolut keine Ahnung ob der Support da jetzt schon irgendwas gemacht hat, ich habe jedenfalls keine weitere Mail erhalten, auch keine Bestätigung das MQTT freigeschaltet wurde.
Es gab aber noch mindestens ein zweites Problem. Ich habe in hm2mqtt natürlich Typ und Adresse geändert, aber erst nachdem ich das Addon zum ersten Mal gestartet hatte. Der Name des MQTT-Devices hat sich daraufhin auch geändert, allerdings habe ich im MQTT-Debug gesehen das da wohl trotzdem noch MQTT-Topics mit HMA-1 eingetragen waren.
Mit MQTTExplorer habe ich dann rausgefunden, das es aber auch Topics mit HMJ-2 gibt und dort sehr wohl Werte ankamen.
Also hm2mqtt nochmal deinstalliert, die MQTT-Topics gelöscht, das MQTT-Device gelöscht, hm2mqtt erneut installiert, die Config geändert BEVOR ich das Addon gestartet habe, dann das Addon gestartet und jetzt kriege ich auch Werte im MQTT-Device angezeigt. ![]()
Die App zeigt mir trotzdem noch Werte an und auch das WLAN-Symbol ist grün. Das sollte jetzt aber eigentlich aus sein?
Das nächste Problem sehe ich schon kommen. Der WLAN-Empfang des Speichers ist verdammt schlecht. Ich bin mir ziemlich sicher das dort wo der Speicher am Ende hingestellt werden soll nichtmehr genug ankommt. ![]()
Also ich finde die Automatisierung aus dem Video maximal übertrieben.
Ich habe das viel simpler:
alias: Power_regulate
description: ""
triggers:
- trigger: time_pattern
seconds: /15
conditions: []
actions:
- action: number.set_value
metadata: {}
data:
value: >-
{% if
states('sensor.hame_energy_hma_1_405548feaa81_battery_percentage')|float
> 10 %}
{% if states('sensor.power_inout_fallback')|float > 10 %}
{# power consumption increased #}
{% set new_power_out = states('number.hame_energy_hma_1_405548feaa81_time_period_1_output_value')|float + states('sensor.power_inout_fallback')|float - 3 %}
{{ new_power_out }}
{% elif states('sensor.power_inout_fallback')|float < 5 %}
{# power consumption decreased #}
{% set new_power_out = states('number.hame_energy_hma_1_405548feaa81_time_period_1_output_value')|float - (states('sensor.power_inout_fallback')|float - 4)|abs %}
{% if states('sensor.hame_energy_hma_1_405548feaa81_battery_percentage')|float > 97 %}
{# if battery is almost full, simulate passthrough to prevent battery switching on fully charged #}
{% if new_power_out > states('sensor.hame_energy_hma_1_405548feaa81_total_input_power')|float %}
{{ new_power_out }}
{% else %}
{{ states('sensor.hame_energy_hma_1_405548feaa81_total_input_power')|float }}
{% endif %}
{% else %}
{{ new_power_out }}
{% endif %}
{% endif %}
{% endif %}
target:
entity_id: number.hame_energy_hma_1_405548feaa81_time_period_1_output_value
mode: single
Alle 15 Sekunden wird die Einspeisung neu berechnet.
Ziel ist es den Stromzählerwert zwischen 5 und 10W zu halten.
Die ganzen Cornercases sind nicht notwendig, denn das macht der Speicher (leider) automatisch, ob man nun will oder nicht.
Wenn der Speicher 100% erreicht, wird Passthrough aktiviert. Die enthaltene Regelung das ab >97% zu verhindern greift nur bedingt, weil der SoC offensichtlich driftet und gerne mal von z.B. 92% direkt auf 100% springt. Leider kann man nicht direkt Passthrough als Charging Mode einstellen.
Entladen wird der Speicher maximal auf das eingestellte Dischargelimit. Ab dort wird die Einspeisung abgeschaltet, egal was die Automation tut. Sobald der SoC 5% über dem Dischargelimit erreicht wird wieder eingespeist. Die 5% kann man nicht einstellen.
Man muss die Einspeisewerte noch nichtmal auf 0 bis 600W eingrenzen, denn der Speicher akzeptiert abhängig vom eingestelltem Wechselrichter sowieso nur bestimmte Min- und Max-Werte. Bei mir eben ein eingestellter Marstek-600W-Wechselrichter sorgt dafür, das man nicht über 600W und nicht unter 40W kann (mit dem tatsächlich vorhandenem Deye-Wechselrichter ist der Min-Wert sogar 80W).
Das ist zumindest meine Erfahrung mit Firmware 110.9. Mit älteren/neueren Firmwareversionen kann das evtl. abweichen.
Kompliziert wird es eher, wenn man diese hardcoded Automatismen umgehen will. Z.B. um zu verhindern, das der Speicher bei voller Ladung an wolkigen Tagen ständig zwischen Passthrough und Charge/Discharge hin- und herschaltet.