Marstek Venus Modbus mit E V2

Hallo,
kannmir jemand nen Link oder Infos dazu geben, wie ich den VenusE (in Version2) über Modbus steuere.
Real will ich aus HA auf Einspeisung oder Ladung schalten und dann dort live die Wattwerte ändern (also mit wieviel er gerade einspeisen oder laden soll).
Das ganze möglichst, ohne dass dadurch das Flash belastet wird.

Bin für jeden Tipp dankbar.
Momentan versuche ich es über GitHub - ViperRNMC/marstek_venus_modbus · GitHub ,
krieg es aber damit nicht hin.
Ich bin durchaus auch für andre Wege offen (wenn sie mir haarklein erklärt werden).
Die Modbus Befehle sollten dabei ja immer ähnlich sein.

Momentan sieht das Ganze beiu mir so aus:


Modus über die App ist Manuell und alle Zeiten aus.
Einspeisung: 0

Hast Du schon einen passenden Wifi Modbus TCP Adapter wie den Elfin EW11 in der Viper Integration beschrieben am Laufen? Falls Nein, hast Du noch einen weiteren/weiten Weg und benötigst ggf. auch Lötkenntnisse.

Hm, wie du siehst, steht die Verbindung zum Modbus bereits und das Addon läuft.
Ich weiß nur nicht, was ich wo in der App und im Addon einstellen muss, damit ich die Einspeisung regeln kann.
Sensorwerte kommen zumindest:

Wobei ich eine Verlustleistung von 60 Watt schon sehr stattlich finde.

Die local API Steuerung habe ich auch installiert:

Könnten die sich gegenseitig stören?
Ich hab mittlerweile so viele Sachen zum Testen installiert, dass ich garnicht mehr weiß, was wozu gehört.
Die local Api hat den Vorteil, dass sich der Akku dann ausschalten lässt, aber die Modbussteuerung ist von der Wlanreichweite her erheblich besser und stabiler.

Die Marstek App benötigt man nicht, max. zum erstmaligen einrichten, ggf. zum Firmware App.

Im der App die local API deaktivieren, die ist Schrott und sorgt zumeist für Probleme.

Es benötigt nur die Viper Integration zum Steuern aus HA - dazu über z.B. Automationen:

  1. Steuermodus Ein (Setzt solange den Benutzermodus Anti Feed ausser Kraft)
  2. Laden, oder Entladen, oder Stop
  3. Leistung einstellen

U.A. im Deutschen PV-Forum gibt es einen eigenen Marstek Bereich mit >10.000 Beiträgen und auch einer FAQ.

Danke. So hab ichs gemacht.
Als ich die API deaktiviert hatte ging es auch,
Genau für 5 Minuten.
Danach konnte ich machen was ich will, er hat keine Befehle mehr angenommen.
Als wäre die 485 tot.
Erst als ich den Stecker zog und den Akku mit dem Knopf abschaltete (was seltsamerweise trotz verbundenem Modbus klappte, normal schaltet er dann ja sofort wieder an),
hörte er dann auf einzuspeisen.
Danach hat er dann aber nicht mehr auf Modbus Befehle reagiert.
Ist das Modbus so unzuverlässig? Oder haut die App doch mit irgendwelchen Sachen rein?

Ich hab Firmware 153. Ist eine andere ratsam?

Ich kann Dir nur sagen, dass meine Venus E v2 seit Monaten wie ein Uhrwerk läuft.

Modbus TCP Adapter: Elfin EW11

Software/Firmware:

Ich steuere die aber auch nicht selber an - Eigenverbrauchssteuerung läuft nach wie vor über das CT002 Smartmeter, Viper Integration zum virtualisieren aller Sensoren, evcc greift hier und dort regelnt ein.

EMS Version ist die Firmwareversion?
Dann sollt ich wohl mal ne neue aufspielen lassen.

Ich werde mir dann wohl auch mal eine em3pro emulation basteln.
Ich erhalte die Verbrauchswerte eben über die Tibber Api und verarbeite sie dann in ner HA Automation.

Hallo Jaybee,

ich hänge gerade an einem ähnlichen Problem. Habe allerdings die V3. Habe auch die Modbus Integration am laufen, jedoch auch hier gestaltet sich die Steuerung eher schwierig. Hatte schon eine ausgeklügelte Automation am Start hat aber leider nichts gebracht, da ich 2 Speicher im Einsatz habe und die sich gegenseitig laden und entladen. Was natürlich der totale Quatsch ist. Ich habe jetzt noch was neues gebaut und sollte das funktionieren werde ich mich wieder melden, kann dann auch gerne den Code teilen. Allerdings bin ich nicht sehr zuversichtlich und möchte jezt erstmal ne Woche oder so testen. Hab jetzt nach deinem Post auch erstmal Local Api ausgeschaltet und mich in der App abgemeldet. Vielleicht hilft es ja.

Grüße

Noch eine Nachfrage: worüber versorgst du das Teil mit Strom? Ich hab den ESP an die Versorgung des MT Modbus Steckers geklemmt…

Gerne. ich hab sehr gerne Anregungen, zumal ich mich mit dem HA Scriptenm nicht wirklich auskenne…

