Comparaison de valeur de sonde de température

Vous avez des questions concernant les scripts dans Domoticz, posez vos questions ici, quelque soit le langage nous tenterons des réponses pertinentes ...
guigui1976
Messages : 17
Enregistré le : 25 juin 2018, 21:25

Comparaison de valeur de sonde de température

Message par guigui1976 » 11 juil. 2018, 06:57

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

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


guigui1976
Messages : 17
Enregistré le : 25 juin 2018, 21:25

Re: Comparaison de valeur de sonde de température

Message par guigui1976 » 11 juil. 2018, 21:25

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 : 470
Enregistré le : 26 sept. 2015, 10:32
Localisation : charente

Re: Comparaison de valeur de sonde de température

Message par thier » 11 juil. 2018, 21:38

C'est pas On et Off.
PI3 + strech, rfxtrxe, zwave, chauffage piloté par qubino, sondes oregon et Vill1d, boite aux lettres détection passage facteur, volets roulants+qubino

guigui1976
Messages : 17
Enregistré le : 25 juin 2018, 21:25

Re: Comparaison de valeur de sonde de température

Message par guigui1976 » 11 juil. 2018, 21:53

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

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


thier
Messages : 470
Enregistré le : 26 sept. 2015, 10:32
Localisation : charente

Re: Comparaison de valeur de sonde de température

Message par thier » 11 juil. 2018, 22:10

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 + strech, rfxtrxe, zwave, chauffage piloté par qubino, sondes oregon et Vill1d, boite aux lettres détection passage facteur, volets roulants+qubino

guigui1976
Messages : 17
Enregistré le : 25 juin 2018, 21:25

Re: Comparaison de valeur de sonde de température

Message par guigui1976 » 11 juil. 2018, 22:23

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 : 470
Enregistré le : 26 sept. 2015, 10:32
Localisation : charente

Re: Comparaison de valeur de sonde de température

Message par thier » 11 juil. 2018, 22:30

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 + strech, rfxtrxe, zwave, chauffage piloté par qubino, sondes oregon et Vill1d, boite aux lettres détection passage facteur, volets roulants+qubino

guigui1976
Messages : 17
Enregistré le : 25 juin 2018, 21:25

Re: Comparaison de valeur de sonde de température

Message par guigui1976 » 11 juil. 2018, 22:31

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
Enregistré le : 25 juin 2018, 21:25

Re: Comparaison de valeur de sonde de température

Message par guigui1976 » 11 juil. 2018, 22:35

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 : 470
Enregistré le : 26 sept. 2015, 10:32
Localisation : charente

Re: Comparaison de valeur de sonde de température

Message par thier » 11 juil. 2018, 22:35

Dans les logs tu as eteint ou allume?
PI3 + strech, rfxtrxe, zwave, chauffage piloté par qubino, sondes oregon et Vill1d, boite aux lettres détection passage facteur, volets roulants+qubino

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Répondre