[Résolu] Script Lua qui ne se lance pas

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
Cissou
Messages : 98
Inscription : 25 févr. 2015, 13:10

[Résolu] Script Lua qui ne se lance pas

Message par Cissou »

Bonjour,

Je cherche a réaliser un script pour réaliser un thermostat simple pour ma salle de bain,
en me basant (très fortement) sur le blog http://blog.alexandredubois.com/2014/03 ... at-simple/

J'ai nommé mon script : script_device_ThermostatSalleBain.lua
J'ai vérifié avec un file -i qu'il était bien en utf-8

Code : Tout sélectionner

-- Alexandre DUBOIS - 2014
-- Ce script permet de maintenir la température de la salle de bain entre 17°C et 19°C quand l'interrupteur
-- virtuel 'Thermostat salon' est activé.

--------------------------------
------ Variables à éditer ------
--------------------------------
local consigne = 18  --Température de consigne
local hysteresis = 0.5 --Valeur seuil pour éviter que le relai ne cesse de commuter dans les 2 sens
local sonde = 'Temperature Salle de Bain' --Nom de la sonde de température
local thermostat = 'Thermostat Salle de Bain' --Nom de l'interrupteur virtuel du thermostat
local radiateur = 'Radiateur Salle de Bain' --Nom du radiateur à allumer/éteindre
--------------------------------
-- Fin des variables à éditer --
--------------------------------
commandArray = {}
--La sonde Oregon 'Temperature Salle de Bain' emet toutes les 40 secondes. Ce sera approximativement la fréquence
-- d'exécution de ce script.
if (devicechanged[sonde]) then
local temperature = devicechanged[string.format('%s_Temperature', sonde)] --Temperature relevée dans le salon
    --On n'agit que si le "Thermostat" est actif
    if (devicechanged[thermostat]=='On') then
        print('-- Gestion du thermostat pour la Salle de Bain --')

     if (temperature < (consigne - hysteresis) ) then
            print('Allumage du chauffage dans la Salle de Bain')
            commandArray[radiateur]='Off'

    elseif (temperature > (consigne + hysteresis)) then
        print('Extinction du chauffage dans la Salle de Bain')
            commandArray[radiateur]='On'

    end
    end
end
return commandArray

Quand je regarde dans les logs de domoticz lorsque je mets le Termostat Salle de Bain à On

Code : Tout sélectionner

2015-02-28 10:57:21.540 (InterrupteurVirtuel) Lighting 1 (Thermostat Salle de Bain)
Je n'ai que cette ligne,
je n'ai aucune ligne indiquant que le déroulement du script.
Dernière modification par Cissou le 28 févr. 2015, 15:06, modifié 1 fois.
Doume
Messages : 550
Inscription : 28 déc. 2014, 10:27
Localisation : Nord (59)
Contact :

Re: Script Lua qui ne se lance pas

Message par Doume »

as-tu vérifié que ton script a les droits Linux rwxr-xr-x ( ou encore 755 minimum ) ?
Car s'il n'est pas executable, le moteur lua ne le lancera pas....
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

Re: Script Lua qui ne se lance pas

Message par patrice »

Bonjour
Il y a tellement de conditions d déclenchement que c' est difficile comme ca.

Mets des print "coucou" ou des print nondevariable en
haut du script.
puis descent petit a petit avec des print
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
Cissou
Messages : 98
Inscription : 25 févr. 2015, 13:10

Re: Script Lua qui ne se lance pas

Message par Cissou »

Bon,
J'ai vérifié avec les droits, ils n'étaient pas bon
mais ca ne fonctionne toujours pas.

J'ai fait des print et apparement ca ne rentre pas dans la boucle

Code : Tout sélectionner

if (devicechanged[sonde]) then
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

Re: Script Lua qui ne se lance pas

Message par patrice »

ben c'est que ta variable sonde en haut du script n'est pas bonne

local sonde = 'Temperature Salle de Bain' --Nom de la sonde de température
Attention espaces, majuscules , accents ....
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
Cissou
Messages : 98
Inscription : 25 févr. 2015, 13:10

Re: Script Lua qui ne se lance pas

Message par Cissou »

Bon ben a force de test j'ai trouvé le probleme

"Bain" est différent de "bain" donc forcement il ne testait pas la bonne sonde. Pourtant j'avais relu pour etre sur des Caps

Ensuite j'avais je ne sais plus pourquoi modifié un otherdevices en devicechanged du coup ca ne marchait pas.

Et derniere modification, comme j'ai fait une installation sur une prise commandable, il faut inverser le "On" et "Off" pour le pilotage du radiateur
Répondre