Capteur de porte en LUA

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Capteur de porte en LUA

Message par Neutrino »

Tu n'as pas un device qui s'appellerait myAlarm par hasard ?
Si c'est le cas, change le nom de ton fichier pour autre chose.

Et un

Code : Tout sélectionner

print (devicechanged[porteSalon1])
te renvoie quoi ?
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
JRCondat
Messages : 40
Inscription : 29 nov. 2016, 16:40

Re: Capteur de porte en LUA

Message par JRCondat »

Non je n'ai pas de device qui se nomme aussi myAlarm, sinon le print (devicechanged[porteSalon1]) ne retourne rien :(
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Capteur de porte en LUA

Message par Neutrino »

Ton fichier est bien dans le dossier ~/domoticz/scripts/lua/ ?
Ce bout de script affiche toute la table retournée :

Code : Tout sélectionner

 for i, v in pairs(devicechanged) do print(i, v) end
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
JRCondat
Messages : 40
Inscription : 29 nov. 2016, 16:40

Re: Capteur de porte en LUA

Message par JRCondat »

Donc avec ton code dans le bon répertoire :

Code : Tout sélectionner

-- Fichier LUA pour faire l'alarme à la maison

debugging = true print('Test de script 09/12 CLI')

commandArray = {}
for i, v in pairs(devicechanged)
do print(i, v)
end

return commandArray
J'ai justement rien en retour, juste que la trame elle est bien reçue par Domoticz :

Code : Tout sélectionner

2017-12-09 10:04:33.975 (RFlink) Light/Switch (Détecteur Ouvt Porte Salon 1)
JRCondat
Messages : 40
Inscription : 29 nov. 2016, 16:40

Re: Capteur de porte en LUA

Message par JRCondat »

Bon ça à l'air d'être un bug de Domoticz pour que ça fonctionne il faut que je créé un dummy dont chacun de mes sensors est un esclave pour que ça fonctionne :(
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Capteur de porte en LUA

Message par Neutrino »

Alors ça c'est vraiment bizarre... :?
Tant mieux si ça fonctionne maintenant. ;)
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
JRCondat
Messages : 40
Inscription : 29 nov. 2016, 16:40

Re: Capteur de porte en LUA

Message par JRCondat »

Ca fonctionne mais je vais quand même continuer à chercher car c'est chiant d'avoir tout en double d'autant plus que c'est quand même aléatoire le lancement du script !
JRCondat
Messages : 40
Inscription : 29 nov. 2016, 16:40

Re: Capteur de porte en LUA

Message par JRCondat »

Fausse joie en fait ça ne fonctionne pas correctement. Ca a fonctionné une ou deux fois et depuis plus rien :(
JRCondat
Messages : 40
Inscription : 29 nov. 2016, 16:40

Re: Capteur de porte en LUA

Message par JRCondat »

Bon, ben voilà ça ne fonctionne plus pourtant dans mes logs j'ai :

Code : Tout sélectionner

2017-12-09 23:02:54.089 LUA: Script alarme...OK
2017-12-09 23:02:54.089 LUA: VPorteSalon1
2017-12-09 23:02:54.089 LUA: Open
2017-12-09 23:02:54.091 (RFlink) Light/Switch (Détecteur Ouvt Porte Salon 1)
Mon code est :

Code : Tout sélectionner

-- Alarme
commandArray = {}

debugging = true
print('Script alarme...OK')
for i, v in pairs(devicechanged) do print(i, v) end

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

        local allumer_sirene = 0
        local 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'
        end
end

if (allumer_sirene == 1) then
commandArray['Prise commandée A']='On'
print ('Mise en route de la sirène')
print ('Ouvrant ouvert : ' .. alerteOuvrant)
end

return commandArray

Voilà je ne trouve pas ce qui ne tourne pas rond :(
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Capteur de porte en LUA

Message par vil1driver »

Ton script est créé via l'interface web, menu événement et de type All ?
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Répondre