Pilotage Chaudière Frisquet ECO Radio System Visio (Suite) (partie 1)

C’est ça, j’ai mis les trames en structure, du coup tu peux gérer également d’autres formes de structures de trames. N’hésites pas à me donner des trames de chez toi que tu veux intercepter et je l’adapterai.

En fait, en faisant un peu d’analyses, sur le satellite, en réalité il envoi le mode ainsi que les options en un seul octet, c’est pourquoi les codes ne sont pas les mêmes qu’avec Connect (qui fait ça sur 2 octets différents, mode d’un côté, options de l’autre).

Voici ce que j’en ai conclu (en reprenant le tableau existant) :

Mode
Jour Nuit Hors Gel Dérogation jour Dérogation nuit Auto nuit Auto jour
HEX 0x01 0x00 0x10 0x03 0x02 0x04 0x05
byte
Confort permanent actif 0 1 0 0 1 0 0 0
Dérogation 1 0 0 0 1 1 0 0
Flag 1 (boost ?) 2 0 0 0 0 0 0 0
Flag 2 (?) 3 0 0 0 0 0 0 0
Hors gel 4 0 0 1 0 0 0 0
Auto 5 0 0 0 0 0 1 1
Flag 3 (?) 6 0 0 0 0 0 0 0
Confort AUTO actif 7 0 0 0 0 0 0 1

Par contre je me pose une question, je ne l’ai jamais fait, mais à quoi sert la dérogation quand on est pas en mode Auto ?

En toute transparence, je ne comprends pas ton tableau :slight_smile: .

Fonctionnellement, le mode de dérogation disponible en mode auto permet d’anticiper un changement de mode.

Exemple dérogation 1: tu rentres chez toi plus tôt que d’habitude, tu appuies sur le bouton de dérogation pour “faire rentrer le petit bonhomme dans la maison”. Ceci va passer ta chaudière en mode confort avant l’heure programmée de changement de mode. Le mode auto reprend ensuite son cours normal.

Exemple dérogation 2: Ca fonctionne aussi dans l’autre sens. en mode confort, tu peux appuyer sur le bouton de dérogation pour “faire sortir le bonhomme de la maison” si par exemple tu aères la maison avant de partir au boulot.

Remarque : le satellite sans connect ne propose pas d’option de boost.

Les autres fonctions Confort, Réduit, et Hors Gel semblent identiques (en tout cas à l’écran du satellite) avec ou sans connect.

Voici des trames générées aujourd’hui pour illustrer les changements de mode (Auto/confort/réduit/hors gel):

Toutes les 10 minutes, en mode auto réduit:

2025-10-13T11:39:50.559086+00:00 80 08 00 88 01 17 A0 29 00 15 A0 2F 00 04 08 00 C2 00 CD 00 07 00 00
2025-10-13T11:39:50.595815+00:00 08 80 00 88 81 17 2A 00 9F 00 00 25 10 13 13 40 12 08 01 00 C2 00 CD 00 07 00 00 00 00 04 F6 00 00 00 00 00 00 00 00 04 F6 00 00 00 00 00 00 00 00

Toutes les 10 minutes en mode auto confort:

2025-10-13T15:09:50.535185+00:00 80 08 00 F8 01 17 A0 29 00 15 A0 2F 00 04 08 00 C4 00 CD 00 01 00 00
2025-10-13T15:09:50.642931+00:00 08 80 00 F8 81 17 2A 00 B8 00 00 25 10 13 17 10 12 08 01 00 C4 00 CD 00 01 00 00 00 00 04 F6 00 00 00 00 00 00 00 00 04 F6 00 00 00 00 00 00 00 00

Dérogation confort sur auto réduit:

2025-10-13T11:41:04.717020+00:00 80 08 00 90 01 17 A0 29 00 15 A0 2F 00 04 08 00 C2 00 CD 00 03 00 00
2025-10-13T11:41:04.816216+00:00 08 80 00 90 81 17 2A 00 9F 00 00 25 10 13 13 41 27 00 01 00 C2 00 CD 00 03 00 00 00 00 04 F6 00 00 00 00 00 00 00 00 04 F6 00 00 00 00 00 00 00 00

Retour en mode auto réduit (pas de ack chaudière):

2025-10-13T11:41:52.841728+00:00 80 08 00 94 01 17 A0 29 00 15 A0 2F 00 04 08 00 C2 00 B4 00 00 00 00

Mode Jour manuel:

