pieto
16. Januar 2025 um 19:41
1
Hallo,
ich ich möchte die Laufzeit von meinem Pellet Ofen ermitteln.
Ich habe einen “sensor.leistung” der die Leistung von 0 bis 100% angibt.
Die laufzeit soll ermittelt werden von >1% bis 100%. Wenn 0% ist, ist der Brenner aus.
Diese Zeit möchte ich erfassen /Tag / Monat /Gesamt
Ich versuche mich jetzt schon seit ein paar Tagen daran.
Vielleicht kann mir ja jemand Unterstützung geben.
Vielen Dank
Klaus
versuch es mal hiermit:
sensor:
- platform: template
sensors:
pellet_ofen_laufzeit:
friendly_name: "Pellet Ofen Laufzeit"
unit_of_measurement: 'Stunden'
value_template: >
{% set runtime = states('sensor.leistung')|float %}
{% if runtime > 1 %}
{{ (as_timestamp(now()) - as_timestamp(states.sensor.leistung.last_changed)) / 3600 }}
{% else %}
0
{% endif %}
attribute_templates:
daily_runtime: >
{% set total_runtime = 0 %}
{% for state in states.sensor.leistung.attributes.history %}
{% set runtime = state.attributes.value|float %}
{% if runtime > 1 %}
{% set total_runtime = total_runtime + (as_timestamp(state.last_updated) - as_timestamp(state.last_changed)) / 3600 %}
{% endif %}
{% endfor %}
{{ total_runtime }}
monthly_runtime: >
{% set total_runtime = 0 %}
{% for state in states.sensor.leistung.attributes.history %}
{% set runtime = state.attributes.value|float %}
{% if runtime > 1 and state.last_updated.strftime('%Y-%m') == now().strftime('%Y-%m') %}
{% set total_runtime = total_runtime + (as_timestamp(state.last_updated) - as_timestamp(state.last_changed)) / 3600 %}
{% endif %}
{% endfor %}
{{ total_runtime }}
total_runtime: >
{% set total_runtime = 0 %}
{% for state in states.sensor.leistung.attributes.history %}
{% set runtime = state.attributes.value|float %}
{% if runtime > 1 %}
{% set total_runtime = total_runtime + (as_timestamp(state.last_updated) - as_timestamp(state.last_changed)) / 3600 %}
{% endif %}
{% endfor %}
{{ total_runtime }}
pieto
16. Januar 2025 um 20:13
3
Danke für die schnelle Rückmeldung, ich bin noch am Anfang mit Homeassistant. Wo muss ich das jetzt eintragen?
pieto
17. Januar 2025 um 08:12
6
Hallo Yellowcake,
Es wird leider noch keine Zeit angezeigt.
Danke
puh jetzt so aus der Ferne auch nicht so einfach ^^
evtl. noch einmal ein ganz anderer Ansatz der evtl. einfacher für dich ist da über die Web GUI:
Einstellungen → Geräte und Dienste - Helfer
Hier einen Helfer erstellen “Schwellenwertsensor”
Sollte so aus sehen.
jetzt bekommst du schon einmal ein Impuls wo erkannt wird on oder off.
jetzt erstellen wir noch einen helfer mit den namen Verlaufsstatistik
und dann im nächsten schritt diese werte hier:
{{ today_at('00:00') }}
und
{{ now() }}
für den gesamt:
{{ 0 }}
{{ now() }}
für den monat:
{{ today_at('00:00').replace(day=1) }}
{{ now() }}
pieto
18. Januar 2025 um 09:29
9
Hallo Yellowcake,
das ist genau das was ich wollte. Ich hatte auch schon mit Helfer versucht. Ich wäre aber trotz vieler Youtube Videos nicht auf den Schwellwertsensor gekommen.
Vielen Dank
Klaus