Gestion du chauffage native

Ok il reste un arbitrage technique à faire encore et c’est bon.

Alors on souhaite un interrupteur On-Off en plus du fait que c’est thermostatique sauf que la tête n’a pas d’interrupteur donc il faut que ce soit un faux interrupteur qui mettent une valeur par défaut (5 degrés par exemple) et que quand on réactive l’interupteur on remettent l’ancienne valeur que possédait la tête ou potentiellement une nouvelle qui a été poussé pour les scènes.

Ce qui oblige a avoir une sorte de mémoire c’est pas fou.

Sinon je propose le fonctionnement suivant :

  • variable numérique de la température souhaitez
  • Si modification de cette variable, on vérifie que le chauffage est on pour la publier
  • Si chauffage est off, on change seulement la valeur au sein de gladys
  • Si le chauffage devient on, on pousse la valeure qui est dans gladys
  • Si on éteint le chauffage on pousse une valeur qui a été définie par défaut.

Je pense avoir gérer tout les cas je sais pas si c’est très clair !
Je veux bien un avis d’expérimenté (@pierre-gilles ?) sur comment techniquement tu résoudrais ce problème ?

Est-ce qu’on veut vraiment ce fonctionnement ? Je trouve ça compliqué, et surtout ça fait un “faux comportement” que l’utilisateur ne va pas comprendre.

Je pense que Gladys doit juste mimer ce qu’il se passe dans la vraie vie, pour que ce soit clair pour l’utilisateur.

Si la tête thermostatique ne gère pas de On/Off, on ne met pas de On/Off dans Gladys à mon avis.

Si l’utilisateur veut mettre 5°C pour “éteindre” sa tête, il peut le faire dans Gladys, mais je pense que ce n’est pas à Gladys de faire des comportements magique avec des valeurs fixes comme ça non ?

1 « J'aime »

Oui je suis assez d’accord avec ça.
Si tu ne veux pas de chauffage, tu baisses la température au minimum. C’edt un comportement logique.

1 « J'aime »

Y’a un truc qui me semble important et qui n’a pas été abordé, la régulation.

Comme souvent, il faudra l’expliciter dans l’U

Perso quand c’est pas fait à l’extrême, j’aime bien avoir des boutons (on / off dans notre cas) “désactivés” avec un message (genre tooltip) qui explique que c’est pas pris en charge par ma tete connectée.

Dans ce cas est-ce que ce n’est pas faisable simplement par l’utilisateur lui même avec un device factice et une scène ? Ce serait plus proche de la réalité… bon pour ca il faut que l’injection de valeur arrive dans les scènes dans le même temps. Et dans la doc on peut donner des exemples concrets de mise en oeuvre (la demande pour le classement des scènes dans des dossiers serait idéale également ^^)

Tout a fait @VonOx ^^
Mais de ce que je comprenais de la conversation, c’etait ici pour demarrer le projet avec le plus simple et d’ajouter la regulation dans une future PR, non ?

Hello tout le monde,

Alors en théorie oui je suis d’accord pour dire que c’est pas idéal, ça fait un peu redondant etc…
En pratique, il y a beaucoup de scenario ou c’est indispensable. Tout ce qui est interruption du chauffage / reprise du chauffage , il faut pouvoir retrouver l’ancien régime qui a ne valeure très certainement différente en fonction des cas…

Alors oui comme le dis @Terdious l’idée serait de faire dans un deuxième lot mais si il y a des devs motivés pour tout faire directement alors pourquoi pas l’intégrer directement !
@VonOx tu tiens à cette fonctionnalités dès le premier lot de feature ?

Hello tout le monde,

Je n’ai pas encore intégré mon chauffage dans Gladys, pour l’instant je débute avec Gladys et je n’ai pas encore tous les éléments que j’aurais besoin pour intégrer toute ma domotique, et en même temps pas facile de casser un système existant qui fonctionne pour une autre solution mais j’avance tout doucement.
En attendant je peux vous montrer comment j’ai fait dans mon système actuelle Domoticz, si cela peut donner des idées.