2025-10-13T11:44:51.941463+00:00 80 08 00 98 01 17 A0 29 00 15 A0 2F 00 04 08 00 C2 00 CD 00 01 00 00
2025-10-13T11:44:52.069789+00:00 08 80 00 98 81 17 2A 00 9F 00 00 25 10 13 13 45 14 00 01 00 C2 00 CD 00 01 00 00 00 00 04 F6 00 00 00 00 00 00 00 00 04 F6 00 00 00 00 00 00 00 00

Mode nuit manuel (pas de ack chaudière):

2025-10-13T11:46:04.082990+00:00 80 08 00 9C 01 17 A0 29 00 15 A0 2F 00 04 08 00 C2 00 B4 00 00 00 00

Mode hors gel (pas de ack chaudière sur le moment mais repris sur le cycle de 10 minutes):

2025-10-13T12:26:50.503962+00:00 80 08 00 B0 01 17 A0 29 00 15 A0 2F 00 04 08 00 C2 00 64 00 10 00 00
2025-10-13T12:29:50.578421+00:00 80 08 00 B4 01 17 A0 29 00 15 A0 2F 00 04 08 00 C2 00 64 00 10 00 00
2025-10-13T12:29:50.658073+00:00 08 80 00 B4 81 17 2A 00 AB 00 00 25 10 13 14 30 12 00 01 00 C2 00 64 00 10 00 00 00 00 04 F6 00 00 00 00 00 00 00 00 04 F6 00 00 00 00 00 00 00 00
2025-10-13T12:30:18.698212+00:00 80 08 00 B8 01 17 A0 29 00 15 A0 2F 00 04 08 00 C3 00 B4 00 00 00 00
2025-10-13T12:30:18.766252+00:00 08 80 00 B8 81 17 2A 00 AB 00 00 25 10 13 14 30 40 00 01 00 C3 00 B4 00 00 00 00 00 00 04 F6 00 00 00 00 00 00 00 00 04 F6 00 00 00 00 00 00 00 00

Je partagerai plus tard des illustrations de changement de situation jour/nuit parce que j’ai des trous dans les échanges et des codes inattendus. Je vais retenter une capture en mettant l’ESP plus près de la chaudière. Ah oui, et j’ai aussi la visite d’entretien Frisquet demain matin :slight_smile:

Merci pour les trames. Je vais analyser ça demain sur mon ordi.

Pour la dérogation, je comprend le principe sur le mode auto. Mon tableau vient du Excel que tu m’as partagé et que j’ai complété. Je pensais qu’en fait les modes étaient écrits en bits de données et non en octet complet. C’est ca que j’essayais de te montrer avec mon tableau de correspondance. Je vais voir les codes que donne tes trames en dérogations. Je devrais pouvoir te fournir un code adapté pour ton sattelite. Reste a trouver comment forcer la sauvegarde de la consigne sur le satellite en se faisant passer pour lui (ce qui me semble assez compliqué en réalité…)

Je doute aussi qu’on puisse forcer la consigne sur le satellite : il est le référent pour cette information. Il est à priori possible de biaiser ses ordres à la chaudière en envoyant un autre ordre juste après pour sue oa chaudière croit que cela cient du satellite. Mais cet ordre ne sera pas reflété sur l’écran ou les trames du satellites.

Et pour le moment je n’ai même pas réussi a reproduire ce test. Le choix de @Spanky est plus simple et rationnel. :blush:

J’ai réfléchi ce matin, et j’ai une idée, ça peut valoir le coup d’essayer. Pour modifier la consigne, il suffirait d’envoyer la trame de zone, directement au satellite en utilisant l’ID soit de la chaudière (donc on imite le fonctionnement lorsqu’il a un Connect), soit en utilisant l’ID du satellite (oui ça ferait comme si le satellite se parlait à lui même, mais ça peut fonctionner sur le papier…).

Tu veux que je te code une trame d’essai ?

Si je comprends bien ta proposition, il s’agirait de simuler une communication de type connect depuis la chaudière vers le satellite ?

Il faut que je vérifie mon satellite sait interpréter des flux connect, la chaudière n’en propose pas dans son menu.

En tout cas ça ne coute rien de tenter.

@Spanky de ton côté, comment envoies-tu tes commandes de chauffage à la chaudière ? Tu as totalement remplacé le satellite par ton code ESP si je me souviens bien.

Et tu as juste probablement un souci de désynchronisation date/heure entre les 2.

Hello,

Désolé je ne suis pas super actif, pas beaucoup le temps de me pencher là dessus.

Pour te répondre @haribo77 j’envois les commandes de chauffage (le mode et la consigne quoi) à la chaudière comme si c’était la programmation Auto :

