Go Down

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

clox

Voici le détail des modifications pour utiliser une télécommande Somfy en guise d'émetteur 433.42 MHz, pilotée par Arduino. Mon système installé est RTS, et j'ai utilisé une télécommande Smoove Origin, compatible RTS.
Modifications aux risques et périls de chacun, doigts de fée conseillés, et tremblote à éviter ...

Modifications réalisées:
1 - Démonter la TC, en dévissant les 3 vis à l'arrière, après avoir décollé l'étiquette qui en cache 2 !
2 - Sur le circuit, côté composant, repérer le circuit intégré qui a la référence 5050850
3- Une marque en creux indique la pin 1. En tournant en sens anti-horaire, aller à la pin 5. C'est cette pin qui commande l'émetteur.
4- Couper la piste qui en part, entre la pin et le pad (petite surface dorée) juste après.
5 - Souder un fil sur ce pad.
6- Un pad juste à coté est relié à la masse (utiliser un voltmètre pour controler). Y souder un fil de masse.

Remonter délicatement, et insérer la pile.
On peut également souder un autre fil au +3 Volt, et faire l'alimentation à partir de l'Arduino, ce qui permet de supprimer la pile. (non testé)

Commande par Arduino (précaution !!):
La télécommande est alimentée en 3 Volts, et si votre Arduino est en 5 Volts, vous risquez de cramer des composants!
Solution: intercaler un diviseur de tension entre Arduino et télécommande.
Détail: Le signal Arduino, par exemple, pin A0, est relié à une résistance de 4.7 K.
L'autre extrémité de la 4.7 K est reliée à une 10 K, dont l'autre bout est à la masse.
Le point commun aux 2 résistances est le point à relier à la télécommande.
Voir pour exemple ce schéma, qui utilise le même principe:
http://openenergymonitor.org/emon/sites/default/files/Cookbook_RFM12B_connections.png

Avec cette modif, l'Arduino se substitue à n télécommandes, ou mieux, peut s'enregistrer comme des télécommandes supplémentaires.

Post à suivre avec les sketchs de yoyolb modifiés.


clox

Complément:
Sur l'image CI detail, le trait bleu correspond à la piste à couper.
Les traits rouges correspondent à la coupure à réaliser (au cutter, par exemple).

clox

Voici les sketchs Arduino modifiés et validés.
Un grand merci à yoyolb pour le travail réalisé en amont.
Pour des raisons de simplicité, et disposant de 2 Arduino, l'un en émission, l'autre en réception, j'ai séparé en sketch émission et réception.

1 - Sketch Emission:
***************
J'ai modifié les lignes de calcul du checksum et de l'obfuscation, en m'alignant sur le prinicipe trouvé dans d'autres forums, tel que:
http://sourceforge.net/p/culfw/code/HEAD/tree/trunk/culfw/clib/somfy_rts.c
Merci à son auteur.
J'ai aussi ajouté l'affichage de plus d'infos, à différentes étapes du codage. A supprimer si besoin ...

Utilisation:
Mettre l'adresse de la télécommande à simuler dans les data 4,5 et 6
Mettre la valeur du rolling-code
Après chargement et lancement, utiliser la console pour passer les commandes:
m=montée, d=descente, s=stop/my, p=progr (équivaut à un appui long), q= prog bref.

Exemple:
Vous voulez affecter une télécommande via Arduino à un volet existant.
Définir l'adresse de cette nouvelle TC, par exemple ABCDEF --> remplir data 4,5 et 6 avec ces valeurs
Rolling code: on peut démarrer à 0 --> remplir rc = 0
Charger le sketch et ouvrir la console

Sur la TC existante pour ce volet, appui long sur prog --> le volet "gigote",
Dans la console, frapper p + Enter, ... le volet doit gigoter à nouveau pour indiquer qu'il a mémorisé la nouvelle adresse de télécommande.

2 - Sketch Réception
****************
J'ai ajouté l'affichage de plus d'infos, à différentes étapes du décodage.
Bien contrôler avec ce sketch les valeurs réellement envoyées aux volets.


Détail: Soigner la gestion du rolling code, car si votre Arduino redémarre, il doit être capable de retrouver le dernier rolling code utilisé, sinon le volet n'obéira pas. Une solution: utiliser l'EEPROM pour y stocker les rolling codes, et les retrouver après coupure.

AingTii

Hello,

sorry, for English.

I just searched an QUARTZ, Oszilator etc, that is used on the normal
low cost transmitters for Arduino boards.

It seems they use an SAW Resonator (R433).
I'm just send an email to a company who sales that to ask if I'm right an
how much it cost, after that I can try to change it in 433.42Mhz an hope it will
work also.

If I have further informations, I will give you...

Best Regards
AingTii

AingTii

Hi together,

I received the saw Resonators and replaced it.

And it works well.

