Pilotage Chaudière Frisquet ECO Radio System via ESPHome

La fuite était une erreur de base. Pour loguer dans la console le message envoyé à la chaudière, je crée un buffer de 100 caractères avec la fonction malloc et évidemment, j’avais oublié le free à la fin :man_facepalming:
La patch c’est juste cette ligne :

free(buffer);

Mémoire libre avant et après le patch:

1 « J'aime »

Bonjour à tous,
Je voulais remercier @corti23 pour le partage. J’ai tt installé comme indiqué (ESP32 + HA, mais sans les sondes dallas) et ça marche très bien.
Cela améliore vraiment la régulation, comparée à la télécommande.
J’avais toujours une baisse de T° le soir vers 18h, lorsque que la température chutait. Il fallait attendre une baisse (assez forte l’hiver) pour que le système commence à compenser.
Là c’est mieux anticipé.
Donc un grand merci !

Note : le Kp à 5 est trop faible à mon gout, je préfère utiliser 10 pour converger plus rapidement.

Plus de reboot pour moi :+1:
Merci :hugs:

1 « J'aime »

Ohlalala mais il s’en est passé des choses !
Je cherchais à débugguer mon problème depuis mon dernier post et je ne comprenais pas pourquoi je n’arrivais plus à le reproduire.
Et puis en me résignant à venir dire ici que j’avais surement eu des hallucinations, je me suis rendu compte que ça avait été fixé et que du coup mes recompilations récentes utilisaient le fix déployé sur GitHub !!

Conclusion : être plus actif sur le forum !

Merci en tout cas, c’est super stable pour moi maintenant

1 « J'aime »

Bonjour à tous,

Je viens de pousser une nouvelle version sur GitHub développée garce à l’initiative d’un utilisateur (merci @Lexyan ).

Deux nouveaux paramètres de configuration sont introduits :

  • maximum_output : qui permet de limiter la puissance de la chaudière. Utile pour ceux qui ont des radiateurs à basse température (valeur par défaut 1).

  • heat_required_output : puissance de chauffe minimale appliquée quand la chauffe est imposée par le switch Heat Required. Auparavant, cette chauffe imposée était limitée à minimum_output et pouvait s’avérer trop basse dans certains cas (valeur par défaut 0.1).

Si ces paramètres ne vous sont pas utiles, il n’y a rien à changer dans votre fichier de configuration.

Bonjour à tous,

Grace à l’impulsion et aux suggestions de certains d’entre vous, je me suis reconcentré sur le projet ces derniers jours. Je viens de donc de pousser une nouvelle version (1.5) sur GitHub.

Les nouveautés sont les suivantes :

Nouvelle méthode d’installation

Il n’est plus nécessaire de copier les fichiers du projet dans votre répertoire esphome. Il suffit désormais de mettre ces lignes dans votre fichier de configuration yaml:

external_components:
  - source: github://philippemezzadri/frisquet-esphome

Nouveaux paramètres de contrôle

Attention, la nouvelle version apporte une rupture de compatibilité sur ce point (breaking change en bon français).

Les paramètres de régulation heat_factor et offset sont remplacés par slope et shift, termes utilisés en anglais par les professionnel du chauffage.

  • slope a exactement la meme fonctionnalité que heat_factor, la même valeur peut être reprise.
  • shift est différent quant à lui car la formule de loi d’eau a légèrement changé. Pour faire simple, dans la plupart des cas, shift peut être égale à zero. Si vous aviez défini une valeur de offset différente de la valeur par défaut, il faudra y déduire la consigne habituelle (19 ou 20°C) pour définir la nouvelle valeur de shift. Si vous avez une consigne constante tout au long de la journée, cela ne changera pas grand chose mais si vous avez des variations de consigne, la loi d’eau sera plus réactive.

Autres modifications

  • Amélioration de la documentation
  • Amélioration du code
  • L’arrondi sur la sortie de l’ output est désormais optionnel. Cet arrondi était précédemment forcé. Bien indiquer rounded: true si vous utilisez le composant heat_curve_climate en conjonction avec l’output frisquet_boiler, la valeur par défaut étant false.
  • Un fichier d’ automation est proposé sur GitHub afin d’automatiser la mise à jour des paramètres de contrôles via Home Assistant.

Philippe

2 « J'aime »

Bonjour,
J’ai réessayé cet après-midi pluvieux de mettre en place cette solution et donc essayé d’obtenir l’ID de la chaudière avec le code fourni ici :

J’ai essayé à la fois avec un Arduino Uno chinois et un ESP32 (Atom Lite) et obtenu les mêmes résultats.

Le code ne retourne rien dans le moniteur du port série, quand j’ajoute un peu de debug, je m’aperçois que :

  1. Il arrive assez peu souvent (1 à 2 fois par minute) de passer par ce if
    if ((duration > 700) && (duration < 950)) {
  2. il n’arrive jamais de passer dans ces if
    else if ((duration > 1400) && (duration < 1950))
    et
    if (trame[message].length() > 200) {

J’ai rajouté un peu de détails ensuite pour voir ce que valaient bit_state et duration en début de boucle et j’ai une alternance de 0 et 1 avec des durations globalement comprises entre 0 et 200 (je peux faire des stats si nécessaires).

Je ne comprends pas du tout ce qui peut expliquer ceci.
Un problème de taux d’échantillonage ?

Pour info, ma chaudière est une Frisquet Prestige Eco Radio System comme montré ci-dessous :

Bon week-end !

edit: apres lecture de Thanks a lot · Issue #1 · philippemezzadri/frisquet-esphome · GitHub je me demande si je ne suis pas dans le meme cas…

Bonjour @pafnow

Comme tu l’as également vu sur github, il semble que Frisquet a utilisé différents protocoles de communication, ce qui explique que certains n’arrivent pas à trouver l’ID de leur chaudière.

Si quelqu’un arrive à décoder ce protocole, je suis prêt à l’intégrer dans mon composant.

Par curiosité, de quelle année est ta chaudière ?
Et par ailleurs, est-ce que ton satellite ressemble à ça :

Philippe

Bonjour,
Le satellite ressemble à cela:
image

Je vais essayer de voir si je trouve l’année exacte de la chaudière, mais c’est avant 2006.