alge
-
Innlegg
5 -
Ble med
-
Besøkte siden sist
Innholdstype
Profiler
Forum
Blogger
Nedlastninger
Artikler
Regler
Hendelser
Galleri
Store
Innlegg skrevet av alge
-
-
Mike skrev (3 timer siden):
I've been trying to game it out in my head how to run it. I'm thinking I would need to:
- poll the API, once a day at midnight, to get the electricity rates for the coming day
- store that data somewhere
- create a sensor in Home Assistant that then looks at that data every hour to display the relevant price for that hour
- create a template sensor that changes the price into categories of "Very Cheap", "Cheap", "Normal", "Expensive", "Very Expensive" based on defined ranges
Jeg tipper du leser norsk selv om du skriver engelsk Mike! (= ... Du kan se på min appdaemon-greie over, den funker bra og gjøre "poll API på midnatt", "lagre dataene", "lager en sensor som viser strømprisen nå". Så det eneste som mangler er å kategorisere det i billig til dyrt, og det tror jeg er enkelt å gjøre med en template sensor i home assistant. Appdaemon var ikke trivielt å sette opp, så hvis man kan gjøre det samme rett i home assistant så hadde det vært lettere. Eneste mod'en jeg har gjort på koden i det siste er å legge inn en API-nøkkel i forespørselen.
-
funny0frank skrev (11 minutter siden):
@alge Har du IP 79.160.6.188?
Nope! 🙂
-
funny0frank skrev (36 minutter siden):
Hei folkens! hjemmeautomasjon har sluttet å sende meg mail av en eller annen grunn så har ikke fått med meg at dere har skrevet her.
Grunnen til at jeg gikk inn for å sjekke er at noen kaller API-et 16.000 ganger til dagen... Hvis ikke dette tar slutt så må jeg legge på API nøker på dette API-et.Huffsann! Jeg sjekket loggene mine og den har sagt "fetched new price info" 38 ganger, så jeg tror ikke de 16000 gangene kommer fra meg. (Tipper mine forespørsler er logget som å være fra 2a04:981:3300:... hvis du har logger). Tar gjerne imot en API-nøkkel hvis du går for den løsningen, forstår deg godt!
-
Hei, jeg har brukt APIet (takk!) til å lage et AppDaemon-script som henter inn data og lager en sensor av det i Home Assistant. Sikkert mye teit kode, men:
i apps.yaml:
spotpris: module: spotpris class: Spotpris sensor: "sensor.spotpris_nok" zone: "NO3" timezone: "Europe/Oslo" multiplier: 1.25 adder: 0.01 sensor_attributes: state_class: measurement device_class: monetary unit_of_measurement: "NOK/kWh"
spotpris.py:
import requests from datetime import datetime from datetime import timedelta import zoneinfo import hassapi as hass """ Fetch spot price data and expose as a sensor Uses funny0frank's REST API from ~https://www.hjemmeautomasjon.no/forums/topic/6096-gratis-%C3%A5pent-api-for-%C3%A5-f%C3%A5-times-str%C3%B8mpris-for-de-forskjellige-sonene-i-norge/ Agruments: - zone: string Which electricity zone to fetch price from - multiplier: float To apply sales tex etc., value is multiplied with this - adder: float Added to value after multiplication, i.e. "påslag" - tz: string Timezone e.g. "Europe/Oslo" - sensor: string Name of generated sensor - sensor_attributes: dict Attributes of generated sensor, e.g. state_class: measurement device_class: monetary unit_of_measurement: "NOK/kWh" """ class Spotpris(hass.Hass): def initialize(self): self.zone = self.args["zone"] self.multiplier = self.args["multiplier"] self.adder = self.args["adder"] self.tz = zoneinfo.ZoneInfo(self.args["timezone"]) self.sensor = self.args["sensor"] self.attributes=self.args["sensor_attributes"] self.price_info = {} self.price_info_date = '' now = datetime.now(self.tz) + timedelta(seconds=5) self.run_every(self.updateState, now, 60) def updateState(self, foo, kwargs=None): today = datetime.now(self.tz).date().isoformat() if (not self.price_info_date == today): self.fetch_price_info(today) now = datetime.now(self.tz).strftime("%G-%m-%dT%H:00:00+01:00") price = self.price_info[now]["NOK_per_kWh"]*self.multiplier+self.adder self.set_state(self.sensor, state=price, attributes=self.attributes) def fetch_price_info(self, today): response = requests.get(f"https://norway-power.ffail.win/?zone={self.zone}&date={today}") self.price_info = response.json() self.log(f"fetched new price info: {self.price_info}", level="INFO") self.price_info_date = today
Det tilfredsstiller "bare hent en gang i døgnet" siden den gjør on-demand oppslag, det minuttet det begynner på en ny dag slår den opp, og da er det vel garantert at de datane finnes også. Det er veldig utestet, jeg hacket det sammen på et par timer her nettopp, men ser ut til å kanskje funke? Jeg har f.eks. ikke kjørt den i et døgn for å se at den faktisk bytter dato ennå... Den genererte sensoren kan så brukes som kilde for home assistant sin "Bruk ei oppføring med gjeldande pris" i Konfigurasjon -> Energi -> Straumnett i home assistant for å gi utregning av effektiv kostnad.
Vet ikke helt rett måte å beregne kostnad på, her har jeg jo bare tatt * 1.25 (for moms) og lagt på 1 øre (påslag).
Tror jeg bare kan anbefale denne metoden for folk som allerede har satt opp AppDaemon... Det tok meg mye lengre tid enn å lage det over.
@AMelbye, der ser du forresten hvordan man henter inn dataene i python. (=
Gratis åpent API for å få times-strømpris for de forskjellige sonene i norge
i Strømsparing og strøm-overvåkning
Skrevet
Sure you can. I make no commitments on timeliness on responses though. (=