Go Down

Topic: Protocole Somfy (Reverse engi RTS) (Read 52202 times) previous topic - next topic

Black_Ware

Hello grande communauté d'arduino.cc !

Je me dirige vers vous aujourd'hui car après beaucoup de recherches, je trouve peu (pour ne pas dire pas) d'informations concernant le protocole de communication de Somfy (RTS il me semble). Mon but étant de communiquer entre l'arduino et mes volets pour finaliser en quelques sortes mon projet de domotique.
C'est donc là que j'ai eu une idée venue tout droit du ciel   :smiley-roll-sweat: Pourquoi ne pas "reverser" le protocole ?  ]:D

Pourquoi ne pas utiliser d'autres télécommandes jumelées ? Tout simplement car je ne tiens pas a acheter un dizaine de télécommandes a 50€ pour au final les souder et avoir un résultat assez "bordélique"  :smiley-zipper: .

C'est donc là que je me tourne vers Vous pour savoir par où commencer.  :D
Sachant que je dispose d'un bus pirate v4 de Dangerous Prototypes (très très très utile  8) ), de modules émit/receiv 433Mhz et que je n'ai toujours pas reçu un analyseur logique ainsi qu'un kit rx/tx 868 Mhz qui ne devraient pas tarder maintenant.
Je souhaiterais éviter toutes manip "dangereuse" pour la télécommande car sans télécommande  ^_^ plus de volets. S'il le faut
j'achèterais une autre télécommande que je jumèlerais pour pouvoir la torturer  :smiley-mr-green:

Bonne soirée  ;)

Black                    :smiley-sleep:

Artouste

#1
Jan 03, 2014, 09:46 pm Last Edit: Jan 03, 2014, 09:55 pm by Artouste Reason: 1

...
Sachant que je dispose d'un bus pirate v4 de Dangerous Prototypes (très très très utile  8) ), de modules émit/receiv 433Mhz et que je n'ai toujours pas reçu un analyseur logique ainsi qu'un kit rx/tx 868 Mhz qui ne devraient pas tarder maintenant.
Je souhaiterais éviter toutes manip "dangereuse" pour la télécommande car sans télécommande  ^_^ plus de volets. S'il le faut
...

Bonsoir
sujet discuté ici recemment il me semble (j'ai un doute sur le "somfy")
edit : non c'etait pour du "portail" mais ça ne change fondamentalement rien "au probleme"  *
Il semble que le/les protocoles RF somfy soient assez lourds

tu semble disposer ou bientot disposer d'une bonne base , mais avant de resoudre par RI le "protocole"
il faut faire de l'analyse de trames en profondeur

un exemple ici où à plusieurs et pour "le fun" pour la plupart il y a eu de la collaboration sympathique  :smiley-mr-green:

le probleme  surtout là avec du produit "captif et onereux, genre volets" c'est surtout que personne à commencer par bibi , ne va pas investir juste pour "jouer"  :smiley-mr-green:

debut du topic (23 pages)
http://forum.arduino.cc/index.php?topic=109892.0

au passage , un maintenant incontournable pour déjà bien regarder est d'utiliser un dongle compatible SDR à - de 20€ pour faire de l'acquisition et de la comparaison sur de la large bande 434 /868/...  autres

exposé succintement ici à l'epoque (meme topic , mais ... loin  :smiley-mr-green:  )
http://forum.arduino.cc/index.php?topic=109892.msg865028#msg865028


* http://forum.arduino.cc/index.php?topic=189717.10

Christian_R

Je crains que Somfy utilise du rolling code (pour éviter qu'on puisse rentrer chez toi en hackant une télécommande pour ouvrir tes volets).
Christian

Black_Ware

Re / Bonsoir

Quote
au passage , un maintenant incontournable pour déjà bien regarder est d'utiliser un dongle compatible SDR à - de 20€ pour faire de l'acquisition et de la comparaison sur de la large bande 434 /868/...  autres

exposé succintement ici à l'epoque (meme topic , mais ... loin  smiley-mr-green  )
http://forum.arduino.cc/index.php?topic=109892.msg865028#msg865028


Moi qui commençais à me demander si un tel outils existait x)
Je vais voir si je peux l'acheter  :smiley-mr-green: Merci pour l'info

En ce qui concerne le tropic sur les Inter Bliss j'étais déjà tombé dessus et avais lu les 20 pages à la volée (je sais c'est pas bien :P) alors je vais revoir un peu ça  ;)

