Thermostat connecté (plancher chauffant avec contrainte de continuité de service)

Bonjour à toutes et tous.

Je dispose de 8 pièces équipées de chauffage électrique au sol (puissance maximale 1700 W) et je suis à la recherche d’un thermostat d’ambiance pour piloter ceux-ci (un par pièce).

Pour ceux qui l’ignore, un plancher chauffant c’est bien, mais il a un mode de pilotage très particulier. Prenons un exemple. Il fait 18 dans la pièce, vous voulez régler à 20 °C. Sur un thermostat classique avec un chauffage électrique classique, il va activer sa sortie et faire fonctionner le radiateur jusqu’à 20°C puis couper et réguler. La température va osciller entre 19.5 et 20.5 et c’est tout bon. (Pour les puristes, on ne va pas parler d’hystérésis, de PID etc … histoire de ne pas perturber tout le monde :grin: )

Pour un plancher chauffant, le scénario est le même. Sauf que avant de chauffer la pièce, il faut chauffer la chape. Cela prend un certain temps. Et au bout d’un moment, la pièce est à bonne température, le thermostat coupe sa sortie. Mais la chape est toujours chaude, bien plus que la pièce, puisqu’elle a continué à chauffer pendant que la pièce se réchauffait. Donc la température va monter … 22, 23 °C. Et ça va commencer à redescendre (normal, il fait froid dehors :laughing: ). Et on retrouve le même scénario : le thermostat dit “moins de 20 °C : on chauffe !” Mais la chape dit “Attend, je suis encore froide moi” et la température de la pièce continue de descendre; On appelle ce phénomène le “pompage” en régulation, et c’est justement ce qu’on veut éviter.

Du coup, les thermostats pour plancher chauffant électrique intègrent une gestion qui va moduler le temps de chauffe en fonction de la différence de température (en gros hein !). Genre : “on me demande de chauffer d’un demi degré … bon je vais chauffer 5 minutes et on va voir ce que ça donne”. Et petit à petit, la régulation se fait. Pour donner une idée de cette inertie thermique chez moi, il faut compter 2 heures entre le moment où je demande à chauffer et le moment ou la température commence à monter …

J’ai des doutes sur les modèles à bas coût (MOES, BSEED et autres modèles du même genre) quant à la prise en compte de cette inertie.

Donc je fais appel à la communauté pour savoir si vous avez des retours d’expérience à partager, des modèles à conseiller ou à fuir etc …

Merci de votre aide :slightly_smiling_face:

Hello. Cela existe oui, notamment chez Moes, et ils sont reconnus officiellement par Z2M

Si tu choisis bien le modèle GB (Electric Floor)

Exemple : ici

Pour être sûr avant que l’appareil est officiellement reconnu, va faire un saut sur : https://www.zigbee2mqtt.io/

Exemple :

Ou encore

Avec un peu de retard, merci beaucoup pour ce retour.

Je vais en prendre un pour voir ce que ça donne et je basculerai si c’est ok.

Merci encore

Peux tu nous faire un feed-back stp une fois installé et savoir s il répond bien à tes attentes

Pourquoi ne pas passer directement par HA pour effectuer la régulation que tu souhaites ?

Il te suffit d’un simple thermomètre connecté. Derrière tu mets les routines que tu veux. Avec des scripts ou des automations tu colles les variables que tu veux. Ces variables fonction des paramètres que tu souhaites.

@bubule: Je ne suis hélas pas très compétent en régulation PID :sweat_smile:

Je connais le concept et le comprends plus ou moins, mais de là à mettre en oeuvre ma propre régulation… :person_shrugging:

De plus, je suis plutôt du genre à domotique, mais en laissant les matériels pouvoir fonctionner sans. Les volets roulants sont pilotés par home assistant, mais il est toujours possible de les piloter localement. Idem pour les lumières etc… Même l’arrosage peut être géré sans passer par home assistant. Ceci dans le cas où HA est indisponible (et cela m’est déjà arrivé). Donc je préfère conserver un thermostat autonome.

@Kaka , volontiers. Les pistes que @DavidFromRouen m’ont données sont intéressantes, mais il est difficile d’avoir des données techniques fiables (par exemple, difficile de savoir quel est l’incrément minimal de la consigne : le dixième de degré, c’est peut-être excessif, mais régler son chauffage avec un pas de 1 degré, ce n’est pas assez précis). Sans compter les erreurs de traduction, d’interprétation, la mauvaise foi de certains vendeurs… bref toujours aussi difficile de faire un choix :sweat_smile:

[EDIT]

Bon, je suis parti sur un modèle MIUCDA (identifié comme étant un WT100/ZWT100, donc j’imagine qu’il s’agit du même matériel qu’AVATTO).

J’en ai profité pour prendre un AVATTO WT410 Matter, histoire de tester ce nouveau système (j’ai une enceinte Echo Pop et des répéteurs wifi Deco, qui sont sensés pouvoir supporter ces équipements). J’en profiterai pour faire un retour là-dessus aussi.

Délai de livraison de 2 semaines (c’est l’inconvénient d’acheter en RPC), on verra bien ce que cela donne.

