Det er sikkert flere måter på å gjøre dette på.
Jeg ville gjort automatiseringen ved først å lage en binær template sensor som er True (on) når time strømpris er billigere enn gjennomsnitt og False (off) når strømpris er dyrere enn gjennomsnitt. Du kan endre og teste template ved hjelp av Template editor under Developer Tools -> Template. Er du nybegynner på Template og Jinja2 syntaks anbefaler jeg at du leser her: https://www.home-assistant.io/docs/configuration/templating/
template:
- binary_sensor:
- name: "Pris er billigere enn gjennomsnitt"
state: >
{% set average = state_attr('sensor.nordpool_kwh_krsand_nok_3_10_025', 'average') | float(default=0) %}
{% set timeprice = states('sensor.nordpool_kwh_krsand_nok_3_10_025') | float(default=0) %}
{{ timeprice < average }}
Deretter kan du lage en yaml automasjon som bruker Choose og Trigger ID til å velge hva som skal skje. Les mer om Trigger ID her: https://www.home-assistant.io/docs/automation/trigger/#trigger-id og Choose her: https://www.home-assistant.io/docs/scripts/#choose-a-group-of-actions
alias: VVB On test
description: >-
Slår på VVB rele når timespris er under dagens gjennomsnitt - forsøk på unngå
kveld
trigger:
- platform: state
entity_id:
- binary_sensor.pris_er_billigere_enn_gjennomsnitt
from: "off"
to: "on"
id: pris_billig
- platform: state
entity_id:
- binary_sensor.pris_er_billigere_enn_gjennomsnitt
from: "on"
to: "off"
id: pris_dyr
condition:
- condition: time
after: "02:00:00"
before: "22:00:00"
action:
- choose:
- conditions:
- condition: trigger
id: pris_billig
sequence:
- service: switch.turn_on
data: {}
target:
entity_id: switch.bryter_varmvannsbereder
- conditions:
- condition: trigger
id: pris_dyr
sequence:
- service: switch.turn_off
data: {}
target:
entity_id: switch.bryter_varmvannsbereder
mode: single
Du kan også lage en price level template sensor for timeprisen som jeg har gjort her med Tibber timeprisen. Du kan da bruke denne som trigger i din automasjon.
template:
- sensor:
- name: Electricity price - Price level (1-day)
icon: mdi:currency-usd
state: >-
{% set price_cur = states('sensor.electricity_price_toraldasen_32') | float(0) %}
{% set price_avg = state_attr('sensor.electricity_price_toraldasen_32', 'avg_price') | float(0) %}
{% if price_cur == 0 or price_avg == 0 %}
unknown
{% else %}
{% set price_ratio = (price_cur / price_avg) %}
{% if price_ratio >= 1.4 %}
VERY_EXPENSIVE
{% elif price_ratio >= 1.15 %}
EXPENSIVE
{% elif price_ratio <= 0.6 %}
VERY_CHEAP
{% elif price_ratio <= 0.9 %}
CHEAP
{% else %}
NORMAL
{% endif %}
{% endif %}
Jeg kan anbefale Prizeanalyzer (https://github.com/erlendsellie/priceanalyzer) til å varme opp VVB og varmekabler. Fordelen med Prizeanalyser er at den varme opp varmekablene før de dyreste timene (boost) og senker varmen (save) når strømprisen er høy. Utvikler har også laget en god løsning for å varme opp vvb når strømpris er billigst (på natten).