Ravelli Gateway : Domotiser son Poelle à Pellet Ravelli (Palmaire touch radio)

Bonjour,
Alors, si mes souvenirs sont bon, la fréquence est 868,3 mhz.
Ensuite, Oui en effet, la puce capte bel et bien tout les bruit environnent, si bien que les réponses en sorties sont totalement anarchique jusqu'au moment ou une vrai communication commence. Dés lors qu'il capte un vrai signal, les bruit s'estompent et laisse place à la vrai communication.
Je joins une capture directement en sortie de la puce ou j'écoute la communication entre le poel et la télécommande. (la première capture était en sortie de l'arduino et c'était moi qui l'émettait, voici pourquoi la capture était si clair ^^ désolé, je vous ai induit en erreur)

C'est pourquoi dans mon code code, Je ne fais qu'écouté après l'émission de ma requête, et j'attend la réception du premier byte correct :

while(millis() < timeout)
{

theresponse[0]=mySerial.read();

if (theresponse[0] == (byte)0xCB)
...

Voilavoila, je reviendrais voir plus souvent le post, désoler de la lenteur de ma réponse :s

démarrage.zip (48.3 KB)

Merci Antoninocanta d'avoir pris le temps de me répondre.
J'ai essayé un second transmiter qui donne le même résultat.
J'avais comme vous le dites pensé qu'une vrai communication pouvait se cacher dans le bruit reçu. Malheureusement les différentes analyses que j'ai réalisées ne m'ont pas permis de les trouver.
J'ai édité votre fichier joint. Je suis étonné de ne pas retrouver des chaines de message comme:
0xBC, 0x07, 0x21, 0xCC, 0x10, 0x07, 0x01 ... par exemple.
Avec Notepad++ et un affichage en hexa j'ai ceci:
00 00 00 00 00 00 21 1c 00 00 00 00 00 00 01 00
00 00 00 00 00 00 2f ec 00 00 00 00 00 00 2c 1c
00 00 00 00 00 00 2b 1c 00 00 00 00 00 00 01 00
00 00 00 00 00 00 73 ec 00 00 00 00 00 00 36 1c
Pourquoi tout ces 00 ?
En attendant, mon adaptation du câble de la télécommande vers une RS232 fonctionne bien.
Depuis un PC et une application écrite en WinDev je gère mon poêle.
Je dois maintenant transposer tout cela vers un Raspberry Pi J'hésite encore entre Python ou le C pour écrire le programme.
Je referais des essais avec le transmiter en devenant maître de la communication et non plus en restant seulement à l'écoute.
Si vous pouviez m'éclairer sur le contenu de votre fichier ce serai super.
Cordialement

Hello,
Alors, ce que tu essaye d'analyser en hexa est une capture avec un logic data analyser (type salae : Logic analyzer software from Saleae). L'appareil utilise une fréquence d’échantillonnage que l'on détermine et que l'on place plus haut que la vitesse de transmission réelle (pour ne pas rater d'info).
Du coup, avec le logiciel, c'est très clair (voir image) mais en hexa, pas trop à mon avis :s

Bonne continuation :wink:

Arf! j'étais à côté de la plaque. Maintenant j'ai compris.
Ma première méthode d'analyse était similaire, mais ne disposant pas d'analyser j'ai connecté le signal filaire de la télécommande à travers une petite interface électronique sur l'entrée ligne de mon PC.
J'ai enregistré dans un fichier wav puis écrit un programme pour transformer les échantillons du fichier wav en code ascii.
Je vais retourner à mes essais, ça va me prendre quelques jours. Je reviendrai vous informer des résultats
Merci et à plus.

Bonjour à tous,

Pour ma part j'ai un Ravelli Dual 9 et je m'intéresse depuis quelques jours à le connecter à ma future domotique (bah oui, je n'ai pas encore fait grand chose, lol). Je suis en plus débutant en Arduino (je sais, c'est pas gagné). Je voudrais au choix soit une solution radio, wifi ou rs232.

Tout d'abord, merci Antoninocanta pour toutes ces informations précieuses.

Une photo de ton prototype câblé aurait été le bienvenu pour m'aider, car j'ai un peu de mal à comprendre comment câbler le module FSK a l'arduino (en lisant la doc, un peu trop succinte à mon gout, gnd vcc ok mais bon pour le reste gloups...)

En regardant ton code, j'ai vu l'utilisation des pin de 2 à 6 (define).
Voici mes suppositions :

  • SDSD (désolé je vois pas :cry: )
  • rxPin (à câbler sur la pin DIGITAL DATA OUTPUT, je présume)
  • txPin (à câbler sur la pin DIGITAL DATA INPUT, je présume)
  • enablePin (à câbler sur la pin ENABLE)
  • ioChoicePin (à câbler sur la pin TX/RX)
  • les pin RSSI, CN/SEL du module FSK ne sont pas reliées

Bon, à présent j'attends les insultes et les tomates :wink:

Merci d'avance.

Bonjours.
J'ai lamentablement échoué dans l'utilisation du module radio. Je n'ai pas réussi à capter de signaux.
J'ai donc finalisé ma connexion filaire pour continuer mon projet.
J'ai attaché à ce post un fichier "Liaison RS232.odg" (LibreOffice Draw) qui contient le schéma des 2 extrémités de la liaison RS232.
Je suis en train de développer un programme en langage C pour le Raspberry. J'ai plein d'idées mais peu de temps devant moi car la saison de chauffe devrai s'arrêter dans un mois.
Depuis hier je mesure la température intérieure et la transmet au poêle qui n'y voit que du feu^^
A suivre...

Liaison RS232.zip (21.7 KB)

Petite précision complémentaire:
Le câble Ravelli qui se branche entre le poêle et la télécommande possède 4 fils de couleur:

violet masse (0v)
rouge transmission série asynchrone bi-directionnelle
orange +18v (attention aux court-circuits: danger! Je ne sais pas à quoi il sert)
blanc +5v

Je dispose aussi d'un dictionnaire définissant les principaux messages échangés
A plus

Hello Fred1024,
Bonne déduction pour la connexion des pins :wink:
attention que le module est en 3.3v et l'arduino en 5v donc pour la communication entre arduino -> module, il faut passer par un pont diviseur de tension.
Je ferais un petit montage dessin fritz prochainement :wink: mais en principe tu a tout bon sur la connectique.

la pin SDSD c'est le module SD du shield ethernet chinois, je ne l'utilise pas dans ce montage. par ailleur, je te déconseille le shield ethernet chinois car j'ai des soucis avec au démarrage, il faut le rebooter a chaque mise sous tension car il ne prend pas d'IP :s c'est chiant lors de panne de courant car c'est le genre de truc que l'on oublie xD

Emerinu, tant mieux si tu a trouver ton bonheur avec le RS232, je vais analyser ton code pour voir si les commandes du poel sont les mêmes, il y a des chances ^^
bien à vous
antonino

Ci-joint la liste des commandes en RS232. En radio l'entête est différente je suppose.

Dictionnaire.zip (19.7 KB)

Pensez-vous que cela convient pour travailler avec le Raspberry Pi? J'ai Ravelli Soffio.

merci d'avance

Emerinu:
[...]J'ai attaché à ce post un fichier "Liaison RS232.odg" (LibreOffice Draw) qui contient le schéma des 2 extrémités de la liaison RS232.
Je suis en train de développer un programme en langage C pour le Raspberry. J'ai plein d'idées mais peu de temps devant moi car la saison de chauffe devrai s'arrêter dans un mois.[...]

Bonjour à tous,

Tout d'abord, merci @antoninocanta et @Emerinu pour votre formidable travail de décodage et d'explication, de 2 méthodes de pilotage d'un poêle Ravelli.

Ayant aussi un poêle de cette marque, je souhaite domotiser l'ensemble, pour l'utiliser sur Jeedom.
N'ayant pas ma box juste à côté, et souhaitant passer en filaire (j'ai une préférence pour cette méthode) j'ai dans tous les cas besoin d'un arduino ou raspberry pi zero au cul de la machine pour faire le lien.
J'ai donc quelques questions à propos de la connexion.

Emerinu, le câble que tu fournis est-il seulement utilisé pour écouter les discussions entre la télécommande et le poêle, ou c'est celui que tu as en permanence ?
Aussi, peux-tu détailler un peu tes avancés sur le sujet ?

Bonjour
Mon travail ne porte que sur la connexion d'un Ravelli modèle infinity avec un Rasperi Pi3 et je n'ai aucune idée de sa portabilité sur d'autres appareils. Je vous laisse le soin de le préciser.
Pour le câblage voici les liaisons depuis le poêle vers le Rasperi.

  • j'utilise le câble fourni par le constructeur ( qui réuni normalement le poêle à la télécommande) pour réunir le poêle avec ma 1ère interface RS232 utilisant le MAX232.
  • un câble 4 fils passant par le grenier connecte cette 1ère interface avec la seconde placée près du Rasperi
    utilisant le MAS3232 (Sur le schéma fourni j'ai écris vers ARDUINO, mais en réalité c'est vers le Rasperi, désolé de cette coquille).
    Il me semble aussi avoir vu, sans les noter, quelques erreurs dans mon dictionnaire. Alors prudence pour son utilisation.
    Sinon j'ai une saison de chauffe complète derrière moi et je suis satisfait de mon programme développé avec QT4.
    Voici les améliorations dont je bénéficie:
  • Programmation de la consigne de température pour chaque jour de la semaine. ( Pour contourner le mécanisme d'arrêt du poêle au changement de consigne que provoque la télécommande du constructeur, je conserve une consigne constante dans le poêle : 20 degrés par exemple, et je le trompe sur la mesure de température que je lui fourni pour le faire chauffer ou pas, si je veux 22 et que la température ambiante est de 20 , j’envoie une température de 18 au poêle.)
  • Alerte si on arrive en fin de pellets ( <10% du sac ).
  • Alerte si nettoyage nécessaire ( toutes les 24h de chauffage cumulé.)
  • Gestion de la puissance de chauffe selon la température extérieure et/ou l'écart entre la température ambiante et la consigne désirée.
  • Fichiers historiques de chauffe journaliers.
    Voila je vous souhaite de réussir dans vos objectifs et reste a votre dispositions si nécessaire.

Bonour Emerinu,

Merci pour ces explications.

Emerinu:
Mon travail ne porte que sur la connexion d'un Ravelli modèle infinity avec un Rasperi Pi3 et je n'ai aucune idée de sa portabilité sur d'autres appareils. Je vous laisse le soin de le préciser.

J'ai un Ravelli R-Evolution. Normalement, vis-à-vis de l'infinity, seul le design extérieur change.
Pour le moment, j'hésite entre un raspberry pi zero et un arduino (version à confirmer).

Emerinu:
Il me semble aussi avoir vu, sans les noter, quelques erreurs dans mon dictionnaire. Alors prudence pour son utilisation.

Ca marche, du coup, je vais faire mon propre dictionnaire, pour confirmer ceci.
J'ai l'intention de brancher sur le port série du raspberry pour écouter ce qu'il s'y passe (voir schema joint). J'ai toute la connectique nécessaire pour reproduire le faisceau constructeur avec les borniers blanc.
Est-ce que tu penses qu'ainsi je n'aurai aucun soucis, ou bien est-ce que le câble est mauvais et pourrais détériorer quelque chose ? (Ne sachant pas la valeur de courant sur le fil de transmission, j'ai mis une résistance pour limiter la valeur de courant entrant sur le port série)

Emerinu:
Programmation de la consigne de température pour chaque jour de la semaine. ( Pour contourner le mécanisme d'arrêt du poêle au changement de consigne que provoque la télécommande du constructeur, je conserve une consigne constante dans le poêle : 20 degrés par exemple, et je le trompe sur la mesure de température que je lui fourni pour le faire chauffer ou pas, si je veux 22 et que la température ambiante est de 20 , j’envoie une température de 18 au poêle.)

Il n'était pas possible de simplement changer la valeur de consigne, sans passer par le changement du programme qui arrête le poêle ? Peut-être que ça génère le bip de validation à chaque fois ???

Emerinu:
Alerte si on arrive en fin de pellets ( <10% du sac ).

Tu as un capteur dans la trémie ? Je n'ai rien trouvé sur mon modèle, ni sur le manuel.

Bonjour

  • Concernant ton schéma, Je suis d’accord avec une résistance entre le fil rouge (signal bidirectionnel) et ton interface, par contre la deuxième entrée doit être réunie directement à la masse (le fil violet).

  • Effectivement le changement de consigne provoque un bip, ce que je préfère eviter pour garantir ma qualité de sommeil ^^.

  • La consommation de pellet est calculée proportionnellement à la durée de chauffage. La fin du sac est donc estimée. ( J'ai mesuré pour chaque niveau de puissance le temps nécessaire pour bruler mon sac de 15 kilos de pellets) La précision reste dans les 5 %. A chaque remplissage je corrige si nécessaire la quantité restante et je valide le fait d'avoir rajouté un sac entier. En dernier ressort je contrôle la température du foyer si elle descend en dessous de 200 degrés je provoque une alarme urgente (j'ai 5 à 10 minutes avant que le poêle ne passe en défaut); Contrairement au point précédent j'utilise une séquence d'écriture de la consigne pour provoquer une suite de bip. Pour passer la nuit sans souci je m'assure aussi qu'il reste au minimum 20 % de pellets

  • Je joins un nouveau fichier qui contient le code de tous mes messages (lesquels sont donc certifiés). La constitution de chaque message est définie en début de chaque fonction par les variables BufEnv et BufCmp. Les valeurs 0xff ne sont pas à contrôler ou contiennent les valeurs à analyser en retour.

Je reste à ta disposition pour toutes infos complémentaires.

Messages.cpp (23.6 KB)

Bonjour,

Merci pour la réponse, et pour le fichier avec les messages mis à jour.

Malheureusement pour moi, le beau temps est déjà arrivé et le poêle est à l'arrêt. Je vais donc me servir de tes informations pour préparer ma solution pour la prochaine saison de chauffe.
Il me restera juste à vérifier la cohérence des messages (qui je ne doute pas, sont correct).

Je repasserai alors présenté l'intégralité de mon montage.

Bonjour.

C'est effectivement un travail saisonnier.
J'ai vécu la même chose:

  • 1ere année mise en place de l'électronique et ébauche du programme,
  • 2éme année finalisation du logiciel et amélioration de l'ergonomie.
    Maintenant je réfléchi à l'ajout de nouveaux capteurs sur le busI2C pour surveiller mes consommations d'eau et d'électricité. C'est sans fin mais ça m’intéresse.

Je serai heureux de connaitre la suite de ton aventure.
Bon travail.

Bonjour a tous

Comme vous je me passionne pour la Dominique mais je dois dire que mes connaissances sont limité dans le domaine.

J'ai un poele RAVELLI R Evolution 9V connecter wifi avec module NAVEL 2.0 et une telecommande remote display avec affichage LCD (comme vous).
pour ma Dominique j'utilise JEEDOM sur un Pi3B+ et tt fonctionne super mais (car y a un mais), mon poele est bien détécter en wifi mais n'a aucun port d'ouvert donc aucune com en direct wifi et surtout impossible d'en ouvrire un...
Ma second option etait de passer par la RF en 868Mhz mais voila le probleme je ne suis pas tres fort avec les "byte" ou l'"hexa"...
J'ai vu sur le site Nodo-shop qu'il existé un module arduino en 868Mhz pres a l'emploi.

Ma question, croyais vous qu'avec un tel module on peux ecouter et emetre ? quel protocole utilise cette telecommande (Zwave, X2D...)
Quelqu'un a deja essayer avec Jeedom ?

Nb: j'ai trouver le code d'accée tech avec la telecommande pour activer un mode Domotique direct dans le poele mais je ne sais pas a quoi il sert lol.

A momo12306

Moi aussi je me passionne pour la Dominique, mais je lui offre plutôt des fleurs qu'une télécommande.
La plaisanterie était trop facile je n'ai pas pu m'en empêcher.

Par contre là je deviens sérieux : tu n'as visiblement pas lu les messages épinglés en tête de forum.

  1. A quoi sert que le modérateur dans "Faire un nouveau sujet..." a fait le dessin qui suit ?
    Ici aucune réponse aux questions car c'est pour exposer les réalisations FINIES.
    Utilise le lien "Report to moderator" pour demander le déplacement du message et si quelqu'un a une réponse il répondra.

  2. Comme dans tous les forum on ne fait pas le coucou et on ne s'installe pas dans le nid des autres.
    antoninocanta faisait un retour d'expérience, toi tu poses des questions, c'est un détournement de l'objet du messages.
    N'oublies pas que les réponses données sur ce forum doivent servir à tous et donc doivent être accessible "logiquement". Dans ton intérêt ouvre un nouveau message.

Bonjour Emerinu,
Très bon travail de recherches, du coup, je vais me lancer pour me faire ma propre programmation.
En effet, j'ai un poêle Jolly Mec (carte mère Micronova) intégré dans Fibaro via le plugin Jeedom qui se connecte aux services cloud efesto.web2app.
La fiabilité de ce service cloud est remise en cause étant donné que celle ci n'est pas stable (coupures régulières) et par conséquence, je ne peux plus controler le poêle avec mon système domotique.
De plus, pour des raisons de confiance et de sécurité, je préfère assurer un controle local du poêle.
Le poêle est fourni avec une télécommande (même module radio FSK868) qui se connecte au poêle avec un cable de transmission.
Pour des raisons de complexité et pour éviter les interférence avec le ZWave (protocole utilisé par Fibaro qui utilise la bande des 868Mhz), je préfère utiliser l'option du câble.
Après mesures, le brochage du câble est identique a celui que vous avez décris, du coup et je voudrais en analyser les trames echangées entre le poêle et la télécomande via ce cable.
Les modules coté poêle et coté raspberry sont réalisés sur des breakbord en attendant une réalisation sur circuit imprimé.

A ce propos, avec quel moyen tu utilise pour extraire les données vers l'entrée audio d'un PC, tu met un condo? as tu un schéma?
D'avance, merci.

Bonjour matt59
J'avais en premier utilise un programme Windev de ma composition pour analyser les fichier waw de l'entrée audio. Ensuite plus simplement j'ai utilisé une interface adaptative entre la télécommande et le port com1 d'un PC. Je joint un doc de mon adaptateur. La aussi j'ai développé en WinDev un programme d'analyse, mais une simple application qui affiche du texte ascii peux suffire.
Cordialement

Lecture Messages.pdf (202 KB)