Datele de pe pzuro.app sunt publice și pot fi citite direct de Home Assistant, fără cont, fără cheie API, gratuit. Sunt două moduri de integrare, după cât de precis vrei să fie:
Bun pentru un panou de control sau o notificare generală — "azi prețul mediu e X". Citește direct fișierul data/prices.json, fără nimic construit special pentru asta.
# configuration.yaml
rest:
- resource: https://pzuro.ro/data/prices.json
scan_interval: 1800
sensor:
- name: "PZU pret mediu azi"
value_template: "{{ value_json.today.avg_ron_kwh }}"
unit_of_measurement: "lei/kWh"
- name: "PZU pret minim azi"
value_template: "{{ value_json.today.min_ron_kwh }}"
unit_of_measurement: "lei/kWh"
Cu astea două, ai deja niște senzori pe care îi poți pune pe un dashboard sau folosi într-o notificare zilnică. Un singur resource: alimentează ambii senzori — nu se face câte un request separat pentru fiecare.
Pentru o automatizare reală — "pornește boilerul acum dacă prețul curent e sub un prag" — ai nevoie de prețul exact al intervalului de 15 minute în care te afli, nu media zilei. Asta înseamnă identificarea intervalului corect din cele 96 ale zilei, ținând cont și de faptul că etichetele "azi"/"mâine" din fișierul brut depind de ora la care a rulat ultima actualizare, nu de data calendaristică reală.
În loc să rescrii logica asta în Jinja2 (posibil, dar greu de întreținut), am pus-o direct într-un mic API dedicat, care răspunde mereu cu un singur număr corect:
# configuration.yaml
rest:
- resource: https://pzuro.ro/api/now
scan_interval: 300
sensor:
- name: "PZU pret acum"
value_template: "{{ value_json.price_ron_kwh }}"
unit_of_measurement: "lei/kWh"
json_attributes:
- is_negative
- interval_start
- interval_end
Cu senzorul ăsta, o automatizare devine simplă:
# automations.yaml
- alias: "Pornește boilerul cand pretul e mic"
trigger:
- platform: numeric_state
entity_id: sensor.pzu_pret_acum
below: 0.3
action:
- service: switch.turn_on
entity_id: switch.boiler
unavailable în acel caz, nu va arăta tăcut un preț greșit. Merită un trigger separat pe starea senzorului dacă automatizarea ta controlează ceva important.
Nu e nevoie de scan_interval mai agresiv decât 5 minute (300 secunde) — prețul se schimbă o dată la 15 minute, deci verificările mai frecvente nu aduc date noi, doar consumă inutil.
Graficul complet, calculatorul de factură și istoricul sunt pe pagina principală.
Deschide pzuro.app →