From 9bc76effe6941ccc1194032fa8dc0a836f4e4161 Mon Sep 17 00:00:00 2001 From: Claus Dethlefsen Date: Mon, 6 Apr 2026 07:15:09 +0200 Subject: [PATCH] Migrate legacy template sensors --- include/sensors/time.yaml | 10 --- include/templates/legacy_sensors.yaml | 116 ++++++++++++++++++++++++++ 2 files changed, 116 insertions(+), 10 deletions(-) create mode 100644 include/templates/legacy_sensors.yaml diff --git a/include/sensors/time.yaml b/include/sensors/time.yaml index 991df8f..fbf1d1e 100644 --- a/include/sensors/time.yaml +++ b/include/sensors/time.yaml @@ -2,13 +2,3 @@ display_options: - 'time' - 'date' - -- platform: template - sensors: - dato: - friendly_name: "Dagens dato" - value_template: >- - {% set timestamp = strptime(states('sensor.date'), '%Y-%m-%d').timestamp() %} - {% set weekdays_DK = ['Man', 'Tirs', 'Ons', 'Tors', 'Fre', 'Lør', 'Søn'] %} - {% set months_DK = ['Januar', 'Februar', 'Marts', 'April', 'Maj', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'December'] %} - {{ weekdays_DK[timestamp | timestamp_custom('%w') | int - 1] }}dag den {{ timestamp | timestamp_custom('%-d.') }} {{ months_DK[timestamp | timestamp_custom('%-m') | int - 1] }} {{ timestamp | timestamp_custom('%Y') }} diff --git a/include/templates/legacy_sensors.yaml b/include/templates/legacy_sensors.yaml new file mode 100644 index 0000000..6649252 --- /dev/null +++ b/include/templates/legacy_sensors.yaml @@ -0,0 +1,116 @@ +sensor: + - name: "Batteri (%)" + unique_id: snowywhite_battery_numeric + unit_of_measurement: "%" + state: > + {% set val = states('sensor.snowywhite_battery') %} + {% if val not in ['unknown','unavailable',''] %} + {{ val.replace('%','') | float }} + {% else %} + 0 + {% endif %} + + - name: "Rækkevidde (km)" + unique_id: snowywhite_range_numeric + unit_of_measurement: "km" + state: > + {% set val = states('sensor.snowywhite_range') %} + {% if val not in ['unknown','unavailable',''] %} + {{ val.replace(' km','') | float }} + {% else %} + 0 + {% endif %} + + - name: "Charging (numeric)" + unique_id: snowywhite_charging_numeric + unit_of_measurement: "1" + state: > + {% if is_state('binary_sensor.snowywhite_charging','on') %} + 1 + {% else %} + 0 + {% endif %} + + - name: "Energy Added (kWh)" + unique_id: snowywhite_energy_added_numeric + unit_of_measurement: "kWh" + state: > + {% set val = states('sensor.snowywhite_energy_added') %} + {% if val not in ['unknown','unavailable',''] %} + {{ val | float }} + {% else %} + 0 + {% endif %} + + - name: "Charging Rate (km/h)" + unique_id: snowywhite_charging_rate_numeric + unit_of_measurement: "km/h" + state: > + {% set val = states('sensor.snowywhite_charging_rate') %} + {% if val not in ['unknown','unavailable',''] %} + {{ val | float }} + {% else %} + 0 + {% endif %} + + - name: "Dato" + unique_id: n22_dato + state: > + {{ now().strftime('%A %d %B') | replace('Monday','Mandag') + | replace('Tuesday','Tirsdag') + | replace('Wednesday','Onsdag') + | replace('Thursday','Torsdag') + | replace('Friday','Fredag') + | replace('Saturday','Lørdag') + | replace('Sunday','Søndag') }} + + - name: "Solopgang" + unique_id: n22_solopgang + state: > + {% set t = state_attr('sun.sun','next_rising') %} + {{ as_timestamp(t) | timestamp_custom('%H:%M') if t else '-' }} + + - name: "Solnedgang" + unique_id: n22_solnedgang + state: > + {% set t = state_attr('sun.sun','next_setting') %} + {{ as_timestamp(t) | timestamp_custom('%H:%M') if t else '-' }} + + - name: "Opvask tid tilbage" + unique_id: dishwasher_remaining_minutes + unit_of_measurement: "min" + state: > + {% set val = states('sensor.dishwasher_remaining_time_2') %} + {% if val in ['unknown','unavailable',''] %} + 0 + {% elif ':' in val %} + {% set parts = val.split(':') %} + {{ (parts[0] | int * 60) + (parts[1] | int) }} + {% elif 'min' in val %} + {{ val.replace('min','') | int }} + {% else %} + {{ val | int(0) }} + {% endif %} + + - name: "Dage til jul" + unique_id: dage_til_jul + state: >- + {{ states('sensor.nedtaelling_juleaften') }} + + - name: "Dage til nytår" + unique_id: dage_til_nytaar + state: >- + {{ states('sensor.nedtaelling_nytaar') }} + + - name: "Dage til ferie" + unique_id: dage_til_ferie + state: >- + {{ states('sensor.nedtaelling_ferie') }} + + - name: "Dagens dato" + unique_id: dato + state: >- + {% set timestamp = strptime(states('sensor.date'), '%Y-%m-%d').timestamp() %} + {% set weekdays_DK = ['Man', 'Tirs', 'Ons', 'Tors', 'Fre', 'Lør', 'Søn'] %} + {% set months_DK = ['Januar', 'Februar', 'Marts', 'April', 'Maj', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'December'] %} + {{ weekdays_DK[timestamp | timestamp_custom('%w') | int - 1] }}dag den {{ timestamp | timestamp_custom('%-d.') }} {{ months_DK[timestamp | timestamp_custom('%-m') | int - 1] }} {{ timestamp | timestamp_custom('%Y') }} \ No newline at end of file