Aloha!
Od pewnego czasu miałem w głowie (w sumie jeden z podstawowych jakie powinienem napisać!) skrypt w dzVents:
– sprawdzam zużycie prądu w domu i gdy jest zbyt duże o zadanych godzinach, w danych dniach – wyślij mi e-mail. W dniach tygodnia i w godzinach o których przeważnie jesteśmy w pracy.
Dlaczego? A może zapomniałem o włączonym żelazku? A może włączyło się coś, co nie powinno?
Z tego to oto powodu system powinien:
– od poniedziałku do piątku w godzinach 8:15 – 15:00 sprawdzić zużycie prądu
– jeżeli jest wyższe niż 400 Watt ma mi wysłać e-mail z powiadomieniem
— Author: Adam Sobczak
— Date created: 2018-10-18
— Script takes current energy reading, and when it’s bigger than suggested on weekdays between 8:15 – 15:00 – notifies user.
return {
on = {
[’timer’] = {’every 15 minutes between 8:15 and 15:00 on mon,tue,wed,thu,fri’}
},
execute = function(domoticz)
local Energy = domoticz.devices(’OWL’).usage
local EnergyLimit = 400
function round(num, numDecimalPlaces)
local mult = 10^(numDecimalPlaces or 0)
return math.floor(num * mult + 0.5) / mult
end
if (Energy > EnergyLimit) then
domoticz.notify(’Energia’, 'Uwaga, zużycie energii większe niż zwykle: ’ ..round(Energy,1) .. ’!’, domoticz.PRIORITY_NORMAL)
end
end
}
Tyle. Proste i działa. Powodzenia przy próbach zrobienia tego w Blockly 😉
Hej
A czym mierzysz konsumpcję prądu? Czy to sonoffy? czy Fibaro?
Tomek
Cześć. Tak jak w podanym w poście linku – Owl micro + – http://cezarowy.blogspot.com/2017/09/owl-micro.html?m=1
Fajnie byłoby to rozbudować o pomiar średniej z kwadransa. Przy maksymalnie niekorzystnych wiatrach, żelazko może akurat wyłączać się w czasie pomiaru i nie wykryje tego. Zatem mierzenie co 15 minut średniej byłoby optymalne. Jednak mechanizmy Domoticza nie pozwalają na analizę średniej wprost z czujników. Trzeba zatem ustawić skrypt np. na co 5 minut i za każdym razem zapisywać zużycie do tablicy history. Późnie dopiero wyliczać średnią i ustawić warunek. Więcej zabawy, ale skuteczność lepsza. Ja dziś zostawiłem na cały dzień podgrzewacz do kanapek 🙂 To mnie zmobilizowało do oskryptowania czujnika zużycia.
Ja zrobiłem to tak:
return {
on = {
timer = { 'every minute' },
},
data = { energia = { history = true, maxItems = 30 },
powiadom = { history = true, maxItems = 1 }},
execute = function(domoticz, device)
local Licznik = domoticz.devices(680).usage — Odczyt licznika, u mnie IDX 680
local limit = 320 — limit kW do alarmu
domoticz.data.energia.add(Licznik)
local avg = domoticz.data.energia.avgSince('00:30:00')
if avg > limit then
if domoticz.data.powiadom.getOldest().time.minutesAgo >= 60 then — Tylko jedno powiadomienie na godzinę
domoticz.data.powiadom.add(Licznik)
domoticz.notify('PRAD!!!', 'DUŻE ZUŻYCIE PRĄDU!!!',domoticz.PRIORITY_NORMAL,nil,nil,domoticz.NSS_TELEGRAM)
end
end
end
}
Bardzo dziękuję! Pozwolę sobie skorzystać 🙂
35 year old Engineer I Rollin Dilger, hailing from MacGregor enjoys watching movies like "Corrina, Corrina" and Sand art. Took a trip to Works of Antoni Gaudí and drives a Expedition. zobacz te witryne
Ciekawy artykuł.