Sensorwert abhängig vom Vorzeichen aufsplitten Thema ist als GELÖST markiert

Bereich rings rum zum Thema Yaml und seine Tücken.


Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Markus »

Ich möchte nun meinen Batterie-Speicher in der Energy-Dashboard reinbringen. Die Energykonfiguration verlangt aber zwei Sensoren (Be-/Entladung).

battery.png
battery.png (10.33 KiB) 1820 mal betrachtet

Vom Speicher bekomme ich nun einen Wert [W] bei positivem Vorzeichen: Ladung, bei negativen Vorzeichen: Entladung.

Wie splitte ich nun den einen Wert in zwei Sensoren, abhängig vom Vorzeichen, auf?

Danach würde ich mit einem Utilitymeter den Wert auf kWh tracken.

Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Osorkon »

Du möchtest also 2 neue Sensoren anlegen, die jeweils einen positiven Wert in kWH anzeigen.
Einer für die Entladung und einer für die Ladung.

Du kannst damit anfangen 2 Temple Sensoren für Watt anzulegen.
Und anschließend mit Hilfe der Integration - Riemann sum integral die kWh berechnen.

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Einstein
Beiträge: 25
Registriert: Do 12. Jan 2023, 21:27
1

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Einstein »

Ja das will er wahrscheinlich machen
Musste ich auch tun.

Das ist kein Probleme. er sucht noch den richtigen code der in die Configuration.yaml muss

Code: Alles auswählen

template:

sensor:
  - name: "Batterie Power_In"
    unique_id: "Batterie Power In"
    unit_of_measurement: "W"
    state_class: measurement
    device_class: power
    state: >
        {% if states('<hier deinen Sensor rein>') | float(0) <= 0 %}
            {% set gridin = states('<hier deinen Sensor rein>') | float(0) |abs %}
        {% else %}
            {% set gridin = 0 %}
        {% endif %}
        {{ gridin }}
  - name: "Batterie Power Out"
    unique_id: "Batterie Power_Out"
    unit_of_measurement: "W"
    state_class: measurement
    device_class: power
    state: >
        {% if states('<hier deinen Sensor rein>') | float(0) >= 0 %}
            {% set gridout = states(<hier deinen Sensor rein>') | float(0) |abs %}
        {% else %}
            {% set gridout = 0 %}
        {% endif %}
        {{ gridout }}

Kurz beschrieben der eine nimmt bei größer 0 den Absolutwert des Sensors. und der andere bei kleiner 0 läuft bei mir recht gut.

Das mit dem Intergral ist an sich auch keine Problem das geht über die Helfer in bei den Geräten.

Jetzt kommt mein Problem bei jedem Stromausfall (Neustart habe ich noch nicht versucht) kommen über das Intergral utopische Werte.
Einmal hatte ich in einer Stunde ca. 5600 kWh auf meine 10 kWh Batterie geladen.
Gibt es dafür ein Lösung.

Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Markus »

Danke, die gridin/grinout sind Sensoren, die auch zuvor angelegt werden müssen?

Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Markus »

müssten die gridin/gridout Helfer sein, aber welcher Typ?

Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Osorkon »

Sind Template Sensoren.

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Markus »

ok, aber ich bekomme hier keine Werte z.b in varta_out rein?

Code: Alles auswählen

# Batterie entladen
  - platform: template
    sensors:
      battery_out:
        unit_of_measurement: 'W'
        device_class: power
        value_template: >-
          {% if states('sensor.mb_varta_active_power') | float(0) <= 0 %}
            {% set counter.varta_out = states('sensor.mb_varta_active_power') | float(0) |abs %}
          {% else %}
            {% set varta_out = 0 %}
          {% endif %}
          {{ varta_out }}
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Osorkon »

Hallo @Markus anbei die 2 Sensoren als Template Sensoren.
Ich verwende hier die aktuelle Template Integration. Die alte template Platform nutze ich nicht mehr.
Mache mir deshalb hier nicht die Mühe da auf Fehlersuche zu gehen.

Auszug aus der template.yaml

Code: Alles auswählen

- sensor:
  - name: Battery Out
    state: |
      {% set gridin = (states('sensor.mb_varta_active_power') | int(0)) %}
      {% if gridin < 0 %}
        {{ gridin | abs }}
      {% else %}
        0
      {% endif %}
    unit_of_measurement: 'W'
    state_class: measurement
    device_class: power
    unique_id: c2266480-93f5-11ed-a103-a3cf204e46e1
  - name: Battery In
    state: |
      {% set gridin = (states('sensor.mb_varta_active_power') | int(0)) %}
      {% if gridin > 0 %}
        {{ gridin }}
      {% else %}
        0
      {% endif %}
    unit_of_measurement: 'W'
    state_class: measurement
    device_class: power
    unique_id: ddc9e4a0-93f5-11ed-a103-a3cf204e46e1

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Markus »

Danke, aber irgendwie steige ich da nicht durch, da ich in den Entwicklerwerkzeugen weder einen Battery Out noch gridin Sensor finde?

Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Osorkon »

Der Sensor
sensor.mb_varta_active_power
Ist vorhanden und liefert die von Dir besagten positive bzw. negative Werte, je nach dem ob die Batterie geladen oder entladen wird richtig?

Wenn der Sensor bei Dir anders heißt, musst Du diesen natürlich gegen Deinen austauschen.

Nach dem Du die Template.yaml bearbeitet hast. Die Konfiguration prüfen und die Template Konfiguration neu laden.
Danach sollten Dir die 2 neuen Sensoren zur Verfügung stehen.

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Markus »

sensor.mb_varta_active_power ist vorhanden und aktiv, die anderen gibt es nicht.

Config ist geprüft, in Ordnung und neu gestartet

Code in der template.yaml

Code: Alles auswählen

- sensor:
  - name: battery_out
    state: |
      {% set gridin = (states('sensor.mb_varta_active_power') | int(0)) %}
      {% if gridin < 0 %}
        {{ gridin | abs }}
      {% else %}
        0
      {% endif %}
    state_class: measurement
    device_class: power
    unique_id: c2266480-93f5-11ed-a103-a3cf204e46e1
  - name: battery_in
    state: |
      {% set gridin = (states('sensor.mb_varta_active_power') | int(0)) %}
      {% if gridin > 0 %}
        {{ gridin }}
      {% else %}
        0
      {% endif %}
    state_class: measurement
    device_class: power
    unique_id: ddc9e4a0-93f5-11ed-a103-a3cf204e46e1

Template.yaml in der config inkludiert

Code: Alles auswählen

template: !include template.yaml
Dateianhänge
mbvarta.png
mbvarta.png (2.66 KiB) 1767 mal betrachtet
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Osorkon »

Die Template Konfiguration neu geladen und trotzdem tauchen die Sensoren:

  • sensor.battery_in
  • sensor.battery_out

nicht auf??

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Markus »

Osorkon hat geschrieben: Sa 14. Jan 2023, 12:55

Die Template Konfiguration neu geladen und trotzdem tauchen die Sensoren:

  • sensor.battery_in
  • sensor.battery_out

nicht auf??

Gruß
Osorkon

Nein, weder wenn ich HA neu starte noch wenn ich Template-Entitäten neu lade

Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Osorkon »

Prüfung der Konfiguration wirft keinen Fehler auf?
Alle anderen Template Sensoren funktionieren?

Was bekommst Du als Ergebnis wenn Du das Template im Template Editor eintragen tust?

Code: Alles auswählen

{% set gridin = (states('sensor.mb_varta_active_power') | int(0)) %}
{% if gridin < 0 %}
{{ gridin | abs }}
{% else %}
0
{% endif %}

{% set gridin = (states('sensor.mb_varta_active_power') | int(0)) %}
{% if gridin > 0 %}
{{ gridin }}
{% else %}
0
{% endif %}

Es ist ja nicht so, dass ich das ganze bei mir nicht getestet hätte. :D

Battery In_Out.gif
Battery In_Out.gif (321.34 KiB) 1763 mal betrachtet

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Markus »

template.png
template.png (4.52 KiB) 1762 mal betrachtet

Config passt auch

konfig.png
konfig.png (13.61 KiB) 1762 mal betrachtet
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Osorkon »

Und unter Entwicklungswerkzeuge hast Du im Bereich Neuladen der YAML-Konfiguration Template Entitäten neu geladen?
Mit Home Assistant Neustart schon versucht?

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Markus »

Osorkon hat geschrieben: Sa 14. Jan 2023, 13:48

Und unter Entwicklungswerkzeuge hast Du im Bereich Neuladen der YAML-Konfiguration Template Entitäten neu geladen?
Mit Home Assistant Neustart schon versucht?

Gruß
Osorkon

Alles schon probiert...

Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Osorkon »

Die Zeile
template:

Existiert nur einmal in der configuration.yaml?
Die Datei template.yaml liegt im gleichen Ordner wie auch die configuration.yaml?
Irgendwelche Hinweise im Log?

Betrifft es alle Deine Template Sensoren in der template.yaml oder nur die besagten 2?

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Markus »

Osorkon hat geschrieben: Sa 14. Jan 2023, 14:02

Die Zeile
template:

Existiert nur einmal in der configuration.yaml?

Wow, du hast wiedermal in die richtige Stelle gestochen....das war die Ursache - Vielen Dank

Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Markus »

Die Template Sensoren hab ich nun in die Riemnann sum integration übernommen. Leider kann ich den Sensor varta_energy_in nicht im Energy-Dashboard verwenden. Brauchts da noch was?

Code: Alles auswählen

  - platform: integration
    source: sensor.battery_in
    name: varta_energy_in
    unit_prefix: k
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Osorkon »

Wo hast Du die Sensoren angelegt?
In der sensor.yaml?

Das wäre hier die Konfigurationen, welche bei mir funktioniert.
Auszug aus der sensor.yaml

Code: Alles auswählen

- platform: integration
  source: sensor.battery_in
  name: energy_in
  unit_prefix: k
  unique_id: 1ee0a4e0-941b-11ed-a103-a3cf204e46e1
- platform: integration
  source: sensor.battery_out
  name: energy_out
  unit_prefix: k
  unique_id: 26020d90-941b-11ed-a103-a3cf204e46e1

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Markus »

Ja, in der sensor.yaml, aber im Energy Dashboard kann ich den Sensor nicht wählen?

btw, die generierst du die unique_id?

Code: Alles auswählen

  - platform: integration
    source: sensor.battery_in
    name: varta_energy_in
    unique_id: 1ee0a4e0-941b-11ed-a103-a3cf204e46e1
    unit_prefix: k
   # round: 2
  - platform: integration
    source: sensor.battery_out
    name: varta_energy_out
    unique_id: 26020d90-941b-11ed-a103-a3cf204e46e1
    unit_prefix: k
   # round: 2
Einstein
Beiträge: 25
Registriert: Do 12. Jan 2023, 21:27
1

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Einstein »

Hallo

Noch mal zu meinen Sensoren: Gridin und Gridout sind nur Variablen für die berrechnung die hätte man auch x und y nennen können.

zu Deinem Problem: Das Enegiedashboard erwartet kWh als Wert. daher must du nicht die Sesorwerte nemmen sondern das Ergebnis von deinem Rieman Helfer dann funktionierts.

Was hast du für eine Hardware für Homeassistant?
Edit:

Ich sehe es gerade Unit Präfix muss "kWh" dann sollte es funktionieren.

Wo finde ich die Sensors.yaml?

Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Osorkon »

Einstein hat geschrieben: Sa 14. Jan 2023, 17:34

Ich sehe es gerade Unit Präfix muss "kWh" dann sollte es funktionieren.

Mit unit Präfix ist alles in Ordnung.
k ist schon richtig steht für killo bzw. 1000.
kWh gibt es nicht, bzw. ist nicht zulässig!

unit_prefix.png
unit_prefix.png (10.26 KiB) 1732 mal betrachtet
Markus hat geschrieben: Sa 14. Jan 2023, 16:46

Ja, in der sensor.yaml, aber im Energy Dashboard kann ich den Sensor nicht wählen?

Dann weiss ich nicht was ich falsch mache, bei mir kann ich beide im Energy Dashboard verwenden.

Stromnetz.png
Stromnetz.png (25.44 KiB) 1732 mal betrachtet
Markus hat geschrieben: Sa 14. Jan 2023, 16:46

btw, die generierst du die unique_id?

Visual Studi Code mit der Erweiterung Unique ID Generator

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Einstein
Beiträge: 25
Registriert: Do 12. Jan 2023, 21:27
1

Re: Sensorwert abhängig vom Vorzeichen aufsplitten

Beitrag von Einstein »

Ich finde bei mir keine sensors.yaml

Hast du die integrator bei Sensors in der Konfiguration.yaml angelegt?

Ich wollte mit meinen vergleichen finde aber den Text dazu nicht.
Ich habe den Rechner bir mir unter Einstellunngen --> Geräte&Dienste --> im Reiter Helfer angelegt.

Dort läuft

Dateianhänge
integral.PNG
integral.PNG (35.2 KiB) 1728 mal betrachtet
Antworten