Chauffage en cas de présence

Bonjour, j’avais tenté une usine à gaz pour augmenter la consigne de température d’une vanne thermostatique en cas de présence.
d’une part, je ne savais pas trop quel declencheur mettre, mais si j’ai bien compris ça doit être une détection de présence (je mettais toutes les 2 secondes :confused:

Avez vous une idée plus simple pour voir si qqun était dans une pièce depuis plus de 5 minutes par exemple pour augmenter la consigne et la baisser ?

Salut,

Effectivement c’est une belle usine à gaz :sweat_smile:

J’imagine que c’est un capteur de mouvement et pas de présence que tu as, c’est à dire qu’il détecte à chaque fois qu’on bouge devant un détecteur ?
Et qu’au final, quand tu regarde une historisation, quand tu est dans une pièce tu as une succession de passages de 0 à 1 ?

C’est important pour la suite pour faire un scénario plus simple sans utilisation de variables si ce n’est pas necessaire.

en effet, j’ai ceci, mais pour cette application, je peux acheter un capteur de présence qui sera plus adapté et garder celui ci pour autre chose ?

tu me conseillerais quel modèle ? puisque je peux faire zigbee également maintenant

celui ci me parait bien en modèle avec batteries
https://www.domadoo.fr/fr/produits-de-domotique/8471-aqara-detecteur-de-presence-pir-mmwave-zigbee-et-matter-thread-fp300-6975833357789.html

Non non j’ai le même ça fonctionne très bien, c’est juste que c’est important de savoir ce que remonte le capteur pour caler le scénario comme il faut :wink:

On est d’accord que tu veux augmenter la température si il y a quelqu’un depuis plus de 5 minutes ? Et ensuite tu reviens à la température normale quand ? On va partir sur dans 1h comme hypothèse

Ce que je ferais :

Déclencheur : #[Chambre][Sensor][Présence]# == 1 (à remplacer par le nom de ta commande bien entendu)

Et dans le scénario :

  • A chaque fois que tu passe devant le détecteur, le scénario va se déclencher
  • Si le chauffage est éteint ET que tu as déclenché au moins 2 fois le capteur de mouvement ces 5 dernières minutes (pour éliminer le cas où tu serais juste entré dans le pièce sans y rester) : alors tu allume le chauffage
  • Si le chauffage est allumé alors on programme son arrêt dans 60 minutes.
  • A chaque nouveau passage devant le capteur alors que le chauffage est allumé, on repousse le compteur à 60 minutes à partir du déclenchement
  • Le sleep entre les deux blocs est la pour être certain que le chauffage ait le temps d’être bien considéré comme allumé avant de le vérifier en ligne suivante.

Bien sur à tester et à ajuster mais ça devrait faire le job !

1 « J'aime »

Merci, en fait j’ai 3 scénarii qui tournent actuellement, basés sur des horaires, pour modifier le mode de chauffe (Off, chaud, eco) et je peux varier les points de consigne Chaud et Eco…

ceci dit ces modèles de vanne sont de la daube, j’en ai d’autres en fibaro qui sont un peu mieux, mais ce n’est pas vraiment le sujet.

il faudrait donc qu’en cas de présence comme tu l’as indiqué, il passe en mode chaud et que sinon il repasse en mode Eco, ou off, suivant l’horaire ? bien que pour simplifier, en présence, il passe en mode chaud, puis 60 min après il repasse en mode eco et je laisse uniiquement mes horaires qui le basule de mode off à Eco ?

Ben à voir ce que tu veux faire exactement si tu veux garder plusieurs scénarios en parallèle ou n’en garder qu’un seul.

J’ai personnellement tendance à préférer la deuxième solution parce que je trouve plus simple d’avoir tout sous les yeux que plusieurs scénarios qui touchent à la même chose et potentiellement peuvent se battre entre eux …

Par contre je ne comprends pas tout du mode de fonctionnent souhaité :

  • Sur la détection de présence c’est bien pour passer d’éco en confort et c’est uniquement de 7h à 22h ?
  • C’est à dire que si pas de présence t’es en eco de 7h à 22h et en off le reste du temps ?
  • Si présence entre 22h et 7h on reste bien en off ?

Oui ça me paraît plus simple et logique , entre 22 et 7 en off , le reste du temps en eco sauf si présence alors en mode chaud

Dans ce cas, l’exemple ci dessous devrait fonctionner :

Délencheurs :

Mode du scénario : les deux
Evenement : #[Chambre][Sensor][Présence]# == 1
Programmation : 0 7,22 * * *

Donc le scénario se lancera à 7h, à 22h et à chaque fois qu’on passe devant le détecteur de mouvement.

Par contre comme sont conçus les blocs si jamais tu entre dans la pièce à 21h45, à 22h le chauffage se coupera. A voir si c’est bien ce que tu veux ou si il faut qu’il se coupe à 22h45.

hello Aurel,
je teste ça, aurais tu une explication de cette syntaxe ou me dire où je peux trouver ?

Salut,

C’est la syntaxe cron (un standard sous linux) qui est sous cette forme la :

 # Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  *  user command to be executed

Tu as un générateur en ligne qui permet de créer/vérifier une syntaxe : https://crontab.guru/

Pour le 7h et 22h, j’ai proposé 0 7,22 * * * mais si tu veux rester dans les outils jeedom, il y a un générateur de syntaxe simplifié qui te permet de faire la même chose mais en deux lignes du coup :

Donc tu as le résultat en deux lignes mais ça marche aussi :

C’est bizarre, on dirait qu’il butte sur la première condition de temps et il me met la commande à Off à chaque execution

et je ne trouve pas non plus ou aller voir le détail des logs

Il faut un diese en début et en fin de time.

Tu as un bouton sur la barre en haut a droite pour les logs

il faudrait que j’apprenne un peu plus la syntaxe, parce qu’ici j’ai une erreur
#trigger_named == « [Salle_Jeu][33 Motion Sensor FGMS001][Présence] » && stateChanges(#[Salle_Jeu][33 Motion Sensor FGMS001][Présence]#,1,5 min ago) >2 && #[Salle_Jeu][25 - Eurotronics Thermostatic Valve Spirit][Mode-Eco]#

Bonjour,

Regarde la doc des scénarios : https://doc.jeedom.com/fr_FR/core/4.5/scenario

Prends l’habitude egalement d’utiliser la balise de texte préformatée pour que les logs soient facile à lire.

Exemple : « toto » sans cette balise et "toto" avec

Ce ne sont donc pas les mêmes signes et les bons sont les seconds

Merci pour les conseils, mais je pense avoir mis les bons «  »
voici les résultats du log

Expression non valide : « [Salle_Jeu][33 Motion Sensor FGMS001][Présence] » == « [Salle_Jeu][33 Motion Sensor FGMS001][Présence] » && 2 >2 && #1734#

et mon expression :
#trigger_name# == « [Salle_Jeu][33 Motion Sensor FGMS001][Présence] » && stateChanges(#[Salle_Jeu][33 Motion Sensor FGMS001][Présence]#,1,5 min ago) >2 && #[Salle_Jeu][25 - Eurotronics Thermostatic Valve Spirit][Mode-Eco]#

en fait c’est l’éditeur ici qui a changé mes " "

l’erreur viens de ceci qui doit tester si je suis dans le mode ECO

&& #[Salle_Jeu][25 - Eurotronics Thermostatic Valve Spirit][Mode-Eco]#

en fait je devais tester le mode du thermostat :
[2026-02-14 17:25:25][SCENARIO] - Exécution du sous-élément de type [condition] : if #trigger_name# == « [Salle_Jeu][33 Motion Sensor FGMS001][Présence] » && stateChanges(#[Salle_Jeu][33 Motion Sensor FGMS001][Présence]#,1,5 min ago) >2 && #[Salle_Jeu][25 - Eurotronics Thermostatic Valve Spirit][Mode Thermostat]# == 11
[2026-02-14 17:25:25][SCENARIO] Evaluation de la condition : [«  » == « [Salle_Jeu][33 Motion Sensor FGMS001][Présence] » && 0 >2 && 11 == 11] = Faux

maintenant c’est correct :slight_smile: