Pilotage Chaudière Frisquet ECO Radio System Visio

Bonjour à tous,

Je suis nouveau sur le forum, mais j’ai lu avec beaucoup d’attention un sujet similaire à propos du pilotage d’une chaudière Frisquet avec le module radio (Pilotage Chaudière Frisquet ECO Radio System via ESPHome) d’avant 2011, désormais, le système est « sécurisé et crypté ».

Pas de chance pour moi, je suis propriétaire d’une chaudière visio. Donc au revoir les possibilités avec ESPHome. En revanche, j’ai un peu de matériel et quelques compétences (Développeur et j’ai fait pas mal d’electronique dans mes loisirs), j’ai commencé à me documenter sur le système visio.

J’ai donc démonté le satellite d’ambiance pour me faire une idée de sa constitution. Rien de fou, il y a une puce M9S8LL16C de chez NXP, qui n’est autre qu’un 68HC08 modernisé (si je ne dis pas de bêtise), un écran, un capteur de température et, pas de chance, un chipset radio caché sous l’écran. Comme la chaudière est en service, j’ai quelques pressions à la maison pour la laisser en route :sweat_smile:

Ma première approche aurait été de dumper la mémoire du microcontroller, mais selon le datasheet, il y a des protections qui peuvent l’empêcher, je suppose que frisquet les a activées (mais je vais quand même tenter, on ne sait jamais)

En lisant plusieurs manuels d’installation et de maintenance, j’ai compris que coté chaudière, c’est le panneau de commande avec l’écran qui s’occupe de la réception du signal radio. J’en ai donc acheté un sur leboncoin d’occasion, à priori fonctionnel.

J’ai vu sur le PCB du satellite qu’il y a beaucoup de points de test, assez proche de la partie RF, j’attends un analyser logique pour me faire une idée. Les tests que j’ai pu faire avec un SDR sont pas concluants.

J’ai donc plusieurs pistes à suivre:

  1. tenter un dump des chipsets en esperant sortir l’algo du protocole radio (on peut rêver :smiley:)
  2. Lancer un analyser logique sur les points de tests du satellite pour voir ce que ça donne

Je vais travailler là dessus dans mon coin, mais je suis preneur de ressources ou d’expérience déjà tentées dans le passé par d’autre, ou des similitudes possible avec d’autres systèmes, bref, un peu d’aide si vous en avez :wink:

1 « J'aime »

Salut,

Je n’ai aucune expérience à t’apporter, en revanche je suis très intéressé si jamais tu trouve un moyen de connecter nos petites Frisquet à home assistant.

Je fouille le net depuis environ un an régulièrement à ce sujet mais, hormis faire du on/off en contact sec, je n’ai rien trouvé de prometteur.

Bon courage à toi, je vais suivre ce post de très près :slight_smile:

Hello,

J’ai reçu la carte de commande frisquet ce week-end, que j’ai démontée et j’ai enfin le chipset RF. Il s’agit d’un SX1211. Le chipset est capable de gérer l’émission et la réception de données, avec plusieurs type de codage, ca a l’air d’être un bon choix. A priori, il ne fait pas de cryptage, donc s’il y a quelque chose de vraiment crypté (pas un CRC), c’est dans le microcontrôleur que ça se passe…

J’attends encore l’analyseur logique, pour avoir les trames qui circulent entre le controleur et le SX1211.

La bonne nouvelle, c’est que j’ai trouvé des cartes de dev sur ali qui ont l’air d’être compatible avec le SX1211, mais à base d’un chipset RFM63 pour 5-10€ (edit: Après analyse des datasheets des deux composants, c’est un copier/collé de l’une vers l’autre, avec des erreurs dans celle du RFM63 qui parlent de la circuiterie externe, alors que le module remmplace cette circuiterie :rofl:)

Autre bonne nouvelle, j’ai vu dans le forum arduino un post pour domotiser un poêle à granulés qui fonctionne aussi avec un SX1211… La personne parle d’un module « RTX-868-FSK ».

Je pense que je vais commander les deux, et on verra !