2 retours d’expérience pour moi:

  • J’ai installé un plancher chauffant élec de base de chez Leroy Merlin et il était fourni avec son thermostat connecté qui intègre la sonde d’ambiance + la sonde de surface du plancher
    → parce que comme tu l’as dit le plancher ne chauffe pas avec la même inertie que l’air de la pièce
    • pour info mon modèle c’est un thermostat wifi TFT (tuya), donc pas zigbee, mais sous HA tout fonctionne directement avec tuya local
      → EDIT: c’est quasi la même chose que ton AVATTO apparemment, sauf que avec tuya local j’ai pour ma part automatiquement le thermostat HA et les paramètres qui vont bien qui sont configurés, je ne sais pas ce que ça peut donner en zigbee/matter…
    • tout est inclus (le pid et le tralala de la régul du plancher chauffant, rien à régler de ce côté)
    • j’avais la sonde de température de surface de plancher à connecter quand même aussi qui est importante pour un plancher chauffant
    • et ce n’est pas un régulateur fait sur-mesure par Leroy Merlin, c’est en fait un thermostat tuya qu’on peut trouver par ailleurs au détail chez un revendeur chinois à pas cher, ou vraiment + cher chez un Leroy Merlin ou autre revendeur local
  • Sinon pour anticiper l’inertie de mon chauffage (car avec une passoire thermique ça met aussi longtemps à chauffer parfois chez moi), j’ai fait un programme HA spécifique pour la relance du matin (avec un apprentissage automatique). Car même si je suis comme toi (je préfère que mon chauffage soit régulé de façon autonome), l’intérêt de HA c’est aussi de pouvoir faire ce genre de connexion avec le reste (pour ma relance du matin d’hiver c’est anticiper l’heure de relance en fonction de la météo et d’autres paramètres)… bref c’est pas incompatible, chez moi ça se complète

Merci @ebz pour ton retour d’info.

Tiens, petite question : est-ce que le thermostat peut fonctionner sans la sonde plancher ? Parce que je me vois mal percer la chape pour installer la sonde, mon épouse va moyennement apprécier :sweat_smile: (bon, trêve de sexisme, moi non plus, je ne vais pas aimer ça :rofl: ).

Modifier les heures de mise en route du chauffage (ou la consigne) en fonction de la température extérieure ou de la météo, c’est un truc qui pourrait me plaire :slight_smile: . C’est justement le “plus” que je trouve à la domotique : un fonctionnement “de base” assuré par le matériel, et le confort ajouté par la domotique.

Pour illustrer cela, on peut prendre l’exemple de la lampe : l’interrupteur permet d’allumer ou d’éteindre la lumière, la domotique permet de faire un peu tout le reste :grin: (variation, simulation de présence, pilotage à la voix, … libre d’imaginer plein d’application)

1 « J'aime »

Oui ça va marcher, mais il faut quand même savoir que:

  • tu n’auras pas la sécurité de la limite haute de température de sol ce qui potentiellement pose 2 petits soucis
    • les varices (pas l’avarice) → 28°C max en t°C de sol selon la réglementation, 25°C max configuré par défaut dans le thermostat et + généralement par à peu près tous les pros
    • durabilité des mtx de plancher (en général 50°C max dans les tuyaux de plancher chauffant, mais plutôt 35-40 en réalité… ça peut dégrader plus rapidement le plancher ou autres mtx de surface, si c’est du carrelage ça va) → en fait si on respecte déjà 25°C avec le plancher élec pas de soucis
  • si tu souhaitais qq chose de précis, du coup là ce sera moins précis… mais ça marche (mais aucune idée de combien « moins précis » :smiley: )
    → et aussi, avec ou sans sonde de surface, il y aura de toute façon un cas où toutes les régulations de plancher chauffant se « plantent », c’est quand le soleil arrive sur le plancher par la baie vitrée…

Retour d’expérience sur tout cela.

On oublie le MIUCDA, la commande a été annulée par Ali****, je ne sais pas pourquoi, et le remboursement a été émis.:face_with_raised_eyebrow:

Concernant le WT410, bof. Matter, c’était un coup d’essai, et loin d’être un coup de maître. Le pilotage est aléatoire (le thermostat acceptait les commande 1 fois sur 2), le report d’info catastrophique (plusieurs secondes avant de voir une modification sur le thermostat apparaitre sur la carte de Home Assistant, quand cela se passait).

Bref, retour produit.:enraged_face:

J’ai essayé de prendre un modèle AVATTOZWT100-16A. 100% Zigbee, je me suis dit qu’il ne devrait pas y avoir de soucis. Paf, dans le mille Émile : connexion zigbee sans aucun soucis, mais il n’expose … rien. Pas une info, juste … rien.

Modèle ZigBee : TS0601 _TZE284_aaeaifez (Automatically generated definition)

Petite recherche sur le Net : non supporté pour l’instant…Info sur le GitHub Z2M. :face_with_symbols_on_mouth:

(tiens, ça me rapelle l’origine d’un coup de gueule sur ce forum il y a … longtemps :sweat_smile: )

Pour essayer d’aller jusqu’au bout, j’ai retrouvé une passerelle LIDL que j’avais flashée il y a longtemps (avant de passer sur une Sonoff). J’ai pu revenir à la configuration d’origine et appairer le thermostat à Tuya. Ca fonctionne bien, très bien même, mais je ne veux pas (ou le moins possible) de système cloud. Hélas, pas de mise à jour de dispo, espoir bien mince pour faire fonctionner ce thermostat…

Je suis bon pour un nouveau retour produit. Heureusement que Ali* commence à prendre exemple sur Amaz* avec les retours gratuits. Mais je préfère ne pas penser au bilan carbone de mes thermostats …