if (modeFrisquet == "Confort")
      {
        modeSat = 0x05;
      }
      else if (modeFrisquet == "Réduit")
      {
        modeSat = 0x04;
      }
      else if (modeFrisquet == "Hors gel")
      {
        modeSat = 0x10;

Pour ce qui est de “mettre à jour” le satellite d’un changement de consigne via le connect, je pense que si le satellite est d’une version antérieur au connect (comme le mien et certainement le tien) la fonction ne doit tout simplement pas être implémenté dans son code.
Pour rappel, pour bénéficier des fonction connect il faut :

  • Satellite > V14.05.01 mini
  • Tableau chaudière > V19.02.00 mini

Ca ne coûte rien d’essayer vous me direz ^^

Pour bien il faudrait écouter/enregistrer toutes les trames qui passent pendant un peu plus de 24h (pour voir passer les trames de re synchro à 2h ou 4h du mat’) dans une configuration avec un satellite, une sonde externe et chaudière.
Ca permettrai de savoir sur quel timing se calle la communication de chacun. Le problème c’est qu’on a pas de vrai sonde frisquet (mais on devrait trouver ça dans les recherches du premier topic).

Oui c’est une idée, mais si effectivement elle est capable de lire cette trame. Sinon peut-être essayer la même trame de consigne, mais sur le satellite directement, et ça je pense que ça doit fonctionner parce que si on analyse les trame de @Spanky , au démarrage du satellite, la première trame est une demande de date et heure mais n’envoit que la température ambiante… elle reçoit en réponse la trame complète avec une température de consigne, alors peut-être que celle-ci peut être interprété par le satellite pour mettre à jour sa propre consigne (mais ça n’est qu’une hypothèse).

Je remet les trames en question :

RECEIVED [17] : 80 08 77 00 01 17 A0 29 00 15 A0 2F 00 01 02 00 D0

RECEIVED [49] : 08 80 77 00 81 17 2A 00 94 00 00 24 09 30 20 18 48 00 01 00 D0 00 C8 00 01 00 00 00 00 04 F6 00 00 00 00 00 00 00 00 04 F6 00 00 00 00 00 00 00 00

C’est le 0x00C8 qui nous intéresse ici :slight_smile: ! On ne l’avait pas à l’aller, mais on l’a au retour.

Je n’ai pas réussi à le reproduire. Ci-dessous une coupure Satellite à 21:04, reprise à 21:25 :

2025-10-14T20:59:50.167012+00:00 80 08 00 F4 01 17 A0 29 00 15 A0 2F 00 04 08 00 CF 00 B4 00 00 00 00
2025-10-14T20:59:50.199681+00:00 08 80 00 F4 81 17 2A 05 0A 00 00 25 10 14 23 00 13 00 02 00 CF 00 B4 00 00 00 00 00 C6 04 F6 00 00 00 00 00 00 00 00 04 F6 00 00 00 00 00 00 00 00
2025-10-14T21:02:44.457520+00:00 80 20 85 B9 01 17 9C 54 00 04 A0 29 00 01 02 00 75 00 02 00 CF 00 B4 00 00 00 00 00 C6 04 F6 00 00 00 00 00 00 00 00 04 F6 00 00 00 00 00 00 00 00
2025-10-14T21:12:44.466050+00:00 80 20 85 BD 01 17 9C 54 00 04 A0 29 00 01 02 00 75 00 02 00 CF 00 B4 00 00 00 00 00 C6 04 F6 00 00 00 00 00 00 00 00 04 F6 00 00 00 00 00 00 00 00
2025-10-14T21:22:44.468841+00:00 80 20 85 C1 01 17 9C 54 00 04 A0 29 00 01 02 00 74 00 02 00 CF 00 B4 00 00 00 00 00 C6 04 F6 00 00 00 00 00 00 00 00 04 F6 00 00 00 00 00 00 00 00
2025-10-14T21:25:35.629958+00:00 80 08 00 00 01 17 A0 29 00 15 A0 2F 00 01 02 00 DA
2025-10-14T21:25:36.474014+00:00 80 08 00 04 01 43 00 00
2025-10-14T21:25:36.549841+00:00 08 80 00 04 81 43
2025-10-14T21:25:37.326461+00:00 80 08 00 08 01 17 A0 29 00 15 A0 2F 00 04 08 00 DA 00 B4 00 00 00 00

La chaudière n’a même pas daigné répondre par une trame à 49 octets. :frowning:

Par contre j’ai eu une idée pour synchroniser l’heure de l’ESP sur celle de la chaudière à réception d’une trame 49. Code écrit mais pas encore testé (ça doit bien avoir qq bugs) en se basant sur la librairie PaulStoffregen/Time@^1.6.1. C’est la librairie jchristensen/Timezone@^1.2.4 de @Spanky qui m’a inspiré.

80 08 00 00 01 17 A0 29 00 15 A0 2F 00 01 02 00 DA

Oui… c’est normal, sur les 4 premiers octets, les 2 derniers sont à 0x00, et ça c’est pas bon :rofl:.

Normalement le 3eme octet c’est l’associationId et le 4ême le code incrémental (+1 ou +4)

Edit: Je suis en train d’ajouter la date avec cette librairie.

Bonjour,

J’ai bien tout lu dans ce topic et dans l’ancien, et aussi sur le git de Burn !

En lissant vos posts, je suis heureux que ce projet ne soit pas mort…

J’ai une chaudière Frisquet Eco Radio System Visio 25 kW de 2021 fournissant le chauffage (1 zone) et l’eau chaude sanitaire. J’ai aussi un satellite thermostat d’ambiance Visio et pas de sonde extérieure.
Étant récemment passé de Domoticz à Home Assistant, je suis intéressé par la prise en charge de la chaudière dans HA tout en gardant la possibilité d’agir directement sur le thermostat.

A la lecture des derniers posts de Burn dans l’ancien forum ainsi que le readme de sa branche dev, j’avais l’impression qu’on approchait de la réussite, mais à la lecture de ce nouveau topic, j’avoue être de nouveau un peu perdu…

Si je comprends bien, pour contrôler la chaudière, il y deux approches: 1) simuler une box Frisquet connect ou 2) se substituer au thermostat d’ambiance satellite [ou 3) envoyer des ordres au thermostat] . C’est ça ?