Autre élément intéressant, c’est la présence sur le PCB d’une empreinte qui ressemble très fort à une liaison RS232 bien classique, je vais regarder ça aussi :slight_smile:

1 « J'aime »

Hello,

J’ai reçu l’analyser logique chinois à 5€, et j’ai directement fait un bricolage avec des fils et un bouchon de bouteille de vin, afin d’aligner les fils sur les test pads du thermostat satellite

Les contacts sont pas fou, et faut maintenir appuyé le tout, mais la piste sermble bonne, sur l’analyseur logique, je retrouve des choses qui ressemblent à des signaux quand je souffle sur le capteur de temperature:


D’autre part, j’ai repéré que dans les menus de la chaudière, on peut afficher les températures reportés par les satellites et que le satellite envoie très régulièrement les températures en cas de variations (mon test en soufflant sur le capteur envoie la temperature toutes les 10-15s)

Je disais dans un post précédent qu’il y avait une empreinte de port serie sur le PCB de la chaudière, mais a priori, non, puisque je compte 10 pins en quinconce , or, le port série, c’est 9… Mais je retrouve ces 10 pads (dans un autre agencement) dans la télécommande, je suppose donc que c’est des pattes pour programmer le HC08.

Affaire à suivre…

1 « J'aime »

J’ai continué mon analyse, et j’ai vu que l’écran du thermostat visio n’est pas soudé, juste inséré dans des sockets. je l’ai donc retiré et ai pu avoir accès au chipset radio.


Après des tests au multimètre, ça confirme ce que j’ai pu voir avec l’analyseur logique, les fils que j’ai soudés sont pas du tout relié aux entrées du SX1211 :frowning:

Il y a des points de test, mais c’est vraiment petit, et j’ai pas le droit à l’erreur, il faut que je rachète un thermostat pour éviter de me retrouver dans le froid (et une bonne soufflante à la maison :D)

1 « J'aime »

Projet extrêmement intéressant à suivre d’un point de vu personnel. Pour info j’ai un collègue de boulot qui a une chaudière Frisquet de 2019 du coup cela pourrait servir à d’autre :wink:

Bonne continuation dans ton aventure :facepunch:

1 « J'aime »

Salut, un message pour t’encourager dans ta démarche. Cela fait plusieurs années que je suis bloqué et malgré des compétences informatiques, j’ai vite été en limite de compétences électronique. Ravi de voir que tu avances, je suivrais ce sujet avec attention, on croise les doigts pour que cela aboutisse à une solution !

2 « J'aime »

Pas beaucoup d’avancées pour moi ce week-end, mais j’ai réussi à trouver un thermostat sur le bon coin à pas trop cher (~50€) je devrais le recevoir dans la semaine.

En revanche, je me suis documenté sur le frisquet connect, il semblerait que l’appairage avec la chaudière se fasse par radio, ce qui veut dire que théoriquement, on doit pouvoir récupérer pas mal d’info et aussi gérer la programmation des satellites :
image
image

Je vais voir suivant mes avancées, mais j’ai peur qu’à un moment, pour récupérer ce genre d’info, il faudra avoir un frisquet connect pour comprendre ce qu’il se passe dedans…

Hello,

Petit status, j’ai reçu mon autre thermostat de leboncoin, et première surprise, le PCB est différent. C’est une version plus récente (v19 contre v27) et le microcontrolleur a changé, c’est devenu un STM32L. Le layout est un peu différent et les points de debug que j’avais repéré ne sont plus là.
J’ai donc du me résoudre à souder sur l’espèce de connecteur en 2x7 qui, surprise, sont son reliées 2 à 2. Aucune idée de pourquoi, mais ca m’arrange, ca fait plus de surface pour souder \o/

J’ai utilisé du fil 30AWG et une panne T18-C08 de hakko, ca s’est bien passé

La carte fonctionne toujours (après une frayeur car j’avais raté une rectification de soudure et deux fils se touchaient, j’ai péché par exces de confiance en ne reverifiant pas)

Prochaine étape, analyseur logique sur les 7 pistes :smiley:

2 « J'aime »

