Pilotage Chaudière Frisquet ECO Radio System via ESPHome

Non jamais de problème de reboot. Maintenant j’utilise des ESP32, peut-être est-ce spécifique aux ESP8266 ?

Je vais essayer avec un ESP32 pour comparer.
Quelle GPIO convient bien pour un ESP32 ?

N’importe quel pin qui gère l’output PWM fera l’affaire. Il vaut mieux éviter d’utiliser ceux qui sont réservés à certains usages (UART, SPI, I2C, etc.) si tu souhaites également utiliser l’ESP pour d’autres usages que la chaudière. Pour ma part j’utilise le GPIO5.

Bonjour et bonne année :wink:

J’ai remplacé le module « ESP8266 » (Wemos D1 mini) par un module « ESP32 ».
Je n’ai plus de reboot.
L’ESP32 semble plus stable.

Concernant l’ESP32, à chaque changement de réglage de température envoyé depuis Home Assistant, j’ai remarqué les messages suivant dans les logs :

08:57:44	[D]	[esp32.preferences:113]	
Saving 1 preferences to flash...
08:57:44	[D]	[esp32.preferences:142]	
Saving 1 preferences to flash: 0 cached, 1 written, 0 failed

Il semble que l’ESPhome écrit dans la mémoire flash les préférences.
Je ne vois pas l’utilité et surtout, il me semble que ce n’est pas forcément bon pour l’ESP d’écrire trop souvent dans sa mémoire flash.

J’ai ajouté cette option au fichier yaml :

preferences:
  flash_write_interval: 72h

Bonne année également !

L’écriture dans la mémoire flash vient du composant de base climate qui sauve le setpoint quand il est changé afin de le retrouver en cas de reboot. Ce n’est pas de mon fait mais du code utilisé en amont. En effet, il vaut mieux minimiser les écritures dans la flash. Je ne connaissais pas l’option flash_write_interval, je vais regarder, merci.

En mettant flash_write_interval à 72h, 72h après le redémarrage, lorsque le composant climate fait une sauvegarde, cela provoque un reboot de l’EPS32 :thinking:

Pour la prochaine version, en plus d’ajouter des sensors (heat_factor, offset et kp) pour récupérer dans HA les paramètres pris en compte par l’ESP, je pense qu’il serait utile de pouvoir écrire dans le fichier yaml une valeur de température de consigne (target_temperature) par défaut (preset). En cas de reboot, si on ne sauvegarde pas le contexte via flash_write, l’ESP pourra continuer à fonctionner sans attendre une nouvelle consigne.

ça peut se faire facilement. Je mets ça dans la prochaine version.

Concernant les reboots, j’ai l’impression d’en avoir un toutes les 60-65 heures. C’est vrai que c’est étonnant, mes autres ESP ne rebootent pas mais sont peu sollicités (compteurs link et gazpar).

@erwan33fr j’ai poussé sur git une nouvelle version avec la plupart des suggestions proposées (reste à faire: la température cible par défaut).

J’ai aussi mis en place un facteur de régulation intégral (ki) mais ça reste expérimental, je ne suis pas convaincu du résultat. Par défaut ce n’est pas actif (ki=0).

@corti23 j’ai installé ta dernière version.
Elle fonctionne parfaitement comme la précédente, avec les infos demandées en plus. :slight_smile:
J’étais déjà super content de la précédente, la température à la maison est parfaitement régulée.

Je n’utilise pas le facteur de régulation intégral (ki = 0), je ne sais pas si c’est vraiment utile, quelle valeur choisir et son principe de fonctionnement (j’ai étudié les asservissements premier ordre, second ordre… durant mes études mais ça remonte à il y a longtemps…)

J’ai toujours toutes les 10h un reboot de mon esp D1mini mais ce n’est pas vraiment gênant (déconnexion de quelques secondes toutes les 10h environ).
J’ai essayé avec un esp8266 => idem
changement d’alimentation => idem
J’avais essayé avec un esp32, pas de reboot mais des déconnexions wifi à répétition.
Peut être un problème de compatibilité avec mon routeur wifi.

