Script si temp < 20 alors chauffe

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 <\>.
myeleec
Messages : 20
Inscription : 01 oct. 2020, 16:56
Contact :

Script si temp < 20 alors chauffe

Message par myeleec »

Bonjour,
j'ai un module SonOff TH10 avec sa sonde de température.
Je pense avoir bien installé le module, puisque si je le commande depuis Domoticz, ça fonctionne.
interrupteur.PNG
interrupteur.PNG (10.48 Kio) Consulté 3935 fois
J'ai bien le relevé de température qui fonctionne également :
mesures.PNG
mesures.PNG (23.06 Kio) Consulté 3935 fois
Et j'ai créé un programme Blocky tout simple pour faire des tests :
blocky.PNG
blocky.PNG (6.85 Kio) Consulté 3935 fois
J'ai un second script qui fonctionne très bien :
douche.PNG
douche.PNG (11.8 Kio) Consulté 3935 fois
(Si j'appuie sur un bouton virtuel, la lumière de la douche s'allume pendant 1 minute et ce même chauffage chauffe pendant 2 minutes)

Et pourtant, dans le premier script :
blocky.PNG
blocky.PNG (6.85 Kio) Consulté 3935 fois
Il ne se passe absolument rien.

Auriez-vous une idée ?

merci beaucoup
Christophe
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Script si temp < 20 alors chauffe

Message par Keros »

Pour comprendre pourquoi un script ne fonctionne pas, il faut faire du débogage. J'ai un lien dans ma signature où je donne quelques astuces / conseils.

Est-ce que tu as compris comment fonctionnait les scripts et les triggers en particulier ?

Est-ce que "Il ne se passe absolument rien." veut aussi dire que tu rien dans les log même pendant 2 minutes ?
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
myeleec
Messages : 20
Inscription : 01 oct. 2020, 16:56
Contact :

Re: Script si temp < 20 alors chauffe

Message par myeleec »

Bonjour,
Merci pour ta réponse.
J'ai une petite idée, dans le IF, est-ce que je peux mettre la valeur de la température directement ou dois utiliser une variable ?

Si oui ... J'ai tenté de trouver comment envoyé la valeur de la température dans une variable, mais je n'ai rien compris 😥
myeleec
Messages : 20
Inscription : 01 oct. 2020, 16:56
Contact :

Re: Script si temp < 20 alors chauffe

Message par myeleec »

Bonjour,
je suis toujours en galère pour résoudre ce problème :(
Si vous avez une idée ...

merci beaucoup
Christophe
manu663
Messages : 103
Inscription : 06 août 2016, 14:35

Re: Script si temp < 20 alors chauffe

Message par manu663 »

Bonsoir,

Je te joins juste mon blocky chauffage, si ça peut aider.
Je suis un peu pris mais je reviens vers toi dès que possible!
Image
myeleec
Messages : 20
Inscription : 01 oct. 2020, 16:56
Contact :

Re: Script si temp < 20 alors chauffe

Message par myeleec »

Bonjour,
Merci pour ton aide.
je vois dans le dernier else if : que tu a mis ton capteur et la consigne inférieure à 31°C.

C'est bien ce que j'ai fais, et pourtant, ça ne fonctionne pas :(
lost
Messages : 1511
Inscription : 12 nov. 2016, 11:01

Re: Script si temp < 20 alors chauffe

Message par lost »

myeleec a écrit : 28 nov. 2020, 16:56 je vois dans le dernier else if : que tu a mis ton capteur et la consigne inférieure à 31°C.

C'est bien ce que j'ai fais, et pourtant, ça ne fonctionne pas :(
Pour ma part, j'ai ceci en Lua pour mettre une consigne de chauffe pour 30mn (1800s) si la température est en dessous de 18.5, que le chauffage était allumé mais en en mode hors-gel (cad hors d'un horaire de présence habituel sinon on serait au moins en eco, j'ai alors une consigne "variateur" entre 10 et 20 sur le module fil pilote) mais que qqun est là quand même (via le status de présence globale alarme) et qu'il est dans le salon (le capteur de mouvement a déclenché).

Les conditions sont plus complexes, mais note les conversions chaînes de caractères contenant des valeurs numériques (faites uniquement si les conditions présence/mouvement sont là, histoire de pas faire de conversions inutiles). Je n'utilise pas le code "lego", car je trouve cela vite illisible au delà de trucs très simples, mais ne faut-il pas faire pareil afin de ne pas se retrouver à comparer des chaînes de caractères, avec un résultat qui n'est pas celui attendu.

Le script reste simple, même si on n'a jamais fait de Lua ou autre mais qu'on se débrouille en anglais:

Code : Tout sélectionner

timeOnSec='1800'
tempLimit=18.5

presence='PresenceGlobal'

move1='MvtSalon'
heat1='Radiateur Salon'
temp1='Temperature Salon'

commandArray = {}

if (devicechanged[move1] == 'On' and otherdevices[presence] == 'On') then
	curLvl=tonumber(otherdevices_svalues[heat1])
	curTmp=tonumber(otherdevices_svalues[temp1])
	
	-- Uncomment for debug:
	-- print(heat1..": Level="..tostring(curLvl).."/Temp="..tostring(curTmp))
	
	if ((curLvl > 10) and (curLvl < 20) and (curTmp < tempLimit)) then
	    print(heat1.." HG->ECO on presence detection : Salon.")
		commandArray[1]={[heat1]='Set Level 25'}
		commandArray[2]={[heat1]='Set Level 15 AFTER '..timeOnSec}
	end
end

return commandArray
On se retrouve à empiler une commande changeant la consigne (25%, soit entre 20 et 30 = éco sur ces modules) immédiatement et une autre remettant hors-gel (15%) 30mn après.

Etant entendu que si les conditions de déclenchement restent vraies à ce terme, on va alors repartir pour 30mn...

Ca me sert à gérer un peu d'adaptatif (hors plannings switchs contrôlant les modules) quand les enfants rentrent car ils ont un cours qui saute, afin qu'ils ne se pèlent pas trop.
myeleec
Messages : 20
Inscription : 01 oct. 2020, 16:56
Contact :

Re: Script si temp < 20 alors chauffe

Message par myeleec »

Bonjour,
Merci beaucoup pour votre aide.

pour le moment, j'essaie un programme simple comme vous l'avez posté ...
Capture.PNG
Capture.PNG (6.77 Kio) Consulté 3715 fois
Capture2.PNG
Capture2.PNG (11.2 Kio) Consulté 3715 fois
Aucune idée ... mais ça ne fonctionne pas ...
Dans le log du relais SonOff, je vois bien les On OFF que j'effectue manuellement mais aucune via le programme :(
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

Re: Script si temp < 20 alors chauffe

Message par denis_brasseur »

Curieux concernant la température de SonTH Chambre.

Ton post initial du 21/11 et celui du 03/12 affiche tout 2 une température de 18.6° mais avec un last seen du 04/10.

Sur que ta sonde fonctionne afin que le changement de valeur soit pris en compte par le script ?
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
myeleec
Messages : 20
Inscription : 01 oct. 2020, 16:56
Contact :

Re: Script si temp < 20 alors chauffe

Message par myeleec »

Bonjour,

ah oui, je n'avais pas vu ce détail !
Je vais regarder !

Merci beaucoup
Répondre