Donc retour à la case départ et pas grand chose en vue. Dommage, le AVATTO cochait toutes les cases : programme hebdo autonome (en cas de coupure domotique, il reste 100% opérationnel), design, possibilité d’éteindre complètement l’écran et les touches (pratique pour la nuit)…

Ce serait bien de trouver un thermostat avant les frimas de l’hiver :sweat_smile:

[EDIT] Bon, je retire sur ce que j’ai dit sur Ali*. Je viens de me prendre un refus de retour :face_with_steam_from_nose:

J’hésite. Est-ce que j’insiste, ou est-ce que je conserve ces thermostats, qui correspondent à mes attentes, en espérant que la communauté Zigbee2MQTT arrive à en faire quelque chose …

C’est dommage, car son petit frère est reconnu officiellement.

AVATTO WT-100-BH control via MQTT | Zigbee2MQTT le modèle BH

EDIT, même le tien normalement : Tuya X5H-GB-B control via MQTT | Zigbee2MQTT

Oui, c’est bien pour cela que j’avais opté pour ce modèle. Mais soit j’ai eu une très ancienne version de firmware, soit au contraire un nouveau modèle. Je pense plutôt pour cette seconde option, car j’ai trouvé 2 références au modèle exact (_TZE284_aaeaifez) sur le GitHub Z2M, et les posts datent de 2 semaines seulement.

https://github.com/koenkk/zigbee2mqtt/issues/29062

https://github.com/Koenkk/zigbee-herdsman-converters/issues/10397

Il y a peut-être une solution avec une définition externe et/ou la branche développement.

Du coup, comme il y a de l’activité sur ce produit, je vais peux-être les conserver et attendre de voir ce que ça donne.

[EDIT] Suite de mes pérégrinations.

J’ai essayé le “external converteur” fourni dans le deuxième lien ci-dessus et cela fonctionne ! Il y a cependant une petite modification à apporter, sinon les modes auto/manu sont inversés. Donc pour ceux qui veulent tenter l’expérience:

  • création du fichier /homeassistant/zigbee2mqtt/external_converters/zwt100_custom.js (pour information, /homeassistant = /config) avec le code ci-dessous
const fz = require('zigbee-herdsman-converters/converters/fromZigbee'); 
const tz = require('zigbee-herdsman-converters/converters/toZigbee'); 
const exposes = require('zigbee-herdsman-converters/lib/exposes'); 
const tuya = require('zigbee-herdsman-converters/lib/tuya'); 
const e = exposes.presets; 
const ea = exposes.access; 
 
