Ble litt inspirert av en tråd her i går om strømpris inkludert nettleie og fant ut at nå er det på tide å gjøre det selv. Ikke rare greiene, men det kan brukes til eksempel på hvordan en løser det med Appdaemon til Home Assistant. Med funksjonen set_state vil en opprette en entity i HA hvis den ikke er der fra før.
Jeg har tatt de faste kostnadene og regner ut hva sekundprisen blir og legger dette på de variable kostnadene. Dette er en like "feil måte" å gjøre det på som å holde de adskilt eller å legge til dagsprisen ved midnatt. Jeg ville ha de slik som dette og da ble det slik. Jeg trenger ikke tenke på god regnskapsskikk.
PS. Har endret tekst fra linjeleie til nettleie etter at jeg la ut her........
import appdaemon.plugins.hass.hassapi as hass
class Strompris(hass.Hass):
def initialize(self):
self.listen_state(self.calculate, "sensor.accumulatedcost")
self.listen_state(self.calculate, "input_number.pris_pr_kwh_kleppenergi")
self.listen_state(self.calculate, "input_number.pris_pr_aar_kleppenergi")
self.listen_state(self.calculate, "input_number.pris_pr_aar_tibber")
def calculate(self, entity, attribute, old, new, kwargs):
t = self.time()
ts = t.second + t.minute * 60 + t.hour * 3600
s = 31536000
#self.log("{} {}".format(ts, s))
total = float(self.get_state("sensor.accumulatedcost"))
total += float(self.get_state("sensor.accumulatedconsumption")) * float(self.get_state("input_number.pris_pr_kwh_kleppenergi")) / 100
total += float(self.get_state("input_number.pris_pr_aar_kleppenergi")) * ts / s
total += float(self.get_state("input_number.pris_pr_aar_tibber")) * ts / s
self.set_state("sensor.total_pris_for_strom", state = "{:3.2f}".format(total), attributes = {"unit_of_measurement": "NOK"})