Comparaison de valeur de sonde de température

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 <\>.
guigui1976
Messages : 17
Inscription : 25 juin 2018, 21:25

Comparaison de valeur de sonde de température

Message par guigui1976 »

Bonjour, vous allez trouver cela bête comme question, mais je n'arrive pas à faire la comparaison deux valeurs de sonde température DS18B20.
Le but si la sonde 2 > à la sonde 4
arrêt de l'aqua_garage
sinon mise en marche de l'aqua_garage.
je joins mon ébauche si vous avez une piste,je suis preneur
je vous remercie

Code : Tout sélectionner

commandArray = {}

print ("Test de temperature 2");
local sonde1 = 'Bac_2' -- Nom de la sonde de température
local sonde2 = 'Bac_4'

if ('local value1= local value2') then
    print ("off");
    commandArray['Aqua_garage']='off'
else
    commandArray['Aqua_garage']='On'
    print ("on");
end
return commandArray
guigui1976
Messages : 17
Inscription : 25 juin 2018, 21:25

Re: Comparaison de valeur de sonde de température

Message par guigui1976 »

Bonjour, j'ai modifié le code de ce matin, j'ai bien dans le fichier log l'information

2018-07-11 21:20:00.542 LUA: Test de temperature 2
2018-07-11 21:20:00.542 LUA: eteint

Mais je n'ai pas d'action sur le relai.
Si vous avez une piste, je suis preneur

Code : Tout sélectionner

[code]commandArray = {}

print ("Test de temperature 2");
local sonde1 = 'Bac_2' -- Nom de la sonde de température
local sonde2 = 'Bac_4'

if ('Bac_2    = Bac_4') then


    print ("eteint");
    commandArray["Sonoff_Garage"]='off'
else
    commandArray['Sonoff_Garage']='on'
    print ("allume");
end
return commandArray
[/code]
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: Comparaison de valeur de sonde de température

Message par thier »

C'est pas On et Off.
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
guigui1976
Messages : 17
Inscription : 25 juin 2018, 21:25

Re: Comparaison de valeur de sonde de température

Message par guigui1976 »

je te remercie pour ta réponse, je suis assez surpris, sur le site https://easydomoticz.com/point-scripts-lua/

J'ai vu cela:

Code : Tout sélectionner

commandArray = {}
if (devicechanged['Materiel 1'] == 'On' ) then
        commandArray['Materiel 2']='On'
end
return commandArray
Voilà pourquoi je suis partie sur ON et OFF
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: Comparaison de valeur de sonde de température

Message par thier »

Tu étais parti sur on et off et non pas On et Off. Attention, la casse est importante en programmation.
Après je suis surpris par tes print qui par exemple ("eteint"); devrait s'écrire print ('eteint')
Pour finir je suis surpris aussi par la comparaison de température if ('Bac_2 = Bac_4') then qui devrait plutôt être if (otherdevices_temperature[sonde1] == otherdevices_temperature[sonde2]) then.
pour finir je serais curieux de savoir si un print('sonde1= '..sonde1) donne la température de la sonde (idem pour la sonde2). En Lua un simple = affecte une valeur. La comparaison "égal à" est ==.
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
guigui1976
Messages : 17
Inscription : 25 juin 2018, 21:25

Re: Comparaison de valeur de sonde de température

Message par guigui1976 »

Merci pour cette claque informative :)
je teste une nouvelle version.
Je te remercie

Code : Tout sélectionner

commandArray = {}

if (otherdevices_svalues['Bac_2'] > otherdevices_svalues['Bac_4']) then
    
    print ('eteint')
    commandArray['Aqua_garage']='Off'

else

    print ('allume')
    commandArray['Aqua_garage']='On'

end 

return commandArray
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: Comparaison de valeur de sonde de température

Message par thier »

tu pourrais faire un print('tempbac2= '.. otherdevices_svalues['Bac_2']) et print('tempbac1= '.. otherdevices_svalues['Bac_1']) en début de script pour savoir si tu compare bien les valeurs de températures.
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
guigui1976
Messages : 17
Inscription : 25 juin 2018, 21:25

Re: Comparaison de valeur de sonde de température

Message par guigui1976 »

un truc marrant, le dernier code fonctionne mais l'opérateur logique est inversé.
le Bac_2 est à 22,75°c et le Bac_4 est à 21,87°c, logiquement, je devrais avoir l'extinction mais la non.
guigui1976
Messages : 17
Inscription : 25 juin 2018, 21:25

Re: Comparaison de valeur de sonde de température

Message par guigui1976 »

Voici le log des températures
2018-07-11 22:34:00.429 LUA: tempbac2= 22.75
2018-07-11 22:34:00.429 LUA: tempbac1= 21.87

Donc bac2 est bien supérieur au bac1
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: Comparaison de valeur de sonde de température

Message par thier »

Dans les logs tu as eteint ou allume?
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
Répondre