const definition = {
        fingerprint: tuya.fingerprint("TS0601", [
            "_TZE200_viy9ihs7",
            "_TZE204_lzriup1j",
            "_TZE204_xnbkhhdr",
            "_TZE284_xnbkhhdr",
            "_TZE204_oh8y8pv8",
            "_TZE204_gops3slb",
            "_TZE284_gops3slb",
            "_TZE284_aaeaifez",
        ]),
        model: "ZWT198/ZWT100-BH",
        vendor: "Tuya",
        description: "Wall thermostat",
        extend: [tuya.modernExtend.tuyaBase({dp: true, respondToMcuVersionResponse: false})],
        whiteLabel: [tuya.whitelabel("AVATTO", "WT-100-BH", "Wall thermostat", ["_TZE204_gops3slb", "_TZE284_gops3slb"])],
        exposes: [
            e.binary("factory_reset", ea.STATE_SET, "ON", "OFF").withDescription("Full factory reset, use with caution!"),
            e.child_lock(),
            e.temperature_sensor_select(["internal", "external", "both"]),
            e
                .climate()
                .withSystemMode(["off", "heat"], ea.STATE_SET)
                .withPreset(["manual", "auto", "temporary_manual"])
                .withSetpoint("current_heating_setpoint", 5, 35, 0.5, ea.STATE_SET)
                .withRunningState(["idle", "heat"], ea.STATE)
                .withLocalTemperature(ea.STATE)
                .withLocalTemperatureCalibration(-9.9, 9.9, 0.1, ea.STATE_SET),
            e.binary("frost_protection", ea.STATE_SET, "ON", "OFF").withDescription("Antifreeze function"),
            e
                .max_temperature_limit()
                .withUnit("°C")
                .withValueMin(15)
                .withValueMax(90)
                .withValueStep(0.5)
                .withPreset("default", 60, "Default value")
                .withDescription("Maximum upper temperature"),
            e
                .numeric("deadzone_temperature", ea.STATE_SET)
                .withUnit("°C")
                .withValueMax(10)
                .withValueMin(0.1)
                .withValueStep(0.1)
                .withPreset("default", 1, "Default value")
                .withDescription("The delta between local_temperature (5<t<35)and current_heating_setpoint to trigger Heat"),
            e.enum("backlight_mode", ea.STATE_SET, ["off", "low", "medium", "high"]).withDescription("Intensity of the backlight"),
            e.enum("working_day", ea.STATE_SET, ["disabled", "6-1", "5-2", "7"]).withDescription("Workday setting"),
            e.text("schedule_weekday", ea.STATE_SET).withDescription("Workdays (6 times `hh:mm/cc.c°C`)"),
            e
                .text("schedule_holiday", ea.STATE_SET)
                .withDescription("Holidays (2 times `hh:mm/cc.c°C)`"),
            // ============== exposes for found, but not functional datapoints:
            /*
            e.min_temperature_limit() // dp 16
                .withValueMin(5)
                .withValueMax(15)
                .withValueStep(0.5)
                .withPreset('default', 10, 'Default value')
                .withDescription('dp16 is listed in Tuya, but no communication from device'),
            e.binary('dp105', ea.STATE_SET, 'ON', 'OFF')
                .withDescription('dp105 is not listed in Tuya, but device sends datapoint, binary: true/false'),
            e.binary('dp111', ea.STATE_SET, 'ON', 'OFF')
                .withDescription('dp111 is not listed in Tuya, but device sends datapoint, binary: true/false'),
            */
        ],
        meta: {
            tuyaDatapoints: [
                [1, "system_mode", tuya.valueConverterBasic.lookup({heat: true, off: false})],
                [2, "current_heating_setpoint", tuya.valueConverter.divideBy10],
                [3, "local_temperature", tuya.valueConverter.divideBy10],
                [
                    4,
                    "preset",
                    tuya.valueConverterBasic.lookup((_, device) => {
                        // https://github.com/Koenkk/zigbee2mqtt/issues/21353#issuecomment-1938328429
                        // https://github.com/Koenkk/zigbee2mqtt/issues/28035
                        if (
                            device.manufacturerName === "_TZE204_lzriup1j" || 
                            device.manufacturerName === "_TZE204_gops3slb" ||
                            device.manufacturerName === "_TZE284_aaeaifez"
                        ) {
                            return {
                                auto: tuya.enum(1),
                                manual: tuya.enum(0),
                                temporary_manual: tuya.enum(2),
                            };
                        }
                        return {
                            auto: tuya.enum(0),
                            manual: tuya.enum(1),
                            temporary_manual: tuya.enum(2),
                        };
                    }),
                ],
                [9, "child_lock", tuya.valueConverter.lockUnlock],
                [11, "faultalarm", tuya.valueConverter.raw],
                [15, "max_temperature_limit", tuya.valueConverter.divideBy10],
                [19, "local_temperature_calibration", tuya.valueConverter.localTempCalibration3],
                [
                    101,
                    "running_state",
                    tuya.valueConverterBasic.lookup({
                        heat: tuya.enum(1),
                        idle: tuya.enum(0),
                    }),
                ],
                [102, "frost_protection", tuya.valueConverter.onOff],
                [103, "factory_reset", tuya.valueConverter.onOff],
                [
                    104,
                    "working_day",
                    tuya.valueConverterBasic.lookup((_, device) => {
                        // https://github.com/Koenkk/zigbee2mqtt/issues/23979
                        if (device.manufacturerName === "_TZE200_viy9ihs7") {
                            return {
                                disabled: tuya.enum(0),
                                "6-1": tuya.enum(1),
                                "5-2": tuya.enum(2),
                                "7": tuya.enum(3),
                            };
                        }
                        return {
                            disabled: tuya.enum(0),
                            "6-1": tuya.enum(2),
                            "5-2": tuya.enum(1),
                            "7": tuya.enum(3),
                        };
                    }),
                ],
                [
                    106,
                    "sensor",
                    tuya.valueConverterBasic.lookup({
                        internal: tuya.enum(0),
                        external: tuya.enum(1),
                        both: tuya.enum(2),
                    }),
                ],
                [107, "deadzone_temperature", tuya.valueConverter.divideBy10],
                [109, null, tuya.valueConverter.ZWT198_schedule],
                [109, "schedule_weekday", tuya.valueConverter.ZWT198_schedule],
                [109, "schedule_holiday", tuya.valueConverter.ZWT198_schedule],
                [110, "backlight_mode", tuya.valueConverter.backlightModeOffLowMediumHigh],
                // ============== found but not functional datapoints:
                // [16, 'min_temperature_limit', tuya.valueConverter.divideBy10],  // datapoint listed in Tuya, but no communication from device
                // [105, 'dp105', tuya.valueConverter.onOff],                      // not listed in Tuya, but device sends datapoint
                // [111, 'dp111', tuya.valueConverter.onOff],                      // not listed in Tuya, but device sends datapoint
                // These are the schedule values in bytes, 8 periods in total (4 bytes per period).
                // For each period:
                // 1st byte: hour
                // 2nd byte: minute
                // 3rd, 4th bytes: temperature multiplied by 10
                // On the device last 2 periods are ignored if schedule_mode is 7day. When schedule_mode is disabled,
                // scheduling can't be configured at all on the device.
                // For example, if schedule_mode is weekday/sat+sun and this byte array is received:
                // [6,10,1,144,8,10,0,170,11,40,0,170,12,40,0,170,17,10,0,230,22,10,0,170,8,5,0,200,23,0,0,160]
                // Then the schedule is:
                // Mon-Fri: 6:10 --> 40C, 8:10 --> 17C, 11:40 --> 17C, 12:40 --> 17C, 17:10 --> 23C, 22:10 --> 17C
                // Sat-Sun: 8:05 --> 20C, 23:00 --> 16C
            ],
        },
    }; 
 
module.exports = definition; 
  • Modification du fichier /homeassistant/zigbee2mqtt/configuration.yaml. Ajouter :
external_converters:
  - external_converters/zwt100_custom.js
  • Et redémarrer Z2M

