Her er en variant, bruker Nordpool integrasjonen (eller Priceanalyzer fork'en i mitt tilfelle under). Du kan også bruke Tibber. Input er pris nå og snittpris den dagen. Automasjonen skal ha på VVB hvis price level er <4 og av hvis price level er > 3. Husker ikke hvor jeg fant denne, men jeg har ikke skrevet den selv.
sensor:
- name: Electricity price level (1 day)
icon: mdi:currency-usd
unit_of_measurement: ""
state: >-
{% set price_cur = state_attr('sensor.priceanalyzer', 'current_hour')['value'] | float(0) %}
{% set price_avg = state_attr('sensor.priceanalyzer', 'average') | float(0) %}
{% if price_cur == 0 or price_avg == 0 %}
-1
{% else %}
{% set price_ratio = (price_cur / price_avg) %}
{% if price_ratio >= 1.35 %}
5
{% elif price_ratio >= 1.05 %}
4
{% elif price_ratio <= 0.65 %}
1
{% elif price_ratio <= 0.85 %}
2
{% else %}
3
{% endif %}
{% endif %}
Eksempel 2 (som jeg akkurat nå prøver med), er å ha VVB på i de x-antall billigste timene. Nordpool/PriceAnalyzer som input (Tibber vil også virke med litt omskriving). Automasjonen skal skru VVB på hvis sensoren er "on" og av hvis den er "off". Fant ide til denne på HA forumet laaangt nedover:
binary_sensor:
- name: Electricity price is cheap 8h
unit_of_measurement: ""
state: >
{% set l=state_attr('sensor.priceanalyzer', 'raw_today')|sort(attribute='value') %}
{{ (now() >= l[0].start and now() <= l[0].end)
or (now() >= l[1].start and now() <= l[1].end)
or (now() >= l[2].start and now() <= l[2].end)
or (now() >= l[3].start and now() <= l[3].end)
or (now() >= l[4].start and now() <= l[4].end)
or (now() >= l[5].start and now() <= l[5].end)
or (now() >= l[6].start and now() <= l[6].end)
or (now() >= l[7].start and now() <= l[7].end) }}