ehtron
1. Juni 2026 um 12:13
1
Hi ich suche nach einer möglichkeit, die von HA erstellten zeitlichen graphen (charts) daten zu nutzen.
wie komme ich da ran.
da ich die daten ja schon sehe, bräuchte ich nur noch eine durchschnittsberechnung der daten erstellen.
z.b aus daten pro Jahr oder monat seit letzer ablesung.
wie komme ich da ran.
Das sind keine festen Daten im Sinne von Sensorwerten sondern Ergebnisse einer Datenbank Abfrage durch HA.
Du kannst dir einen SQL Sensor machen um eigene Abfragen zu erstellen.
ehtron
1. Juni 2026 um 13:21
3
Hi danke, hab mir das eben mal angesehen, die passenden datenbank einträge zu finden (sql-lite) ist mir leider nicht gelungen, um sie weiter zu nutzen. (integrierter db browser) schade, hätte ich mir einfacher vorgestellt.
ehtron
1. Juni 2026 um 14:35
5
Hi ja bin ich gerade dran, kriege die templates aber nicht ans laufen
‘sensor’ is undefined
ziel ist, tages durchschnitts berechnung ab einem bestimmten, am besten im dashboard zu settzenden datums.
ehtron
2. Juni 2026 um 14:53
6
Hi ich hab mich nun mit recorder.get_statistics beschäftigt.
nur, egal wie ich den helfer anlege oder in den entwickler wekzeugen / aktion teste, ich laufe immer in diverse fehler. alles verucht, aber komme nicht weiter
ich benötige aus dem beispiel den ersten und die letzen record. (den wert sum)
die verlinkungen habe ich schon durch. bei anpassung auf meine daten, gibt es fehler.
`action: recorder.get_statistics`
`data:`
`start_time: “{{ states(‘input_datetime.datum’) }}”`
`end_time: “{{ now().isoformat() }}”`
`period: day`
`types:`
`- sum`
`statistic_ids:`
`- sensor.balkon_solar_heutige_erzeugung`
`response_variable: stats`
`statistics:`
`sensor.balkon_solar_heutige_erzeugung:`
`- start: “2026-05-29T22:00:00+00:00”`
`end: “2026-05-30T22:00:00+00:00”`
`sum: 195.39438000000328`
`- start: “2026-05-30T22:00:00+00:00”`
`end: “2026-05-31T22:00:00+00:00”`
`sum: 196.35990000000336`
`- start: “2026-05-31T22:00:00+00:00”`
`end: “2026-06-01T22:00:00+00:00”`
`sum: 198.59705000000343`
`- start: “2026-06-01T22:00:00+00:00”`
`end: “2026-06-02T22:00:00+00:00”`
`sum: 200.70618000000343`
evtl, mag mir jemand aufs pferd helfen.. danke dafür.
by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)
s.a.: (Neues Update & Features - Hier in der Community 🫶 )
Bitte als vorformatierten Text mit allen Einrückungen einfügen , ist im Menu möglicherweise erst über das + Symbol verfügbar.
Wäre auch praktisch zu wissen welche Fehler auftreten, sonst kann man. Nicht viel dazu sagen.
ehtron
2. Juni 2026 um 15:29
8
hier meine aktuelle version, mit obwohl ich das gar nicht mag, mit ki versucht
sequence:
# 1. SCHRITT: Statistik abrufen und in 'stats' speichern
- action: recorder.get_statistics
data:
start_time: "{{ states('input_datetime.datum') }}"
end_time: "{{ now().isoformat() }}"
period: day
types:
- sum
statistic_ids:
- sensor.balkon_solar_heutige_erzeugung
response_variable: stats # <-- Hier endet die Aktion!
# 2. SCHRITT: Variablen separat definieren (Achten Sie auf das neue '-' Zeichen)
- variables:
daten: "{{ stats['sensor.balkon_solar_heutige_erzeugung'] }}"
erste_summe: "{{ daten[0]['sum'] | float(0) if daten else 0 }}"
letzte_summe: "{{ daten[-1]['sum'] | float(0) if daten else 0 }}"
differenz: "{{ (letzte_summe - erste_summe) | round(2) }}"
bringt
Keine Aktion definiert. Bitte definiere einen 'action:'-Schlüssel.
der codeblock </> will nicht immer, trotz + gedrückt, wo ist das feature?
die nicht besonders intelligenz bringt dann immer wieder neue versionen, die alle nicht funktionieren
daher hoffe ich auf menschliche intellenz
ach, ein einrückungs fehler liegt nicht vor, er kann parsen, ist blau
Das ist aber nicht dein kompletter Code, da fehlt ja noch einiges
ehtron
2. Juni 2026 um 16:04
10
das ist der ganze template code
Hast du es mal 1:1 umgesetzt wie im Beispiel?
Im Moment benutzt du ja ein Script
Das Script meckert weil du kein Action mit den Daten ausführst.
Bei mir läuft dein Script übrigens durch, Hab nur den Sensor an einen von meinen angepasst.
ehtron
2. Juni 2026 um 16:33
12
Hi
das ist jetzt soweit durch aber…
alias: Berechne Balkonsolar Differenz
trigger:
- platform: state
entity_id: input_boolean.irgendein_trigger
to: 'on'
action:
- service: recorder.get_statistics
data:
start_time: "{{ states('input_datetime.datum') }}"
end_time: "{{ now().isoformat() }}"
period: day
types:
- sum
statistic_ids:
- sensor.balkon_solar_heutige_erzeugung
response_variable: stats
- service: persistent_notification.create
data:
title: "Debug: stats"
message: >
{% if stats is defined %}
Stats vorhanden: {{ stats['sensor.balkon_solar_heutige_erzeugung'] | default([]) | string }}
{% else %}
stats NICHT definiert — recorder.get_statistics hat keine Daten zurückgegeben oder ist fehlgeschlagen.
{% endif %}
- service: input_number.set_value
target:
entity_id: input_number.balkon_solar_differenz
data:
value: >
{% if stats is defined and stats['sensor.balkon_solar_heutige_erzeugung'] is defined and stats['sensor.balkon_solar_heutige_erzeugung'] | length > 0 %}
{% set daten = stats['sensor.balkon_solar_heutige_erzeugung'] %}
{% set erste_summe = daten[0]['sum'] | float(0) %}
{% set letzte_summe = daten[-1]['sum'] | float(0) %}
{{ (letzte_summe - erste_summe) | round(2) }}
{% else %}
0
{% endif %}
alias: Berechne Balkonsolar Differenz
trigger:
- platform: state
entity_id: input_boolean.irgendein_trigger
to: 'on'
action:
- service: recorder.get_statistics
data:
start_time: "2026-05-30"
end_time: "2026-06-02T18:32:00.298155+02:00"
period: day
types:
- sum
statistic_ids:
- sensor.balkon_solar_heutige_erzeugung
response_variable: stats
- service: persistent_notification.create
data:
title: "Debug: stats"
message: >
stats NICHT definiert — recorder.get_statistics hat keine Daten zurückgegeben oder ist fehlgeschlagen.
- service: input_number.set_value
target:
entity_id: input_number.balkon_solar_differenz
data:
value: >
0
null kann nicht stimmen siehe records weiter oben stats mag nicht..
ich leg das mal als template an.. bisher nur im template editor getestet
Hast du die einzelnen Werte geprüft ob die stimmen ?
Ansonsten könnte es bei der Berechnung hängen und daher 0 kommen
ehtron
2. Juni 2026 um 17:41
14
Hi die DB lierfert die daten… klappt nur mit der stats variable nicht… immer nicht vorhanden
Vielleicht solltest Du erst einmal anstelle die KI zu strapazieren ein funktionierendes Beispiel des Menschen @Osorkon nachbauen, siehe Statistik Auswertung ohne SQL - Templates Sammlung - SmartHome for Dummies und wenn das geht, dann kannst Du es auch abwandeln.
ehtron
3. Juni 2026 um 09:03
16
Hi ich beisse mir die zähne bei der anlage der templates im gennanten beispiel aus.
ich habe duzende selbst erstellte sensoren in meiner config.yaml,
die 3 im beispiel genannten passen nicht (parsing oder abstands fehler)
im gui habe ich keine möglichkeit ein passendes input template zu erstellen, nur sensoren.
irgend eine wichtige info, die ich übersehe fehlt in dem beispiel. alle tuts die ich durchgearbeitet habe, bringen mich nicht weiter. obwohl ich schon seit uber 30 jahren programmiere, stosse ich hier an meine grenzen.
wo liegt mein (denk)fehler?
Ich habe das Beispiel von Orkson 1:1 umgesetzt nur mit meinem Sensor und es klappt.
template:
- triggers:
- trigger: state
entity_id:
- input_button.statistik_berechnen
actions:
- action: recorder.get_statistics
data:
start_time: "{{ states('input_datetime.statistik_start') }}"
end_time: "{{ states('input_datetime.statistik_ende') }}"
period: day
statistic_ids:
- sensor.stromzaehler_lk13be_energy
types:
- state
response_variable: stats
sensor:
- name: Statistik Auswertung
unit_of_measurement: kWh
unique_id: fe77f5a5-04a9-468c-9f69-3d3e6f750f49
state: |
{% set anfang = stats.statistics['sensor.stromzaehler_lk13be_energy'][0].state | float %}
{% set ende = stats.statistics['sensor.stromzaehler_lk13be_energy'][-1].state | float %}
{{ (ende - anfang) | round(3) }}
Mach das bitte mal ganz genauso wie im Beispiel mit den Input Felder für Start und Ende
Das können wir nur wissen wenn Du die configuration.yaml postest aber nimm ggf. sensible Infos vorher heraus. Ich vermute, Dinge sind vermischt und/oder nicht richtig eingerückt.
ehtron
3. Juni 2026 um 09:46
19
Hi wie hast du die helfer als input angelegt?
wenn ich das beispiel in die yaml setzen will klappt das nicht.
und per gui gibts kein input, nur sensor.
bringe doch bitte die direkte kopie aus deiner config yaml
danke dafür
Helfer erstellen → Zeitpunkt Eingabe datum und Zeit auswählen