Le code ci-dessus diffère de celui de GitHub par l’ajout de :

 || device.manufacturerName === "_TZE284_aaeaifez"

dans la boucle ‘if’ du tuyaDataPoint [4] (il y a d’autres modèles qui semblent être également inversés).

Et hop :

Je continue les tests au cas où quelque chose ne fonctionnerait pas (et dans ca cas, je complèterai ce post), mais en ce qui me concerne : résolu :grin:

[EDIT2] Bon, je crois que j’ai définitivement la loose. Après tout ces efforts pour le faire fonctionner, il n’est plus disponible ou alors au double du prix sur Amaz* :rofl:

1 « J'aime »

“Il revient, et il est pas content” (Jesus II, les inconnus)

Bon, après quelques tests, comme aurait dit feu Jean Pierre COFFE, “mais c’est de la meeeeerde” !

Je pensais que vu qu’il s’agissait d’un modèle spécialement étudié pour les planchers chauffants électrique, il y avait un minimum d’intelligence derrière (qui, dans ce cas, s’appelle ‘régulation’). Bon, c’est du low-cost, évidemment, mais je pensais que c’était implicite. Que nenni ! La régulation se limite à du tout ou rien, associé à un simple hystérésis. Autant dire que le phénomène de pompage décrit au début de ce post sera inévitable.

Mais s’il n’y avait que ça… Oubliez l’utilisation de la sonde de température interne, elle est très fortement perturbée par le fonctionnement propre du thermostat. Le simple fait d’activer le relais fait monter la température mesurée de 2 degrés (et ce n’ est pas le chauffage au sol qui chauffe en 5 minutes, c’est bien la chaleur générée par le relais).

Je vais voir ce qu’il est envisageable de faire, du plus simple au plus complexe, mais je vous déconseille fortement les thermostat low cost pour piloter des systèmes à forte inertie.

1 « J'aime »

Bonjour à toutes et tous.

Bon, ben le résultat n’est pas glorieux du tout. J’ai essayé avec la sonde interne, mais l’enclenchement du relais provoque donc un échauffement rapide du circuit : + 2 °C en l’espace d’une demi heure, j’aimerais bien que mon chauffage soit aussi réactif :rofl:

Petite explication sur la légende : en bleu, la température mesurée par le thermostat. En orange (la courbe), la température mesurée par une sonde externe (j’ai volontairement décalé les valeurs avec l’offcet du thermostat afin que l’on voit bien les variation de chaque courbe). La zone orange représente le temps d’activation du relais, et la courbe jaune correspond à la consigne.

On constate bien que l’activation du relai provoque la chauffe … de la sonde du thermostat, mais pas de la pièce. L’inertie est beaucoup trop importante pour qu’une chauffe d’une demi heure soit perceptible (notez le début de montée en température quasiment 1 heure après le déclenchement du relai).

L’utilisation avec une sonde déportée n’améliore pas grand chose :

On constate plusieurs choses.

Premièrement, la précision de la sonde n’est pas linéaire : aux alentours de 20 °C, la sonde déportée du thermostat est sensiblement cohérente avec mon autre sonde (ne pas se fier au libellé ‘bureau’, je l’ai juste déplacée :rofl: ). A partir de 21 °C, ça commence à sentir le roussi pour la sonde déportée, alors que ma sonde ‘bureau’ s’envole (là encore, merci l’inertie thermique …).

Deuxièmement, aucun régulation ! Dès que j’ai passé la consigne au dessus de la valeur de température de la pièce, le relai s’enclenche (notez au passage le fait que la sonde ne détecte plus la chaleur dégagée par le relai). Et ça chauffe, ça chauffe, jusqu’à atteindre la valeur de consigne + hystérésis (0.5 °C). Et là, paf, ça coupe. Oui mais … encore cette inertie de malheur : ça continue de chauffer. Et fort en plus. La température monte jusqu’à 21.5 °C !

Outre le confort thermique plus que perfectible (des variations de 1.5°C, c’est loin d’être confortable), la consommation électrique est juste faramineuse (je ne ferai pas des centaines de tests :sweat_smile: ).

Je pensais regarder pour hacker le firmware. En effet, une modification du software pourrait au mieux corriger le manque de régulation. Je ne suis pas spécialiste en ce domaine, mais je pensais à un PWM d’une dizaine de minutes et faire varier le duty-cyle (rapport entre On et Off) en fonction de la différence de température entre consigne et valeur mesurée … Ce serait déjà mieux que ce qu’ils ont installé de base. Et au pire, simplement piloter le relais à distance via Zigbee afin de laisser la tâche de la régulation à Home Assistant, le thermostat ne servant plus que d’interface graphique pour lire la température et régler la consigne.

il y a 2 composants principaux sur le circuit : la zt3l qui s’occupe uniquement de la communication (zigbee + tuya) et … ah bah zup, impossible de lire quel puce ils ont utilisés pour tout le reste ! Comme d’habitude, gros sablage sur les composant pour faire disparaitre les références … dès fois qu’on veuilles copier leur fabrication :roll_eyes:

Déterminer quel type de contrôleur est utilisé va être long et ch***t ! Entre la petitesse du bouzin (boitier a priori LQFP‑64, c’est à dire un truc de 1.5 cm de côté avec 64 pattes, 16 de chaque côté …) et le circuit double face (voir plus), la rétro ingénierie va être complexe.

Bref, là, la coupe est pleine. Demande de retour. Et retour à ma question originale : quel thermostat utiliser …