1 « J'aime »

Bonjour,

Je rencontre aujourd’hui un cas particulier.
Absent depuis plusieurs jour, j’avais mis la chaudière en « hors gel ».
Il fait donc froid dans la maison, 18.3°
Alors que dehors il fait 23.3°

La calcul donne une consigne à 35.2° (26%)
Mais le setpoint reste à 20° donc la chaudière ne se déclenche pas.
Pourtant même si il faut plus chaud dehors, il faudrait booster un peu l’intérieur…

Bonjour,
Oui, c’est normal (mais peut-être pas souhaitable dans ton cas d’usage).
Il y a un réglage en dur dans le code qui arrête la chaudière quand la température extérieure est 2°C au dessus de la consigne.
Je pourrais ajouter un paramètre de configuration pour ajuster ce comportement.
A court terme, tu peux ouvrir les fenêtres :wink:

Bonjour,

Cette année, j’aimerais contrôler ma chaudière (la même que @corti23) avec HA.
Il y a des choses que je ne suis pas sûr d’avoir comprises :

  • si j’ai des thermomètres connectés dans ma maison et un dehors, ils jouent bien le même rôle que les sondes Dallas indiqué dans les composants nécessaires ?
  • à quoi sert la résistance de 4.7kOhm ? Si je comprends bien, c’est uniquement si je relie les sondes Dallas à l’ESP32. Dans le cas où j’utilise d’autres thermomètres, je peux m’en passer ?

Merci

Bonjour,

Les sondes de températures (ou thermomètres connectés) sont en effet indispensables, une mesure extérieure pour la loi d’eau et une mesure intérieure pour le suivi et mettre en place éventuellement une accélération proportionnelle.

Les sondes Dallas, c’est autre chose. Elles sont utiles pour suivre la température du circuit de chauffage mais pas indispensables. La résistance de 4,7 kOhm est nécessaire au bus 1-Wire utilisé par ces sondes.

Philippe

Merci Philippe pour ton retour.
J’ai passé commande d’un ESP32 et d’une broche micro-fit 4.
Pour ce qui est des sondes Dallas, ça tombe bien que ça ne soit pas indispensable car je ne comprends toujours pas à quoi elles servent et où il faudrait les mettre.

Bonjour
bravo pour ce travail.
J’ai effacé mon dernier message car j’ai reussi a me debrouiller.
Par contre je n’arrive pas a envoyer les infos a la chaudiere.
faut il modifier que le YAML de l’esp ou aussi dans les fichier dans HA? (ID chaudiere et PIN ESP)

Merci

voici mes logs

[10:22:30][D][api:102]: Accepted 192.168.1.118
[10:22:30][D][api.connection:1031]: Home Assistant 2023.9.2 (192.168.1.118): Connected successfully
[10:22:31][D][homeassistant.sensor:024]: 'sensor.temperature_salon_temperature': Got state 21.50
[10:22:41][E][dallas.sensor:112]: Requesting conversion failed
[10:23:02][D][climate:011]: 'Chaudière Frisquet' - Setting
[10:23:02][D][climate:040]:   Target Temperature: 12.60
[10:23:02][D][heat_curve.climate:187]: Climate mode is OFF
[10:23:02][D][heat_curve.climate:196]: Water temperature setpoint: 20.0°C
[10:23:02][D][climate:378]: 'Chaudière Frisquet' - Sending state:
[10:23:02][D][climate:381]:   Mode: OFF
[10:23:02][D][climate:383]:   Action: OFF
[10:23:02][D][climate:401]:   Current Temperature: 21.50°C
[10:23:02][D][climate:407]:   Target Temperature: 12.60°C
[10:23:02][W][component:204]: Component api took a long time for an operation (0.05 s).
[10:23:02][W][component:205]: Components should block for at most 20-30ms.
[10:23:03][D][climate:011]: 'Chaudière Frisquet' - Setting
[10:23:03][D][climate:040]:   Target Temperature: 13.80

Bonjour,

Je vois dans les logs qu’il y a une erreur sur le capteur dallas. Si tu n’as pas installé les sondes dallas, enlève tout ce qui a un rapport avec elles dans le fichier yaml.

