Page 1 sur 1

Gros trou mémoire sur capteur virtuel et LUA

Publié : 30 juil. 2019, 18:31
par JRCondat
Bonjour à tous,
Il y a quelques temps (années :D :D ) J'avais développé un petit script pour gérer mon alarme basée sur Domoticz avec des capteurs d'ouverture en 433MHz. A l'époque je n'arrivais pas à récupérer directement les valeurs de ces capteurs et il avait fallu que pour chaque capteur je créé un capteur virtuel. Aujourd'hui, je souhaite ajouter un nouveau capteur et je n'ai absolument plus aucune idée. En effet, dans le script ci-dessous chaque VPorteSalon est en fait un vrai capteur derrière et je ne sais plus du tout comment le lien a été fait...
Je vous remercie chaudement de venir à mon aide ;)

Code : Tout sélectionner

-- Alarme
-- Créer une variable utilisateur de type Chaine nommée AlarmActive
-- Ajouter sur interrupteur virtuel de l'alarme la requete JSON sur le OFF
-- http://192.168.1.4/json.htm?type=command&param=updateuservariable&idx=1&vname=AlarmActive&vtype=2&vvalue=0

commandArray = {}

debugging = false
print('Script alarme...OK')

if (otherdevices['Alarme'] == 'On') then

        allumer_sirene = 0
        alerteOuvrant = 'Aucun'

        if (devicechanged['VPorteSalon1'] == 'Open') then
                allumer_sirene = 1
                alerteOuvrant = 'Porte salon 1 ouverte'
        elseif (devicechanged['VPorteSalon2'] == 'Open') then
                allumer_sirene = 1
                alerteOuvrant = 'Porte salon 2 ouverte'
        elseif (devicechanged['VPorteMaison'] == 'Open') then
                allumer_sirene = 1
                alerteOuvrant = 'Porte Maison ouverte'
        elseif (devicechanged['VFenetreCuisine'] == 'Open') then
                allumer_sirene = 1
                alerteOuvrant = 'Fenetre Cuisine ouverte'
        elseif (devicechanged['VFenetreCh1'] == 'Open') then
                allumer_sirene = 1
                alerteOuvrant = 'Fenetre Ch 1 ouverte'
        elseif (devicechanged['VFenetreCh2'] == 'Open') then
                allumer_sirene = 1
                alerteOuvrant = 'Fenetre Ch 2 ouverte'
        elseif (devicechanged['VFenetreSalon'] == 'Open') then
                allumer_sirene = 1
                alerteOuvrant = 'Fenetre Salon ouverte'
         elseif (devicechanged['Détecteur Salon'] == 'Off') then
                allumer_sirene = 1
                print ('Personne dans le salon')
                alerteOuvrant = 'Personne détectée dans le salon'

        end
end

if (allumer_sirene == 1) and (uservariables['AlarmActive'] == '0') then
commandArray['Variable:AlarmActive']=tostring(1)
commandArray['Sirène']='On'
print ('Mise en route de la sirène')
print ('Ouvrant ouvert : ' .. alerteOuvrant)
commandArray['SendNotification']='Alarme maison : '  .. alerteOuvrant .. ' ! Sirène allumée.'
end

return commandArray