25 euros, j’ai compris que le matériel low cost, on oublie. Du coup, je vais essayer de passer à autre chose …

Merci d’avoir suivi ce post, je ne pense pas y revenir car l’aventure ARATTO s’arrête ici pour moi. Bonne journée à toutes et tous :slightly_smiling_face:

1 « J'aime »

Hello,

Comme toi je commence à propecter sur des thermostats Zigbee en vue de remplacer mes systèmes Atlantic que je ne trouve pas fiable. En parallèle je change l’ensemble du pilotage des radiateurs de l’étage vers du Nodon qui pour le moment me semble plutôt bien. (couplé à un thermomètre d’ambiance)

J’ai vu les thermostats Aqara W500 mais je n’en suis qu’au début de mes recherches et tes feedback étaient intéressant.

As-tu avancé sur ce sujet ou la coupe était définitivement pleine et JP Coffe est retourné en cuisine ?

Bon ça fait 60€ par therm sachant que j’en ai 5 a changé ça commence à faire un ptit budget :slight_smile: Dispo pour échanger sur ce sujet

Hello !

Non, la coupe n’est pas pleine :joy: : j’ai tendance à être obstiné (certain(e)s diraient tétu :roll_eyes: )

J’ai essayé ce modèle (ainsi que celui sans le relais). Je n’ai pas été convaincu : la mise à jour sur HA était vraiment lente, et la précision est au demi degré sur l’afficheur, et au degré sur Z2M. Avec parfois des incohérences … Bref, je n’ai pas été convaincu.

J’ai également testé le modèle de Schneider (Wiser) et vraiment la cata ! Désynchro entre afficheur et Z2M, l’afficheur qui change tout seul sa température au bout de 5 secondes …Rédhibitoire pour moi.

Je commençais à me dire qu’il serait peut-être impossible de trouver un moyen d’avoir un pilotage local ET la possibilité de récupérer les infos sur Home Assistant, sans que cela ne bug.

Dernièrement, je suis passé par le modèle de Bosch Home Automation et je crois que j’ai trouvé quelque chose. Bon, la version que j’ai prise est à pile, mais il existe une version à relais (Par contre, il est limité à 3 ampères)

Donc rajouter un module à relais 16A … Et j’ai trouvé les module shelly gen4.

Le budget explose, mais d’après ce que j’ai compris, il embarquent la possibilité d’exécuter un script.

Du coup, je résume les tests à venir :

  • approvisionner la version à relais,
  • utiliser celui-ci sur l’entrée du shelly (à priori, le relais est pilotable depuis HA).
  • Du coup, avec un script, vérifier que HA est bien aux commandes (un polling quelconque) et si HA ne répond plus, il prend en compte le pilotage du relais du thermostat.

Résultat : un mode régulé aux petits oignons si HA est opérationnel, et un mode secouru si HA tombe (soit en mode hors gel, soit un mode eco, je ne sais pas encore commen gérer cela).

Niveau budget donc, la version relais est à 90 € + 20 € de shelly … Ouch, c’est Noël, mais quand même ! D’ici que les économies réalisées sur la consommation électrique ne finance le matos, je serai centenaire (quoique, vu l’envolée des prix sur l’électricité :roll_eyes: ). Mais bon, si la domotique était bon marché, ça se saurait :sweat_smile: .

C’est donc le double de ce que j’aurais voulu mettre. D’un autre côté, mes thermostats vieillissants non connectés sont à plus de 100 balles pièces … Je vais essayer de les revendre sur le savoureux canard (lebonc… pour ceux qui ne suivent pas :joy: )

La suite des tests dans quelques jours (laissez moi profiter des fêtes que diable ! Halte aux cadences infernales ! :joy: ).

Avec un peu d’avance, bonnes fêtes à toutes et tous :tada:

1 « J'aime »

Bon, premiers retours non concluants, hélas…. J’y ai cru pourtant :pensive_face:

J’ai reçu le thermostat Bosch 230V. Sur le papier, il cochait toutes les cases. Et on était pas loin du sans faute.

