Home Assistant
Hinta-anturi, halvimmat tunnit ja automaatiot suoraan Home Assistantiin.
Näin otat sen käyttöön
- Avaa configuration.yaml (File editor tai Studio Code Server).
- Liitä alla oleva koodi, tallenna ja käynnistä Home Assistant uudelleen.
- Uudet anturit: sensor.sahkon_hinta_nyt ja binary_sensor.sahko_halpaa. Käytä niitä automaatioissa.
Koodi: YAML
# Sähkön hinta nyt – Home Assistant (configuration.yaml)
rest:
- resource: https://api.xn--shknhintanyt-gcb8w.org/v1/ha?zone=FI
scan_interval: 300
sensor:
- name: "Sähkön hinta nyt"
unique_id: sahkon_hinta_nyt
unit_of_measurement: "snt/kWh"
state_class: measurement
value_template: "{{ value_json.state }}"
json_attributes_path: "$.attributes"
json_attributes:
- level
- min
- max
- average
- cheapest_3h_start
- cheapest_3h_avg
- tomorrow_valid
- raw_today
- raw_tomorrow
- resource: https://api.xn--shknhintanyt-gcb8w.org/v1/is-cheap?zone=FI&hours=4
scan_interval: 300
binary_sensor:
- name: "Sähkö halpaa"
unique_id: sahko_halpaa
value_template: "{{ value_json.cheap }}"
automation:
- alias: "Lämminvesivaraaja halvimpina tunteina"
trigger:
- platform: state
entity_id: binary_sensor.sahko_halpaa
action:
- service: "switch.turn_{{ 'on' if trigger.to_state.state == 'on' else 'off' }}"
target:
entity_id: switch.lamminvesivaraaja
Koodi: Lovelace
# Lovelace: price chart (needs HACS "apexcharts-card")
type: custom:apexcharts-card
header:
show: true
title: Sähkön hinta
graph_span: 2d
span:
start: day
now:
show: true
series:
- entity: sensor.sahkon_hinta_nyt
type: column
data_generator: |
return [...entity.attributes.raw_today, ...entity.attributes.raw_tomorrow]
.map((p) => [new Date(p.start).getTime(), p.value]);
Rajapinnat
Hinta nyt (JSON)/v1/now?zone=FI
Hinta nyt (pelkkä luku)/v1/now.txt?zone=FI
Onko nyt halpaa? (on/off)/v1/is-cheap.txt?zone=FI&hours=4
Halvin 3 tunnin jakso/v1/cheapest?zone=FI&hours=3
Home Assistant -muoto/v1/ha?zone=FI
Päivän hinnat vartteina/v1/prices?zone=FI&day=today
Base: https://api.xn--shknhintanyt-gcb8w.org · CORS · JSON · Lähde: ENTSO-E / Nord Pool day-ahead
