Hi, ich versuche einen einfachen Vergleich zu machen. Ein Sensor enthält eine Jahreszahl (per Restful ausgelesen) und wird nach float konvertiert. Vergleichen will ich diese Jahreszahl mit now().year, was leider nicht funktioniert.
Im Template Editor sieht es m.M.n auch gut aus:
YAML:
rest:
- resource: http://192.168.0.14/V?m=1&f=j
scan_interval: 60
sensor:
- name: "szwp_jan_year_indicator"
value_template: "{{ as_timestamp(value_json.tm) | timestamp_custom('%Y', True) | float }}"
- name: "szwp_jan"
value_template: >
{% if (now().year|float) == (states('sensor.szwp_jan_year_indicator')) %}
{{ (value_json.val[0] | replace(',','.') | float) +
(value_json.val[1] | replace(',','.') | float) +
(value_json.val[3] | replace(',','.') | float) +
(value_json.val[4] | replace(',','.') | float) +
(value_json.val[5] | replace(',','.') | float) +
(value_json.val[6] | replace(',','.') | float) +
(value_json.val[7] | replace(',','.') | float) +
(value_json.val[8] | replace(',','.') | float) +
(value_json.val[9] | replace(',','.') | float) +
(value_json.val[10] | replace(',','.') | float) +
(value_json.val[11] | replace(',','.') | float) +
(value_json.val[12] | replace(',','.') | float) +
(value_json.val[13] | replace(',','.') | float) +
(value_json.val[14] | replace(',','.') | float) +
(value_json.val[15] | replace(',','.') | float) +
(value_json.val[16] | replace(',','.') | float) +
(value_json.val[17] | replace(',','.') | float) +
(value_json.val[18] | replace(',','.') | float) +
(value_json.val[19] | replace(',','.') | float) +
(value_json.val[20] | replace(',','.') | float) +
(value_json.val[21] | replace(',','.') | float) +
(value_json.val[22] | replace(',','.') | float) +
(value_json.val[23] | replace(',','.') | float) +
(value_json.val[24] | replace(',','.') | float) +
(value_json.val[25] | replace(',','.') | float) +
(value_json.val[26] | replace(',','.') | float) +
(value_json.val[27] | replace(',','.') | float) +
(value_json.val[28] | replace(',','.') | float) +
(value_json.val[29] | replace(',','.') | float) +
(value_json.val[30] | replace(',','.') | float) }}
{% else %} 0
{% endif %}
device_class: energy
unit_of_measurement: "kWh"
Im Template Editor sieht es m.M.n auch gut aus:
Code:
{{ states('sensor.szwp_jan_year_indicator') |float}}
Ergebnistyp: number
2022
{{ (now().year|float) }}
Ergebnistyp: number
2022
###
Zusammen:
{{ states('sensor.szwp_jan_year_indicator') |float}}
{{ (now().year|float) }}
Ergebnistyp: string
2022.0
2022.0