# [Tuto][homebridge][RFXtrx433XL] contrôle de volets roulants Somfy RTS



## totoguile (2 Juin 2020)

Bonjour,

Suite à l'excellent article de Nicolas https://clubigen.fr/igen/article/114979 , je me suis lancé dans la domotique.
Premier tuto : piloter ses volets roulants Somfy RTS (433MHz) avec un Raspberry Pi + un module de chez RFXcom.

Matériel:

un raspberry avec une image homebridge (cf. l'article de nicolas)
un PC sous windows (ou windows + bootcamp)
un module RFXtrx433XL https://www.amazon.fr/dp/B07HQYXCV5/ref=cm_sw_r_tw_dp_U_x_Q-K1EbJM3GBBJ

La première blague dans cette configuration, c'est qu'il faut appairer ses volets avec le module radio, et seule l'application Windows est disponible pour cela (il y a une autre solution mais j'en parlerai à la fin).
En effet, la configuration n'est pas dynamique, ou via un fichier de conf, mais enregistrée en dur dans le module RFXtrx433XL. Il faut donc faire l'appairage une première fois avec l'appli RFXmngr.exe sous Windows, puis connecter ensuite l'appareil sur le Raspberry.

Le meilleur tuto pour l'appairage des volets se trouve ici : https://blog.domadoo.fr/guides/appairer-volet-roulant-somfy-rfxcom-rfxtrx433e/
- il faut envoyer la commande "Program" avec un ID différent par volet

dans mon cas, j'ai 5 volets associés avec entre parenthèses les pièces correspondantes

ID
C B9 01 (Chambre principale)
C B9 02 (Salon)
C B9 03 (Cuisine)
C B9 04 (Chambre filles)
C B9 05 (Chambre garçon)

Une fois l'appairage et l'attribution des ID par volet effectuée, on passe au Raspberry.

- via SSH (ssh pi@<ip address> , password "raspberry" par défaut), on se connecte au Raspberry.

- il faut créer le fichier /etc/udev/rules.d/99-usb-serial.rules avec ceci dedans :

```
SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ENV{ID_MODEL}=="RFXtrx433XL", SYMLINK+="ttyUSBRFX"
```

C'est pour créer un alias ttyUSBRFX fixe quelque soit le nombre de modules que vous connectez au raspberry. En effet, l'attribution des TTYusb peut tourner, et on peut se retrouver avec un RFXtrx433xl disponible sur le ttyusb0 à un moment, puis après un reboot ou déconnexion / reconnexion sur le ttyusb1. Bref, on "fige" le ttyUSBRFX au module.
Pour la prise ne compte, un reboot est la solution la plus simple.

Ensuite, on passe à la configuration homebridge.
dans la page plugin, faites une recherche sur rfx et installez le plugin Homebridge-rfx-shutter.






Ensuite, dans la partie config, il faut ajouter vos volets à la main : attenton aux virgules en fin de lignes, sauf pour les lignes finales de bloc.

Voici ma configuration :


```
"accessories": [
        {
            "accessory": "HomebridgeRfxShutter",
            "tty": "/dev/ttyUSBRFX",
            "name": "Volet Chambre Parents",
            "deviceId": "0xCB901/1",
            "openSeconds": 20,
            "closeSeconds": 20
        },
        {
            "accessory": "HomebridgeRfxShutter",
            "tty": "/dev/ttyUSBRFX",
            "name": "Volet Salon",
            "deviceId": "0xCB902/1",
            "openSeconds": 20,
            "closeSeconds": 20
        },
        {
            "accessory": "HomebridgeRfxShutter",
            "tty": "/dev/ttyUSBRFX",
            "name": "Volet Cuisine",
            "deviceId": "0xCB903/1",
            "openSeconds": 20,
            "closeSeconds": 20
        },
        {
            "accessory": "HomebridgeRfxShutter",
            "tty": "/dev/ttyUSBRFX",
            "name": "Volet Chambre Girls",
            "deviceId": "0xCB904/1",
            "openSeconds": 20,
            "closeSeconds": 20
        },
        {
            "accessory": "HomebridgeRfxShutter",
            "tty": "/dev/ttyUSBRFX",
            "name": "Volet Chambre Boy",
            "deviceId": "0xCB905/1",
            "openSeconds": 20,
            "closeSeconds": 20
        }
    ],
```

Les openSeconds et closeSeconds sont à 20 par défaut, mais honnêtement ca ne sert à rien.
Ce qu'il faut avoir c'est que de toute façon, le protocole RTS est sans retour d'état, donc en gros vous pourrez juste envoyer des commandes pour ouvrir ou fermer complètement les volets.

Une fois cette configuration saisie, enregistrez là et redémarrez homebridge.
Si tout va bien, vous verrez dans les logs ceci:

```
[6/2/2020, 15:36:08] [Volet Chambre Boy] Found device 0x0CB901/1
[6/2/2020, 15:36:08] [Volet Chambre Boy] Found device 0x0CBç02/1
[6/2/2020, 15:36:08] [Volet Chambre Boy] Found device 0x0CB903/1
[6/2/2020, 15:36:08] [Volet Chambre Boy] Found device 0x0CB904/1
[6/2/2020, 15:36:08] [Volet Chambre Boy] Found device 0x0CB905/1
```

Si vous ne voyez pas ces lignes, ... redémarrez encore homebridge !
Car oui, le plugin n'est pas fiable et le reinit est très ch...t !

