Varta Storage Modbus workaround

Hallo Jonathan,

ich habe gerade deinen Beitrag gelesen, vielen Dank, dass Du die Frage geteilt hast. Ich bin gerad dem gleichen Punkt und überlegen, ob ich die Daten PV Input (vorübergehen) aus der Varta beziehen kann, bis ich den Inverter auch in HA implementiert habe.

Hast Du eine Lösung dafür gefunden?

Lieben Dank, Miriam

leider habe ich keine lösung gefunden und auch varta könnte mir per email nicht helfen. Echt schade das man den sensor nicht auslesen kann: ;(


hattet ihr ein ähnliches Problem. Bin jetzt nach einiger Zeit (7Monate) endlich wieder zu hause und bekomme keine Daten mehr. Ich versuche nochmal meinen code hier mit einzufügen vlt hat ja jmd die Zeit sich das anzuschauen :wink: :

type or paste code here
```  # Modbus Varta pulse neo
modbus:
  - name: "mb_varta"
    type: tcp
    host: 000 # replace with your ip of the your varta
    port: 502
    delay: 2
    timeout: 10
    retry_on_empty: true
    message_wait_milliseconds: 250
    sensors:
### EMS Software Version - not for Varta link
    - name: mb_varta_EMS
      slave: 1
      address: 1000
      count: 17
      data_type: string
      precision: 0
      scale: 1
      scan_interval: 1
      
    - name: laden1
      unit_of_measurement: “w”
      slave: 254
      address: 1066
      scan_interval: 1
      state_class: measurement
      scale: 1
      offset: 0
      precision: 1
      data_type: int16
      
      
### ENS Software Version - not for Varta link
    - name: mb_varta_ENS
      slave: 1
      address: 1017
      count: 17
      data_type: string
      precision: 0
      scale: 1
      scan_interval: 1
### Software Version - not for Varta link
    - name: mb_varta_software
      slave: 1
      address: 1034
      count: 17
      data_type: string
      precision: 0
      scale: 1
### Table version
    - name: mb_varta_table_version
      slave: 1
      address: 1051
      data_type: uint16
      precision: 0
      scale: 1
### timestamp -- not working
    - name: mb_varta_timestamp
      slave: 1
      address: 1052
      count: 2
      data_type: uint32
      swap: word
      precision: 0
      scale: 1
### Serial Number
    - name: mb_varta_serial
      slave: 1
      address: 1054
      count: 10
      data_type: string
      precision: 0
      scale: 1
### Number of Battery Modules installed
    - name: mb_varta_installed_batteries
      slave: 1
      address: 1064
      data_type: uint16
      precision: 0
      scale: 1
### State
    - name: mb_varta_state
      slave: 1
      address: 1065
      data_type: uint16
      precision: 0
      scale: 1
      unit_of_measurement: "State"
### Active Power - positive:charge / negative: discharge
    - name: mb_varta_active_power
      slave: 1
      address: 1066
      data_type: int16
      precision: 0
      scale: 1
      device_class: power
      unit_of_measurement: "W"
### Apparent Power - positive:charge / negative: discharge
    - name: mb_varta_apparent_power
      slave: 1
      address: 1067
      data_type: int16
      precision: 0
      scale: 1
      device_class: apparent_power
      unit_of_measurement: "VA"
### State of Charge
    - name: mb_varta_SOC
      slave: 1
      address: 1068
      data_type: uint16
      precision: 0
      scale: 1
      device_class: battery
      unit_of_measurement: "%"
### energy counter AC->DC - not sure if correct
    - name: mb_varta_ACDC
      slave: 1
      address: 1069
      count: 2
      data_type: uint32
      swap: word
      precision: 0
      scale: 1
      device_class: energy
      unit_of_measurement: "Wh"
      state_class: total_increasing
### Installed capacity
    - name: mb_varta_capacity
      slave: 1
      address: 1071
      data_type: uint16
      precision: 0
      scale: 10
      device_class: energy
      unit_of_measurement: "Wh"
### Grid Power
    - name: mb_varta_grid_power
      slave: 1
      address: 1078
      data_type: int16
      precision: 0
      scale: 1
      device_class: power
      unit_of_measurement: "W"

##Grid
sensor:
   - platform: template
     sensors:
      mb_varta_status:
        friendly_name: "Varta Status"
        value_template: >-
          {% set mapper =  {
              '0' : 'Busy',
              '1' : 'Run',
              '2' : 'Charge',
              '3' : 'Discharge',
              '4' : 'Standby',
              '5' : 'Error',
              '6' : 'Service',
              '7' : 'Islanding' } %}
          {% set state =  states.sensor.mb_varta_state.state %}
          {{ mapper[state] if state in mapper else 'Unknown' }}
# Varta input/output
template:
  - sensor:
    - name: "Varta Input Power"
      unit_of_measurement: "W"
      state_class: measurement
      device_class: power
      state: >
        {% if states('sensor.mb_varta_active_power') | float(0) >= 0 %}
        {% set varta_in = states('sensor.mb_varta_active_power') | float(0) %}
        {% else %}
        {% set varta_in = 0 %}
        {% endif %}
        {{ varta_in }}
        
  - sensor:
    - name: "Varta Output Power"
      unit_of_measurement: "W"
      state_class: measurement
      device_class: power
      state: >
        {% if states('sensor.mb_varta_active_power') | float(0) <= 0 %}
        {% set varta_out = states('sensor.mb_varta_active_power') | float(0) *-1 %}
        {% else %}
        {% set varta_out = 0 %}
        {% endif %}
        {{ varta_out }}
1 Like

what varta batterie do you have ?

I have the same error:

Ich bin gerade bei der Erst-Einrichtung und stoße auf diese Meldung.
@JonathanGe weißt du inzwischen woher der Fehler kommt und kannst du noch Daten aus deinem Varta-Storage anzeigen oder geht bei dir gar nichts mehr?

Eigentlich steht es schon in der Fehlermeldung: das Attribut “Count” ist beim Datentyp uint32 nicht mehr zulässig. Das heißt, du musst das bei jedem der entsprechenden Modbus Sensoren löschen.

Hi guys,

for all who struggle around with config errors: Here is my first working config

→ has to be inserted into configuration.yaml

# Modbus Varta element backup
modbus:
    name: "mb_varta"
    type: tcp
    host: 192.168.4.5 # replace with your ip of the your varta
    port: 502
    delay: 1
    timeout: 3
    message_wait_milliseconds: 250
    sensors:
### EMS Software Version - not for Varta link
    - name: mb_varta_EMS
      slave: 1
      address: 1000
      count: 17
      data_type: string
      precision: 0
      scale: 1
### ENS Software Version - not for Varta link
    - name: mb_varta_ENS
      slave: 1
      address: 1017
      count: 17
      data_type: string
      precision: 0
      scale: 1
### Software Version - not for Varta link
    - name: mb_varta_software
      slave: 1
      address: 1034
      count: 17
      data_type: string
      precision: 0
      scale: 1
### Table version
    - name: mb_varta_table_version
      slave: 1
      address: 1051
      data_type: uint16
      precision: 0
      scale: 1
### timestamp -- not working
    - name: mb_varta_timestamp
      slave: 1
      address: 1052
      data_type: uint32
      swap: word
      precision: 0
      scale: 1
### Serial Number
    - name: mb_varta_serial
      slave: 1
      address: 1054
      count: 10
      data_type: string
      precision: 0
      scale: 1
### Number of Battery Modules installed
    - name: mb_varta_installed_batteries
      slave: 1
      address: 1064
      data_type: uint16
      precision: 0
      scale: 1
### State
    - name: mb_varta_state
      slave: 1
      address: 1065
      data_type: uint16
      precision: 0
      scale: 1
      unit_of_measurement: "State"
### Active Power - positive:charge / negative: discharge
    - name: mb_varta_active_power
      slave: 1
      address: 1066
      data_type: int16
      precision: 0
      scale: 1
      device_class: power
      unit_of_measurement: "W"
### Apparent Power - positive:charge / negative: discharge
    - name: mb_varta_apparent_power
      slave: 1
      address: 1067
      data_type: int16
      precision: 0
      scale: 1
      device_class: apparent_power
      unit_of_measurement: "VA"
### State of Charge
    - name: mb_varta_SOC
      slave: 1
      address: 1068
      data_type: uint16
      precision: 0
      scale: 1
      device_class: battery
      unit_of_measurement: "%"
### energy counter AC->DC - not sure if correct
    - name: mb_varta_ACDC
      slave: 1
      address: 1069
      data_type: uint32
      swap: word
      precision: 0
      scale: 1
      device_class: energy
      unit_of_measurement: "Wh"
      state_class: total_increasing
### Installed capacity
    - name: mb_varta_capacity
      slave: 1
      address: 1071
      data_type: uint16
      precision: 0
      scale: 10
      device_class: energy
      unit_of_measurement: "Wh"
### Grid Power
    - name: mb_varta_grid_power
      slave: 1
      address: 1078
      data_type: int16
      precision: 0
      scale: 1
      device_class: power
      unit_of_measurement: "W"

# Varta input/output
template:
  - sensor:
    - name: "Varta Input Power"
      unit_of_measurement: "W"
      state_class: measurement
      device_class: power
      state: >
        {% if states('sensor.mb_varta_active_power') | float(0) >= 0 %}
        {% set varta_in = states('sensor.mb_varta_active_power') | float(0) %}
        {% else %}
        {% set varta_in = 0 %}
        {% endif %}
        {{ varta_in }}
        
  - sensor:
    - name: "Varta Output Power"
      unit_of_measurement: "W"
      state_class: measurement
      device_class: power
      state: >
        {% if states('sensor.mb_varta_active_power') | float(0) <= 0 %}
        {% set varta_out = states('sensor.mb_varta_active_power') | float(0) *-1 %}
        {% else %}
        {% set varta_out = 0 %}
        {% endif %}
        {{ varta_out }}

##Grid
sensor:
   - platform: template
     sensors:
      mb_varta_status:
        friendly_name: "Varta Status"
        value_template: >-
          {% set mapper =  {
              '0' : 'Busy',
              '1' : 'Run',
              '2' : 'Charge',
              '3' : 'Discharge',
              '4' : 'Standby',
              '5' : 'Error',
              '6' : 'Service',
              '7' : 'Islanding' } %}
          {% set state =  states.sensor.mb_varta_state.state %}
          {{ mapper[state] if state in mapper else 'Unknown' }}