Si oui, quels sont les avantages et inconvénients des deux ? en en particulier, dans les deux cas, que se passe-t-il si arrêt du Heltec et/ou de HA ? (en fait, je ne vois pas pourquoi ne pas simuler le connect…)

Le dernier readme de Burn dans sa branche dev avait l’air précis et complet quand à l’installation et le couplage ainsi que la remonté des infos de consommation gaz. Le readme actuel de FreedomNX/HeltecFrisquetHA semble moins complet, mais c’est sans doute parce-que les dev sont en cours…

En tous cas bravo pour votre travail (ainsi qu’aux autres participants sur le forum…). Cordialement.

Bonjour !

Effectivement mon readme est très incomplet parce que j’ai publier mon code un peu à l’arrache. Je prendrais le temps d’en faire un propre plus tard.

Vu l’année de ta Chaudière, tu es donc compatible Connect. Tu as tout intérêt à utiliser le module en mode Connect pour une raison très simple : le changement de consigne peut se faire sans détournement du satellite, c’est à dire qu’on lui assigne directement une consigne comme le ferait le matériel d’origine. Sans ça, c’est plutôt du “hack” instable pour le moment (mais on cherche une manière de le faire).

Dans le code que je propose, si tu me laisses encore une journée ou deux pour faire quelque chose de propre, il y a la possibilité de :

  • Associer une sonde extérieure (super pour l’économie d’énergie) de deux manières :
    • Soit avec un DS18B20 branché sur le Heltec (donc véritable mesure)
    • Soit avec MQTT en envoyant régulièrement la valeur de la température extérieure de la météo depuis HA
  • Émuler le module Connect pour :
    • Récupérer les informations de consignes, températures ambiantes des différentes Zones
    • Modifier les températures de consignes pour chacun des modes
    • Modifier le mode en cours
    • Récupérer la consommation gaz de la veille
    • Booster la température de consigne pour 4h de 1°C

Je l’utilise à ce jour, tous les jours, sans problème, pour régler la température de confort en fonction de la température nécessaire (j’utilise des thermostatiques connectés et donc différentes températures pour chaque pièce, alors je récupère la plus élevée pour en faire ma consigne générale).

Voilà j’espère que je suis assez clair et avoir pu répondre à tes questions. :slight_smile:

Je viens ajouter le système d’association via MQTT pour le rendre exploitable par tout le monde. Je ne l’ai jamais testé mais je pense que ça doit fonctionner…

En résumé, pour quelqu’un qui a une Frisquet compatible connect,@freedom a pondu une solution de contrôle plutôt aboutie et modulaire. Il y ajoute les qq fonctionnalités déjà explorées dans le précédent post.

Pour quelqu’un qui a une vieille Feisquet visio non compatible connect, @Spanky a une solution maison pour dont il a expliqué les grandes lignes. En intégrant son algorithme sans un code comme celui de @Freedom et en y ajoutant une synchro automatique pour ne pas avoir besoin de redemarrer l’ESP, on devrait avoir une solution robuste et à peu près alignée , avec ou sans Connect.

