Template Sensor Fronius

Hallo ich verzweifle langsam. Ich hab einen Sensor von Fronius, der sich im - Bereich bewegt wenn ich einspeise ( Netzeinspeisung ) und im + Bereich wenn ich im Netzverbrauch bin.
lt. Anleitung hab ich ihn erstellt, nur beide 2 Sensoren funktionieren leider nicht im HA.
Vielleicht könnt ihr mir weiterhelfen, danke!

template:
  - sensor:
    # Berechnet anhand des Stromzählers die Rückgabe ins Netz, wenn negative Werte ausgegben werden
      - name: Netzeinspeisung
        unique_id: "Netzeinspeisung"
        state_class: measurement
        icon: mdi:transmission-tower
        unit_of_measurement: W
        device_class: power
        state: >
            {% if is_number(states('sensor.solarnet_leistung_vom_netz')) and states('sensor.solarnet_leistung_vom_netz') | float(0) < 0 %}
                {{(states('sensor.solarnet_leistung_vom_netz') | float(0))*-1 | round (3) }}
            {% else %}
                {{(states ('0.0') | float(0)) |round(3) }}
            {% endif %}

template:
  - sensor:
    # Berechnet anhand des Stromzählers die Rückgabe ins Netz, wenn negative Werte ausgegben werden
      - name: Netzeinspeisung
        unique_id: "Netzeinspeisung"
        state_class: measurement
        icon: mdi:transmission-tower
        unit_of_measurement: W
        device_class: power
        state: >
            {% if is_number(states('sensor.solarnet_leistung_vom_netz')) and states('sensor.solarnet_leistung_vom_netz') | float(0) > 0 %}
                {{(states('sensor.solarnet_leistung_vom_netz') | float(0))*1 | round (3) }}
            {% else %}
                {{(states ('0.0') | float(0)) |round(3) }}
            {% endif %}

Erstmal herzlich willkommen hier im HA-Forum! :grinning:

1 „Gefällt mir“

Oben Rechts die Lupe schon mal probiert? Und nach “solarnet” gesucht?
Die Moderatoren mögen mir verzeihen, aber vermutlich ist das mit der Suche nicht bekannt, deshalb einfach zum x-ten male ein wenig YAML mit einer sehr bekannten Berechnung des Status.

PS: Ich mag die Bezeichnung “solarnet_leistung_vom_netz” wenn man vom und mal zum Netz sein soll. :slight_smile:

template:
  - sensor:
# ---------------------------------------------------------------------------- vom Versorger
    - name: "power_grid_consuming"
      unit_of_measurement: W
      device_class: power
      state: "{{ max(0, states('sensor.solarnet_power_grid') | float(default=0)) }}"
# ---------------------------------------------------------------------------- an Versorger
    - name: "power_grid_producing"
      unit_of_measurement: W
      device_class: power
      state: "{{ max(0, 0 - states('sensor.solarnet_power_grid') | float(default=0)) }}"

PPS: Und noch ein tipp was round und was format macht, wenn es mal keine Nachkommastellen gibt.
==> Entwicklertools>Template (copy / paste)

{{ '%.2f' | format (1.00) }}
{{ 1.00 | round(2) }}

Ist hübscher wenn man den Wert am Ende im Dashboard darstellen will.

vielen Dank! hat natürlich funktioniert!

ich hänge schon wieder, ich bräuchte den eigenverbrauch durch einen Template Sensor… bitte um Hilfe, es würde so aussehen… im Test funktioniert es, in der configuration.yaml nicht :frowning:

- platform: template
  sensors:
    hausverbrauch:
      friendly_name: Hausverbrauch
      unit_of_measurement: W
      value_template: "{{ (states('sensor.gesamt_pv') | float) - (states('sensor.power_grid_producing') | float)}}"

sensor und plattform hast du in der Reihenfolge vertauscht.

Moin du verwendest da jetzt die alte Methode für template Sensoren

- platform: template
  sensors:

probiere mal damit einfach hinter deinen anderen template Sensoren von oben einfügen.

  - name: Hausverbrauch
    friendly_name: Hausverbrauch
    unit_of_measurement: W
    state: "{{ (states('sensor.gesamt_pv') | float) - (states('sensor.power_grid_producing') | float)}}"

LG
Tobi

funktioniert leider nicht…

template:
  - sensor:
    - name: solareigenverbrauch
      friendly_name: Solareigenverbrauch
      unit_of_measurement: W
      state: "{{ (states('sensor.gesamt_pv') | float) - (states('sensor.power_grid_producing') | float)}}"


ValueError: Template error: float got invalid input 'unknown' when rendering template 'template:
  - sensor:
    - name: solareigenverbrauch
      friendly_name: Solareigenverbrauch
      unit_of_measurement: W
      state: "{{ (states('sensor.gesamt_pv') | float) - (states('sensor.power_grid_producing') | float)}}"' but no default was specified

Hast du template: jetzt evtl. in der configuration doppelt?

du hast alle template Sensoren in der configuration.yaml?
nicht in der template.yaml?
entweder du nimmst die Sensoren in die template.yaml oder du musst template: !include template.yaml in der configuration.yaml löschen, falz du das noch drin hast.

LG
Tobi

nein ich hab alles Sensoren in configuration.yaml, template.yaml nicht
template: !include ist nicht in der config.yaml

so schaut jetzt mein Eintrag aus:
die ersten beiden Sensoren funktionieren

template:
  - sensor:
# ---------------------------------------------------------------------------- vom Versorger
    - name: "power_grid_consuming"
      unit_of_measurement: W
      device_class: power
      state: "{{ max(0, states('sensor.solarnet_leistung_vom_netz') | float(default=0)) }}"
# ---------------------------------------------------------------------------- an Versorger
    - name: "power_grid_producing"
      unit_of_measurement: W
      device_class: power
      state: "{{ max(0, 0 - states('sensor.solarnet_leistung_vom_netz') | float(default=0)) }}"

# ----------------------------------------------------------------------------- Eigenverbrauch
    - name: Hausverbrauch
      friendly_name: Hausverbrauch
      unit_of_measurement: W
      state: "{{ (states('sensor.gesamt_pv') | float) - (states('sensor.power_grid_producing') | float)}}"
1 „Gefällt mir“

ersetz mal friendly_name: Hausverbrauch durch device_class: power.
So sollte es funktionieren.

Danke hat funktioniert!