[DzVents] Connaitre l'état de la détection d'une Foscam
Publié : 25 oct. 2019, 10:32
Hello,
J'ai commis ce petit script pour vérifier que chacune de mes caméras Foscam était en phase avec la consigne de détection.
@+
Datawolf
J'ai commis ce petit script pour vérifier que chacune de mes caméras Foscam était en phase avec la consigne de détection.
Code : Tout sélectionner
-- Lit l'état de la détection de chacune des caméras
return {
on = {
timer = { 'every 2 minutes', },
devices = { 123, }, -- Etat détection caméras
httpResponses = { 'http_trigger_cam1', 'http_trigger_cam2 }
},
execute = function(domoticz, triggeredItem, info)
if triggeredItem.isTimer or triggeredItem.changed then
-- Script déclenché toutes les 2mn ou par le changement de détection générale
-- ==> on va exécuter les requêtes HTTP
url_cam1 = "http://URL_CAM1/cgi-bin/CGIProxy.fcgi?cmd=getMotionDetectConfig&usr=USER&pwd=PASSWORD"
domoticz.openURL({
url = url_cam1,
callback = 'http_trigger_cam1'
})
url_cam2 = "http://URL_CAM2/cgi-bin/CGIProxy.fcgi?cmd=getMotionDetectConfig&usr=USER&pwd=PASSWORD"
domoticz.openURL({
url = url_cam2,
callback = 'http_trigger_cam2'
})
end -- isTimer
if triggeredItem.isHTTPResponse then
-- Script déclenché par le retour d'une requête HTTP
-- ==> on va exploiter le résultat
if triggeredItem.ok then
local ed,ef,resultat=string.find(triggeredItem.data," <isEnable>(.)") -- recherche le chiffre entre (.)
if triggeredItem.trigger == 'http_trigger_cam1' then
-- On va mettre à jour le device Cam1
if resultat == '1' then
domoticz.devices(881).switchOn().checkFirst()
elseif resultat == '0' then
domoticz.devices(881).switchOff().checkFirst()
end -- resultat
elseif triggeredItem.trigger == 'http_trigger_cam2' then
-- On va mettre à jour le device Cam2
if resultat == '1' then
domoticz.devices(882).switchOn().checkFirst()
elseif resultat == '0' then
domoticz.devices(882).switchOff().checkFirst()
end -- resultat
end -- trigger
else
domoticz.log('getMotionDetectConfig failed',domoticz.LOG_ERROR)
end -- is OK
end -- isHTTP
end -- function
}
Datawolf