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
OdpowiedzUsuń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
Usuń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.
OdpowiedzUsuńJa zrobiłem to tak:
OdpowiedzUsuń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ć :)
UsuńTen wpis jest bardzo ciekawy
OdpowiedzUsuńTen wpis jest bardzo ciekawy
OdpowiedzUsuńInteresujący wpis
OdpowiedzUsuń