Modbus - mehrere Teilnehmer / SMA

JuggedHareBoy

New member
Hallo,

leider gibt es noch keine (mir bekannte) gute Möglichkeit SMA Wechselrichter in HA einzubinden.
Ich habe einen Homemanager 2.0, einen Tripower und einen Storage für den BYD Speicher.

Per Modbus kann ich den Tripower zur Kommunikation bewegen, teils auch mit Hilfe von Copy & Paste. Bin in der Programmierung / Aufbau der YAML wirklich nicht fit. So werden auch ein paar Werte mit einer weiteren Zusatzprogrammierung anders formatiert.
Aber, ein paar hinzugefügte Parameter funktionieren.

Leider bekomme ich aber keinen aktuellen Stromverbrauch, keine Lade - / Entladeleistung der Batterie etc.
Kann man mehrere Modbusteilnehmer ansprechen?
 
Aber wenn Modbus schon ein bischen funktioniert würde ich da mal weitermachen.

Ich hab hier mal ne config gefunden. Hast du das auch so?
YAML:
modbus:
  - type: tcp
    host: <IP Adresse vom SMA TriPower>
    port: 502
    name: "sma"
    close_comm_on_error: true
    delay: 5
    timeout: 5
    sensors:
      - name: PV_Status
        data_type: uint32
        unit_of_measurement: "status"
        slave: 3
        address: 30201
        count: 2
      - name: PV_Gesamtertrag
        unit_of_measurement: "kWh"
        slave: 3
        address: 30531
        input_type: input
        count: 2
      - name: PV_Leistung
        unit_of_measurement: "W"
        slave: 3
        address: 30775
        input_type: input
        count: 2
        data_type: int32
      - name: PV_Tagesertrag
        unit_of_measurement: "Wh"
        slave: 3
        address: 30517
        count: 4
        data_type: uint32
      - name: Netzverbrauch
        slave: 3
        address: 30865
        unit_of_measurement: "W"
        count: 2
        data_type: uint32
      - name: PV_Temperatur
        data_type: uint32
        device_class: "temperature"
        unit_of_measurement: "°C"
        slave: 3
        address: 30953
        count: 2
        scale: 0.1
      - name: PV_Spannung
        data_type: uint32
        device_class: "voltage"
        unit_of_measurement: "V"
        slave: 3
        address: 30783
        count: 2
        scale: 0.01
        precision: 2
      - name: PV_Frequenz
        data_type: uint32
        unit_of_measurement: "Hz"
        slave: 3
        address: 30803
        count: 2
        scale: 0.01
        precision: 2

# Für das Energy Dashboard
sensor:
  - platform: integration
    source: sensor.netzverbrauch
    name: energy_spent
    unit_prefix: k
    round: 2

# Templates für die bessere Darstellung
template:
  - sensor:
      - name: "pv_status_template"
        state: "{% if is_state('sensor.PV_Status', '35') %} Fault
          {% elif is_state('sensor.PV_Status', '303') %} Off
          {% elif is_state('sensor.PV_Status', '455') %} Warning
          {% elif is_state('sensor.PV_Status', '307') %} OK
          {% else %} Unknown Code
          {% endif %}"
      - name: "pv_leistung_template"
        unit_of_measurement: "W"
        state: "{% if states('sensor.PV_Leistung') is not none %}
          {% if states('sensor.PV_Leistung') | int < 0 %}
          {{ 0 }}
          {% else %}
          {{ states('sensor.PV_Leistung') | int }}
          {% endif %}
          {% else %}
          {{ 'error' }}
          {% endif %}"
      - name: "pv_temperatur_template"
        unit_of_measurement: "°C"
        state: "{% if states('sensor.pv_temperatur') is not none %}
          {% if states('sensor.pv_temperatur') | int < 0 %}
          {{ 0 }}
          {% else %}
          {{ states('sensor.pv_temperatur') | int }}
          {% endif %}
          {% endif %}"
      - name: "pv_spannung_template"
        unit_of_measurement: "V"
        state: "{% if states('sensor.pv_spannung') is not none %}
          {% if states('sensor.pv_spannung') | float(default=0) < 0 %}
          {{ 0 }}
          {% else %}
          {{ states('sensor.pv_spannung') | float(default=0) }}
          {% endif %}
          {% endif %}"
      - name: "pv_frequenz_template"
        unit_of_measurement: "Hz"
        state: "{% if states('sensor.pv_frequenz') is not none %}
          {% if states('sensor.pv_frequenz') | float(default=0) < 0 %}
          {{ 0 }}
          {% else %}
          {{ states('sensor.pv_frequenz') | float(default=0) }}
          {% endif %}
          {% endif %}"
 
Jup, quasi genau das kopiert 😅
Ich kann da ja nur eine IP und eine Modbus ID angeben. Der Tripower hat bei mir die ID 3, der Sunny Boy Storage die 4.
Die Kommunikation mit dem Tripower kriege ich auch im HA hin, die Werte kommen an. Aber wenn ich zb Adressen für die Modbus Kommunikation mit dem Sunny Boy Storage und dessen ID nehme, kommt nichts.
Ich kenne es noch so, außerhalb vom HA, das Modbus Geräte als Master und Slave arbeiten. Hätte somit angenommen, der Tripower holt sich die Infos vom Sunny Boy Storage.
Das scheint aber nicht zu gehen.
Daher die Frage ob man auch zwei oder mehr Modbus Geräte ansprechen kann.
 
Habe die SMA-Integration von HA genutzt. Wichtig ist, dass alle Geräte das gleiche Passwort haben, also Wechselrichter, Batterie, Home Manager.
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Letzte Anleitungen

Statistik des Forums

Themen
6.115
Beiträge
59.425
Mitglieder
6.160
Neuestes Mitglied
gonzo12345
Zurück
Oben