DZVENTS : Electrovanne + capteur de pluie fait maison...
Publié : 06 sept. 2021, 19:11
Bonjour à tous,
je suis en train de me prendre la tête depuis qq jours à essayer de faire fonctionner mon script. Le script fonctionne à peu prés mais pas comme il faut / faudrait...
Un détecteur de fuite d'eau transformé en capteur de pluie (switch On/Off sous Domoticz). Dés que la pluie arrive et que l'eau touche le capteur, ce dernier m'envoie un "On" : sous Domoticz le switch reste allumé pendant 10 sec puis reviens à son mode par défaut "Off". Dans les logs on se retrouve avec des "On" puis des "Off" en fonction des journées concernées (pluie)... Le reste du temps, il n'y a pas de logs (On/Off) étant donné qu'il ne s'actionne que si il pleut (logique). Et c'est là le souci car je ne sais pas sur quoi me baser... Voici mon script, pour y voir plus clair :
Mon problème en faite et que dans les logs, si il y a un "On" automatiquement il y aura un "Off" après (fonctionnement classique d'un switch). Et donc dans mon script, les deux conditions vont matcher.... Ce qui ne va pas.
l'idée : mon script se déclenche tous les jours à 13h. Il vérifie les logs si il y a un / des "On", l'arrosage ne se déclenche pas pour cette journée. Si il n'y a pas de "value" (dans le cas ou il ne pleut pas) car pas de logs, il doit déclencher obligatoirement l'arrosage...
J'espère que c'est clair tout ce que j'ai indiqué....
Merci à vous pour votre aide.
Inter-Rupteur
je suis en train de me prendre la tête depuis qq jours à essayer de faire fonctionner mon script. Le script fonctionne à peu prés mais pas comme il faut / faudrait...
Un détecteur de fuite d'eau transformé en capteur de pluie (switch On/Off sous Domoticz). Dés que la pluie arrive et que l'eau touche le capteur, ce dernier m'envoie un "On" : sous Domoticz le switch reste allumé pendant 10 sec puis reviens à son mode par défaut "Off". Dans les logs on se retrouve avec des "On" puis des "Off" en fonction des journées concernées (pluie)... Le reste du temps, il n'y a pas de logs (On/Off) étant donné qu'il ne s'actionne que si il pleut (logique). Et c'est là le souci car je ne sais pas sur quoi me baser... Voici mon script, pour y voir plus clair :
Code : Tout sélectionner
--------------------------------
------ Variables ------
--------------------------------
local heure = os.date("%H:%M")
local jour = tonumber(os.date("%w"))
local mois = tonumber(os.date("%m"))
local annee = tonumber(os.date("%Y"))
-- Sunday = 0
-- Monday = 1
-- Tuesday = 2
-- Wednesday = 3
-- Thursday = 4
-- Friday = 5
-- Saturday = 6
---------------------------
-- Fin Variables --
return {
on =
{
timer =
{
'at 13:00',
},
httpResponses =
{
'WATERInfo',
},
devices =
{
'Electrovanne - LOW (ARO-01)',
},
},
execute = function(domoticz, item)
if (item.isTimer) then
domoticz.openURL({
url = 'http://localhost:8080/json.htm?type=lightlog&idx=125',
method = 'GET',
callback = 'WATERInfo',
})
end
if (item.isHTTPResponse and item.ok) then
local Time = require('Time')
local results = item.json.result
local iCount = 0
local iState = 0
local NowDate = domoticz.time.rawDate
print('***********************************************')
for i, node in pairs(results) do
local LogDate = node.Date:sub(1,10)
local lastUpdate = Time(node.lastUpdate)
--print('Hours ago: ' .. lastUpdate.hoursAgo)
--print('State: ' .. node.Status)
if (node.Status == "On") and (LogDate == NowDate) then
iState = iState + 1
print('Status: ' .. node.Status)
else
iCount = iCount + 1
print('Status 2: ' .. node.Status)
execute = function(domoticz, switch)
local ARO01 = domoticz.devices('20.Electrovanne - LOW (ARO-01)')
if (switch.state == nil) then
domoticz.devices('ARO01').switchOn().forMin(3)
domoticz.log('Electrovanne LOW start, ARO01 est UP pour 3 minutes.',domoticz.LOG_INFO)
end
end
end
end
print('Log Time : ' .. LogDate)
print('Now Time : ' .. NowDate)
print('Il n\'a pas plu depuis : ' .. iCount)
print('Il a plu aujourd\'hui : ' .. iState)
print('***********************************************')
end
end
}
Mon problème en faite et que dans les logs, si il y a un "On" automatiquement il y aura un "Off" après (fonctionnement classique d'un switch). Et donc dans mon script, les deux conditions vont matcher.... Ce qui ne va pas.
l'idée : mon script se déclenche tous les jours à 13h. Il vérifie les logs si il y a un / des "On", l'arrosage ne se déclenche pas pour cette journée. Si il n'y a pas de "value" (dans le cas ou il ne pleut pas) car pas de logs, il doit déclencher obligatoirement l'arrosage...
J'espère que c'est clair tout ce que j'ai indiqué....
Merci à vous pour votre aide.
Inter-Rupteur