Seite 1 von 2
Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Do 12. Jan 2023, 10:23
von Markus
Ich möchte nun meinen Batterie-Speicher in der Energy-Dashboard reinbringen. Die Energykonfiguration verlangt aber zwei Sensoren (Be-/Entladung).
- battery.png (10.33 KiB) 2199 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.
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Do 12. Jan 2023, 18:18
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
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Do 12. Jan 2023, 21:45
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.
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Fr 13. Jan 2023, 08:37
von Markus
Danke, die gridin/grinout sind Sensoren, die auch zuvor angelegt werden müssen?
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Fr 13. Jan 2023, 18:38
von Markus
müssten die gridin/gridout Helfer sein, aber welcher Typ?
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Fr 13. Jan 2023, 19:15
von Osorkon
Sind Template Sensoren.
Gruß
Osorkon
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Sa 14. Jan 2023, 09:33
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 }}
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Sa 14. Jan 2023, 11:36
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
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Sa 14. Jan 2023, 12:22
von Markus
Danke, aber irgendwie steige ich da nicht durch, da ich in den Entwicklerwerkzeugen weder einen Battery Out noch gridin Sensor finde?
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Sa 14. Jan 2023, 12:30
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
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Sa 14. Jan 2023, 12:49
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
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Sa 14. Jan 2023, 12:55
von Osorkon
Die Template Konfiguration neu geladen und trotzdem tauchen die Sensoren:
- sensor.battery_in
- sensor.battery_out
nicht auf??
Gruß
Osorkon
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Sa 14. Jan 2023, 13:18
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
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Sa 14. Jan 2023, 13:36
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.
- Battery In_Out.gif (321.34 KiB) 2142 mal betrachtet
Gruß
Osorkon
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Sa 14. Jan 2023, 13:44
von Markus
- template.png (4.52 KiB) 2141 mal betrachtet
Config passt auch
- konfig.png (13.61 KiB) 2141 mal betrachtet
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Sa 14. Jan 2023, 13:48
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
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Sa 14. Jan 2023, 13:56
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...
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Sa 14. Jan 2023, 14:02
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
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Sa 14. Jan 2023, 14:35
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
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Sa 14. Jan 2023, 15:23
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
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Sa 14. Jan 2023, 15:41
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
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Sa 14. Jan 2023, 16:46
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
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Sa 14. Jan 2023, 17:34
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?
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Sa 14. Jan 2023, 19:10
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 (10.26 KiB) 2111 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 (25.44 KiB) 2111 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
Re: Sensorwert abhängig vom Vorzeichen aufsplitten
Verfasst: Sa 14. Jan 2023, 19:57
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