Et moi je profite d’eux en testant et en proposant qq ajouts par-ci par-là, :grin: ainsi qu’en rappelant les échanges historiques que tu as aussi parcouru. :grin:

Salut la communauté Frisquet! Je suis passé totalement à côté de ce nouveau topic.

Content de voir que mon ébauche a bien servi.

pour ma part le système tourne depuis plus d’un an, je n’ai pas le temps de m’y replonger et @Freedom as tellement ajouter de fonctionnalités que ça n’aurait pas de sens de continuer ma branche.

Mais si je peux me permettre de proposer des améliorations voici ce que j’ai relevé par rapport à mon installation :

Apres deux ans l’écran est mort, ou tout du moins, afficher les infos en permanence a provoqué une rémanence, du coup c’est illisible. => mettre un bout de code pour l’allumer au démarrage pendant 5 minutes puis l’éteindre, et le rallumer en cas d’appuis sur 1 des boutons présent sur le heltec?

Dans le cas d’un redémarrage de HA, et si on envoi la température extérieure depuis HA, si Mqtt transmet une valeur nulle, la chaudière reçoit une température de zéro dégrée, du coup elle s’affole, chauffe à pleine balle, et même si cela ne dure qu’une ou deux minutes le temps qu’elle reçoive la bonne température, on gaspille un peu de gaz c’est dommage.

Voilà je vous souhaite plein de réussite et je sauterai peut être le pas de passer sur la version de @Freedom dans un futur proche :wink:

Merci de la réponse ! Prends ton temps pour faire “propre”, je ne suis pas aux pièces.

Je pensais effectivement émuler une box Friquet Connect. La question qui me reste en suspens est celle-ci :

Si on déclare une sonde extérieure via le Heltec (soit (a) avec un DS18B20 branché dessus soit (b) alimenté par HA) et que le Heltec se plante, la chaudière s’arrête par solidarité. OK ?

Mais si on ne déclare pas de sonde externe et que le couple Heltec/HA se “contente” d’émuler la box Connect. A) est-ce une configuration valable ? Et si oui est-ce que la chaudière continue à fonctionner (uniquement pilotée par le thermostat d’ambiance Visio ?

Dès que @Freedom indique que c’est prêt, je me lance ! Le Heltec est déjà commandé et en cours d’acheminement…

Pour ma part, l’association d’une sonde exterieure permet d’obtenir le network ID. Ce network ID te permet de sniffer oe traffic de tous les appareils, voire l’emuler. A partir de là rien ne t’empeche de supprimer la sonde dans ta config de chaudière et continuer à recevoir ou émettre. Mpi j’ai supprimé ma sonde de la chaudière hier avant le passaye de Frisquet, au cas où il me ferait des histoires. Je ne l’ai pas remise et pourtant je suis encore le traffic dans HA. C’est pour ça que j’ai des trames 0x20 sans réponse dans l’extrait publié hier soir.

Je ne pense pas que ça coince plus en mode connect.

@Michel_Bernard Il y a effectivement un soucis de fonctionnement si tu arrête le Heltec pendant un long moment, mais qui est le même avec une sonde extérieure Frisquet. La chaudière s’arrête effectivement et affiche une erreur, il faut donc repasser en mode régulation par satellite ambiance uniquement.

Par contre, tu n’es pas obligé d’utiliser mon programme pour la sonde extérieure (il y a une constante que tu peux remettre à FALSE dans config.h), et n’utiliser que le système Connect. Après c’est dommage, ta chaudière fonctionne vraiment au top avec la sonde extérieure en plus, ça permet de bien gérer la température d’eau et faire des économies.

Je vais faire en sorte que tout soit opérationnel, comme je n’ai jamais pû tester l’association tu seras mon beta-testeur (c’est sans douleur…) :face_savoring_food: .

Merci @Burn pour ton retour ! En tout cas je me suis grandement inspiré de ton code de départ, et il m’a permis de comprendre le fonctionnement et de déduire beaucoup de données, alors un grand merci.

Pour les suggestions, j’en prend note. Dans mon code j’ai carrément désactivé l’écran qui me semblait inutile dans un premier temps (je configure via un portail WiFi). Mais je pensais le remettre en place plus tard en créant un menu défilante avec les boutons, et pour pouvoir associer via les boutons directement. Effectivement pour la température, je vais ajouter deux trois contraintes pour éviter les températures aberrantes.

Pas de soucis, de toutes façons j’allais tester dès que j’aurais reçu le heltec…

Mon souci général avec les automatisations que j’installe dans ma maison est de faire que si mes bidules se plantent ou si je les retire, la maison continue de fonctionner normalement comme si je n’avais rien ajouté.