mwalti
1
Ich brauche Eure unterstützung:
ich möchte gerne in eine bestehendes Template ein Helfer input_number in den Code integrieren … hmm ist leider nicht so einfach
{% set tariff = { "HT": 0.1949, "LT": 0.1738 } %}
{% if (now().weekday() < 5 and (7 <= now().hour <= 19)) or (now().weekday() == 5 and (7 <= now().hour <= 13)) %}
{{ tariff.HT }}
{% else %}
{{ tariff.LT }}
{% endif %}
wie bringe ich diesen input_number in den Code um den Wert “0.1949” damit zu ersetzen und damit dynamisch zu machen
"{{ states('input_number.aew_comfort_verbrauch_niedertarif_chf') | int(0) }}"
Wie sieht denn dein Template bisher aus?
Das solltest du eigentlich im value_template ersetzen können
Also die Zeilen:
{{ tariff.HT }}
durch
{{ states('input_number.aew_comfort_verbrauch_niedertarif_chf') | int(0) }}
mwalti
3
So siehts aus in meinem yaml File, will es aber jetzt in ein Helfer verpacken
- sensors:
aew_comfort_verbrauch:
friendly_name: "AEW Comfort Verbrauch CHF kWh"
unit_of_measurement: CHF/kWh
value_template: >
{% set tariff = { "HT": 0.3665, "LT": 0.3097 } %}
{% if (now().weekday() < 5 and (7 <= now().hour <= 19)) or (now().weekday() == 5 and (7 <= now().hour <= 13)) %}
{{ tariff.HT }}
{% else %}
{{ tariff.LT }}
{% endif %}
So funktionierts nicht:
{% set tariff.HT = states('input_number.aew_comfort_verbrauch_niedertarif_chf') %}
Probiere mal:
- sensors:
aew_comfort_verbrauch:
friendly_name: "AEW Comfort Verbrauch CHF kWh"
unit_of_measurement: CHF/kWh
value_template: >
{% set tariff = { "HT": 0.3665, "LT": 0.3097 } %}
{% if (now().weekday() < 5 and (7 <= now().hour <= 19)) or (now().weekday() == 5 and (7 <= now().hour <= 13)) %}
{{ states('input_number.aew_comfort_verbrauch_niedertarif_chf') | int(0) }}
{% else %}
{{ tariff.LT }}
{% endif %}
Als Template mal so eintragen:
{% set tariff = { "HT": states('input_number.aew_comfort_verbrauch_niedertarif_chf')| int(0), "LT": 0.3097 } %}
{% if (now().weekday() < 5 and (7 <= now().hour <= 19)) or (now().weekday() == 5 and (7 <= now().hour <= 13)) %}
{{ tariff.HT }}
{% else %}
{{ tariff.LT }}
{% endif %}
mwalti
6
So funktioniert es auch nicht. Habe festgestellt das tariff.HT probleme macht.
Konnte es so lösen:
{% set HT = states('input_number.aew_comfort_verbrauch_hochtarif_chf') %}
{% set LT = states('input_number.aew_comfort_verbrauch_niederarif_chf') %}
{% if (now().weekday() < 5 and (7 <= now().hour <= 19)) or (now().weekday() == 5 and (7 <= now().hour <= 13)) %}
{{ HT }}
{% else %}
{{ LT }}
{% endif %}
mwalti
7
Danke für die Tipps und unterstützung 
Sollte aber funktionieren, da fehlte nur die 5 bei der Weekday-Prüfung.
mwalti
9
OK, werde ich auch nochmal anschauen, Danke für die Hilfe