So I could use the low Budget Transmitter with replaced SAW Resonator
to 433,42 Mhz.

best regards

AingTii

pierrotm777


Supermat

#66
Apr 08, 2015, 01:59 pm Last Edit: Apr 08, 2015, 02:02 pm by Supermat
Tout d'abord, merci, depuis le temps que je cherchais quelque chose comme ça, j'ai hâte de le tester. L'inter est commandé.

Petite subtilité :
Attention à bien acheter une une télécommande Smoove Origin (arrière rouge) et pas une une télécommande Smoove Origin IO (Arrière vert) qui n'a pas du tout la même électronique (De mémoire la IO est basé sur un atmel, comme l'arduino), j'ai pas acheté le bon.

emmaanuel

Hi AingTii,

Can you tell us where did you find your Saw resonator 433,42 Mhz ?
Thank you.

And congratulation to all the commiters of this work.

ludodoucet

Super un topic entièrement en français avec une tonne d'info, c'est reposant.

Je cherche un moyen de commander 17 volets avec un ou deux arduino (visiblement 2 dans vos tests), pour cela j'ai besoin de quelques informations.

A quel distance maximum peut on commander un volet avec les télécommandes proposé dans vos test (Smoove Origin, TELECOMMANDE SOMFY KEYTIS-NS-2-RTS)? j'ai besoin de commander depuis le tableau tout mes volets (300m²)

Avez vous obtenu quelque chose de stable depuis janvier, dernier message de clox.

Es ce que vos recherches ont évolué?

Et enfin avez vous tenté de faire du positionnement, via temps de descente/monté ou autre?

Je cherche à me passer d'une solution somfy clé en main, pour l'indépendance que j'en tirerai. Car je tiens a utiliser du KNX pour le reste de mon installation. Via notre chère OpenHab.


clox

Bonjour ludodoucet,
Mon système tourne depuis janvier sans aucun souci.
Rappel de ma config: Domoticz sur RaspBerry, connecté par Ethernet à différentes platines Arduino.

La platine Arduino affectée aux volets pilote un émetteur Somfy, modifié comme j'ai indiqué plus haut dans le post.
Cette platine est à l'étage d'une maison, avec 4 volets commandés, le plus éloigné étant à environ 12m.
La même platine commande les volets du RdC, la distance max étant d 'environ 15m. La dalle d'étage est en béton armé, ce qui n'est pas le mieux pour les transmissions radio, mais tout va bien en 433Mhz (alors qu'en WiFi c'est une autre paire de manches !!)..
Cette config me convient, et je ne pense pas la faire évoluer.
De plus, la stabilité de Domoticz est remarquable.

Je n'ai pas cherché à faire du positionnement à mi-course. Ce doit être faisable en envoyant un ordre Stop x secondes après l'ordre Up ou Down. A moins qu'on puisse le faire par programmation de la commande My ?

J'ai parlé d'une config à 2 Arduino, mais elle n'est utile qu'en phase de test. L'un des Arduino est l'émmetteur des commandes Somfy, et l'autre sert seulement à capter ces commandes pour controle. Ce deuxième Arduino sert aussi à capter les codes des télécommandes existantes.

A disposition pour plus d'infos.
Clox

ludodoucet

C'est cool, merci pour ta réponse clox, ça répond parfaitement aux infos que je cherchais.

En fin de compte tu envois des requêtes http pour la commande depuis domiticz (genre http://iparduino/volet1_monte)? et tu as configurer les adresses des volets dans l'arduino?

Je commence à un peu moins regretter le choix somfy lol.

AingTii

Sorry for english,

about the question, I ordert the SAW Resonators  in the Internet, the Problem is, you have
To order min 50 PCs. And they have deliverytime of 5 weeks after payment etc...

So if you like, I can sell some to you, I will just look what I paid to tell you the Price.
And maybe tell me by PN where I have to send it, so I will look for shipment.

Best Regards
AingTii

dmargal

Bonjour,

Merci beaucoup pour les grands postes,
en particulier pour la mise en œuvre du code de YOYOLB et CLOX Somfy télécommande comme un émetteur 433,42 MHz.

Je dois une télécommande très similaire, CLOX, pourriez-vous s'il vous plaît donner votre avis sur le schéma ci-joint et vérifier que je vais couper et de soudure dans les bons endroits.

Il serait également d'une grande aide si vous pouviez mettre un lien vers la fiche 5050850 de composant.

Merci encore,

clox

Bonjour dmargal,
La modification dessinée sur les photos me semble correcte.
Le circuit intégré 5050850 doit être un circuit propre à Somfy, on ne trouve pas sa fiche descriptive.
Bon courage.
Clox.

Artouste

Il serait également d'une grande aide si vous pouviez mettre un lien vers la fiche 5050850 de composant.
bonjour
vu le logo c'est certainement un marquage "client" d'un petit MCU microchip

Go Up