Je pense que ça t’arrange que ce soit un STM32 du fait de ta remarque sur mon chauffe eau :wink:

Merci de partager autant de détails avec nous, c’est cool. Vivement de voir les résultats de l’analyseur logique !

Clairement, je me suis dit que c’était une aubaine, mais après m’être plus documenté, c’est le STM32F1 qui est concerné par l’exploit, après, il faut étudier le controleur pour tenter de répliquer l’exploit… Ca demande d’avoir des microcontroleurs de tests et des connaissances que je n’ai pas (même si ça a l’air super marrant, je suis pas certain d’avoir le temps :sweat_smile:).

Je vais essayer la méthode plus traditionelle dans un premier temps, j’espère qu’ils n’ont pas mis un truc trop méchant. J’en parlais avec un copain qui me disait que vu la très faible consommation du satellite (3 ans sur 2 piles AA), il est fort probable que les protections soit très légères en terme de CPU, car ca coute de l’énergie de crypter.

Hello,

J’ai commencé a analyser les transferts entre le microC et le SX1211. Ca prend forme :smiley:

J’ai pu choppé toute la config du SX1211, pas forcement intéressant pour le moment, je la répliquerais sur mon RFM63 que je devrais recevoir bientot.

J’ai aussi pu observer que le satellite se met dans un cycle d’emission/reception après avoir configuré le SX1211, malheureusement, la soudure de la ligne de reception a cassé, donc j’ai pas toute l’info :frowning: Faut que je resorte le fer à souder.
Néanmoins, j’ai pu constituer ce tableau :

Je m’attendais à voir les deux derniers octets comme une sorte de CRC, mais ils ne bougent pas à chaque fois. C’est plutôt bon signe que ca bouge pas trop, ca donne du poids à l’absence de cryptage :smiley:
La ligne en jaune a l’air de faire:

  • 0x00 : premier message
  • 0x01 : deuxieme message
  • 0x02 : troisième message
  • 0x08 : quatrieme
  • 0x09 : cinquieme
  • 0x0A = 10 en décimal : sixieme

Peut-être aussi qu’on est dans une phase de négociation de clés.
Pour le moment, le satellite est associé avec la chaudière de la personne qui me l’a vendu, mais je veux récolter des infos avant de l’associer avec ma chaudière (ou avec la carte de chaudière que j’ai aussi).

1 « J'aime »

Salut @mgre,

Tu peux en dire plus ?

Quand tu dis choper la config, tu veux dire que tu as réussi à l’extraire de la puce ?

Oui, en fait, le SX1211 possède un bus SPI (en l’occurence Input & output + clock). Il y a deux autres entrées, qui sont le NSS_DATA et le NSS_CONFIG. Ces deux inputs servent à selectionner la destination du bus SPI. NSS_DATA pour transmettre des data et NSS_CONFIG pour les configurations. (c’est dans le datasheet, je n’ai rien inventé :sweat_smile: )

Du coup, dans la capture d’écran avec sigrock, j’ai fait deux décodeurs de protocole, en haut, le CS (chipset select) sur le NSS_CONFIG et en bas, sur NSS_DATA :slight_smile:

Grace au décodeur de protocole de sigrok, il va ensuite transformer les inputs séries + clock en messages.

Il ne reste plus qu’a comprendre le protocole avec la datasheet. Par exemple, dans l’exemple suivant:

Le uC va envoyer de la configuration à l’addresse 00 la valeur sera 30, 02 (qui est en ft, 01) la valeur BC, etc… Après, le datasheet va nous permettre de comprendre ce que veut dire 30 (ie 00110000):

Ici :

  • 001 : standby mode
  • 10 : 915 ou 863 Mhz
  • 00: Vtune determined by tank inductors values

C’est fastidieux, mais j’ai du coup toutes les valeurs intéressantes (comme le networkid, les corrections hardware, le mode de transmission, le taux de transmission, l’encoding, etc…) que je vais pouvoir répliquer directement sur le RFM63 pour me permettre de récupérer les transmissions des appareils sans avoir besoin de souder !
(edit:) J’ai aussi l’impression que le uC va réécrire la config from scratch à chaque fois