Dans un premier temps j’ai un interrupteur virtuel (fake device) pour le mode de chauffage (HIVER / ETE)
image
Si mode ETE, alors le chauffage est coupé
Si mode HIVER alors j’active le chauffage

Ensuite j’ai un thermostat NetAtmo, ou son relais est connecté directement sur mon Poêle à granulés.
Dans Domoticz je récupère 4 infos:

  • mode de fonctionnement => permet de gérer le fonctionnement du chauffage de toute ma maison (poêle à granulé et radiateur électrique) suivant un mode planning, un mode absent et un mode hors gel
    image

  • Etat du relais => permet de savoir si le relais du thermostat est actif ou pas (on peut exécuté des scènes éventuellement en fonction de l’état)
    image

  • Température lu par le thermostat
    image

  • Température de consigne
    image

J’ai écrit un script python qui permet d’interroger l’API NetAtrmo et afficher les données dans Gladys si cela peut intéressé quelqu’un. Il me manque juste l’affichage du mode car il n’y a pas de fake device mqtt qui peut afficher du texte, ou alors j’ai pas trouvé comment faire.

Le chauffage de mon poêle est donc gérer directement par le Thermostat NetAtmo et je fait que lire les données dans Domoticz.

Ensuite dans chaque pièce j’ai un chauffage électrique avec fil pilote (piloté avec un module QUBINO en ZWAVE)

Pour chaque pièce j’ai créer plusieurs fake device:

  • Mode de fonctionnement => manuel ou automatique
    image
    En mode manuel, il y a un autre fake device qui permet de contrôler le radiateur
    En mode automatique, j’ai une scène qui vérifie l’état de mon thermostat général, si par exemple je suis en mode planning et que la température de consigne est au dessus d’une certaine valeur alors j’autorise le chauffage individuel de chaque pièce

  • Type de régulation => hystérésis ou PID
    image
    Hystérésis => c’est une régulation tout ou rien avec 1 valeur de mise en marche et une autre pour l’arrêt. Par exemple je démarre le chauffage à 18°C et j’arrête à 20°C
    PID => c’est une régulation un peu plus complexe (proportionnel, intégral, dérivé), pour résumé c’est un système d’asservissement en boucle fermé qui a pour but de lisser la température (ou de ce qu’on veut contrôlé)
    image

  • Commande manuel => si le mode est réglé en manuel alors je peux sélectionner le mode de fonctionnement du radiateur de la pièce (OFF, hors gel, eco, confort…)
    image

  • Thermostat => qui permet de définir la température de consigne de la pièce
    image

  • Capteur de température
    image
    Ici j’utilise un capteur xiaomi aqara zigbee pour lire la température de la pièce et comparer avec la valeur du thermostat virtuel.

Donc si la valeur de consigne est supérieur à la température actuelle, et aussi en fonction du thermostat général et du mode de fonctionnement manuel ou automatique, je pilote le radiateur en confort sinon en Eco.

Pour ma part ce qu’il manque à Gladys pour réaliser une fonction de chauffage, c’est un fake device thermostat, un fake device type switch multi position, pas uniquement ON/OFF, avec la possibilité de définir un texte pour chaque position de l’interrupteur.
Après pour moi tout le restant peut se gérer pas des scènes sauf la régulation par PID qui est assez complexe.
Pour le thermostat général, j’utilise un thermostat NetAtmo car je peux le contrôler à distance et si mon système domotique tombe en panne je peux toujours le contrôler physiquement, mais pour l’intégration dans Gladys on pourrait imaginer un fake device thermostat qui permet de régler une valeur de consigne. Ensuite avec le calendrier et une scène venir piloter le thermostat automatiquement en fonction de ce que l’on aura défini.

1 « J'aime »

Hello tout le monde,
du coup je reviens sur le sujet suite à la sortie de Gladys 4.9