Ensuite, je confirme que les seules modifications à réaliser sont bien uniqueme dans le fichier yaml : l’ID et le numéro de pin.

Philippe

Bonjour et merci pour ta réponse .
Je m’y pencherai dès que j’aurai un peu de temps.
Je vois que les sondes dallas servent à prendre les températures départ et retour chaudière,quelles sont les avantages a avoir ces données ?

La consigne qu’on envoie à la chaudière est un entier entre 0 et 100. et ce n’est manifestement pas la température de départ (ou retour) en °C. Cela correspond aux leds oranges qu’on voie sur le panneau de contrôle. Cela ressemble à une température mais cela n’est pas vraiment ça.

Pour bien gérer ma loi d’eau, les sondes placées sur les canalisation m’ont permis de corréler la température de départ avec cette consigne (les output_parameters dans le fichier de configuration).

Je ne sais pas si toutes les chaudières sont comparables et si les coefficients que j’ai trouvés sont universels. Si tu n’installes pas de sonde, tu devras utiliser mes coefficients, et cela fonctionnera très certainement. Avec les sondes, tu peux entrer un peu plus dans le détail et corriger ces facteurs si besoin.

Bonjour tout le monde,

Ce projet semble top mais vu mon niveau (pourtant je lis beaucoup mais là je sèche…), l’installation et la configuration sont super compliqués.
J’ai bien lu le read.me sur le git, mais je ne comprends toujours pas comment tout installer.

J’espère que vous allez pouvoir m’aider. Voici où j’en suis :

  • J’ai installé ESPHome sur HA (RPI3)
  • J’ai tenté d’installer mon ESP32 avec ESPHome mais j’ai eu un plantage. En cherchant sur le net, j’ai trouvé que c’était parce que mon RPI3 n’est pas assez puissant. J’ai donc installé HA dans une machine virtuelle avec Virtualbox pour faire mes tests.
  • J’ai alors réussi à installer mon ESP32 dans ESPHome. Quand je le branche, il apparait bien dans ESPHome et le statut est ONLINE.
  • J’ai copié tout le dossier « components » trouvé sur le git dans mon dossier ESPHome de HA via Samba share.

Je comprends qu’il faut copier aussi le fichier « boiler.yaml » à la racine de « esphome », mais je comprends aussi que ce fichier devrait s’appeler myFrisquetBoiler.yaml. => clairement, il y a un truc qui n’est pas bon et que je ne comprends donc pas.

J’ai donc fait un copier-coller du fichier boiler.yaml du git vers mon fichier boiler.yaml (qui devrait peut-être s’appeler myFrisquerBoiler.yaml).
Comme je n’ai pas de sonde Dallas, j’ai supprimé les lignes qui appellent ces sondes.

J’ai l’impression qu’il y a aussi des lignes pour lesquelles je suis incapable de trouver s’il faut les mettre ou pas :

packages:
  common: !include common/common.yaml
  binary_sensors: !include common/binary_sensors.yaml
  sensors: !include common/sensors.yaml
  switches: !include common/switches.yaml
  text_sensors: !include common/text_sensors.yaml
  debug: !include common/debug.yaml

Est-ce qu’il faut que je copie-colle ce fichier boiler.yaml ou dois-je faire un truc plus simple ?

Vous voyez bien que pour le moment, ce n’est pas la peine que j’aille plus loin sans votre aide car je ne vois pas comment la compilation pourrait marcher.

Dans cette partie :

output:
  - platform: frisquet_boiler
    pin: 5
    id: boiler_cmd
    boiler_id: 03B9

J’ai trouvé le numéro id de ma chaudière et j’ai donc remplacé cette valeur par la mienne : 7E98.
Pour le pin, il s’agit bien du pin de l’ESP32 ? parce que dans l’exemple, c’est noté pin21 alors qu’ici, c’est pin5.

Merci par avance pour votre aide :wink:
Loic

PS : j’ai édité le message car je ne devais pas être bien réveillé en écrivant le message, il y avait plein de fautes d’orthographe.