Petit message en passant car je suis trop fan : j’ai réussi à démarrer la carte de la chaudière et on peut quand même utiliser les fonctions d’associations bien que la carte hurle erreur de liaison carte :grimacing:

Je tente une association aujourd’hui !

2 « J'aime »

Projet très intéressant.
J’ai l’impression que le changement de chip s’est produit à l’occasion du lancement de Frisquet Connect.
En effet (c’est mon expérience) lorsque l’installation de Frisquet Connect se fait sur une chaudière dont le numéro de série est inférieur à 165200000000 il faut changer le tableau de bord de la chaudière.
La photo de mon ancien tableau de bord est jointe. C’est bien un chip SX1211 qui est dessus.

Intéressant en effet…

Est-ce que tu pourrais voir les numéros de version de tes deux panneaux de chaudière ? J’ai trouvé un guide de maintenance qui explique comment les trouver.

Pour le coup mes deux panneaux sont en version 19.
Du coup, je parlais du changement de microcontrolleur (HC08 vs STM32) dans les satellites, entre la version 19 et la version 27.

Par ailleurs, j’ai tenté un appairage, mais je pense que le panneau en mode stand-alone réagit pas tout à fait comme il faudrait. J’ai comparé les menus avec celui de ma chaudière et par exemple, ma chaudière ne permet que l’association d’un satellite pour la zone 1, le panneau que j’ai a toutes les options possible.
Bien que l’appairage fasse « quelque chose » (Plein de données circulent sur la radio, la fausse chaudiere me dit « OK terminé » et le satellite reboot)
Ensuite, je n’ai rien de plus que la trame classique que j’ai déjà observé plusieurs fois, à l’exception des 2 premiers octets qui doivent correspondre à un id de chaudière, et du dernier qui ressemble à un CRC mais qui varie de manière illogique :sweat_smile:

Je pense que je vais laisser l’appairage de coté et passer sur le mode « nominal » sur ma chaudière pour essayer d’avoir une communication plus « simple »

L’ancien panneau indique V19.00.00 et le nouveau, après installation de Frisquet Connect, V19.00.02

Bon, un peu d’avancement, j’ai progressé en faisant un truc hyper fastidieux qui consiste à prendre la datasheet du composant et parser chaque bits de configuration… J’ai fait une première implem en scala qui fonctionne en ligne de commande mais c’est pas pratique du coup, j’ai bricolé un protocol decoder pour sigrok en le générant à partir du scala :sweat_smile:

Au final, ca donne ça :

C’est plus facile pour voir ce qu’il se passe.
Par contre, je suis de plus en plus certain que mon panneau de chaudière sans chaudière fait pas ce qu’il faut, puisque le satellite à l’air de repartir dans son cycle « habituel » une fois l’association faite… et ce cycle correspond au cycle que j’avais au moment où je l’ai acheté.

Il n’y a que 2 octets qui ont changé dans le payload, je suis presque certain que c’est les identifiants de réseau et que la chaudière repose pas sur le sync_id pour filtrer.

J’ai reçu le clone chinois, je vais pouvoir tester des choses, mais la première étape consiste à écrire le driver pour arduino car il n’existe pas :smiley:

1 « J'aime »

Bonjour,
Bravo pour la persévérance et le partage.
Vraiment très intéressant.

J’ai aussi une frisquet qui vit sa vie en dehors de mon monde HA et je me suis fait un peu une raison…

Je vais suivre ce fil avec un grand intérêt, même si mes compétences en électronique sont si basses que même si ça aboutit je ne pense pas me lancer dans une telle modif… Trop peur de tout casser. J’ai déjà changé une chaudière complète à cause d’une carte électronique HS, non réparable, et introuvable en rechange.

Je regrette surtout la non réceptivité de Frisquet à ouvrir un peu leur interface au monde domotique. Je leur ai écrit deux fois, même réponse. Ça fait longtemps qu’ils auraient pu proposer une intégration pour se connecter à leur cloud. Même si c’est pas top, au moins c’est relié et c’est mieux que rien…

Bonne continuation!