Les volets roulants installés au rez-de-chaussée de mon pavillon sont équipés de moteurs Somfy RTS. Autrement dit, ces moteurs ne peuvent être pilotés qu’en liaison radio propriétaire Somfy.
A la recherche d’une solution me permettant de piloter ces motorisations via mon installation domotique, je n’en ai trouvé aucune me permettant de récupérer la position du volet dès lors qu’il était commandé par les télécommandes d’origine.
En effet, la Zibase permet certes de simuler une télécommande, mais il est (pour l’instant ?) impossible de récupérer les ordres provenant d’autres télécommandes Somfy.
Ayant déjà « adapté » des solutions propriétaires à mes besoins, je me suis lancé dans la conception d’une interface bidirectionnelle entre ma box Z-Wave Home Center 2 de Fibaro et mes volets Somfy.
Note préalable : Les marques et noms cités dans cet article (Fibaro, Somfy, RTS, Z-Wave, …) appartiennent à leur propriétaires respectifs. Les modifications apportées à la télécommande Somfy seront réalisées sous votre propre responsabilité.
Le cahier des charges :
– Liaison bidirectionnelle : commander les volets depuis la box, et informer la box des ordres passés manuellement depuis la télécommande du volet.
– Dimension réduite : l’interface doit avoir un volume comparable à un module volet roulant Z-WAVE, afin de faire rentrer les 2 éléments dans une boite d’encastrement de 50mm de profondeur.
– Coût : unitaire inférieur à celui d’un module volet roulant, la somme totale pour 4 volets devant être inférieure à celui d’une Zibase 2 avec licence.
Le concept d’emploi :
De ce concept d’emploi, on voit que l’interface devra être connectée d’une part au module Z-Wave et d’autre part à une télécommande RTS (type Tellis).
Ce qui permet de définir les blocs fonctionnels suivants :
Cette interface sera isolée du 220V afin d’éviter tout risque de contact direct de la tension du secteur avec les boutons de la télécommande
Pour l’alimentation 220V->3.3V, j’utilise un module TracoPower qui délivre jusqu’à 4W (ce qui est largement plus que suffisant), dans un volume très réduit, en garantissant une protection contre les surtensions (isolation 3000V), et les court-circuits.
Pour l’interface opto-isolée d’entrée, j’utilise des TLP620 qui sont parfaits pour des tensions alternatives.
Pour l’interface opto-isolée de sortié, j’utilise des opto-triac MOC3063. Ces opto-triacs devraient normalement être couplés à des triacs de puissance pour commuter des charges importantes, mais ils peuvent largement être utilisés seuls pour commuter les entrées du module Z-WAVE.
Pour la logique de traitement, même si j’aurais pu utiliser micro-contrôleur très basique, mais j’ai préféré un ATMEGA 328 avec bootloader Arduino. Afin de limiter l’encombrement, j’ai choisi un Arduino Pro Mini développé par Sparkun et alimenté en 3.3V
Le modèle 3.3V est horlogé à 8Mhz, ce qui est amplement suffisant pour cette application.
Comme vous allez le voir ci-dessous, cela donne un schéma très simple réalisé avec la version freeware de EagleCad:
Si vous n’avez jamais utilisé Eagle, vous pouvez consulter l’Excellentissime tutorial de Sparkfun et plus particulièrement les chapitres 8 et 9.
Histoire de valider le concept, je suis passé par une étape de prototypage sur platine d’essai. Comme je l’expliquais récemment sur la communauté Google+ de Domotique Info, le passage par la platine d’essai permet de vérifier très vite si le concept tient la route 😉 Une espèce de méthode Agile appliquée au hardware …
Et quelques lignes de codes et fils connectés plus tard, ça donnait cela :
La logique du code est la suivante :
– Lecture des commandes en provenance de la box
- Dès qu’une commande est activée, démarrage d’un timer pour connaître la position du volet.
- Simulation d’un appui court sur le bouton correspondant de la télécommande, et application d’un état stable sur l’entrée correspondante du module Z-Wave
- A la fin du timer, si la commande n’a pas été intérrompue par la box, relachement de l’état stable sur l’entrée du module Z-Wave
- Si la commande a été intérrompue avant la montée ou descente totale, relachement de l’état stable avec mémorisation de la position pour adaptation du timer à la prochaine commande
- En cas d’interruption de commande Z-Wave, simulation de l’appui sur le bouton stop.
– Lecture des commandes en provenance de la télécommande
- A peu de choses près idem… mais dans l’autre direction : les boutons UP/STOP/DOWN activent les sorties O1/O2 en fonction du timer d’état.
Ce qui donne la première version du code est ci-dessous :
/* Interface Module ZWave <> télécommande Tellis / version 1.0 / Code sous licence Créative Commons – Attribution / Pas d’Utilisation Commerciale / Partage dans les Mêmes Conditions 3.0 non transposé / Nicolas FOVET – 27/09/2013 */ #include « SomfyZwave.h » #define OPENNING_TIMING 16 #define CLOSING_TIMING 16 #define PIN_O1 2 #define PIN_O2 3 #define PIN_S1 4 #define PIN_S2 5 #define PIN_TX_EN 13 #define PIN_MY 11 #define PIN_DW 10 #define PIN_UP 12 boolean O1_Status = false; boolean O2_Status = false; boolean previous_O1_Status = false; boolean previous_O2_Status = false; boolean RemoteCmdFlag = false; boolean LocalCmdFlag = false; boolean PinUpReset = true; boolean PinDwReset = true; boolean PinMyReset = true; status_t BlindStatus; status_t PreviousBlindStatus; unsigned long LastCmdUpdate; unsigned long TimingBiais; void setup() { pinMode(PIN_TX_EN, INPUT); pinMode(PIN_MY, INPUT); pinMode(PIN_DW, INPUT); pinMode(PIN_UP, INPUT); pinMode(PIN_O1, INPUT); pinMode(PIN_O2, INPUT); pinMode(PIN_S1, OUTPUT); pinMode(PIN_S2, OUTPUT); digitalWrite(PIN_S1, LOW); digitalWrite(PIN_S2, LOW); Serial.begin(115200); Serial.println(« Starting … »); } void loop() { unsigned long temp; O1_Status = digitalRead(PIN_O1); O2_Status = digitalRead(PIN_O2); if (previous_O1_Status != O1_Status) { Serial.print(« O1 Status : « ); Serial.println(((O1_Status == LOW) ? « ON » : « OFF »)); if (O1_Status == LOW) { RemoteCmdFlag = true; switch (BlindStatus) { case OPEN: Serial.println(« Already OPEN ! »); digitalWrite(PIN_S1, HIGH); digitalWrite(PIN_S2, LOW); delay(100); digitalWrite(PIN_S1, LOW); break; case CLOSE: BlindStatus = OPENNING; LastCmdUpdate = millis(); pinMode(PIN_TX_EN, OUTPUT); pinMode(PIN_UP, OUTPUT); digitalWrite(PIN_TX_EN, LOW); digitalWrite(PIN_UP, HIGH); delay(100); digitalWrite(PIN_UP, LOW); pinMode(PIN_TX_EN, INPUT); pinMode(PIN_UP, INPUT); break; case HALFWAY: BlindStatus = OPENNING; switch (PreviousBlindStatus) { case OPENNING: Serial.println(« Previous State : OPENNING »); LastCmdUpdate = millis() – TimingBiais; break; case CLOSING: Serial.println(« Previous State : CLOSING »); LastCmdUpdate = millis() – ((CLOSING_TIMING * 1000) – TimingBiais); break; } pinMode(PIN_TX_EN, OUTPUT); pinMode(PIN_UP, OUTPUT); digitalWrite(PIN_TX_EN, LOW); digitalWrite(PIN_UP, HIGH); delay(100); digitalWrite(PIN_UP, LOW); pinMode(PIN_TX_EN, INPUT); pinMode(PIN_UP, INPUT); break; } } else { RemoteCmdFlag = false; switch (BlindStatus) { case OPENNING: if ((millis() – LastCmdUpdate) > (OPENNING_TIMING * 1000)) BlindStatus = OPEN; else { PreviousBlindStatus = OPENNING; BlindStatus = HALFWAY; TimingBiais = (unsigned long) (millis() – LastCmdUpdate); Serial.print(« Stopped at « ); Serial.print(((TimingBiais * 100) / (OPENNING_TIMING * 1000)), DEC); Serial.println(« % »); if (!LocalCmdFlag) { pinMode(PIN_TX_EN, OUTPUT); pinMode(PIN_MY, OUTPUT); digitalWrite(PIN_TX_EN, LOW); digitalWrite(PIN_MY, HIGH); delay(100); digitalWrite(PIN_MY, LOW); pinMode(PIN_TX_EN, INPUT); pinMode(PIN_MY, INPUT); } else LocalCmdFlag = false; } break; } } DisplayBlindStatus(); } if (previous_O2_Status != O2_Status) { Serial.print(« O2 Status : « ); Serial.println(((O2_Status == LOW) ? « ON » : « OFF »)); if (O2_Status == LOW) { RemoteCmdFlag = true; switch (BlindStatus) { case CLOSE: Serial.println(« Already CLOSE ! »); digitalWrite(PIN_S1, LOW); digitalWrite(PIN_S2, HIGH); delay(100); digitalWrite(PIN_S2, LOW); break; case OPEN: BlindStatus = CLOSING; LastCmdUpdate = millis(); pinMode(PIN_TX_EN, OUTPUT); pinMode(PIN_DW, OUTPUT); digitalWrite(PIN_TX_EN, LOW); digitalWrite(PIN_DW, HIGH); delay(100); digitalWrite(PIN_DW, LOW); pinMode(PIN_TX_EN, INPUT); pinMode(PIN_DW, INPUT); break; case HALFWAY: BlindStatus = CLOSING; switch (PreviousBlindStatus) { case CLOSING: Serial.println(« Previous State : CLOSING »); LastCmdUpdate = millis() – TimingBiais; break; case OPENNING: Serial.println(« Previous State : OPENNING »); LastCmdUpdate = millis() – ((OPENNING_TIMING * 1000) – TimingBiais); break; } pinMode(PIN_TX_EN, OUTPUT); pinMode(PIN_DW, OUTPUT); digitalWrite(PIN_TX_EN, LOW); digitalWrite(PIN_DW, HIGH); delay(100); digitalWrite(PIN_DW, LOW); pinMode(PIN_TX_EN, INPUT); pinMode(PIN_DW, INPUT); break; } } else { RemoteCmdFlag = false; switch (BlindStatus) { case CLOSING: if ((millis() – LastCmdUpdate) > (CLOSING_TIMING * 1000)) BlindStatus = CLOSE; else { PreviousBlindStatus = CLOSING; BlindStatus = HALFWAY; TimingBiais = (unsigned long) (millis() – LastCmdUpdate); Serial.print(« Stopped at « ); Serial.print(((TimingBiais * 100) / (CLOSING_TIMING * 1000)), DEC); Serial.println(« % »); if (!LocalCmdFlag) { pinMode(PIN_TX_EN, OUTPUT); pinMode(PIN_MY, OUTPUT); digitalWrite(PIN_TX_EN, LOW); digitalWrite(PIN_MY, HIGH); delay(100); digitalWrite(PIN_MY, LOW); pinMode(PIN_TX_EN, INPUT); pinMode(PIN_MY, INPUT); } else LocalCmdFlag = false; } break; } } DisplayBlindStatus(); } Mngt_timings(); Mngt_LocalCmd(); previous_O1_Status = O1_Status; previous_O2_Status = O2_Status; delay(10); } void Mngt_LocalCmd() { if ((digitalRead(PIN_UP) == HIGH) && (PinUpReset)) { RemoteCmdFlag = false; PinUpReset = false; switch(BlindStatus) { case CLOSE: Serial.println(« UP ! »); BlindStatus = OPENNING; LastCmdUpdate = millis(); digitalWrite(PIN_S1, HIGH); digitalWrite(PIN_S2, LOW); break; case HALFWAY: Serial.println(« UP ! »); digitalWrite(PIN_S1, HIGH); digitalWrite(PIN_S2, LOW); break; } } else { PinUpReset = true; delay(20); } if ((digitalRead(PIN_DW) == HIGH) && (PinDwReset)) { RemoteCmdFlag = false; PinDwReset = false; switch(BlindStatus) { case OPEN: Serial.println(« DW ! »); BlindStatus = CLOSING; LastCmdUpdate = millis(); digitalWrite(PIN_S1, LOW); digitalWrite(PIN_S2, HIGH); break; case HALFWAY: Serial.println(« DW ! »); digitalWrite(PIN_S1, LOW); digitalWrite(PIN_S2, HIGH); break; } } else { PinDwReset = true; delay(20); } if ((digitalRead(PIN_MY) == HIGH) && (PinMyReset)) { PinMyReset = false; Serial.println(« STOP ! »); switch(BlindStatus) { case OPENNING: LocalCmdFlag = true; if (!RemoteCmdFlag) { digitalWrite(PIN_S1, LOW); digitalWrite(PIN_S2, LOW); } else { digitalWrite(PIN_S1, HIGH); digitalWrite(PIN_S2, LOW); delay(100); digitalWrite(PIN_S1, LOW); } break; case CLOSING: LocalCmdFlag = true; if (!RemoteCmdFlag) { digitalWrite(PIN_S1, LOW); digitalWrite(PIN_S2, LOW); } else { digitalWrite(PIN_S2, HIGH); digitalWrite(PIN_S1, LOW); delay(100); digitalWrite(PIN_S2, LOW); } break; } } else { PinMyReset = true; delay(20); } } void Mngt_timings() { switch (BlindStatus) { case OPENNING: if ((millis() – LastCmdUpdate) >= (OPENNING_TIMING * 1000)) { BlindStatus = OPEN; digitalWrite(PIN_S2, LOW); digitalWrite(PIN_S1, HIGH); delay(100); digitalWrite(PIN_S1, LOW); DisplayBlindStatus(); } break; case CLOSING: if ((millis() – LastCmdUpdate) >= (CLOSING_TIMING * 1000)) { BlindStatus = CLOSE; digitalWrite(PIN_S1, LOW); digitalWrite(PIN_S2, HIGH); delay(100); digitalWrite(PIN_S2, LOW); DisplayBlindStatus(); } break; } } void DisplayBlindStatus() { switch (BlindStatus) { case OPEN: Serial.println(« : OPEN »); break; case CLOSE: Serial.println(« : CLOSE »); break; case HALFWAY: Serial.println(« : HALFWAY »); break; case OPENNING: Serial.println(« : OPENNING »); break; case CLOSING: Serial.println(« : CLOSING »); break; }}
Une fois le concept validé, je suis passé à la conception du circuit imprimé.
De retour sur EagleCad, j’ai essayé de placer les composants de la façon la plus compacte possible, en restant compatible des exigences de mon fournisseur de PCB sur les écarts minimums entre les pistes/pastilles.
J’utilise les règles de design Sparkfun, qui sont un peu plus contraignantes mais limitent les mauvaises surprises lors des essais électriques du PCB.
Cette implantation est double face avec le module alimentation sur la face inférieure et les autres composants sur la face supérieure. Certaines résistances prennent place sous le module Arduino Pro Mini.
Comme la plupart des fournisseurs de PCB, le mien demande des fichiers au format Gerber. Heureusement, Sparkfun a développé un script permettant de réaliser l’exportation du PCB sous EagleCad vers des fichiers Gerber en 1 seul clic !
Vous pourrez trouver ce script ici.
Dix jours plus tard, réception des PCB et des composants :
Il ne reste qu’à souder les composants, charger le logiciel sur l’Arduino et … voilà !
Du côté de la télécommande Tellis, Le connecteur JST s’interface avec 6 fils soudés directement sur le PCB de la télécommande :
Les connexions à réaliser se trouvent indiquées ici :
Il s’agit ici d’une Tellis 4, mais les connexions sur une Tellis simple sont similaires.
Je peux maintenant contrôler mes volets Somfy depuis ma box domotique nativement puisque j’utilise une module ZWAVE, et continuer à utiliser les télécommandes posées en applique à cotés de chaque volet.
Ce montage nécessite un minimum de matériel et de connaissance électrique (risque 220V). Mais avec un peu d’attention, cela n’a rien de compliqué 😉
N’hésitez pas à me contacter pour toute question ! Je peux vous fournir la liste des composants, les fichiers Eagle et le code source Arduino, pour ceux qui voudraient essayer…
61 Comments
algeroth
Un mot…
Bravo !
Sébastien Joly
De la balle ! Master of do it yourself ! I want you !
Pascal STEPHANY
On a déjà hâte de voir tes prochaines réalisations 🙂
Pascal STEPHANY
@Sébastien Avec ça tu as la pression pour ton montage boite aux lettres 😉
Sébastien Joly
Oui c’est certain. « Domotiser » une BAL n’est pas une nouveauté non plus. D’ailleurs le FGBS-001 consomme plus que prévu (0,011A/h d’après mes estimations). Un polling à 600 secondes s’impose, sinon pas suffisamment d’autonomie pour 3 jours de gris.
Hervé
Encore un très beau travail Nicolas! Bravo!
Jim
Yes ! C’est du beau boulot 😉 mais quid du prix de revient ? Ex : J’ai 13 ouvrants somfy RTS 🙁 un budget conséquent non ?
Sébastien Joly
Si tu rachètes à Nico une PCB je pense qu’il avait annoncé une quarantaine d’euro de prix de revient global.
Krikroff
Vraiment, un très beau travail ! Bravo !
Peedjy
Un grand bravo pour cette réalisation et un tutoriel très détaillé.
Nicolas FOVET
Merci pour vos commentaires 😉
Pour le prix de revient, j’arrive à ~36€ de composants et PCB par interface pour mes 4 premiers exemplaires, sans spécialement chercher à optimiser les frais.
Pour une douzaine de modules, on doit pouvoir réduire à moins de 30€.
C’est le module alimentation qui impacte le plus ce coût (15€). Je pourrais le remplacer par une alimentation capacitive, qui ne couterait que 3~4€, mais en perdant l’isolation galvanique …
Idem pour l’Arduino, le passage à une version clone réduira son prix par 3 …
N’hésitez pas à m’indiquer vos questions pour que je complète le tutoriel si besoin.
Nico
Hello, bah je vais justement avoir le cas, mes 12 volets arrivent d’ici qques semaines. J’étais parti pour le faire avec la ZiBase en passerelle de HC2, mais du coup j’hésite beaucoup.
Question :
-Si on utilise une autre télécommande Somfy que celle relié au module, cela transmettra ? Je ne pense pas ? Donc cela veut dire que les télécommandes deviennent filaire, c’est bien ça ?
-Sinon, es tu prêt à commercialiser 12 modules… ?
Nicolas FOVET
@Nico : Oui, les télécommandes deviennent effectivement filaires … MAIS, comme les volets sont ensuite pilotables par la box domotique, les smartphones, tablettes, et autres télécommandes Zwave remplacent les télécommandes mobiles.
Clairement, mon interface n’a d’intêret qu’avec des moteurs Somfy RTS (c’est à dire avec le récepteur intégré au moteur). Pour une installation avec moteurs filaires (somfy ou pas) pilotés par des recepteurs RTS séparés, il vaut mieux remplacer le récepteur RTS directement par un module volet roulant Zwave seul.
Le reel intéret de cette interface est l’aspect bidirectionnel pour que la box soit informée des ordres passés localement sur la télécommande (devenue filaire).
Si cet aspect n’est pas considéré comme important, la meilleure solution pour une douzaine de volet restera la zibase.
Pour ce qui est de produire une douzaine d’exemplaires, il m’est impossible (ou plus exactement « interdit ») de commercialiser un produit fini à ce stade, car la réglementation européenne impose un certain nombre d’essais et d’analyses pour pouvoir mettre un produit sur le marché. (Marquage CE, règlement REACH, ROHS2 …)
Par contre, sous la forme d’un kit … ça pourrait être imaginable.
Sébastien Joly
Pour autant de VR peut-être que la passerelle zwave-RTS est un bon investissement ?http://www.automatedshadestore.com/shop/product-info.php?Somfy_Z-Wave_to_RTS_Interface_NEW-pid561.html
Nicolas FOVET
@Sebastien : non … il me semble que cette passerelle n’existe qu’en version US et incompatible avec les fréquences ZWAVE européennes.
En plus, c’est toujours unidirectionnel, donc autant prendre une Zibase qui sera 200€ moins chère …
Sébastien Joly
Ok, je ne savais pas qu’il n’existait pas de version EU.
Pascal STEPHANY
@Nico Tu peux associer plusieurs télécommandes RTS à tes motorisations et donc en laisser une sans démontage.
Pascal STEPHANY
@Sébastien je te confirme que Somfy n’utilise le Z-wave qu’aux US…
Nico
Oui Pascal, mais dans ce cas je perds le retour d’état non et on redevient unidirectionnel ? Et donc cela revient au même que de mettre la Zibase en passerelle. Du coup je vais rester sur ce que j’avais mis dans l’autre sujet je pense, Zibase en passerelle. Ma demande de devis arrive bientôt, j’ai pris un peu de retard sur cette partie car moins urgente (Il faut que je finisse mon chauffage pour avoir les crédits d’impôts avant fin d’année :)).
Pascal STEPHANY
On est bien d’accord que dans ce cas tu perd le bénéfice du bidirectionnel 😉 Autant rester sur une Zibase en gateway RTS…
Nicolas
Superbe boulot Nicolas 😉
Je viens de passer commande d’une HC2 et je serai très heureux de me débarrasser de ma zibase afin de commander mes 5 volets Somfy.
booby
cool superbe tuto 🙂
Fred
Hello,
Super intéressant comme post bravo Nico, ceci-dit, c’est pas plus simple et moins couteux de reverse-engineer le protocole RTS ? D’un point de vue légal, les lois européennes relatives à l’interopérabilité nous y autorise implicitement. Quid du prix de la radio 433,42Mhz en composant ? Moins de 10 euros chez Farnell, reste à voir s’il y a de la conversion numérique…
On perds une télécommande dans l’histoire, si nous ne l’avons pas, il faut bien évidemment l’acheter et ça à un coût.
Nico, sors l’oscillo 😉
Fred
Phil
Excellente idée Fred, casser ce protocole RTS ultra fermé serait un excellente chose, malheureusement certains semblent avoir tenté la manœuvre, sans succès pour l’instant.
Les ingénieur de Somfy se sont manifestement donné du mal pour nous pondre un protocole bien fermé, quelle déception…
Marbaf
Génial !
Je lis ce blog depuis quelques semaines mais je tombe seulement, par un chemin de traverse, sur ce super post.
Voilà un moyen de se passer de zibase pour commander le Soliris Mod/Var RTS de mes 4 BSO. J’ai pas tout compris et pas sûr que j’y arrive mais je vais creuser car l’idéal serait aussi de gérer l’inclinaison des lames via la molette pas à pas de la télécommande (Telis 4 à variation).
Merci beaucoup pour le partage de cette bidouille.
A+
Steven
@Nico
Plus je lis tes articles … plus je me dis que tu es complètement fou, mais dans le bon sens du terme 🙂
Aurais-tu une solution pour un ignare en électronique, propriétaire de 9 volets roulants et 4 BSO … en IO HomeControl ?.
Pour l’instant, j’ai acquis (40€) un télécommande Velux KLR 100 programmable. Cela me suffit pour gérer et automatiser tout mon système, mais je ne peux pas gérer cela de manière intelligente (luminosité, vent, température, …).
Dans tout les cas .. bravo pour ta réalisation.
Steven Piccand
@Nico => @Nicolas … désolé
Marbaf
Ouch IO… Plus qu’à prendre la box tahoma 😐
Sur les BSO, ça doit être comme pour le RTS, le récepteur IO est déporté (moteur J4 IO) donc tu dois pouvoir mettre un module (de préférence le FGRM-222 qui gère l’inclinaison des lames) entre le récepteur IO et le moteur. C’est ce que je pense faire, mais avant j’aimerais tester la bonne gestion du FGRM-222 et de toutes ces options. J’ai l’impression que seul le HC2 gère toutes les caractéristiques donc ça fait cher le test si ça marche pas. Enfin, si ok, il faut soigner l’intégration car tout se passe dans le carter en conditions extérieures…
Nicolas Fovet
@Steven, pas de pb pour Nico 😉 Merci pour le compliment ! 🙂
Comme le dit @Marbaf, IO-Homecontrol … Ouch ! … si la Tahoma avait un API, vu le nombre de volets/BSO ce serait une solution potentielle (mais Ouch! le tarif). Mais je n’ai pas vu d’API publiée à ce jour (pas trop cherché non plus).
Et la Zibase n’est pas compatible IO à ma connaissance
Reste la solution que j’utilise chez moi en faisant cette interface et qui pourrait s’adapter à toute télécommande quelque soit le nombre de boutons à stimuler. Par contre, cette télécommande est effectivement complexe et demandera pas mal de boulot …
Par contre, tu peux garder les automatisation récurrentes sur la télécommande et utiliser un KLF100 pour controler via ta box certaines actions ponctuelles (tout ouvrir, tout fermer). voir l’article de chez YoctoPuce qui peut donner une idée : http://www.yoctopuce.com/FR/article/controler-sa-maison-par-email
Mais attention toutefois, car IO et ZWAVE partage les même fréquences et le ZWAVE semble être perturbé par IO.
@Marbaf, je n’ai qu’une HC2 en box zwave donc pas possible de confirmer si toutes les possiblité offertes par la nouvelle version du module volet de Fibaro sont supportées par les autres box. Peut-être que @Pascal pourra en dire plus.
Steven Piccand
Lors de l’établissement du bon de commande à mon maître d’ouvrage, j’avais dis pas de IO mais du RTS .. résultat, j’ai du IO et le maître d’ouvrage est en liquidation 🙁
Je ne peux même pas me brancher sur le filaire de mes volets … l’électricien ne sait plus ou ils sont.
Pas grave, les volets fonctionnent parfaitement, je ne suis donc pas à plaindre.
La solution Velux KLF 100 et un éventuellement un Fibaro Universal Sensor me semble en effet être la solution … Merci Nicolas 🙂
(Par contre, cela donne la solution à 260€ pour commander tout ou rien.)
Oups, je viens de voir cela : « Prévoir une KLF 100 par famille de produits (fenêtre, volet roulant, store…) ». Donc dans mon cas, pour tout fermer (BSO et VR), c’est 520€ … arggggg.
La box de Somfy est à ~500€ mais leurs ouverture sur le monde extérieur étant de … hummm … environ … humm … 0% je n’aurais aucun moyen d’interfacer la Tahoma avec du Z-wave (ou avec n’importe quoi d’autre).
Bon, ben .. c’est pas pour tout de suite 🙂
Steven Piccand
Et j’ai oublié … jamais je ne serais capable de réaliser ton montage avec les télécommandes. Je connais mes limites et en matière d’électronique, elles sont bien en deçà de ce genre de réalisation 🙂
PhilBri
Bonjour,
je serais vraiment très intéressé par ce superbe montage (bravo au passage !)…
Toutefois, je pense que l’on pourrais utiliser ,plus facilement encore, le GPIO d’un raspberry pi !!!
Aurais tu des infos sur les tensions, brochages, etc.. du JST ? voire de tout ce qui pourrais m’être utile ?
(obligé de câbler les boutons ? le JST ne suffit pas ?)
Merci encore de tes réponses et @+,
steve
Bonjour, merci pour votre travail
J’ai une télécommande avec 16 canaux pour divers volets,est ce que cela fonctionne aussi?
Merci d’avance
STEVE
Nicolas FOVET
Bonjour PhilBri,
Merci 😉
Plus simple avec une Rpi ? non pas plus simple. Et ce sera toujours plus couteux qu’un Duino pro mini à quelques euros.
Quand au JST, je ne suis pas sûr de comprendre la question ? Ce connecteur JST n’existe pas d’origine, c’est moi qui l’ai ajouté afin de pouvoir déconnecter les télécommande en cas de besoin. Donc oui, il faut cabler les poussoirs pour piloter la télécommande.
Nicolas FOVET
Bonjour Steve,
Merci 😉
Le montage devra être modifié pour gérer une Telis 16 ou une Chronis. C’est totalement faisable , mais il faudra toujours un FGRM222 par volet.
FOVET DANIEL
Je viens de découvrir ce blog et ton travail.
Je suis fier de toi.
Bravo, continue.
Nicolas FOVET
Merci papa 😉
Sébastien Joly
C’est cool ça.
Pascal STEPHANY
C’est sympa de voir voir le papa féliciter le fiston 🙂 Et vous pouvez en être fier car le #SBS c’est encore lui… http://domotique-info.fr/domotique/smart-board-sensors-sbs/
Olivier
Bravo Nicolas super tuto !!
Perso je suis entre deux chaises !
Ma maison possède 23 stores !!! Somfy RTS et une Chronis pour gérer les scénarios de toute la maison chaque pièce à sa télécommande 4 canaux
Si je comprends bien je devrai supprimer les RTS et tout passer sur la HC2 afin de gérer au mieux les stores ( lamelles ) et peut être prévoir un ou deux interrupteur zwave par étage pour créer différents senarios avec une deux trois impulsions … Ou trouver un type capable de hacker le code RTS ! Hi hi !!
A quand la gestion du RTS par fibaro !
cathy
Bonjour
Bon hormis que ca a l air super compliqué, es ce que ce système pourrait s’adapter a mon portail coulissant équipé d un moteur SOMFY Freevia 600 svp?
Merci d’avance
bonne journée
Nicolas Fovet
Bonjour Cathy,
Pas très simple … oui. Super compliqué … pas vraiment. 😉
Oui, cette interface « pourrait » s’adapter pour piloter n’importe quel équipement SOMFY utilisant une télécommande RTS. Il n’y aurait que du logiciel à modifier.
Mais j’ai également une interface réellement dédiée au pilotage de motorisation Somfy qui fera l’objet d’un autre article prochainement 🙂
Bonne journée.
cath
merci de votre réponse… je vais guetter le prochain article alors… parce que la je me sens un peu bête avec mon choix de motorisation non compatible avec ma home center lite lol
superkikim
@Nico
J’arrive un peu tard mais pour 12 stores, tu peux prendre trois Telis 4, et donc faire trois modules filaires. Chaque Telis 4 à 5 canaux (et non pas 4). Avec trois Telis 4, tu as 15 combinaisons possibles. De quoi faire pas mal de scénarios.
@Nicolas
Tu ne fais pas de différence entre Telis 4 et Telis 1. On doit pouvoir envisager d’ajouter un contact sur le circuit pour contrôler et récupérer l’état du canal sélectionné non ? Dès lors, on pourrait par z-wave, contrôler 5 scénarios différents sur une seul Telis. Je suis une bille en électronique, mais de ce que je comprends avec ton article et tes schémas, c’est que ça ne serait pas sorcier à implémenter.
Quant à récupérer l’état de sélection, il suffirait de récupérer l’impulsion envoyée aux leds, qui indique le canal sélectionné.
bouli81
Bonjour,
Très intéressant tout cela. J’ai moi même 5 VR Budendorff sans fil, et je souhaiterais les commander via ma box domotique (zipabox). Est ‘il possible de faire le même type d’interface? Pensez vous que cela est possible?
Merci pour ce très bel articlke
Fred
Bonjour à tous,
Depuis mon dernier post ma frustration de ne pouvoir commander mes volets Bu*****rff RF depuis ma centrale domotique sans passer par un hack de télécommande s’est accru, au point d’acheter un USRP B210 à 1000 euros…
J’ai pris pas mal de compétence en électronique et en radio, dans le but final de reverse engineer le protocol et casser le rolling code.
Je suis bloqué au stade de la démodulation… Les fréquences ont été repérés et la modulation est identifiée à 99%.
Si une âme charitable souhaite participer à ce projet, qu’elle me prévienne 😉
Merci
Gonin
Bonjour Nicolas,
Je suis preneur d’une quinzaine de kits pour début janvier. Somfy a équipé la moitié de l’hexagone avec son RTS. Il reste la référence en matière de volet roulant. Le reste de sa domotique n’est pas à la hauteur…
jonath
bonjour, tot d’abord bravo.
pour le RTS il y a le dernier RFXcom qui gere ça trés bien :
http://www.rfxcom.com/Documents/RFXtrx%20User%20Guide%20-%20FR.pdf
Par contre pour le IO c’est top.
Nicolas je voulais savoir si mon projet est réalisable
en utilisant 3 relais sans fils :
http://www.ouverture-fine.com/469-relais-sans-fil-433-mhz-12v.html
et en les reliant au trois touche d’une télécommande IO est-ce possible ?
chaque relais ferait un ON/off d’une seconde pour activé soit la remonté soit la descente sois la position milieu ?
Merci
Nicolas FOVET
bonjour Jonath, et merci 😉
Oui, c’est également une solution tout à fait réalisable.
jonat
OK.. c’est cool.
car pour 30€ le tour est joué.
Pite
Bonjour Nicolas,
J’ai des volets roulants Somfy RTS, avec telecommande carré Smoove.
Je voudrai les domotiser via un box Home Center Lite. Est ce que votre solution pourrait convenir avec cette telecommande et cette box ?
Si oui pourriez vous me communiquer le materiel à commander et tout ce qu’il faut faire à côté?
Je vous remercie bien.
Pite.
?? ??
PS : Superbe travail en passant, je suis fan 🙂
Garcia
Salut Nicolas, je souhaite realiser ton interface.
Peux tu m,envoyer tes fichiers necessaire absa realisation?
As tu une liste du materiel necsessaire?
Merci de ta reponse.
Doudoubidou
Bon ok … J’ai pas compté l’interface 😉
Deshu
Nicolas, Je suis SUPER intéressé par les plans, la liste des composants, etc… pour essayer moi même !
Quel est le prix approximatif de cette fabrication ?
Peux tu m’envoyer tout ça sur mon email ?
Nicolas Fovet
Wilfrid, je t’envoie tous les éléments ce soir ou demain.
Pour ce qui est du coût de réalisation, c’est de l’ordre d’une dizaine d’euros pour un lot de pcb et environ 25€ de composants par module (l’arduino et l’alim étant les plus dimensionnants).
Deshu
Merci !
Entre temps j’ai un peu cherché et je suis tombé sur le RFXCOM qui semble également faire l’affaire…
Mais pour 3/4 fois plus cher…
Je suis vraiment newbie dans ce domaine et en ce moment j’hésite encore sur les technologies pour ma future box… Synology et pulstation ? eedomus ? jeedom ? fibaro… Puis-fe récupérer mon anciene alarme DSC 51xx 433 ? Je vais un peu plus fouiller sur ton blog… Si tu as des ressources pour débutant à me conseiller n’hésites pas me les envoyer également !
Laurent LC
Bonjour, je suis aussi très intéressé par les informations. J’ai 4 volets, une Tellis 4, une HC2. Et j’ai l’obligation d’interfacer via Jeedom pour le rfxcom. Merci de m’envoyer les infos, et excellente année 2016 🙂
Seran
Chapeau!!!!!!
ALLUYN Laurent
Bonjour,
Ce post semble été un peu mais est il possible de commander le PCB et les composants ? Ayant une récente HC2 et es volets Somfy RTS, je suis très intéressé.
Merci
Alxlax
Bonjour,
Très intéréssant!
De mon côté, j’ai une télécommande Smoove RTS et je suis en train de tenter d’émuleur une télécommande virtuelle avec un émetteur radio 433.42Mz depuis un raspberry pour commander mon volet Somfy.
Avez-vous déjà tenté quelque chose de similaire?
Merci