witam
chciałbym sobie zrobić powiadomienie ze jeśli brama jest otwarta dłużej niz 20minut to dostaje maila
znalazłem jakieś wzorce tu na forum ale coś mi nie chce działać to znaczy w logach zmienna zmienia stan na 1 ale już o wiadomości nie ma nic w logach i jej nie wysyła natomiast jeśli zmienię bloczek (na scrennie drugim) to wiadomość dostaje od razu nie np po 20 minutach jakbym chciał pytanie gdzie robię błąd
dzieki
120 sekund to chyba nie 20 minut nie 🙂
@steel_rat ....na to, to bym nie wpadł 😉 .....jest 120 bo testuje a niechce mi sie czekac 20 minut przy testowaniu
No to powinieneś dostać maila po 2 minutach i nie przychodzi wtedy? Zmień też ustawienie stanu na zero, usuń cudzysłów. By domoticz ja traktował jak zmienną a nie string. Po za tym, która wersja Domoticza jest w użyciu? Ja bym zerowanie zmiennej przeniósł przed polecenie wysłania maila.
nie wiem czy dobrze zrozumiałem ale jak zrobiłem tak (jak na screenie)to email przychodzi jak tylko otworze brame a stan zmiennej zmienia po 2 minutach
w pierwszej linijce zamiast nierowne zero zmien na rowne zero
dodaj kolejny warunek elif. gdy brama zamknieta ustaw zmienna var na zero
niestety wiadomosc jest wysylana odrazu po otwarciu bramy
popatrz w logu, czy zmienna zmienia stan, dla testu zmien czas oczekiwania na kilka sekund
Pokaz jeszcze raz jak teraz wygląda twój blok. Bo same zmieniające się warunki if raz masz różny od 1 a raz różny od 0 wprowadza chaos.
No ok. To teraz która wersja Domoticza. Bo poprostu drugi raz skrypt się już nie wykonuje. Musiałbyś mieć najnowszego Domoticza by to działało. Tylko uwaga nowa wersja Domoticza wymaga Bustera.
mam najnowsza wersje beta dzisiaj robilem aktualizcje
@on6222 ja myślę że z tą zmienną to będzie porażka w tym układzie . Albo zamień zmienną na wirtualny przełącznik np "Brama open" i wtedy
IF Stan Bramy = Open and Brama open = Off
Set Brama open = On after 120 sek
ElseIf Brama open = On
Set Mail
Elseif Stan Bramy = Closed
Set Brama open = Off
albo bez zabawy w bloczki i dodatkowe zmienne czy przełączniki użyj tego co poniżej
powiem ze wolalbym dzvents tylko troche ich nie ogarniam jeszcze (nie udalo mi sie nawet jeszcze zrobic tego rgb w dzvents co mi kiedy podsylales )
jak dobrze rozumiem wystarcze ze zmienie nazwy na swoje przełacziki zaraz na poczatku skryptu i powinno dzialac ale w logach takie cos wyskakuje
Jak to drugie to Drzwi Tył to będzie tak
local devicesToCheck = {
-- table with doors to check and the minutes before the first warning is given
{ ['name'] = 'Stan Bramy', ['threshold'] = 20 },
{ ['name'] = 'Drzwi Tył', ['threshold'] = 10 },
}
-- number of times you are warned about an open door
local alertCount = 3 return {
on = {
timer = {'every 2 minutes'},
},
logging = {
level = domoticz.LOG_INFO,ERROR,
marker = "Wejścia kontrola"
},
-- count per door of the number of alerts per door
data = {
['Stan Bramy'] = {initial=0},
['Drzwi Tył'] = {initial=0},
}, execute = function(domoticz)
for i, deviceToCheck in pairs(devicesToCheck) do
local name = deviceToCheck['name']
local threshold = deviceToCheck['threshold']
local state = domoticz.devices(name).state
local minutes = domoticz.devices(name).lastUpdate.minutesAgo
if ( state == 'Open') then
domoticz.log('Device ' .. name .. ' staat ' .. minutes .. ' minuten open.')
if (minutes > threshold) and (domoticz.data[name] < alertCount) then
domoticz.data[name] = domoticz.data[name] + 1
domoticz.notify('Przypominam Otwarta ',
name .. ' jest ' .. minutes .. ' minut otwarta.',
domoticz.PRIORITY_HIGH)
domoticz.log(' otwarta zbyt długo ' .. tostring(domoticz.data[name]))
end
elseif (domoticz.data[name] > 0) then
domoticz.notify('Informuję ',
name .. ' już zamknięta.',
domoticz.PRIORITY_HIGH)
domoticz.log('Device ' .. name .. ' jest ' .. minutes .. ' zamknięta')
domoticz.data[name] = 0
end
end
end
}
Zaznaczyłem kolorem to co zmieniasz na włąsne i na niebiesko ile ma być powiadomień w skrypcie 3 , czasy już widzę ogarniasz
super jest ten skrypt dziękuje bardzo i życzę miłego dnia
ps.dodalem sobie jeszcze drzwi wejsciowe
Podbijam temat. Skrypty są super, ale czy da się rozbudować je o warunek żeby takie powiadomienie było wysyłane tylko w określonym przedziale godzin np. od 22.00 - 8.00?
@jajen da się i wystarczy zerknąć na dwa wątki niżej - czytać forum
https://www.smartnydom.pl/forum/domoticz-reguly/kontaktron-dzvents/#post-17360