Dee EW11 wir auch über den Stecker versorgt. By they way, der EW11 erlaubt mehrere parallele Zugriffe über Modbus, hat praktisch einen eingbauten Modbus Proxy. Keine Ahnung wie das bei Deinem Adapter ist - aber falls bei Dir neben der Viper Integration noch andere Apps/Anwendungen zeitgleich per Modbus auf die Venus zugreifen, könnte das natürlich zu Konflikten-, bzw. Deinen beschriebenen Problemen führen.

Nein, ich habe en Adapter nur bei dem viper addon eingetragen.
Vielleicht nehm ich mal den Abschlusswiderstand raus bei dem kurzen Kabel…

Also bei mir ist jetzt nach langem ausprobieren und einer leider wieder viel zu ungenauen Steuerung, ( Musste erst wieder abspecken, da es zu viel war um zu kontrollieren was passiert) der Knoten doch geplatzt. Die Modbus TCP Integration funktioniert ohne irgendwelche Adapter. Nur ins Netz hängen und die richtige Adresse wählen. Bei der Steuerung wurde es ein wenig kniffliger, da ich nicht wusste welche Angezeigten Sensoren was steuern und vor allem wie. Im Moment sieht es sehr gut aus und die Einfache Steuerung tut was sie soll. Definitiv müssen die TCP lokal Steuerung ausgeschaltet werden, da dies nur zu Problemen führt. Ich habe die App ebenfalls wieder deaktiviert und nun läuft es.

alias: Marstek Stabil EPROM Safe AKKU Nachttest
description: Stabiler Betrieb mit Nachtmodus SOC Prüfung, PV-Überschuss und Senec
triggers:
  - trigger: time_pattern
    seconds: /30
actions:
  - if:
      - condition: template
        value_template: "{{ current_mode != target_mode }}"
    then:
      - action: select.select_option
        target:
          entity_id: select.marstek_venus_modbus_erzwungener_modus
        data:
          option: "{{ target_mode }}"
  - if:
      - condition: template
        value_template: "{{ (current_charge - target_charge) | abs > 50 }}"
    then:
      - action: number.set_value
        target:
          entity_id: number.marstek_venus_modbus_ladeleistung_einstellen
        data:
          value: "{{ target_charge | round(0) }}"
  - if:
      - condition: template
        value_template: "{{ (current_discharge - target_discharge) | abs > 50 }}"
    then:
      - action: number.set_value
        target:
          entity_id: number.marstek_venus_modbus_entladeleistung_einstellen
        data:
          value: "{{ target_discharge | round(0) }}"
mode: single
variables:
  pv: "{{ states('sensor.marstek_pv_power_gesamt') | float(0) }}"
  senec: "{{ states('sensor.senec_battery_state_power') | float(0) }}"
  soc: "{{ states('sensor.marstek_venus_batterie_ladezustand') | float(0) }}"
  current_mode: "{{ states('select.marstek_venus_modbus_erzwungener_modus') }}"
  current_charge: >-
    {{ states('number.marstek_venus_modbus_ladeleistung_einstellen') | float(0)
    }}
  current_discharge: >-
    {{ states('number.marstek_venus_modbus_entladeleistung_einstellen') |
    float(0) }}
  mode_age_sec: >
    {{ (as_timestamp(now()) -
    as_timestamp(states.select.marstek_venus_modbus_erzwungener_modus.last_changed))
    | int(0) }}
  raw_target_mode: |
    {% if pv < 300 and soc < 12 %}
      stop
    {% elif pv < 300 %}
      discharge
    {% elif pv > 1200 %}
      charge
    {% else %}
      {{ current_mode }}
    {% endif %}
  target_mode: |
    {% if raw_target_mode != current_mode and mode_age_sec < 300 %}
      {{ current_mode }}
    {% else %}
      {{ raw_target_mode }}
    {% endif %}
  target_charge: |
    {% if target_mode == 'charge' %}
      {% if pv > 3500 %}
        2500
      {% elif senec < -300 %}
        0
      {% else %}
        300
      {% endif %}
    {% else %}
      0
    {% endif %}
  target_discharge: |
    {% if target_mode == 'discharge' %}
      450
    {% else %}
      0
    {% endif %}

Danke.
seltsamerweise wurde mir dein post zwar per email angezeigt, aber im forum nicht…
Bei der momentanen Lage sind meine Venüsse zwar aus, da alles Akkus auf 100% sind und die restlichen Akkus völlig ausreichen um über die Nacht zu kommen, aber für die nächste Teuerphase, die von einer Nullpreisphase gefolgt wird, wäre eine exakte Steuerung schon schön…

was genau möchtest du denn exakt steuern? Bei mir kam das Problem von den falschen Entitäten, bzw. von meiner Unwissenheit welche gesteuert werden müssen/ dürfen. Wieviel Batterien hast du denn? Und was hast du damit vor? Hört sich für mich auch nach nem dynamischen Stromtarif an, so wie du das schreibst.

Das ist es wohl auch bei mir.
Ich finde keine befriedigende Erklärumg zu den zu steuernden Zellen.

Ja, es ist ein dynamischer Tarif plus Solarpanels plus 3 verschiedene Sorten Batterien.
Das öffenlich zu erklären wäre zu verwirrend.
Wenns dich näher interessiert, gerne als PM.