Chart statistik daten auslesen und als rechengrundlage nutzen

Hi :slight_smile: die datumseingabe klappt ja, ist vor definiert im system.

problem beim ersten input_datetime.statistik_start

das soll doch auch ein input sein..

Das ist ein Helfer , erstell den genauso wie ich das eben beschrieben habe

grafik

leider nicht als input möglich

KEIN TEMPLATE.
Geh im GUI auf Helfer, dort auf Helfer erstellen.
Ich hab dir doch oben sogar zwei Screenshots mit der GUI gezeigt

wir reden an ein ander vorbei.. der datum input ist ja im system als vorlage vorhanden und funkioniert.

ich bekomme das 1erste grosse template nicht hin

Du hast das als Sensor angelegt und nicht als Input, ist doch logisch das es dann nicht funktioniert.

ja super, darum dreht sich doch mein problem.. im gui ist nur sensor möglich,
und der versuch das in die config zu setzen klappt, nicht, wegen fehlender infos.

Natürlich geht das :

Du bist wahrscheinlich dauernd im Template Menü bei Helfer aber der Inputhelfer ist schon vorher auszuwählen, du darfst NICHT Template wählen

hi das datum applet ist doch gar nicht das thema, das läuft

ich weiss ja zu schätzen, das du mir helfen möchtst, aber wir reden an einander vorbei..

ich möchte den 1 helfer input_datetime.statistik_start aus

https://community-discourse.smarthome-for-dummies.de/t/statistik-auswertung-ohne-sql/414

anlegen

Und das erkläre ich dir schon die ganze Zeit input_datetime.Statistik_start ist ein Helfer der über die GUI angelegt wird.

das dateteime start bezieht sich nicht auf den datums selector, sondern m.e. auf das erste grossse script im beispiel

das möchte ich anlegen.

du meinst den Code :

template:
  - triggers:
      - trigger: state
        entity_id:
          - input_button.statistik_berechnen
        variables:
          sensor: "sensor.{{ states('input_select.statistik_sensor') }}"
          zeitraum: "{{ states('input_select.statistik_zeitraum') }}"
          typ: "{{ states('input_select.statistik_typ') }}"
          unit: "{{ state_attr(sensor, 'unit_of_measurement') }}"
    actions:
      - action: recorder.get_statistics
        data:
          start_time: "{{ states('input_datetime.statistik_start') }}"
          end_time: "{{ states('input_datetime.statistik_ende') }}"
          period: "{{ zeitraum }}"
          statistic_ids:
            - "{{ sensor }}"
          types:
            - "{{ typ }}"
        response_variable: stats
    sensor:
      - name: Statistik Auswertung
        unique_id: fe77f5a5-04a9-468c-9f69-3d3e6f750f49
        state: |
          {% if typ == "state" %}
              {% set anfang = stats.statistics[sensor][0].state | float %}
              {% set ende = stats.statistics[sensor][-1].state | float %}
              {{ ((ende - anfang) | round(3)) | string + " " + unit }} 
          {% elif typ == "change" %}
              {% set total = namespace(sum=0) %}
              {% for item in stats.statistics[sensor] %}
              {% if 'change' in item %}
              {% set total.sum = total.sum + item.change %}
              {% endif %}
              {% endfor %}
              {{ (total.sum | round(3)) | string + " " + unit }}
          {% elif typ == "mean" %}
              {% set anzahl =  stats.statistics[sensor] | length %}
              {% set total = namespace(sum=0) %}
              {% for item in stats.statistics[sensor] %}
              {% if 'mean' in item %}
              {% set total.sum = total.sum + item.mean %}
              {% endif %}
              {% endfor %}
              {{ ((total.sum / anzahl) | round(2)) | string + " " + unit}}
          {% elif typ == "max" %}
              {% set max = stats.statistics[sensor] | map(attribute='max') | list %}
              {{ (max | max) | string + " " + unit }}
          {% elif typ == "min" %}
              {% set min = stats.statistics[sensor] | map(attribute='min') | list %}
              {{ (min | min) | string + " " + unit  }}
          {% endif %}

?

oder den :

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.hauptstromzahler_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.hauptstromzahler_energy'][0].state | float %}
          {% set ende = stats.statistics['sensor.hauptstromzahler_energy'][-1].state | float %}
          {{ (ende - anfang) | round(3) }}


wird falsch eingesetzt, (diverse fehler oben rechts)

klappt das bei dir problemlos?

wenn du es an die richtige stelle setzt.
ich seh bei dir kein Template ist das vorher schon definiert ?

input datetime ist gesetzt und funktioniert..

was heisst richtige stelle… setze cursor ganz links in neue zeile und füge ein..

In der Yaml, hast du da schon irgendwo template: stehen ?

bisher nicht.. geade gemacht..

aber so weit das ich es testen könnte komme ich ja nicht weil die formatierung nicht passt

Welche Fehlermeldung genau ?

ich kann rum schieben wie ich will … immer fehler oben rechts rot

der bindestrich bei sensor gehört unters p