PV Batterie Werte im Energy Dashboard - Victron

Hallo zusammen,

ich habe seit kurzem einen PV Speicher an einem Victron Multiplus II 3000 hängen und leider Probleme mit den laden und Entladen Entitäten die ich über die HACS Victron Integration „errechne“

Die Integration liefert mit den Sensor „sensor.victron_system_battery_power“ welcher mit die Be- und Entladung in Watt ausgibt. Negativer Wert = Entladung positiver Wert = Beladung des Akkus.

In der Configuration.yaml trenne ich diese Entität in jeweils eine Lade und Entlade Entität:

template:
- sensor:
- name: "Battery power victron input"
unit_of_measurement: "W"
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"
state: >
{% if states('sensor.victron_system_battery_power')|float < 0 %}
{{ -1 * states('sensor.victron_system_battery_power')|float }}
{% else %}
0
{% endif %}

Diese beiden Sensoren geben mir ebenfalls eine Watt Wert aus.

Diese „Watt Sensoren“ werden wiederum mit folgenden Code in kWh umgerechnet.

sensor:
- platform: integration
source: sensor.battery_power_victron_output
name: Victron Battery Output Riemann
unit_prefix: k
round: 3
- platform: integration
source: sensor.battery_power_victron_input
name: Victron Battery Input Riemann
unit_prefix: k
round: 3

4
5

Wie man auf den Screens erkennen kann, machen diese Sensoren bei „Input“ bei Schreiben von neuen Werten erstmal einen kleinen „Sprung“ und beim Entladen jeweils einen Sprung von ca. 3kWh. Dies verhaut mir komplett meine Statistik.

Wo habe ich ein Fehler in der Config? Hat jemand eine andere Idee wie ich das Laden und Entladen des Akkus tracken kann?

Vielen Dank

:crayon:by HarryP: Codezeilen formatiert (bitte immer in </> einbinden)

Hallo @bjk2000 und willkommen im Forum :grinning:

Ich habe mir dein interessantes Phänomen angesehen und mit meinem ähnlichen “Aufbau” verglichen. Deine “platform: integration” Sensoren würde ich ausschließen, da ich es genauso habe und bei mir läuft.

Deinen template sensor “Battery power victron input” habe ich mal in Anlehnung an meinen formatiert und angepasst.

template:
  - sensor:
    - name: "Battery power victron input"
      unit_of_measurement: "W"
      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"
      state: >
        {% if states('sensor.victron_system_battery_power')|float < 0 %}
          {{ -1 * states('sensor.victron_system_battery_power')|float }}
        {% else %}
          {{ 0 }}
        {% endif %}

Wenn das nicht helfen sollte, könntest du dir den ankommenden Werte von sensor.victron_system_battery_power ansehen. Nicht das der schon so sprunghaft ist

Hi @Linos,

danke für deine Begrüßung und für deine Anpassung des Codes. Ich habe deine Anpassungen soeben mal in meine config.yaml übernommen und schau wie sich das verhält.

Heute hatte ich wieder kleine Sprünge in der Auswertung aber der Power “Hauptsensor” hat keine Ausreißer die dieses Verhalten erklären. Ich werde berichten ob deine Anpassung bei meinem Problem hilfreich war.

Das Problem besteht zwar weiterhin mit den Werten aus der Integration aber ich hab es nun anders gelöst. Ich ruf die Werte nun über mqtt an und damit hab ich keine Sprünge mehr.

HI, habe einen ähnlichen Aufbau mit Multiplus und Pylontech. Was ich nicht verstehe: Ich rechne den Sensor “Battery Power” extra auf positive Werte um. Also ein negativer Wert ist ein Laden und ein positiver Wert ein Entladen des Speichers. Dann über einen Riemann Helfer in kWh. Aber wenn ich die Werte ins Energy Dashboard eintrage, muss ich den “Power to Battery”-Wert wieder in einen negativen umrechnen, damit mir das Laden des Akkus als positiver Wert angezeigt wird. Es ist ja verbrauchte Energie, also sollte die Säule ja nach oben gehen und nicht ins negative. Wieso ist das so und macht ihr das genauso?

Oder hab ich einen Denkfehler und der Balken für “Energie in den Akku” muss nach unten gehen? Also ins negative?

Bei mir sieht es wie folgt aus:


Akku laden wird behandelt wie eine Eispeisung und verbrauch wie ein Bezug.

Die Sensoren werden wie in meinem ersten Beitrag beschrieben berechnet, nur inzwischen aus dem über Mqtt bereitgestellten System Battery Wert

Hallo, ich versuche auch die Daten per MQTT zu holen das passt auch.
Aber ich habe keine Möglichkeit Sie im Energie Dashboard auszuwählen - Kann jemand mir helfen:

Habe nach dieser Anleitung gearbeitet:
Victron per mqtt einbinden

   # Battery Historie ChargedEnergy
  - state_topic: "victron/N/c0619ab4b000/battery/279/History/ChargedEnergy"
    state_class: total_increasing
    name: "Batterie Ladegesamtleistung Victron - mqtt -"
    unique_id: "battery_charge"
    device_class: energy
    value_template: '{{ value_json.value }}'
    unit_of_measurement: kWh
    icon: mdi:car-battery 



  # Battery Historie DischargedEnergy 
  - state_topic: "victron/N/c0619ab4b000/battery/279/History/DischargedEnergy"
    state_class: total_increasing
    name: "Batterie Entladegesamtleistung Victron - mqtt -"
    unique_id: "battery_discharge"
    device_class: energy
    value_template: '{{ value_json.value }}'
    unit_of_measurement: kWh
    icon: mdi:car-battery 


Danke dir, dann ist es richtig bei mir. Lila Balken nach unten :slight_smile:

Hi,
kannst du bitte kurz beschreiben, wie du es gelöst hast?

vielen Dank.

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.

danke für deine Antwort.

Wie erstellt du folgenden sensor: ‘sensor.victron_system_battery_power’

Wo kommt der her?

Jetzt bin ich gerade selbst verwirrt :smiley:

Ich muss mir meine configuration.yaml nochmals in ruhe anschauen und ggf aufräumen.

Heute schaff ich das aber leider nicht mehr. Melde mich die Tage. Sorry

das wäre super.

Vielen Dank