Maintenant, il faut 'initialiser' une première fois les volets en cliquant 1 fois sur chaque icône dans la page accessoire




Voilà, vos volets sont dispo maintenant dans l'app Maison et vous pouvez  jouer avec !

Pour revenir au début de l'article, il existe une plateforme domotique qui permet de faire la programmation de ses volets sans passer par windows, c'est Jeedom.
Je n'ai pas essayé , mais vu la stabilité du module homebridge-rfx-shutter, je ne pense pas rester sur une image homebridge simple.


----------



## Nathan.28 (8 Juin 2020)

Bonjour,

Avez-vous une idée de la portée du signal en 433Mhz ? Équivalent à une télécommande somfy ou supérieur ?


----------



## totoguile (8 Juin 2020)

Aucune idée, mais je dirai équivalent voir un peu supérieur, du fait de l’utilisation d’une antenne externe


----------



## Nathan.28 (8 Juin 2020)

totoguile a dit:


> Aucune idée, mais je dirai équivalent voir un peu supérieur, du fait de l’utilisation d’une antenne externe



Merci pour la réponse, dernière question :

Pourquoi à la fin vous dites <vu la stabilité> ?


----------



## totoguile (8 Juin 2020)

Globalement ce plugin a un défaut par rapport à l'architecture logicielle : il fonctionne très bien si vous n'avez qu'un seul volet, mais si vous en avez plusieurs, comme il est déclaré en accessory et non pas en platform, il initialise le RFXtrx433XL à chaque accessoire, et rempli le buffer.
Il y a un autre plugin homebridge-rfxcom qui n'est malheureusement plus maintenu et qui ne peut plus s'installer (enfin il faut bcp de travail pour le refaire fonctionner). Celui-ci est très stable... mais il ne configure pas les volets en "volets" mais en interrupteur et genère donc 3 interrupteurs par volet (up/down/stop).

J'hesite à me lancer dans le "merge" de ces 2 plugin pour en créer un qui soit correct ... ou migrer de plateforme et passer à openHab par exemple.


----------



## Nathan.28 (8 Juin 2020)

totoguile a dit:


> Globalement ce plugin a un défaut par rapport à l'architecture logicielle : il fonctionne très bien si vous n'avez qu'un seul volet, mais si vous en avez plusieurs, comme il est déclaré en accessory et non pas en platform, il initialise le RFXtrx433XL à chaque accessoire, et rempli le buffer.
> Il y a un autre plugin homebridge-rfxcom qui n'est malheureusement plus maintenu et qui ne peut plus s'installer (enfin il faut bcp de travail pour le refaire fonctionner). Celui-ci est très stable... mais il ne configure pas les volets en "volets" mais en interrupteur et genère donc 3 interrupteurs par volet (up/down/stop).
> 
> J'hesite à me lancer dans le "merge" de ces 2 plugin pour en créer un qui soit correct ... ou migrer de plateforme et passer à openHab par exemple.


 
Si il initialise le RFXtrx433XL il est impossible d'ouvrir ou de fermer simultanément tout les volet ?


----------



## totoguile (8 Juin 2020)

non le problème est plus sournois: au redémarrage du process homebridge, les plugins sont initialisés et il arrive très fréquemment que le plugin RFX soit mal initialisé : dans ce cas, homebridge ne genère pas d'erreur, mais il est impossible de piloter ses volets.


----------



## totoguile (9 Juin 2020)

Hier, j'ai pu tester très rapidement home-automation.io et openHAB:

les 2 gèrent les volets
openHAB me semblait plus propre mais assez complexe à paramétrer
la gestion par contre de l'OS laisse à désirer sérieusement, les packet .deb sont hébergés sur un site non signé !
home-automation a une configuration assez clean
par contre pas possible de programmer le RFXtrx433XL depuis l'interface (il faut passer par windows et le rfxmgnr.exe) là aussi
j'ai des commandes qui sont "inversés" pour certains volets sur Home automation...

je vais creuser un peu plus la piste openHAB je pense, pour avoir une installation clean, à jour et supportant à la fois le RFXtrx433XL mais aussi mon raspbee 2 (zigbee hub).


----------



## totoguile (11 Juin 2020)

Finalement, vu que le protocole RTS est monodirectionnel, je pense que l'approche "bouton" est plus approprié.
De plus, ca permet de binder un bouton logique à un bouton physique.
Du coup, j'ai forké homebridge-rfxcom pour mettre à jour les dépendances afin de pouvoir le compiler et permettre l'usage à chacun.


----------



## totoguile (12 Juin 2020)

Voici la conf correspondante avec le plugin Rfxcom2


```
{
            "platform": "RFXCom",
            "name": "RFXCom",
            "rfyRemotes": [
                {
                    "name": "volet parents",
                    "deviceID": "0x0CB901/1",
                    "openCloseSeconds": 18
                },
                {
                    "name": "volet Sejour",
                    "deviceID": "0x0CB902/1",
                    "openCloseSeconds": 18
                },
                {
                    "name": "volet cuisine",
                    "deviceID": "0x0CB903/1",
                    "openCloseSeconds": 18
                },
                {
                    "name": "volet Girls",
                    "deviceID": "0x0CB904/1",
                    "openCloseSeconds": 18
                },
                {
                    "name": "volet Boy",
                    "deviceID": "0x0CB905/1",
                    "openCloseSeconds": 18
                }
            ]
        }
```