De ce que j’ai compris de l’ensemble de nos discussions, il n’y a pour l’instant plus qu’une seule chose sur laquelle se mettre d’accord c’est comment on souhaites présenter ça dans le dashboard ?
Est ce qu’on souhaite une glissière comme pour la luminosité ?
Ou bien un thermostat un peu comme ça montant de 0,5 degrés en 0,5 degrés ?

Coté developpement pour supporter les appareils

  • Zigbee2MQTT il faut supporter les topics : occupied_heating_setpoint ou current_heating_setpoint des appareils
  • Toujours aucune idée pour Zwave (et rejoins le sujet de migration de Zwave)

Pour activer désactiver le chauffage hiver/été → activation/désactivation des scènes ou mise à 5 degrés de température
Pour activer désactiver l’ensemble des chauffages d’une pièce → scène fake switch qui pousse une valeure fixe sur les radiateurs de la pièce (On pourrait potentiellement améliorer ce point dans le futur avec un thermostat général pour la pièce)
Controler le chauffage par calendrier → faisable avec des scènes
Controle d’un chauffage On-Off avec une temprature de pièce → déjà faisable avec des scènes, un fake device, et un capteur de température dans la pièce

Est ce que j’ai oublié des cas d’usage sur lesquels on a pas tranché ?

@jgcb00 Est-ce que tu pourrais faire une proposition de design sur whimsical ( https://whimsical.com/ ) pour faire un recap de tout ce qui est à développer ? (Autant le dashboard que les scènes)

Tu fais une proposition, et ensuite on pourra itérer dessus :slight_smile:

1 « J'aime »

Ok tu utilises quelle fonctionnalitée pour faire ça ?

Wireframe!

1 « J'aime »

Est ce que tu aurais un fichier type pour les box du dashboard ?
Avec la hauteur de la partie « nom de la box »

Pas besoin d’être pixel perfect (c’est pas l’idée derrière whimsical, c’est pas Figma), l’idée c’est juste de faire une maquette / spec fonctionnelle :slight_smile:


Voilà ce que je vois pour le moment
Partie de gauche dans les scènes, partie de droite dans le dashboard

Si c’est aussi simple que ça tant mieux !

Après justement, est-ce qu’on veut faire du « appareil par appareil » (ce qui peut-être un bon début dans un premier temps), où est-ce qu’on veut offrir des commandes plutôt par pièce ? ( ce qui peut venir dans une box séparé dans un second temps )

En tout cas je suis plutôt pour une gestion simple pour commencer, et ce que tu propose est vraiment pas mal !

Oui je me suis fait la même réfléxion, mais pour moi les groupes d’objets c’est un autre sujet non ? On peut vouloir creer un groupe d’objet avec la prise de la lampe et la lampe du plafond pour tout le temps les allumer par deux, donc est ce qu’on veut restreindre ça qu’au chauffage ?

Je pense que le meilleur trade off sur ce point serait de pouvoir creer un groupe d’objet dans une scène super facilement en faisant comme ça :

ou chaque changement de valeure d’un type peut être répercuté sur un autre objet du même type.
Tu en penses quoi ? Et la c’est une grosse feature core de gladys

ou bien on peut tout faire en un seul bloc dans les scènes ce qui permet d’afficher que les appareils compatible entre eux

A voir, on est pas obligé de faire tout le temps du générique, parfois du custom pour un type d’appareil ça peut-être bien aussi !

Typiquement Home Assistant ils ont un composants comme ça (celui de droite pour le chauffage):

Screenshot 2022-06-24 at 13.21.04

Ca peut-être une box custom dans Gladys, ou on pourrait sélectionner une liste d’appareil de type chauffage pour contrôler ces appareils en 1 box, sans que ce soit forcément une gestion des groupes d’objets.

Après dans tous les cas, la première étape c’est les 2 composants que tu proposes @jgcb00. Ce genre de composants c’est une brique au dessus pour avoir une UX le plus pratique à utiliser au quotidien :slight_smile:

1 « J'aime »