diff --git a/template.yaml b/template.yaml index a4f9dbe..18b08ee 100644 --- a/template.yaml +++ b/template.yaml @@ -54,25 +54,25 @@ unit_of_measurement: "W" icon: mdi:flash state: > - {% set total = states('sensor.netzleistung') | float(0) %} - {% set solar = states('sensor.balkonkraftwerk_power') | float(0) %} - {% set raumduft = states('sensor.flur_raumduft_power') | float(0) %} - {% set keller = states('sensor.keller_power') | float(0) %} - {% set anrichte = states('sensor.kuche_anrichte_power') | float(0) %} - {% set musik = states('sensor.kuche_musik_power') | float(0) %} - {% set bett = states('sensor.schlafzimmer_bett_power') | float(0) %} - {% set heimkino_sz = states('sensor.schlafzimmer_heimkino_power') | float(0) %} - {% set deko = states('sensor.schreibtisch_deko_power') | float(0) %} - {% set schreibtisch = states('sensor.schreibtisch_power') | float(0) %} - {% set serverraum = states('sensor.serverraum_power') | float(0) %} - {% set heimkino_wz = states('sensor.wohnzimmer_heimkino_power') | float(0) %} - {% set spieleschrank = states('sensor.wohnzimmer_spieleschrank_power') | float(0) %} - {% set kuehlschrank = states('sensor.tz3000_ww6drja5_ts011f_leistung') | float(0) %} - {% set kaffeemaschine = states('sensor.kaffeemaschine_leistung_2') | float(0) %} - {% set waeschetrockner = states('sensor.ikea_of_sweden_inspelning_smart_plug_leistung') | float(0) %} - {% set waschmaschine = states('sensor.waschmaschine_leistung') | float(0) %} - {% set arcade = states('sensor.arcade_automat_leistung') | float(0) %} - {% set spuelmaschine = states('sensor.spulmaschine_leistung') | float(0) %} + {% set total = states('sensor.netzleistung') | float %} + {% set solar = states('sensor.balkonkraftwerk_power') | float %} + {% set raumduft = states('sensor.flur_raumduft_power') | float %} + {% set keller = states('sensor.keller_power') | float %} + {% set anrichte = states('sensor.kuche_anrichte_power') | float %} + {% set musik = states('sensor.kuche_musik_power') | float %} + {% set bett = states('sensor.schlafzimmer_bett_power') | float %} + {% set heimkino_sz = states('sensor.schlafzimmer_heimkino_power') | float %} + {% set deko = states('sensor.schreibtisch_deko_power') | float %} + {% set schreibtisch = states('sensor.schreibtisch_power') | float %} + {% set serverraum = states('sensor.serverraum_power') | float %} + {% set heimkino_wz = states('sensor.wohnzimmer_heimkino_power') | float %} + {% set spieleschrank = states('sensor.wohnzimmer_spieleschrank_power') | float %} + {% set kuehlschrank = states('sensor.tz3000_ww6drja5_ts011f_leistung') | float %} + {% set kaffeemaschine = states('sensor.kaffeemaschine_leistung_2') | float %} + {% set waeschetrockner = states('sensor.ikea_of_sweden_inspelning_smart_plug_leistung') | float %} + {% set waschmaschine = states('sensor.waschmaschine_leistung') | float %} + {% set arcade = states('sensor.arcade_automat_leistung') | float %} + {% set spuelmaschine = states('sensor.spulmaschine_leistung') | float %} {{ (total + solar - raumduft - keller - musik - bett - heimkino_sz - deko - schreibtisch - serverraum - heimkino_wz - spieleschrank - kuehlschrank - kaffeemaschine - waeschetrockner - waschmaschine - arcade - spuelmaschine) | round(1) }} device_class: power state_class: measurement @@ -86,8 +86,11 @@ unique_id: '2385816278013' unit_of_measurement: 'W' state: > - {% set v = (states('sensor.line_power_channel_a_power')|float(0) + states('sensor.line_power_channel_b_power')|float(0) + states('sensor.line_power_channel_c_power')|float(0)) %} - {% if v > 0 %}{{ v | round(1) }}{% else %}0{% endif %} + {% if (states('sensor.line_power_channel_a_power')|float + states('sensor.line_power_channel_b_power')|float + states('sensor.line_power_channel_c_power')|float) > 0 %} + {{ (states('sensor.line_power_channel_a_power')|float + states('sensor.line_power_channel_b_power')|float + states('sensor.line_power_channel_c_power')|float)|round(1) }} + {% else %} + {{ 0 }} + {% endif %} device_class: power state_class: measurement icon: mdi:transmission-tower-export @@ -99,8 +102,11 @@ unique_id: '9143524256421' unit_of_measurement: 'W' state: > - {% set v = (states('sensor.line_power_channel_a_power')|float(0) + states('sensor.line_power_channel_b_power')|float(0) + states('sensor.line_power_channel_c_power')|float(0)) %} - {% if v < 0 %}{{ (v * -1) | round(1) }}{% else %}0{% endif %} + {% if (states('sensor.line_power_channel_a_power')|float + states('sensor.line_power_channel_b_power')|float + states('sensor.line_power_channel_c_power')|float) < 0 %} + {{ ((states('sensor.line_power_channel_a_power')|float + states('sensor.line_power_channel_b_power')|float + states('sensor.line_power_channel_c_power')|float) * -1 ) | round(1) }} + {% else %} + {{ 0 }} + {% endif %} device_class: power state_class: measurement icon: mdi:transmission-tower-import @@ -112,12 +118,9 @@ unique_id: '3502047649408' unit_of_measurement: 'W' state: > - {% set pe = states('sensor.power_export')|float(0) %} - {% set bk = states('sensor.balkonkraftwerk_power')|float(0) %} - {% if pe > 0 and (bk - pe) < 0 %} - 0 - {% elif pe > 0 and (bk - pe) > 0 %} - {{ ((bk) - pe) | round(1) }} + {% if (states('sensor.power_export')|float(0)) > 0 and (states('sensor.balkonkraftwerk_power')|float(0) - states('sensor.power_export')|float(0)) < 0 %} + {% elif (states('sensor.power_export')|float(0)) > 0 and (states('sensor.balkonkraftwerk_power')|float(0) - states('sensor.power_export')|float(0)) > 0 %} + {{ ((states('sensor.balkonkraftwerk_power')|float(0)) - states('sensor.power_export')|float(0)) | round(1) }} {% else %} {{ (states('sensor.power_import')|float(0) + states('sensor.balkonkraftwerk_power')|float(0)) | round(1) }} {% endif %} @@ -131,53 +134,14 @@ - name: internet_speed_in unique_id: '9519483670666' state: > - {{ (( states('sensor.wan_in_derivative') | float(0) * 8 / 1000000 ) | round(2)) }} + {{ (( states('sensor.wan_in_derivative') | float * 8 / 1000000 ) | round(2)) }} unit_of_measurement: 'Mbps' + attributes: + last_reset: '1970-01-01T00:00:00+00:00' - name: internet_speed_out unique_id: '9519483670667' state: > - {{ (( states('sensor.wan_out_derivative') | float(0) * 8 / 1000000 ) | round(2)) }} + {{ (( states('sensor.wan_out_derivative') | float * 8 / 1000000 ) | round(2)) }} unit_of_measurement: 'Mbps' - -# ── Kalender-Ereignisse für epaperframe ── -# Note: calendar.privat and calendar.tkrz_kalender are the source calendars. -# The caldav integration only exposes description/start_time for *currently active* events. -# For future/tomorrow events we need an automation (see below). - - text_sensor: - # ─── HEUTE (today) — works when calendar.privat is currently "on" ─── - - - name: "Kalender heute Privat" - unique_id: kalender_heute_privat - state: >- - {% if is_state('calendar.privat', 'on') and state_attr('calendar.privat', 'description') %} - {{ state_attr('calendar.privat', 'description') | replace('\n', ', ') | trim | truncate(60) }} - {% else %} - - - {% endif %} - - - name: "Kalender heute Arbeit" - unique_id: kalender_heute_arbeit - state: >- - {% if is_state('calendar.tkrz_kalender', 'on') and state_attr('calendar.tkrz_kalender', 'description') %} - {{ state_attr('calendar.tkrz_kalender', 'description') | replace('\n', ', ') | trim | truncate(60) }} - {% else %} - - - {% endif %} - - - name: "Kalender heute Privat Uhrzeit" - unique_id: kalender_heute_privat_uhrzeit - state: >- - {% if is_state('calendar.privat', 'on') and state_attr('calendar.privat', 'start_time') %} - {{ as_timestamp(state_attr('calendar.privat', 'start_time')) | timestamp_custom('%H:%M', true) }} - {% else %} - - - {% endif %} - - - name: "Kalender heute Arbeit Uhrzeit" - unique_id: kalender_heute_arbeit_uhrzeit - state: >- - {% if is_state('calendar.tkrz_kalender', 'on') and state_attr('calendar.tkrz_kalender', 'start_time') %} - {{ as_timestamp(state_attr('calendar.tkrz_kalender', 'start_time')) | timestamp_custom('%H:%M', true) }} - {% else %} - - - {% endif %} + attributes: + last_reset: '1970-01-01T00:00:00+00:00'