Cela va créer 3 boutons par volet comme ceci :






Ensuite, il est possible d'attacher ces boutons à des boutons physique: par exemple, avec la télécommande Philips Hue à 4 boutons, on peut remplacer l'interrupteur et la télécommande de la pièce par ce dernier en appliquant un conf du type :


```
bouton 1 appui court -> Volet Stop
bouton 1 appui long -> Volet Up
bouton 2 appui court -> lumière ON
bouton 3 appui court -> lumière OFF
bouton 4 appui court -> Volet Stop
bouton 4 appui long -> Volet Down
```


----------



## Nathan.28 (12 Juin 2020)

Je ne trouve pas le fork ni sur homebridge, ni sur npm


----------



## totoguile (12 Juin 2020)

homebridge-rfxcom2
					

Homebridge plugin for RFXtrx433(E) transceivers.. Latest version: 1.0.5, last published: 3 years ago. Start using homebridge-rfxcom2 in your project by running `npm i homebridge-rfxcom2`. There are no other projects in the npm registry using homebridge-rfxcom2.




					www.npmjs.com


----------



## Nathan.28 (12 Juin 2020)

Merci


----------



## totoguile (12 Juin 2020)

Tiens-moi au courant !


----------



## Nathan.28 (12 Juin 2020)

totoguile a dit:


> Tiens-moi au courant !


 
J'ai pas encore commandé l'antenne


----------



## totoguile (12 Juin 2020)

