Hallo @ben1984 ,
wie geschrieben hole ich mir inzwischen den Wert nicht aus der Victron Integration sondern lasse mir die Daten vom GX Geräte via MQTT in den MQTT Broker schreiben.
Über die VRM remote Console habe ich unter Dienste den MQTT Dienst aktiviert.
Um an die MQTT Daten des Victron WR zu kommen nutze ich den “Bridge Mode” (https://community.home-assistant.io/t/instruction-manual-configuring-the-mqtt-bridge-on-the-mosquito-broker-addon/339151
In den Ordner “/share/mosquitto/” muss die Datei “bridge-venus.conf” mit folgenden Inhalt erstellt werden:
connection venus-home
address XXX.XXX.XXX.XXX #<- Hier die Ip deines Victron GX Gerätes eintragen
topic # both 0 venus-home/
Danach in den Mosquito AddOn Einstellungen unter Costumize noch folgendes eintragen:
active: true
folder: mosquitto
Damit ist die MQTT Einbindung abgeschlossen, jetzt müssen noch die eigentliche Werte auslesen und umgerechnet werden.
Ich greife mir folgende 4 Werte ab:
sensor:
#Basengreen Speicher - Victron MQTT
- name: "Basengreen_Batterie_MQTT_Power"
state_topic: "venus-home/N/c0619abXXXXX/battery/512/Dc/0/Power"
value_template: '{{ value_json["value"] }}'
unit_of_measurement: "W"
- name: "Basengreen_Batterie_mqtt_voltage_Soc"
state_topic: "venus-home/N/c0619abXXXXX/battery/512/Soc"
value_template: '{{ value_json["value"] }}'
unit_of_measurement: "%"
- name: "Basengreen_Batterie_mqtt_DC_Temperature"
state_topic: "venus-home/N/c0619abXXXXX/battery/512/Dc/0/Temperature"
value_template: '{{ value_json["value"] }}'
unit_of_measurement: "°C"
- name: "basen_green_Batterie_voltage_value"
state_topic: "venus-home/N/c0619abXXXXX/battery/512/Dc/0/Voltage"
value_template: '{{ value_json["value"] | float | round (2) }}'
unit_of_measurement: "V"
Den damit erstellten “Basengreen_Batterie_MQTT_Power” Sensor rechne ich mittels folgenden Code um und generiere zwei neue Sensoren:
- sensor:
#Integration Victron
- name: "Battery power victron input"
unit_of_measurement: "W"
availability: "{{ states('sensor.victron_system_battery_power') | is_number }}"
state: >
{% if states('sensor.victron_system_battery_power')|float >= 0 %}
{{ states('sensor.victron_system_battery_power') }}
{% else %}
{{ 0 }}
{% endif %}
- name: "Battery power victron output"
unit_of_measurement: "W"
availability: "{{ states('sensor.victron_system_battery_power') | is_number }}"
state: >
{% if states('sensor.victron_system_battery_power')|float < 0 %}
{{ -1 * states('sensor.victron_system_battery_power')|float }}
{% else %}
{{ 0 }}
{% endif %}
#sensor.basengreen_batterie_mqtt_power
- name: "Basengreen_Batterie_MQTT_Power_input"
unit_of_measurement: "W"
availability: "{{ states('sensor.basengreen_batterie_mqtt_power') | is_number }}"
state: >
{% if states('sensor.basengreen_batterie_mqtt_power')|float >= 0 %}
{{ states('sensor.basengreen_batterie_mqtt_power') }}
{% else %}
{{ 0 }}
{% endif %}
- name: "Basengreen_Batterie_MQTT_Power_output"
unit_of_measurement: "W"
availability: "{{ states('sensor.basengreen_batterie_mqtt_power') | is_number }}"
state: >
{% if states('sensor.basengreen_batterie_mqtt_power')|float < 0 %}
{{ -1 * states('sensor.basengreen_batterie_mqtt_power')|float }}
{% else %}
{{ 0 }}
{% endif %}
Außerdem habe ich noch zwei Sensoren für die kWh Menge der Batterieladung und -entladung eingebunden:
#### BATTERIE LADEN
- name: "Battery Power Laden neu"
unit_of_measurement: kWh
unique_id: Batterie_laden_neu1
state: >-
{{ (states('sensor.battery_power_victron_input')|float / 1000)|round(3) }}
device_class: "energy"
# state_class: "total_increasing"
state_class: "total"
- name: "Battery Power Entladen neu"
unit_of_measurement: kWh
unique_id: Batterie_entladen_neu1
state: >-
{{ (states('sensor.battery_power_victron_output')|float / 1000)|round(3) }}
device_class: "energy"
# state_class: "total_increasing"
state_class: "total"
Ich hoffe das war verständlich, falls du weitere Fragen hast, gerne melden.