Protocole Somfy (Reverse engi RTS)

Bonsoir,

Merci pour ce super boulot, j'arrive également à décoder mes télécommande, mais la commande transmit ne semble pas fonctionner.

Pour être sûr :

Si je recois (Ce ne sont pas les miennes, j'ai modifié les valeur):
My
Rolling code: 1000
Adresse: 4A5B5C

Je dois mettre dans le programme ?
data[4] = 0x4A; // Address: USE YOUR OWN ADDRESS !!!
data[5] = 0x5B; // Address: USE YOUR OWN ADDRESS !!!
data[6] = 0x5C; // Address: USE YOUR OWN ADDRESS !!!

Et lancer la commande (une seule fois, sur le click d'un poussoir) :
int g_rolling = 1001;
codecSomfyRTS.transmit(0x4, g_rolling); //0x4 pour descendre

Sommes nous d'accord? Chez moi cela ne fonctionne pas.

Et encore merci pour ce super boulot.

Hello,

wow, I'm surprised about your work!

But its really hard to understand the "bing" translation from francais to german.

If I understood it right , you use the analog ports of arduino one an not the digital?

I have an arduino uno and 433Mhz Moduls to send and receive.

But I didn't understand where I shout connect it to the arduino which port?
And also I didn't understand realy what I have to do after starting arduino?

May I ask you to explain it in English for me please?

thank you very much.

Best regards
Jens

I just tried! WOW!!!!

Is that only to read or can I send the signal also ?
If yes, how?

than you very much!

Jens

Halo,

AingTii:
Hello,

wow, I'm surprised about your work!

But its really hard to understand the "bing" translation from francais to german.

If I understood it right , you use the analog ports of arduino one an not the digital?

I have an arduino uno and 433Mhz Moduls to send and receive.

But I didn't understand where I shout connect it to the arduino which port?
And also I didn't understand realy what I have to do after starting arduino?

May I ask you to explain it in English for me please?

thank you very much.

Best regards
Jens

Du kanst mir Fragen stellen in Deutscher Sprache über Private Mail
MfG

Bonsoir,
Comment faites vous pour transmettre un code ?
@

Did anyone ever had a successful transmit? Which RF-Transmitters do you use?

Receiving is working here...but Registration ain't. :frowning:

Hey guys,

thank you yoyolb, very nice work.

Receiving works well and I'm also able to transmit something. I made a testbuild with 2 Arduinos including yoyolb's sketches. One to transmit my own Code and the other one to recive it. Both outputs of the console (original remote / fake) are equal, but I wasn't able to move my blinds.

I added my Adress equal to my recived Adresse: XXYYZZ

  • data[4] = 0xXX;
  • data[5] = 0xYY;
  • data[6] = 0xZZ;
    And during a pressed Button I run:

codecSomfyRTS.transmit(0x4,410); (Down?/~410 recived rolling_code)

On the other hand I tried the Copy/Paste way somfy described here: SOMFY: Copy and Paste PART 1: Adding A New Remote

I modified the "Adresse", the "rolling_code" and used the "0x8" (Prog.) command. The result is no Up/Down movement of the blinds to conform the new (fake) remote.

Is it possible that yoyolb's code is not able to simulate a pressed button with no increasing rolling_code?

Nevertheless the first way must also work ?!? Any ideas?

BR

Please continue in french or open a topic in the english section...

fine!

Hé les gars,

merci yoyolb, très beau travail.

Réception fonctionne bien et je suis aussi capable de transmettre quelque chose. Je ai fait une TestBuild avec 2 Arduinos y compris les croquis de yoyolb. Un de transmettre ma propre Code et l'autre à recive. Les deux sorties de la console (télécommande d'origine / faux) sont égaux, mais je ne étais pas capable de se déplacer mes stores.

Je ai ajouté mon adresse égale à mon Adresse recived: xxyyzz

données [4] = 0XXX;
données [5] = 0xYY;
données [6] = 0xZZ;

Et lors d'une touche enfoncée je lance:

codecSomfyRTS.transmit (0x4,410); (Down? / ~ 410 recived rolling_code)

D'autre part je ai essayé le Copier / Coller façon Somfy décrit ici: SOMFY: Copier et Coller PARTIE 1: Ajout d'une nouvelle télécommande

Je ai modifié la commande (Prog.) "Adresse", le "rolling_code" et utilisé le "0x8". Le résultat ne est pas Up / Down mouvement des stores pour se conformer au nouveau (faux) à distance.

Est-il possible que le code de yoyolb ne est pas en mesure de simuler un bouton enfoncé sans rolling_code croissante?

Néanmoins, la première façon doit également travailler?!? Toutes les idées?

BR

Bonjour,
Je bute sur le même souci: l'émission d'une commande n'est pas comprise par le récepteur Somfy.
Mes essais:

  • platine Arduino 1 + emetteur 433 Mhz + sketch somfy_.ino dédié émission
  • platine Arduino 2 + récepteur 433 Mhz + sketch somfy_.ino dédié réception
  • télécommande RTS
  • les sketchs ont été modifiés pour afficher les codes à différents niveaux:
    -- en émission: avant calcul checksum, aprés, et après obfuscation (donc ce qui est transmis à l'émetteur)
    -- en réception: code reçu du récepteur avant dé-obfuscation, et après dé-obfuscation.
    Modifs également apportées sur les calculs de chksum et obfuscation.

Essais:
1- Appui sur touche Down de la télécommande
Arduino2 affiche code reçu par le récepteur=AFEDFCC4273C77,
puis aprés dé-obf. AF421138E31B4B
c'est-à-dire Down/RC=4408/Adr=E31B4B
2- Sur Arduino 1, émission avec Up/RC=4409/ Adr idem
AF201139E31B4B = trame avant chcksum
AF251139E31B4B = après chksum
AF8A9BA2415A11 = après obfuscation
3- Sur Arduino 2, réception de
AF8A9BA2415A11 = avant dé-obf.
AF251139E31B4B = après dé-obf.

On constate que les trames sont bien identiques avant et après réception et par rapport à la télécommande.
Mais .... pas d'action sur le volet, qui est à 3m de l'émetteur !
Idées à creuser:

  • du côté des signaux de wake up/ synchro hw/ synchro sw ??
  • changer le type d'émetteur (précision sur la fréquence ?)

Avis ?

clox:
Bonjour,
Je bute sur le même souci: l'émission d'une commande n'est pas comprise par le récepteur Somfy.
Mes essais:

  • platine Arduino 1 + emetteur 433 Mhz + sketch somfy_.ino dédié émission
  • platine Arduino 2 + récepteur 433 Mhz + sketch somfy_.ino dédié réception
  • télécommande RTS
  • les sketchs ont été modifiés pour afficher les codes à différents niveaux:
    ...

Bonsoir
ça donne quoi une acquisition RAW faite en dehors (loin, tres loin :grin: ) du recepteur à commander et et reemission RAW de cette trame ensuite en portée du recepteur ?
Pour faire plus simple : faire réemetre en RAW , un RAW jamais "entendu prealablement" par le recepteur somfy. ?

Même comportement.

Je viens de découvrir un problème de fréquences !
Sur le circuit imprimé de la télécommande, on trouve un circuit EPCOS R904: c'est un résonateur qui fixe la fréquence d'émission, (et celle des récepteurs dans les volets) ... à 433.42 MHz!
Les modules émetteurs/récepteurs pilotés par les Arduino travaillent eux à 433.92 MHz!
Cela explique que la liaison entre Arduino fonctionne bien, ... mais que les volets ne captent pas.

clox:
Je viens de découvrir un problème de fréquences !
Sur le circuit imprimé de la télécommande, on trouve un circuit EPCOS R904: c'est un résonateur qui fixe la fréquence d'émission, (et celle des récepteurs dans les volets) ... à 433.42 MHz!
Les modules émetteurs/récepteurs pilotés par les Arduino travaillent eux à 433.92 MHz!
Cela explique que la liaison entre Arduino fonctionne bien, ... mais que les volets ne captent pas.

bonjour
oui et c'est d'ailleurs indiqués sur les notices somfy
tu a recupéré tes trames 433.42 avec un recepteur 433.92 ?

Effectivement, c'est indiqué partout que Somfy est en 433.42 MHz !
Comme j'arrive à capter le 433.42 sur mes récepteurs 433.92, on peut en déduire qu'ils ne sont pas très selectifs. Ce sont des modules à 3 ou 4 €.
Je viens de faire l'essai avec des modules 433.92 plus anciens (type Aurel), mais qui captent aussi le 433.42.
Par contre, le récepteur dans les volets lui est bien sélectif.

Je ne trouve pas de modules émetteur 433.42 en vente.
Je vais tenter de bidouiller: sur un émetteur 433.92, remplacer le résonateur 433.92 par un 433.42, en espérant ne pas trop perdre en puissance.
Pour le résonateur 433.42, soit j'en prélève un sur une de mes commandes (avec le risque associé ...), soit j'achète un truc du genre prise télécommandée, pour récup du résonateur.

Une télécommande vaut au minimum 60/70€ !

clox:
...

Une télécommande vaut au minimum 60/70€ !

bonjour
perso je partirais d'une telecommande d'origine pour injecter le signal en entrée du modulateur 433.42
en fouinant un peu on trouve des telco rts à ~ 20€
doc ici

XavierMiller:
Please continue in french or open a topic in the english section...

Oh, that's a pitty, that you write all in francais.

because I'm german and I'm also interested in that Topic.
More interested Member mean more experiences and better solvings....

But Ok, if that is the rules to write all in that language of the Part of the forum its. ok.

Than I have to open my own topic in german.

I try to translate the French by google etc.

thank you
best regards AingTii

Bonne nouvelle !
J'ai pu trouver une télécommande pour 24€, et j'ai suivi le conseil de Artouste:

  • sur la télécommande, repérage de la piste commandant l'émetteur
  • coupure de cette piste en sortie de CI, et soudure d'un fil sur la piste + fil de masse
  • commande de l'émetteur par la pin A0 de l'Arduino, en passant toutefois par un diviseur de tension 4.7K/10K, car la télécommande est alimentée en 3V, alors que mon Arduino est en 5V.

Sur ma télécommande d'origine: appui sur Up
Sur l'Arduino avec récepteur, récupération du rolling code, et de l'adresse
Sur l'Arduino avec émetteur bricolé, mise à jour du sketch avec rolling code+1 et adresse

Envoi d'une commande Up, puis Down .... et le volet réagit en conséquence.

Bonjour,
pourrais tu nous mettre quelque photo(s) / video?

Afin que d'autre puisse mettre en oeuvre.

Merci

alb12:
Bonjour,
pourrais tu nous mettre quelque photo(s) / video?

Afin que d'autre puisse mettre en oeuvre.

Merci

bonsoir
+1