J’ai passé quelques temps (une bonne heure mettons) à Tout caser dans ma boite d’encastrement (le thermostat est très fin, mais entre lui, le shelly et quelques connecteurs, ça fait du monde.

Bref, avant de fermer, ça semblait pas trop mal. Le thermostat avait cependant une latence que j’avais du mal à expliquer, et le composant clim retourné à Home Assistant était bizarrement dépourvu de réglage (impossible de modifier la consigne via la carte thermostat, elle n’était pas accessible). Mais j’ai constaté qu’il fallait faire une mise à jour, du coup, je me suis dit que c’était sans doute la raison.

Malgré l’upgrade du firmware, pas mieux.

Et la vérité semble venir de mon montage : le module shelly à 1 cm du thermostat, il n’est pas impossible que le wifi perturbe le zigbee (même fréquence, mais puissance moindre …).

Je viens à l’instant de mettre le modèle sans fil dans un support (fournit) en lieu et place du modèle filaire. Et je constate un autre soucis majeur: le shelly chauffe … et assez fort …

Encore un test à réaliser : mettre le modèle filaire sur une rallonge et voir si c’est bien le shelly qui perturbait le signal, ou si c’est le thermostat qui est naze. A l’issue de celui-ci, je pourrai être certain que le zigbee se fait marcher dessus par le wifi, et il faudra trouver une autre solution technique … notamment déplacer le shelly (grrrr, c’est reparti pour jouer de la scie cloche … :face_with_symbols_on_mouth: ).

Comme d’hab’, je posterai ici les résultats, si ça peut servir …

[EDIT] Bon, je viens de faire le test du thermostat sur rallonge, et fonctionnement identique. Donc 2 solutions : soit le thermostat est HS (ça peut arriver), soit il n’est pas vraiment compatible Zigbee2MQTT (ce dont je doute car il est bien documenté sur leur site …)

[EDIT2] Erratum ! Après avoir fait le test sur rallonge, il est vrai que j’ai eu beaucoup de difficultés à avoir un fonctionnement cohérent, malgré l’assistance d’un technicien Amazon (très compétent, soit-dit en passant). La nuit portant conseil, j’ai refait l’appairage, mais en saisissant à nouveau le code d’installation au préalable. Et bizarrement, c’est passé nickel. Du coup, est-ce que le code d’installation est “oublié” une fois l’installation faite et qu’il faille le saisir à chaque fois que l’on souhaite réinstaller l’appareil ? Peut-être. Bref, le modèle 230 V fonctionne et est bien réactif. Par contre, en ce qui concerne la perturbation due au Wifi du shelly, elle est toujours présente…

Ce qui est étrange, c’est que j’ai mis le modèle à piles en lieu et place du modèle 230V, et qu’il ne semble pas particulièrement perturbé. La différence entre les 2 montages ? Bah je ne vois pas trop, 1 cm peut-être …

Prochaine étape, voir si je peux déplacer le shelly, mais je sens que cette histoire ne va pas être WAF compliant …:roll_eyes:

Je continue mes expérimentations et mes retour ici.
Donc, j’ai testé le modèle BOSCH sur pile, et comme vous pouvez le constater sous vos yeux ébahis, il y a de la régulation :bottle_with_popping_cork::christmas_tree::partying_face:

Bon, ce n’est pas très explicite, je vais « traduire ».

  • Ligne bleue horizontale = valeur mesurée par le thermostat
  • Ligne rouge horizontale = consigne du thermostat
  • Lignes oranges verticales = temps de chauffe

Donc, la température mesurée est passée sous la température la température de consigne, le thermostat a donc décidé de chauffer. Mais molo, par impulsions (2 minutes toutes les 10 minutes). Et on se rend compte que la température a légèrement monté et se stabilise. Le delta de température est de 0.2 °C !

Reste à expérimenter la même chose avec le thermostat 230 V à relais, sous réserve de déporter ou le thermostat, ou le relais.

On est quel jour au fait ? Ah … le 24 … Bon, pardonnez moi si les tests ne sont pas fait dans les prochaines 72 h, je crois que je vais être pris par autre chose :joy:

Bonnes fêtes à toutes et tous !

1 « J'aime »

Hello.

Je continue mes tests et les comptes rendus qui vont avec.

Branchement du modèle filaire + module Shelly 1pmgen4.

Bon, j’ai pris des modules Gen4 avec matter et zigbee, mais j’ai décidé de rester en wifi avec l’intégration de home assistant : cela fonctionne vraiment bien tel quel.

Rappel : ne pas mettre le Shelly à côté du thermostat. Donc séance bricolage dans le bureau.

(Désolé pour l’aspirateur qui traine, j’ai tout rangé avant le retour de Madame :grin:)

Le module Shelly intègre plusieurs bornes phase/neutre, ce qui permet de se passer de bornes ou domino. Ça, c’est en théorie, parce qu’il me manquait malgré tout un connecteur neutre pour le thermostat, mais il y a pire :sweat_smile:.

À caser dans une boîte ronde européenne, c’est un peu sportif, surtout que ce sont 2 boîtes 1 module côte à côte. J’ai commandé des boîtes 2 modules en profondeur 50 et d’autres avec poches pour micromodule, parce que ça m’arrangerait de mettre une seconde prise à la place de l’obturateur pour le Shelly… ok, je m’éloigne du sujet.

Donc, le thermostat est alimenté, le Shelly aussi, et le relais du thermostat est raccordé sur l’entrée du Shelly. Du coup, le thermostat reste maître du jeu, je peux régler la consigne à ma guise. J’ai la main sur le relais ET le thermostat,je peux tout automatiser ! Soit je récupère l’info de température et de consigne du thermostat et home assistant pilote lui-même le relais, soit si home assistant plante, le thermostat pilote de manière autonome le relais, et pas de soucis de chauffage. Cerise(s) sur le gâteau :

  • Le relais intègre un système de programmation par script, ce qui fait qu’il est tout à fait possible de prévoir un programme de base confort/eco en cas de perte de home assistant (enfin, un truc approchant, car le Shelly n’a pas de sonde de température…)
  • Le relais intègre la mesure électrique, ce qui permet de savoir si le relais a un soucis (rigolez pas, cela m’est arrivé dans une maison en vente suite à déménagement : un thermostat dont le relais était collé a alimenté le chauffage pendant une semaine. 35 °c dans la pièce à notre retour et je ne vous parle pas de la facture…). Avec la mesure de courant, si courant ET pas relais = problème !
  • Comme le relais du thermostat ne pilote pas de forte charge, il devrait durer bien plus longtemps (ça tombe bien, c’est le truc le plus cher de l’installation :face_savoring_food:)
  • Il y a 2 valeurs de réglages sur le thermostat : chauffage et clim. Donc si vous avez la chance de disposer aussi d’une clim, il peut être utilisé pour la déclencher également (attention cependant, relais fonctionne selon le mode choisi : il s’enclenche s’il faut chauffer en mode chauffage, il s’enclenche s’il faut refroidir en mode clim, bien paramétrer tout cela pour éviter d’avoir le chauffage et la clim en même temps :sweat_smile:)

Résultats

Régulation entre 19.2 et 19.7 °c, perso, ça me va :grin: ! Je mettrai une seconde sonde, histoire de valider la mesure.

Bilan : le coût est juste énorme. Ou plutôt, il est 2 fois plus élevé que ce que je souhaitais au départ. Mais quand on voit que des thermostats connectés de qualité se vendent à plus de 150 euros, je dirais que je ne m’en sors pas trop mal. Les modèles chinois, certes moins chers, sont beaucoup moins précis (sans parler du fait qu’ils se perturbent eux-mêmes) et ne se pilotent pas aussi aisément.

Il faudra aussi voir comment le thermostat gère les perturbations (ouverture d’une fenêtre, soleil …), voir comment je peux prendre en compte la température extérieure, voir la programmation horaire ou en fonction de la présence, le délestage etc…

Mais pour l’instant, je vais me concentrer sur le plus important : les préparatifs du nouvel an :joy:

Avec un peu d’avance, bon réveillon à toutes et tous !

Bonne année !!!

Bon, il y a malgré tout quelque chose qui ne va pas dans les images que j’ai partagé, et que je n’avais pas identifié au premier coup d’œil. Donc zoom histoire d’analyser tout cela :

Quel constat ais-je bien pu faire qui me gâche ce début d’année ? Et bien si on regarde la courbe bleu, qui représente la température mesurée par le thermostat, je trouve qu’elle varie beaucoup par rapport à la courbe verte, qui correspond à ma sonde. On pourrait croire que le thermostat se perturbe lui-même, par la propre chaleur de son relais, comme avec les modèles low-cost. Mais cette perturbation semble très limitée (± 0.7°C). Le relais intégré ? Une remontée de chaleur par la gaine électrique ? Je doute franchement : le thermostat est à 1m40 de haut de la dalle et du relais de commande de puissance. Je doute que cet échauffement soit dû au relais interne : si on regarde la partie droite de la courbe, on constate un enclenchement du relais pendant une heure, sans augmentation importante de la température mesurée par le thermostat. Elle semble “lissée”, comparée aux “pics” précédents.

Après, cela peut-être justement la régulation programmée par le constructeur : Il n’y a aucun réglage accessible, et j’aurais presque tendance à envisager un cycle d’apprentissage de la courbe (le thermostat installé est un modèle reconditionné, il avait peut-être des valeurs auto mémorisées d’une précédente utilisation …?)

Mais le premier thermostat du même type installé dans le bureau fonctionne exactement de la même manière, je ne l’avais juste pas remarqué. Là également, la sonde de température indépendante montre une absence de pompage au niveau de la température de la pièce, ce qui est exactement le but recherché dans le principe de régulation.

Bon, il n’en reste pas moins qu’il est bien plus précis que les modèles low-cost, qui affichaient une variabilité de plus de ± 2°C, alors que là, on est de l’ordre de ± 0.7°C… Rien à voir :grin:

Conclusion : bah, j’ai l’impression de me prendre la tête pour pas grand chose :sweat_smile:. La température de la pièce est stable, c’est quand même cela l’essentiel ! Le régulateur fait son taf, même si les valeurs qu’il donne semblent un peu étranges. Mais j’aime bien comprendre !! Donc si quelqu’un à une idée, une piste d’explication, je suis preneur.

Allez ! Parce que j’aime bien partager toutes ces expériences avec vous, il y a un autre truc que l’on peut remarquer : la consigne de température du premier graphique est plus élevée que la valeur mesurée par le thermostat (courbe orange). Sans doute dû à sa mise en service dans mon environnement. Mais on peut constater que le thermostat réagit, en terme de régulation, à cette difficulté à atteindre cette consigne : on voit bien que de 18 à 21h, il “essaye” par de petites impulsion, de rattraper sa consigne, mais qu’il n’y arrive pas. Et si on regarde un peu en détail, il semblerait que la durée de ces impulsions augmentent au fur et à mesure. Et subitement, à 21h, il met les gaz. Il s’agit pour moi de la preuve qu’il y a derrière un algorithme qui permet, en fonction du delta de température et du delta de temps de réaction, de moduler la durée de chauffe. C’est pile ce que je souhaitais !

Donc pour l’instant, et malgré le début de ce post un peu “putaclic” je dois l’admettre, je reste toujours emballé par ce modèle.

Bon, maintenant, va falloir équiper toutes les pièces :sob::euro_banknote::euro_banknote:

Et ensuite passer à une automatisation du chauffage : je n’ai pas fait tout cela pour juste avoir les valeurs de température de chaque pièce sur un tableau de bord ! :sweat_smile:

Donc avis aux lecteurs éventuels : une solution pour gérer la présence/absence, un cycle jour/nuit, un mode vacances, le délestage etc etc … ? J’ai entendu parler de versatile thermostat, mais vu que toute la régulation se fait via le thermostat physique, est-ce que ce n’est pas un peu overkill dans mon cas ?