J'essaie d'ajouter un script "program" et "erase" pour pouvoir se passer de l'appli windows pour la configuration du RFXtrx433XL mais c'est un echec (et je ne sais pas programmer en node js donc c'est des copy/paste ...)


----------



## matthieudu06 (12 Août 2020)

Hello @totoguile trop cool d'avoir repris le plugin rfxcom qui était abandonné !

De mon côté je suis en grosse galère depuis des mois, j'ai tout tenté en vain.

J'ai à ma dispo :

2 volets A-OK AC114 (sur le logiciel windows c'est Blinds1 puis T3)
2 volets ASP (sur Windows c'est Blinds1 puis T11)

J'ai essayé tous les plugins homebridge en vain, j'ai l'impression que la plus part des plugins ne gèrent que les Somfy (télécommandes Rfy dans le logiciel).

J'ai aussi utilisé Jeedom, le plugin est très bien fait et fonctionne avec mes volets A-OK mais pas les ASP. Il détecte les ASP mais ne trouve pas la sous catégorie T11 et donc ça plante.

*De ton côté, tu sais si ton plugin rfxcom gère les autres types de commandes que les Somfy ? Est ce qu'il gère tous les types de commande pris en charge par le vfxcom manager ?*

Merci pour ta réponse, j'espère trouver une solution haha. À ta dispo pour des tests si besoin


----------



## totoguile (14 Août 2020)

Bonjour @matthieudu06 , malheureusement le plugin ne gère que les volets RTS.
Essaie peut-etre du côté de openHAB pour ton cas (c'est bien velu côté configuration mais ca fait le job)


----------



## matthieudu06 (14 Août 2020)

Merci pour ta réponse @totoguile  Aller sur open hab et remettre HomeKit par derrière etc semble complexe...

Tu as essayé ce plugin : https://github.com/DaGolle/homebridge-rfxtrx ?

On dirait qu'il gère tous les types de volets mais il y a une erreur dans le code et le plugin n'est plus tenu à jour. L'erreur a l'air simple, voilà ce que j'ai :

TypeError: rfxcom[type] is not a constructor
    at RFXtrxPlatform.getTransmitter (/usr/local/lib/node_modules/homebridge-rfxtrx/lib/RFXtrxPlatform.js:89:10)
    at new WindowCovering (/usr/local/lib/node_modules/homebridge-rfxtrx/lib/WindowCovering.js:11:36)
    at RFXtrxPlatform.<anonymous> (/usr/local/lib/node_modules/homebridge-rfxtrx/lib/RFXtrxPlatform.js:19:63)
    at Array.forEach (<anonymous>)
    at new RFXtrxPlatform (/usr/local/lib/node_modules/homebridge-rfxtrx/lib/RFXtrxPlatform.js:18:31)
    at /usr/local/lib/node_modules/homebridge/src/server.ts:397:40
    at Array.forEach (<anonymous>)
    at Server.loadPlatforms (/usr/local/lib/node_modules/homebridge/src/server.ts:374:27)
    at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:153:29)
    at cli (/usr/local/lib/node_modules/homebridge/src/cli.ts:80:10)


Qu'en penses tu ?


----------



## totoguile (14 Août 2020)

c'est une erreur à la compilation ou le plugin s'installe bien et c'est la conf ?


----------



## totoguile (14 Août 2020)

Ah, je crois me souvenir qu'il faut configurer une section "outlet" vide: ajoute ca à ta conf :

"outlets": [
    {}
]


----------



## matthieudu06 (14 Août 2020)

Le plugin s'installe bien et après la conf j'ai cette erreur. Normalement j'ai bien suivi la config...

Voici la config

   "platforms": [
        {
            "platform": "RFXtrx",
            "name": "RFXtrx433E",
            "manufacturer": "RFXCOM",
            "model": "RFXtrx433E USB 433MHz Transceiver",
            "serialNumber": "12345",
            "usbPort": "/dev/ttyUSB0",
            "windowCoverings": [
                {
                    "name": "Volet chambre",
                    "manufacturer": "ASP",
                    "model": "ASP",
                    "serialNumber": "rfxcurtain1",
                    "type": "BLINDS1",
                    "subtype": "ASP",
                    "deviceID": "003637",
                    "orientation": "horizontal",
                    "duration": 400
                },
                {
                    "name": "Volet mezzanine",
                    "manufacturer": "AOK",
                    "model": "AOK",
                    "serialNumber": "rfxcurtain1",
                    "type": "BLINDS1",
                    "subtype": "A-OK AC113",
                    "deviceID": "04A6F8/1",
                    "orientation": "horizontal",
                    "duration": 400
                },


----------



## totoguile (14 Août 2020)

```
"platforms": [
{
"platform": "RFXtrx",
"name": "RFXtrx433E",
"manufacturer": "RFXCOM",
"model": "RFXtrx433E USB 433MHz Transceiver",
"serialNumber": "12345",
"usbPort": "/dev/ttyUSB0",
"windowCoverings": [
{
"name": "Volet chambre",
"manufacturer": "ASP",
"model": "ASP",
"serialNumber": "rfxcurtain1",
"type": "BLINDS1",
"subtype": "ASP",
"deviceID": "003637",
"orientation": "horizontal",
"duration": 400
},
{
"name": "Volet mezzanine",
"manufacturer": "AOK",
"model": "AOK",
"serialNumber": "rfxcurtain1",
"type": "BLINDS1",
"subtype": "A-OK AC113",
"deviceID": "04A6F8/1",
"orientation": "horizontal",
"duration": 400
},
],
"outlets": [
{}
]
```
Et comme ca ca donne quoi ?


----------



## matthieudu06 (14 Août 2020)

Même erreur...


----------



## totoguile (14 Août 2020)

Ca dépasse mes compétences :/
Regarde éventuellement https://github.com/rfxcom/node-rfxcom pour vérifier que tu utilises bien les bon "model id" et "subtype".
Les serialNumber sont identiques dans ton exemple: est-ce normal ?


----------



## totoguile (14 Août 2020)

```
"platforms": [
{
"platform": "RFXtrx",
"name": "RFXtrx433E",
"manufacturer": "RFXCOM",
"model": "RFXtrx433E USB 433MHz Transceiver",
"serialNumber": "12345",
"usbPort": "/dev/ttyUSB0",
"windowCoverings": [
{
"name": "Volet chambre",
"manufacturer": "ASP",
"model": "ASP",
"serialNumber": "rfxcurtain1",
"type": "Blinds1",
"subtype": "BLINDS_T3",
"deviceID": "003637",
"orientation": "horizontal",
"duration": 400
},
{
"name": "Volet mezzanine",
"manufacturer": "AOK",
"model": "AOK",
"serialNumber": "rfxcurtain1",
"type": "Blinds1",
"subtype": "BLINDS_T11",
"deviceID": "04A6F8/1",
"orientation": "horizontal",
"duration": 400
},
],
"outlets": [
{}
]
```
essaie avec ce changement de type (minuscules) et subtype
fait aussi attention à tes deviceID (ca doit pas commencer par 0x et finir par un /1 ?)


----------



## matthieudu06 (15 Août 2020)

J'ai testé tout ce que tu m'as proposé malheureusement l'erreur change pas.

Pour les devicesID : 0x je sais pas, j'ai essayé avec ça n'a pas changé.
Les /1 c'est le numéro de l'unité mais les modèles ASP n'ont pas de numéro d'unité (le setting n'est pas affiché dans l'UX du soft windows donc je ne sais pas quoi mettre...)

J'ai testé avec des serial number différents même chose. Normalement c'est juste pour l'afficher dans HomeKit ce truc...


Je sais pas quoi faire... Ça a l'air d'être une erreur dans le code, si je mets n'importe quoi en subtype il me précise que c'est le subtype qui n'est pas valide.


----------



## matthieudu06 (15 Août 2020)

Voici ce que j'ai trouvé sur cette erreur : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Not_a_constructor


----------



## matthieudu06 (15 Août 2020)

My bad, en passant de BLINDS1 à Blinds1 j'ai une erreur de subtype qui apparait. 

Mais ça marche pas avec tous ces subtype :

ASP
BLINDS_T3
blinds_T3
Blinds_T3

Par contre si je fais BLINDS_T6 (exactement comme dans la config par défaut du plugin) j'ai une autre erreur :

TypeError: Cannot read property 'toLowerCase' of undefined
    at RFXtrxPlatform.getTransmitter (/usr/local/lib/node_modules/homebridge-rfxtrx/lib/RFXtrxPlatform.js:89:52)
    at new Outlet (/usr/local/lib/node_modules/homebridge-rfxtrx/lib/Outlet.js:9:36)
    at RFXtrxPlatform.<anonymous> (/usr/local/lib/node_modules/homebridge-rfxtrx/lib/RFXtrxPlatform.js:25:47)
    at Array.forEach (<anonymous>)
    at new RFXtrxPlatform (/usr/local/lib/node_modules/homebridge-rfxtrx/lib/RFXtrxPlatform.js:24:23)
    at /usr/local/lib/node_modules/homebridge/src/server.ts:397:40
    at Array.forEach (<anonymous>)
    at Server.loadPlatforms (/usr/local/lib/node_modules/homebridge/src/server.ts:374:27)
    at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:153:29)
    at cli (/usr/local/lib/node_modules/homebridge/src/cli.ts:80:10)


----------



## totoguile (16 Août 2020)

il faudrait que tu postes sur le github du développeur https://github.com/DaGolle/homebridge-rfxtrx
Là je sèche


----------



## matthieudu06 (17 Août 2020)

C’est ce que je vais faire. Merci pour ton aide !


----------



## Lebazfive (12 Octobre 2020)

Merci @totoguile pour ce tuto qui parait parfait pour mon installation (volets Simu Radio).

Je suis équipé d'un raspberry avec hoobs dessus. Il ne me manque que l'antenne RTS, mais elle semble en rupture de stock partout. Connais-tu une antenne similaire ?

Merci,


----------



## totoguile (12 Octobre 2020)

salut, malheureusement je ne connais pas de plan B.
https://www.planete-domotique.com/e...mhz-avec-support-somfy-version-xl-rfxcom.html a priori toujours dispo ici...


----------



## Lebazfive (24 Octobre 2020)

@totoguile Merci pour ce tuto, j'ai finalement réussi à en trouver un sur leboncoin et installé rfxcom2 avec hoobs. Tout fonctionne (à part l'écriture du fichier rules, je ne sais pas comment faire ça avec le terminal via hoobs).

Je n'ai pas bien compris pourquoi les avoir en mode "boutons" et pas "volets" étaient une meilleure solution ?

Encore merci !


----------



## totoguile (24 Octobre 2020)

De rien ! Les commandes RTS sont sans retour d'état, i.e. tu ne peux pas savoir le pourcentage d'ouverture / fermeture des volets. du coup, ca foire souvent lorsque j'utilise un plugin qui les fait apparaitre en volet et non pas interrupteur.
De plus, je peux "binder" (associer) les interrupteurs logiques des volets à des interrupteurs physiques Philips Hue.


----------



## totoguile (24 Octobre 2020)

avec Raccourcis, tu peux par contre créer un scénario qui peux baisser complètement ton volet et ensuite l'ouvrir pendant x secondes et ainsi avoir un volet entre ouvert


----------



## Lebazfive (24 Octobre 2020)

Pas mal comme bidouille le shortcut !

En réalité, ce n'est pas l'ouverture partielle qui me pose problème. Ce que j'essaie de voir c'est s'il est possible d'avoir une solution qui simule moins d'accessoires.

Aussi, le fait d'avoir des boutons empêche de déclencher Siri avec des commandes comme "ferme les volets". J'ai fait un raccourci qui s'appelle "Ferme les volets" mais Siri cherche quand même des accessoires volets dans la maison et ne se replie pas vers le raccourci.

Après, s'il n'y a pas de retour d'état, je ne vois pas de solution comme ça !

Tu sais s'il existe une doc Apple pas trop trop technique pour ça ? Je voudrais bien me pencher dessus.


----------



## totoguile (24 Octobre 2020)

Après tu peux quand même utiliser le plugin qui les fait apparaitre comme de volets (Homebridge-rfx-shutter) et voir ce que cela donne chez toi pour ton usage. c'est assez rapide à changer sur homebridge


----------



## totoguile (24 Octobre 2020)

https://github.com/howm/homebridge-rfx-shutter c'est mis à jour pour éviter le problème d'init du plugin. J'ai pas essayé


----------



## Lebazfive (1 Novembre 2020)

Post



Hello !

J’ai donc essayé les deux solutions. Pour faire un résumé :


*Module original :*

✅s’affiche en tant que volet dans les états
✅Pilotable comme un volet via Siri
✅Peu de boutons
❌Le fait que le retour d’état soit faux pose problème pour les automatisations/Siri (le volet peut être marqué comme fermé, alors qu’il est ouvert en réalité, du coup l’action de fermeture ne fonctionne pas puisque l’action est déjà exécutée selon l’OS
❌La fiabilité est faible à cause de ça.
❌ Je n’ai pas réussi à faire une des actions du setup, peut être que le manque de fiabilité vient de là.


*Module rfxcom2 :*

✅Fiable
✅Fiable (oui c’est vraiment important)!
✅Commande stop
❌ 3 accessoires de type boutons par volet, ça peut vite faire beaucoup sur une grande maison
❌ non reconnu par Siri comme volet, du coup même en faisant des raccourcis « ouvre les volets » etc, le mot volet est reconnu par Siri comme un accessoire HomeKit de type volet avant d’aller chercher dans les raccourcis, du coup il n’en trouve pas toujours, le raccourci ne va pas au bout.


*Ma solution :*

J’ai mis les deux modules sur homebridge, le rfxcom2 a pris le dessus, et ça me va très bien, voilà pourquoi.

Les volets sont affichés en tant que volets mais ne fonctionnent plus, et j’ai les 3 boutons d’action qui eux fonctionnent.

J’ai fait des automatisations pour simuler l’état des volets au clic des boutons, et inversement, pour simuler un clic sur les boutons en cas d’ouverture ou de fermeture des volets. Je me retrouve avec 4 automatisations par volet.





Du coup, mes boutons physiques actionnent toujours les boutons virtuels, fiabilité maximum. Les boutons virtuels changent l’état du volet. Le changement d’état du volet actionne le bouton virtuel. Bref j’ai essayé de couvrir un maximum de cas.


*Limites :*

La seule que je vois aujourd’hui reste encore Siri dans le cas où entre deux actions rfxcom, la télécommande somfy fait une action... mais vite réparé après l’action suivante via rfxcom. Personnellement je ne vais plus utilisé les télécommandes somfy que je vais remplacer par des HomeKit.


*Pistes d’amélioration :*

Je me demande s’il est possible de rassembler les boutons virtuels autour d’un seul accessoire comme l’exemple ci-dessous afin de limiter le nombre d’accessoires tout en gardant les commandes up/down/stop





Voila ! Et encore merci à @totoguile pour ta contribution et ton aide c’est vraiment cool !


----------



## khin (4 Mai 2021)

Nathan.28 a dit:


> Si il initialise le RFXtrx433XL il est impossible d'ouvrir ou de fermer simultanément tout les volet ?


Je sais pas si t’as trouvé la réponse depuis mais pour fermer plusieurs volets une fois qu’ils sont remontés dans home depuis homebridge tu peux créer une scène dans home et ça marche j’ai fait une scène ouverture des volets et une fermeture des volets qui gère tous les volets de la maison (sauf les chambres pour pas être vache) et c’est reconnu par Siri


----------



## lloydnet (12 Septembre 2021)

Bonjour à tous,

Merci @totoguile pour ce post et la mise à jour du plugIn.

Je débute avec homebridge et j'ai testé pour l'instant 2 plugins :

le basique "homebridge-rfx-shutter" qui m'a permis d'avoir mes 3 volets SOMFY RTS dans homeKit. La limite est que comme il n'y a pas de retour, finalement, on ne sait jamais s'ils sont vraiment ouverts ou fermés, surtout avec l'utilisation de temps en temps de la télécommande Somfy
celui mis à jour "homebridge-rfxcom2" et j'ai bien 3 boutons par volet
Par contre, quelqu'un a t il déjà essayer le plugin : "https://www.npmjs.com/package/homebridge-rfxcom-api" (lien) ?

J'ai une erreur en l'installant, mais sans doute à cause du plugin rfxcom qui est installé (les 2 deux sont incompatibles a priori).
Il semble possible d'avoir des ordre directement dans la config.


----------



## totoguile (12 Septembre 2021)

Salut, oui tu ne peux avoir qu'un seul plugin d'activé : supprime le premier de la conf (pas besoin de supprimer le module si tu souhaite le conserver).
J'avais regardé le plugin rfxcom-api mais je n'ai jamais testé.


----------



## lloydnet (12 Septembre 2021)

Merci pour ton retour.

Finalement j'ai fabriqué 2 scènes qui permettent pour l'un de faire monter tous les volets et l'autre de les faire tous descendre.

C'est juste dommage de ne pas pouvoir utiliser la commande qui permet d'avoir une position "My" de Somfy. Je me demandais si c'était possible avec ce 3ième plugin.

OK pour ne pas désinstaller totalement le module, mais simplement le supprimer de la config


----------



## totoguile (12 Septembre 2021)

C'est le problème du 433MHz. En passant sur le protocole IO en 868MHz qui est bidirectionnel, les volets renvoient l'état de position.
En tout cas, si ca marche c'est tant mieux


----------



## lloydnet (12 Septembre 2021)

Oui, mais ça veut dire changer les volets qui ne sont pas encore super vieux 
Mais oui, l'essentiel est que cela fonctionne avec 2 scènes, donc c'est top  Merci !


----------



## titigrou (16 Septembre 2021)

Je me permets d’intervenir que le sujet car c’est un problème qui me taraude depuis pas mal de temps.
J’ai des volets somfy, une moitié en Rts avec le micromodule, et les autres en i/o (ce sont des volets dont le moteur ancien est mort et qui ont été changés).
Du coup, j’en ai la moitié sur homekit.
J’ai vu que somfy commercialisait depuis environ un an un micromodule i/o.
Quelqu’un a eu l’occasion de le tester?
J’ai aussi vu plusieurs trucs sur le shelly 2.5 mais pas toujours très bons…


----------



## lloydnet (16 Septembre 2021)

Hello,

Je n'ai testé cette configuration que pour mes volets qui sont 100% en RTS.
Par, il est maintenant peut être possible de faire plus simple avec la dernière petite box SOMFY actuellement vendue sur le site Orange ==> lien
Il s'agit du "kit de connectivité Somfy", qui semble prendre en compte les volets de type I/O et RTS (mais je ne sais pas s'il y a une limitation dans les volets de type RTS)


----------



## Kinou (1 Juillet 2022)

Bonjour à tous,

J'aimerais avoir un petit retour de ceux qui ont réussi à faire fonctionner le plugin rfxcom2 de @totoguile.

Je suis très intéressé par l'approche des 3 boutons,  car via HomeKit + Hass je n'ai que ouvert/fermé et 50% qui me laisse une toute petite ouverture en bas.

J'ai beau essayé de checker le code pour voir si j'ai un loupé un truc dans la conf mais je pense pas, aucun accessoire ne s'enregistre dans ma conf, y'a t'il une manip pour déclencher la création des accessoires ?


```
{
    "platform": "RFXCom",
    "name": "RFXCom",
    "debug": true,
    "tty": "/dev/ttyUSB0",
    "rfyRemotes": [
        {
            "name": "Volets Salon",
            "deviceID": "0x010101/1",
            "openCloseSeconds": 20
        },
        {
            "name": "Volets Chambre",
            "deviceID": "0x010102/1",
            "openCloseSeconds": 20
        }
    ]
}
```

et voilà les logs que j'ai

```
[7/1/2022, 2:25:22 PM] [RFXCom] Initializing RFXCom platform...
2022-07-01 14:25:28.015 [rfxcom] on /dev/ttyUSB0 - Sent    : 0D,00,00,00,00,00,00,00,00,00,00,00,00,00
2022-07-01 14:25:28.521 [rfxcom] on /dev/ttyUSB0 - Sent    : 0D,00,00,01,02,00,00,00,00,00,00,00,00,00
```

Merci de vos lumières pour ce casse-tête.


----------



## totoguile (1 Juillet 2022)

Bonjour,

petite question, as-tu appairé tes volets avec ton boitier RFXcom ? https://blog.domadoo.fr/guides/appairer-volet-roulant-somfy-rfxcom-rfxtrx433e/
Peux-tu bien controler tes volets depuis l'appli windows ?

Dans les logs (sans debug) tu devrais voir quelque chose comme ceci:
[01/07/2022, 15:00:17] [RFXCom] RFXtrx initialized, listing remotes...
[01/07/2022, 15:00:29] [RFXCom] Received 2 remote(s) from device

Autre point: comment as-tu installé homebridge ? via un container ? je sais que cela peut poser problème pour accéder aux ressources matérielles


----------



## Kinou (1 Juillet 2022)

Oui j'utilise déjà le boitier avec Home Assistant mais l'intégration HomeKit des volets est bancale comme expliqué dans mon premier post et avec domoticz il n'y a pas d'intégration direct avec HomeKit dommage, même en passant via domoticz + plugin homebridge edomoticz les volets ne sont pas géré par HomeKit, réservé au switch pour l'instant j'ai l'impression.

Si je change le tty dans la conf j'ai bien le message qu'il n'a pas réussi à se connecter, donc c'est qu'il se connect au rfxcom sans problème.


----------



## Kinou (1 Juillet 2022)

Homebridge est dans docker mais il a bien accès a /dev/ttyUSB0 monté en "device" dans un compose, comme pour Hass ou Domoticz, il est privilégié et en network mode host donc direct sur la machine


----------



## totoguile (1 Juillet 2022)

alors je ne sais pas trop quoi dire : peut-etre qu'un autre process a encore accès au TTY et du coup la com ne se passe pas correctement avec homebridge ?


----------



## totoguile (1 Juillet 2022)

Si homeassistant et homebridge ont accès au même TTY. et donc même RFX, seul l'un des 2 peut dialoguer avec.


----------



## Kinou (1 Juillet 2022)

Bien joué  c'était ça, pourtant domoticz et homeassistant l'utilisait en même temps, merci à toi.


----------



## Kinou (2 Juillet 2022)

Hello,

Si @totoguile ou autre personne que ça peut intéresser, j'ai fait un fork de ton fork  j'ai un plugin stable pour l'instant qui me donne le statut ouverture/fermeture/stop sur un accessoire volets.









						GitHub - kinouzero/homebridge-rfxcom: Homebridge plugin for RFXtrx433(E) transceivers.
					

Homebridge plugin for RFXtrx433(E) transceivers. Contribute to kinouzero/homebridge-rfxcom development by creating an account on GitHub.




					github.com
				




Je n'ai pas réussi à combiner les plugins comme @Lebazfive du coup j'ai voulu pimper ton projet.

Le seul soucis qui me reste et ou je peux avoir besoin de tes lumières si tu t'y connais mieux en dev de plugin homebridge ou juste en js, c'est de récupérer le pourcentage d'ouverture pour le mettre à jour sur l'accessoire.

ps: j'ai fait ça dans la journée sur un coup de motive le js c'est pas ma passion mais je me débrouille un peu.

Merci


----------



## totoguile (2 Juillet 2022)

Ouah ! Cool!
Moi non plus je suis pas codeur, j'avais bidouillé pour arriver à un truc qui marchotte ;-)
Pour le % d'ouverture, comme on n'a pas de retour d'état des volets, il faut deviner. Pour cela je te suggère de le lier à l'option openCloseSeconds : les utilisateurs devront setter correctement cette valeur en fonction de leurs volets, mais après on devrait pouvoir avoir un % pas trop mal.


----------



## totoguile (2 Juillet 2022)

Si tu es super motivé, le top serait d'arriver à ce plugin fonctionnel : https://github.com/howm/homebridge-rfx-shutter.
Il permet de voir les volets comme des volets et non pas des interrupteurs, et il gère les % de mémoire.


----------



## totoguile (2 Juillet 2022)

Par contre, à ma connaissance, il n'est pas possible d'associer le shutter down/up à un bouton physique. C'est pour cette raison que j'avais utilisé les interrupteurs, pour pouvoir les "binder" à mes interrupteurs philips Hue.


----------



## Kinou (2 Juillet 2022)

Bon après pas mal de test je suis arrivé à une solution pas trop dégueu 

J'ai maintenant 2 switchs pour la montée/descente ou le fait d'éteindre le switch joue le rôle du bouton stop (histoire de limiter le nombre de composant créé) je vais checker si y'a pas des switch multiple position ça serait même encore mieux mais je verrais ça un autre jour
Et un accessoire volets qui fait office de placeholder on ne peut pas l'utiliser pour monter/descendre (ça c'est le but des boutons) mais par contre si la durée "openCloseSeconds" est bien configuré il affiche le pourcentage d'ouverture, j'ai pas encore tester sur le long terme mais les pourcentages sont réinitialisés à chaque fois qu'il va tout en haut ou tout en bas.

Sur ce bonne soirée, je vais continuer à bidouiller mais au moins la 1.2.0 est stable


----------



## totoguile (3 Juillet 2022)

je vais suivre et essayer de tester ton module dans les jours à venir.
J'ai vue que tu l'avais déclaré sur NPM et qu'il etait bien visible dans homebridge.
Merci en tout cas pour ton travail, j'ai pas les compétences pour faire cela


----------



## curnchattak (4 Juillet 2022)

Kinou a dit:


> Bon après pas mal de test je suis arrivé à une solution pas trop dégueu
> 
> J'ai maintenant 2 switchs pour la montée/descente ou le fait d'éteindre le switch joue le rôle du bouton stop (histoire de limiter le nombre de composant créé) je vais checker si y'a pas des switch multiple position ça serait même encore mieux mais je verrais ça un autre jour
> Et un accessoire volets qui fait office de placeholder on ne peut pas l'utiliser pour monter/descendre (ça c'est le but des boutons) mais par contre si la durée "openCloseSeconds" est bien configuré il affiche le pourcentage d'ouverture, j'ai pas encore tester sur le long terme mais les pourcentages sont réinitialisés à chaque fois qu'il va tout en haut ou tout en bas.
> ...


Bonsoir, j'ai voulu essayé le plugin homebridge rfxcom3 impossible pour moi de le trouver...
C.


----------



## Kinou (4 Juillet 2022)

Bonsoir,

Ouais j'ai fais un mauvaise manip et je dois attendre 24h pour pouvoir le republier. 

Rdv demain en fin de journée.


----------



## Kinou (4 Juillet 2022)

Bonsoir,

Il est de retour sous un nouveau nom









						homebridge-rfxcom-3
					

Homebridge plugin for RFXtrx433(E) transceivers.. Latest version: 1.4.3, last published: 11 minutes ago. Start using homebridge-rfxcom-3 in your project by running `npm i homebridge-rfxcom-3`. There are no other projects in the npm registry using homebridge-rfxcom-3.




					www.npmjs.com
				




Bonne soirée


----------



## Kinou (7 Juillet 2022)

Bonjour à tous,
Après quelques jours de bataille j'ai enfin un plugin fonctionnel.
Il peut maintenant créer un composant volets entièrement controllable et en option des boutons montée/descente.

J'ai complètement réécris le projet en repartant d'un projet template homebridge pour être raccord niveau compatibilité et en fusionnant la logique que j'avais créé dans le projet de base.

Voilà donc le nouveau plugin avec encore un nouveau nom








						homebridge-plugin-rfxcom-3
					

Homebridge plugin for RFXtrx433(E, XL) transceivers.. Latest version: 1.6.0, last published: 5 months ago. Start using homebridge-plugin-rfxcom-3 in your project by running `npm i homebridge-plugin-rfxcom-3`. There are no other projects in the npm registry using homebridge-plugin-rfxcom-3.




					www.npmjs.com
				




J'ai gardé le même format de config en rajoutant une option pour activer/désactiver les boutons.

PS: Dans HomeKit le composant volets met du temps à se mettre à jour (j'ai l'impression que c'est récent dans homebridge, je l'ai vu ailleurs ce problème mais pas de réponse trouvé), je ne sais pas pourquoi et si quelqu'un à la réponse ou une idée d'amélioration je suis preneur !


----------



## totoguile (31 Octobre 2022)

Salut,

Je suis passé sur ton plugin mais j'ai un comportement erratique : parfois il detecte des volets, parfois pas

[31/10/2022, 19:07:56] [RFXCom 3] ERROR: RFY remote 0x0BB804/1 not found. Found: 0x0BB801/1, 0x0BB802/1, 0x0BB803/1
[31/10/2022, 19:07:56] [RFXCom 3] ERROR: RFY remote 0x0BB805/1 not found. Found: 0x0BB801/1, 0x0BB802/1, 0x0BB803/1
[31/10/2022, 19:08:09] [RFXCom 3] [Remote 0x0BB801/1] Starting...

Je ne sais pas si tu as vu ca déjà (ca ressemble à un flux série trop important sur l'USBSerial et du coup y a la moitié des commandes qui passent)


----------



## Kinou (31 Octobre 2022)

Salut,

N'ayant que 2 volets je n'ai pas rencontré ce problème. 
Parr contre vu le message ça à l'air de venir de la dépendance rfxcom et non du plugin même, est-tu sûr des adresses de tes remotes configuré sur le module RFXCOM ?


----------



## totoguile (31 Octobre 2022)

yep sur des adresses.
là je viens de redémarrer et j'ai les 5 ...
sinon le bouton stop il est super important : sans lui on ne peut pas arreter par bouton la montée ou la descente du volet :/


----------



## Kinou (31 Octobre 2022)

Pour ton premier problème malheureusement je peux pas faire grand chose, il faudrait peut-être ouvrir un ticket sur la dépendance rfxcom directement.

Pour le bouton stop je l'ai enlevé car le fait de désactiver les boutons de descente/montée stop le volet par défaut.
Après je t'avoue j'utilise pas les boutons, j'utilise direct le composant volet en réglant le % d'ouverture dans HomeKit.


----------

