Je n’avais pas vu tes réponses précédentes, c’est génial tout ça, merci!
D’ailleurs, j’apprécie beaucoup ton travail, as-tu un lien ou on peut te faire un petit don pour te remercier?
Concernant le PCB du thermostat, de quoi s’agit-il? C’est dans la télécommande, ou bien sur ma chaudière?
J’ai repéré des antennes/thermostat en vente, et je me tâtais à en acheter une.
Ca ne serait donc pas forcément nécessaire, si tu arrivais à forcer ou détecter l’ID (via la fonction TEST?)
Question complémentaire un peu hors sujet: je n’ai pas encore d’ESP32, et l’électronique est pour moi un grand mystère (je suis développeur software), avez-vous une recommandation pour démarrer au plus simple?
Normalement c’est possible via le mode configuration. A tester avant d’acheter un satellite d’occasion à mon avis.
Pour aller au plus simple, j’opterait pour un Esp32 Atom Lite qui donne facilement accès à des pins GPIO. Personnellement je n’ai pas testé mais je pense que cela permet d’avoir une solution sans sortir le fer à souder.
Bonjour a tous ,
Mon systeme fonctionne bien grace a vous de puis 1an, Merci pour ce travail.
Cependant j’ai un peut de mal a affiner les reglages,j’ai trop de chauffe lorsqu’il fait froid (environ moins de 10 degre ) réglage pas trop mal sur les temperature au dessus. Il y a t’il un moyen de visialisé la courbe de chauffe avec HA pour mieux regler?
Tu peux visualiser la plupart des paramètres de la régulation :
consigne en % et en température, départ et retour température si tu as mis les sondes si tu veux affiner la partie output_parameters
Erreur régulation, Delta température extérieure, Terme intégral, Terme proportionnel, Température cible, Température actuelle : pour l’affinage des réglages slope, shift et kp
Avec des radiateurs en tôle et une isolation plutôt correcte je suis arrivé pour mon cas à : slope = 1.4 ; shift = 2 ; kp = 5 ; j’ai au max 0.3°C d’écart avec la consigne
@Lexyan a dit l’essentiel, tu peux remonter à peu près tous les paramètres pour regarder leur évolution.
Je suis un peu surpris par le Kp de 15 que tu as sélectionné. Cela me semble beaucoup trop. Cela « efface » la loi d’eau et tu auras au final une régulation très proportionnelle et, avec un tel coef, un fonctionnement proche du on/off. Pour ma part, je ne dépasse pas 5.
Sinon, il est difficile de donner des conseils car cela dépend tellement de l’installation : isolation et type de radiateur. Avec des radiateurs en tôle, on peut être dynamique, avec de la fonte en revanche, il y a tellement d’inertie qu’il faut rester à consigne constante et rechercher la stabilité avec un kp raisonnable.
A titre d’exemple, l’hiver dernier, avec une maison en brique non isolée des années 50 et des radiateurs en fonte dans la pièce où se trouve la sonde d’ambiance : slope = 1.45 / shift = 7.
Au printemps, j’ai isolé la maison par l’extérieur. Aujourd’hui, je suis à peu près stabilisé sur ces valeurs : slope = 1.1 / shift = 0.3.
Et mon problème est maintenant tout autre, cela marche très bien quand il fait froid mais quand il fait 13-14°C, il est difficile d’empêcher la maison de monter lentement en température (*). C’est pour ça que j’ai introduit le paramètre max_error. J’ai parfois une journée entière avec la chaudière éteinte pour laisser la température redescendre en dessous de la consigne.
(*) mon problème est que pour des consignes de chaudière inférieures à 15, ma chaudière chauffe à peu près pareil (eau à 27°C environ) et ne suit plus la calibration. Et donc, pour les température intermédiaires, soit ça chauffe trop, soit la chaudière s’arrête. Est-ce que ceux qui ont installé des sondes de température sur le circuit d’eau ont observé la même chose ?
En général les températures départ/retour sont bien sur la consigne (graph du haut)
Mais il y a parfois un écart avec la chaudière qui continue de chauffer (graph du bas)
Si tu n’avait pas soulevé le problème je n’aurait pas eu l’idée de regarder tant que le confort est là.
Je n’ai pas trouvé de consigne vers les 15 dans mon historique pour te renseigner plus.
J’ai opté comme tu le conseilles pour un Esp32 Atom Lite, et je suis désormais prêt pour les premiers tests, et confirmer que l’on peut forcer l’ID de communication, étant donné que je n’ai pas d’antenne.
Par contre, les fils de mon micro-fit pin sont tous noirs, donc je ne sais comment le brancher.
Pourrais-tu stp me mettre en relation avec cet utilisateur pour qu’il me donne les infos de branchement qu’il a utilisé?
Ou y a-il un autre moyen de les déterminer?
Un mauvais branchement risque d’endommager mon esp je suppose, vu qu’il y a un fil d’alimentation?
Pour vérifier que mon branchement est bon, puis-je utiliser le Test mode, ou bien celui-ci a-t-il aussi besoin de connaître l’ID (dans quel cas je dois utiliser le mode config pour le forcer, pour commencer)?
En supposant que le câblage est le même pour les différentes générations de chaudières (et cela devrait être le cas car le récepteur HF est le même), si tu regardes ton connecteur avec le détrompeur vers le haut :
5V en haut à gauche
Masse en bas à gauche
Signal en bas à droite
Un bonne manière de s’en assurer et de chercher le 5V avec un voltmètre.
Il n’y a normalement pas de risque car tu ne connecteras pas le 5V, seulement la masse et le signal. Le 5V sert normalement à alimenter le récepteur HF mais la chaudière ne fournit pas assez de courant pour alimenter un ESP.
Pour le switch n°5, oui il faut l’activer.
Le mode de test permet de s’assurer que l’ID a bien été configuré par le mode config, donc cela ne va pas t’aider. Seule l’activation du mode config te permettra de tester ta configuration (voyant clignotant après avoir appuyé 5 secondes sur le bouton « main »).
J’ai fait ce soir mon premier test de connexion physique.
Sur le connecteur, j’ai identifié le 5V avec un voltmètre (il ne correspondait pas au schéma).
Puis j’ai essayé de brancher les 2 fils sur la broche 21 et la masse de mon atom light (puis j’ai inversé pour le second test).
Hélas, la chaudière ne répond pas:
[18:48:06][D][switch:012]: 'Configuration mode' Turning ON.
[18:48:06][D][switch:055]: 'Configuration mode': Sending state ON
[18:48:06][I][frisquet.output:241]: Sending configuration command to the boiler
[18:48:07][W][component:237]: Component frisquet_boiler.output took a long time for an operation (982 ms).
[18:48:07][W][component:238]: Components should block for at most 30 ms.
Mais j’ai un doute sur le protocole. Quand j’appuie sur le bouton manuel « la main », pendant 5, 10 ou 20 secondes, il ne se passe rien.
Par contre, quand j’active le switch 5 (sensé activer la radio), les 3 leds des températures élevées (70,80,90) clignotent.
Je ne sais pas comment interpréter ça, ni quoi faire désormais.
Problème de branchement de mon esp32?
Incompatibilité avec un autre branchement fait par l’installateur (lié au thermostat du salon?)
Autre combinaison de boutons pour entrer en mode « config » sur mon installation.
Toute aide ou piste sera la bienvenue! Merci et bonne soirée!
Ensuite, il est possible que ta chaudière (plus ancienne que la mienne) ne réagisse pas bien au signal TTL en 3.3V de l’ESP et demande du 5V. Cela s’est déjà vu avec certains. Il faudrait peut-être remonter le signal, il existe des composants pour cela.
Ah, et j’oubliais une question « bête », pour le boiler_id, je met n’importe quoi, étant donné qu’il est sensé forcer ce canal (et donc que le mode config ne prend pas en compte se paramètre pour communiquer) ?
Voici ma config :
# Variables globales
substitutions:
device: boiler
name: "Frisquet Boiler"
reboot_timeout: 14d
update_interval: 60s
ota_password: "********************"
# Déclaration de l'appareil dans ESPHome
esphome:
name: atom-lite-01
friendly_name: ${device}
# Configuration des préférences
preferences:
flash_write_interval: 72h # Intervalle d'écriture sur la mémoire flash pour préserver sa durée de vie
# Configuration matérielle de l'ESP32
esp32:
board: esp32dev
framework:
type: arduino
external_components:
- source: github://philippemezzadri/frisquet-esphome
output:
- platform: frisquet_boiler
id: boiler_cmd
pin: 21
boiler_id: 03B9
sensor:
- platform: frisquet_boiler
name: "Boiler Flow Temperature"
type: FLOWTEMP
switch:
- platform: frisquet_boiler
pair:
name: "Configuration mode"
test:
name: "Test mode"
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "C/***********************************="
ota:
- platform: esphome
password: ${ota_password}
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Atom-Lite-01 Fallback Hotspot"
password: "************************"
captive_portal:
light:
- platform: fastled_clockless
chipset: SK6812
pin: GPIO27
num_leds: 1
rgb_order: GRB
name: "Atom Lite LED"
Tu mets en effet ce que tu veux (2 octets en hexadécimal). Cet ID que tu choisis sera pris en compte par le mode config pour justement associer cet ID avec la chaudière. Le test permets ensuite de vérifier que l’ID est bien enregistré par la chaudière.
Si je met le voltmètre à la sortie de l’esp32 pendant la configuration, j’ai du 1.6V, mais c’est sans doutes la moyenne car le signal n’est pas continu.
Encore une dernière question, désolé de te solliciter autant : je ne suis pas sûr du branchement entre le signal et le neutre, est-ce que ça marche quand même si c’est branché à l’envers ? (dans le doute je fais les tests dans les 2 sens, mais c’est peut-être inutile?)
Tout d’abord, merci pour cette contribution et le partage d’information.
Je suis en train d’essayer de mettre en place tout ça de mon coté et j’ai quelques questions.
Si j’ai bien compris, il suffit d’indiquer le sensor indoor et sensor outdoor, le ota_password ainsi que le boiler_id.
L’ensemble à été mis en place, et j’ai bien accès au climate coté HA.
Je vois également les tentatives de communication vers la chaudière dans les logs (qui tombe en timeout car non raccordé pour le moment).
Concernant l’ID de ma télécommande, je l’ai ouverte et je voulais savoir s’il s’agissait bien de cette inscription ?
On m’a rapporté que l’ID était visible sur le PCB du satellite, mais ce ne soit pas être généralisé car sur le mien, il n’y a rien d’imprimé qui corresponde. Ma carte est légèrement différente au niveau des découpes, il doit y avoir plusieurs générations.
Sur ta photo, on peut lire 12505D et cela ne correspond pas au format requis : 4 digits en hexadécimal. Tu vas devoir trouver ton ID autrement ou imposer une ID arbitraire avec la nouvelle fonction d’appairage.
Pour les cables, j’ai pris ça et j’ai coupé à la bonne longueur, comme ça je suis certain que les fiches sont bien serties :
Merci pour ton retour et les informations, c’est commandé !
Pour le boiler ID, je vais essayer de le le récupérer via mon ESP32 en le raccordent sur l’antenne de la chaudière.
Je vous fait un retour de mon avancement sur le projet.
J’ai finalement opté pour le mode pairing afin de forcer un Boiler ID prédéfinie. Et j’ai mis en place la solution ce matin.
Pour se qui est du raccordement, j’ai choisi GND + le PIN juste à coté afin de pouvoir raccorder directement le câble Micro Fit sur les pins de l’ESP32.
Par contre, dans les logs, j’ai souvent le message d’erreur suivant qui s’affiche :
[09:40:46][W][component:237]: Component frisquet_boiler.output took a long time for an operation (754 ms).
[09:40:46][W][component:238]: Components should block for at most 30 ms.
Vous savez si c’est ‹ normal › ? Et quelles conséquences ça peut avoir ?
Ce n’est qu’un Warning, tout à fait normal et sans conséquence sur le fonctionnement de l’esp.
Explication plus poussée
les dev d’esphome ont estimé qu’un composant ne devait pas monopoliser l’esp plus de 30ms à chaque boucle or l’envoi de commande à la chaudière consiste à envoyer 3 fois un message avec une pause de 33ms entre chaque on est déjà au dessus (66ms) du max établi. Il y a entre 16 octets pour chaque message (128 bits/message * 3 messages) avec une durée de 2825µs par bit soit 128320.825µs=632ms
Soit un total de 632+66=698ms minimum à chaque commande (il y a parfois des bit de remplissage qui sont ajoutés)
Ce message apparait pour des composants ayant une communication ‹ bas débit ›.