Quote
Je crains que Somfy utilise du rolling code (pour éviter qu'on puisse rentrer chez toi en hackant une télécommande pour ouvrir tes volets).

Pour le rolling code il me semble (si mes souvenirs sont bons) que le protocole Bliss en utilisait. J'espère juste qu'il rajoutera juste assez de piquant pour le fun sans faire tomber le projet a l'eau  ]:)


Pour l'analyse de la trame en profondeur je ne suis pas sûre d'avoir "pour l'instant" le matériel nécessaire (je pense surtout a l'analyseur logique et au stick compatible avec le SDR). Cependant je vais quand même essayer quelques trucs ;) (je sais pas encore quoi mais on verras bien 8))

Merci de vos réponses !
Bon début de journée !


Black

PS : Je ne pense pas avoir le temps de tester ça demain (journée débordante). Je pense que je pourrais vers  Dimanche midi.

al1fch

#4
Jan 04, 2014, 05:10 pm Last Edit: Jan 04, 2014, 05:20 pm by al1fch Reason: 1
Bonjour

Quote
Sachant que je dispose d'un bus pirate v4 de Dangerous Prototypes (très très très utile  smiley-cool ), de modules émit/receiv 433Mhz


Le soft OLS est compatible avec Bus Pirate (j'ai utilisé le OLS mais pas avec Bus Pirate...j'en ai pas !)
ça devrait déjà permettre de relever quelques trames en sortie de récepteur 433MHz et commencer à tenter de deviner le type de codage du bit, le format de la trame... la présence ou non d'un code tournant...
http://www.hobbytronics.co.uk/bus-pirate-logic-sniffer
Dernière version (aout 2013) OLS 0.9.7 http://www.lxtreme.nl/ols/#download


Black_Ware

Hello,

Merci pour l'astuce al1fch Cependant j'ai reçu ce matin même l'OLS ;)
Après quelques fail j'essaye encore de faire marcher le tout (qui n'a pas l'air de sniffer grand choses  :smiley-mr-green: )
Je regarde encore quelques infos dessus mais je ne comprend pas trop les triggers et si j'en ai l'utilité ici.
Tout conseil / démarche d'utilisation est la bienvenue.  :smiley-yell:

Bonne aprèm

Black

Black_Ware

Bon après quelques tests j'obtiens des résultats assés irréguliers   :~
J'ai essayé de sniffer sans configurer les triggers mais je ne suis pas sûre que ça soit une bonne chose.
Je pense qu'il y a aussi des parasites mais je voudrais capter un signal avant d'isoler le tout sans doute dans une cage de faraday.
J'obtiens en résultat soit une ligne continue en position haute / basse et surtout j'ai un résultat 1 fois sur 30  :smiley-red:

(petite illustration de ce que j'ai)


Je n'ai pas l'impression que ce soit une trame normale  =(

I'm a newbie  8)

Black

al1fch

#7
Jan 06, 2014, 01:14 pm Last Edit: Jan 06, 2014, 01:36 pm by al1fch Reason: 1
Bonjour

ce que tu montres içi est à un niveau de détail beaucoup trop grand, c'est peut être un 'bout de parasite'.....

Une trame habituelle de télécommande 433 MHz (je ne connais pas les signaux Somfy) s'étale sur plusieurs dizaines de mS. Une horloge à 100kHz suffit sans doute pour l'acquisition de ce genre de trame.

Si tu sais que le signal, au repos, est à 1  tu peux activer sur la bonne voie un trigger en front descendant

Essai vite fait avec :
-comme soft : OLS 0.9.7 tournant sur XP
-comme matériel : une carte Arduino UNO flashée avec le sketch "logic_analyzer.ino"
-un récepteur 433 MHz de récupération, alimenté  en 3,3V,  envoie son signal sur la pin numérique 8
-telecommande 433 MHz   pour prise secteurs LIDL ('SilverCrest')

ci dessous :  la trame obtenue, synchronisée sur le premier front descendant, et les onglets de configuration
Avec un hardware à la hauteur les contraintes sévères de l'Arduino UNO disparaissent !
J'ai du, içi,  réduire à l'extrème la fréquence d'acquisition pour avoir une trame entière.(20kHz c'est trop lent pour restituer correctement les impusions courtes de cette trame
Trigger :  pour 'Mask' j'ai coché la case du bit 0 (= 'channel 0'), pour 'Value', j'ai laissé décoché pour que la capture commence dès que le niveau logique passe à 0


JLuc

Bonjour,
Vous êtes très intéressant sur ce sujet, je suis moi même équipé de volet Somfy, mais avec moteur IO et une box Tahoma, et je crois que le protocole est vraiment très fermé, et même après les avoir contacté, ils ne compte pas faire d'API.
@+ JLuc

Black_Ware

#9
Jan 06, 2014, 10:47 pm Last Edit: Jan 06, 2014, 11:53 pm by Black_Ware Reason: 1
Hey y'a du bon !  :smiley-yell:

Merci à toi al1fch pour l'aide à la config  :smiley-fat: J'aurais pu galérer encore longtemps  :smiley-mr-green:
J'ai donc fais le test avec une simple télécommande en 433Mhz (que j'ai déjà fais marcher avec RCSwitch) et j'ai obtenu le résultat suivant qui a tout de même plus la tête d'une trame  ;)


J'ai donc testé celà avec une télécommande somfy et en utilisant un seul bouton j'ai récupérer le meilleur résultat fort ressemblant aux précédents.


Merci encore à toi pour le grand pas que tu m'as aidé à franchir  :P

Quote
je suis moi même équipé de volet Somfy, mais avec moteur IO et une box Tahoma

Désolé je ne connais pas vraiment Tahoma  :D

Quote
et même après les avoir contacté, ils ne compte pas faire d'API.

On la fera sans eux (l'API)  ]:)

Merci encore de vos réponses

Black

PS : Je vais encore attendre d'avoir fabriquer la cage de faraday pour étudier des trames "saines"

Black_Ware

Hello

Après comparaison de plusieurs trames, j'essai de décoder celles-ci cependant après avoir commencé à les décoder (sans doute de la mauvaise façon  :smiley-fat: ) à la main, je me demande si c'est comme cela qu'il faut s'y prendre  :~

Cependant après analyse rapide je n'ai pas remarqué de changement de trames lors de l'apui sur une touche identique... ce qui remet en cause la présence de rolling code (bizare  :% )

Je suis désolé de manquer de compétence dans ce domaine  :.
Merci a vous de m'aider  :smiley-sweat:

Bonne nuit

Artouste



Cependant après analyse rapide je n'ai pas remarqué de changement de trames lors de l'apui sur une touche identique... ce qui remet en cause la présence de rolling code (bizare  :% )


Cela m'etonnerait que les trames somfy soient identiques
soit tu ne choppe pas les bons trucs
soit tu analyse mal

colle ici 5/6 trames completes
faites à qq minutes d'intervalles

Black_Ware

Voila voila ;) J'ai mis environ une minute entre chaques trames. (Et j'ai aussi trouvé la source parasite... mon téléphone  :smiley-red:)

trame 1 :


Trame 2 :


Trame 3 :


Trame 4 :


Trame 5:


Trame 6 :


Cependant après seconde analyse :( il semble que ma première soit éronnée :3 ça m'étonnais aussi... Je n'ai peut être pas laissé assez de temps entre chaque sniff  :P



groy

Bonjour,

cette discussion et le résultat :-) m'intéresse fortement !

Tu as réussi à décoder ?

Merci

Black_Ware

Plop

Nop pas encore :3 je sais pas trop de quel façon m'y prendre pour décoder :( mais j'espère bien que le projet aboutira.


Go Up