Lua scene og sanntids strøm pris.
Dagens priser lager Globale varibler og Event som man kan bruke til forskellige ting
såsom så lade bilen den billigste time eller skru ned lyset den dyreste time på døgnet.
Variabler finner du under
Settings --> General --> Variables
HighPrice = Hvilken time prisen er høyest Døgn
LowestPriceOfDay = Hvilken time prisen er lavest dette døgn
Strompris = Strømprisen nu(skifter time for time)
Events finner du under
Settings --> General --> Variables
Under Settings --> General --> Scenes -->Add Scene da lager vi en Block scene.(velg others og default romm hvis det ikke passer på ditt setup)
I høyre side trykker du under Panel Global deretter drar Variables over i "IF anything of this is true."
Der vælger du LowPrice eller Highprice alt etter hva man vil, i dette tilfelle vil jeg sende en mail til meg selv når prisen er høy.
Og hver gang prisen er høyest sender den en mail.
Trykk save og sikre at Scene er slått på , man kan teste ved at trykke på trekanten
Nu skal vi ha rigtig live priser så alt av utstyr og forbruk blir kalkulert rigtig og man kan se sitt forbruk rigtig.
Under Settings --> General --> Scenes -->Add Scene da lager vi en lua scene.
Der har vi 2 vinduer DECLARATIONS (Conditions/Triggers) og Actions
Under DECLARATIONS som er hva trigger og hvor lang tid i denne scene lager vi at den henter prisen hvert 60 sekund som er minste tid man kan ta.
Vi bruker koden
{
conditions = { {
isTrigger = true,
operator = "matchInterval",
property = "cron",
type = "date",
value = {
date = { "*", "*", "*", "*", "*", "*" },
interval = 60
}
} },
operator = "all"
}
I Actions vinduet hvor vi henter våre Globale Varibles som ha sanntids spot prisen taster vi.
local TariffGETdata = api.get("/energy/billing/tariff") --Få gjeldene tariff data fra fibaro HC3
print(type(TariffGETdata))
Gettimepris = hub.getGlobalVariable("Strompris") -- Få time prisen fra DAgens priser app
Strompris = string.format("%.2f", Gettimepris) -- Avreunde til 2 desimaler
LivePris = tonumber(Strompris) --konverter avrundet tal til desimaler
print(LivePris)
TariffGETdata.rate = LivePris
local responsData, status = api.put("/energy/billing/tariff", TariffGETdata) --laste live pris opp til Hc3C
print("ResponsData:", json.encode(responsData))
print("Status:", status) --Få staus kode, kode 204 er = succes
Deretter trykker vi save and run action, og slider scene på opp i høyre hjørne.
Der etter trykker vi på iconet nede i venstre hjørne for å hive opp debug consolen og venter 1 minut for å se om vi for status 204 som betyder succes.