Suite à la mise à jour de home assistant sous la version 0.113 , la configuration de l’équipement RFXTRX ( comme RFXcom par exemple) a été modifiée.
Ce qui entraine des erreurs lors de la mise à jour, voir une impossibilité d’effectuer cette mise à jour. Par exemple sous Hass Io ( via docker) la mise à jour échoue, et home assistant se repositionne sur sa dernière version ( 0.112-4 en ce qui me concerne).
Afin que la mise à jour se passe bien, voici la procédure à suivre.
Mais avant, un petit rappel , sur la configuration de l’équipement RFXTRX.
version antérieur à 0.113
Jusqu’à présent les équipements RFX étaient configuré dans diverses catégories.
- sensor
- binary_sensor
- cover
- switch
Extrait fichier configuration.yaml :
##### configuration.yaml
## activation rfxtrx + indication Port USB
rfxtrx:
device: /dev/serial/by-id/usb-RFXCOM_RFXtrx433_A1YQFFFF-if00-port0
## Un capteur binary_sensor ( par exemple ouverture de porte )
binary_sensor:
- platform: rfxtrx
automatic_add: true
devices:
0b11000axxxxxxxxxx60:
name: fenetre bureau
0b1100dxxxxxxxxxx050:
name: porte soussol
## une sonde température par exemple : capteur sensor
sensor:
- platform: rfxtrx
automatic_add: false
devices:
0a520102xxxxxxxx0359:
name: Buanderie
data_type:
- Humidity
- Temperature
## pour les volets ( par exemple somfy RTS )
cover:
- platform: rfxtrx
automatic_add: false
devices:
signal_repetitions: 1 # 1 for the Somfy covers (avoid to stop the motion after start)
071a00000xxxxxx1: # RFY code volet bureau
name: volet_bureau
## exemple pour switch
switch:
- platform: rfxtrx
devices:
0710011442xx0170:
name: telecommande
fire_event: true
Afin d’être compatible avec la version 0.113 , il va falloir modifier ces informations.
A partir de la version 0.113
La documentation à été mis à jour sur le site d’home Assistant , et explique les nouvelles balises à utiliser .
Le nouveau fichier de configuration dédié à RFXTRX , devra resembler à cela :
##### configuration.yaml
## activation rfxtrx + indication Port USB ( nouvelle version 0.113 )
rfxtrx:
device: /dev/serial/by-id/usb-RFXCOM_RFXtrx433_A1YQFFFF-if00-port0
devices:
# fenetre bureau
0b11000axxxxxxxxxx60:
device_class: window
# porte soussol
0b1100dxxxxxxxxxx050:
device_class: door
## capteur TH
0a520102xxxxxxxx0359
## volets
071a00000xxxxxx1: # RFY code volet bureau
signal_repetitions: 1 # 1 for the Somfy covers (avoid to stop the motion after start)
## switch
#telecommande
0710011442xx0170:
fire_event: true
Tous les devices doivent être déclarés sous la balise RFXTRX .
Pas mal de balise a enlevé . La balise nom n’existe plus, le nom sera donné depuis la nouvelle interface graphique dédiée à RFXTRX. Menu intégration.
Il suffit de cliquer sur Appareil , pour configurer un nom , un lieu etc …
Exemple pour les sondes de températures et humidité, les entités sont maintenant regroupées sous un seul appareil.
Ou encore pour les volets RTS ( Somfy )
Comment Migrer sans douleur vers 0.113
- rassembler les informations de vos différents sensors RFX
Si vous avez déclaré vos capteurs RFX dans divers fichiers ( par exemple un fichier configuration principale, puis un fichier sensors Yaml, un fichier binary sensors.Yaml, etc . ) , rassembler toutes les déclarations dans un fichier unique ( sous configuration Yaml par exemple) si vous avez beaucoup de déclaration je vous conseille d’utiliser la notion de package, plus simple à maintenir quand il existe de nombreux fichiers. Cette méthode va s’appuyer sur les packages. - Je créé le dossier packages ( dans config ) et dans le fichier de configuration.yaml de home assistant , j’ajoute la ligne suivante , afin de pouvoir utiliser les packages.
## configuration packages ( lit tous les fichier yaml inclus dans le dossier package )
homeassistant:
packages: !include_dir_named packages
Les packages , permettent de réunir dans un seul fichier des informations provenant de diverses catégories afin de simplifier la maintenance . Plus d’information sur le site de home assistant : Packages
- Création du nouveau fichier pour mes entités rfxcom
Par exemple , dans le cas qui m’intéresse , je créé le fichier rfxtrx.yaml ( le nom du fichier est libre , mais doit se terminer par yaml ) dans mon dossier packages et y colle toutes les infos concernant mes entités RFXcom
### fichier rfxtrx.yaml ( package )
## ce fichier sert à gérer toutes les entités RFXCOM
## activation rfxtrx + indication Port USB
rfxtrx:
device: /dev/serial/by-id/usb-RFXCOM_RFXtrx433_A1YQFFFF-if00-port0
## Un capteur binary_sensor ( par exemple ouverture de porte )
binary_sensor:
- platform: rfxtrx
automatic_add: true
devices:
0b11000axxxxxxxxxx60:
name: fenetre bureau
0b1100dxxxxxxxxxx050:
name: porte soussol
## une sonde température par exemple : capteur sensor
sensor:
- platform: rfxtrx
automatic_add: false
devices:
0a520102xxxxxxxx0359:
name: Buanderie
data_type:
- Humidity
- Temperature
## pour les volets ( par exemple somfy RTS )
cover:
- platform: rfxtrx
automatic_add: false
devices:
signal_repetitions: 1 # 1 for the Somfy covers (avoid to stop the motion after start)
071a00000xxxxxx1: # RFY code volet bureau
name: volet_bureau
## exemple pour switch
switch:
- platform: rfxtrx
devices:
0710011442xx0170:
name: telecommande
fire_event: true
- Je teste mon fichier , via le menu Configuration / contrôle du serveur et verifier la configuration . Si pas d’erreur de doublon oublié dans d’autres fichier ou d’erreur de syntax ( espaces , indentation , etc .. ). Je redémarre mon serveur. Mon serveur à bien redémarré , tous mes composants fonctionnent toujours , je vais pouvoir passer à la mise à jour.
- Avant de lancer la mise à jour , je vais créer un nouveau fichier rfxtrx_update.yaml ( par exemple ) dans mon dossier package et nettoyer toutes les balises inutiles afin que le fichier intégre les nouvelles balises.
Il doit ressembler à ça.
##### rfxtrx_update.yaml
#### Fichier compatible avec version 0.113
## activation rfxtrx + indication Port USB ( nouvelle version 0.113 )
rfxtrx:
device: /dev/serial/by-id/usb-RFXCOM_RFXtrx433_A1YQFFFF-if00-port0
devices:
# fenetre bureau
0b11000axxxxxxxxxx60:
device_class: window
# porte soussol
0b1100dxxxxxxxxxx050:
device_class: door
## capteur TH
0a520102xxxxxxxx0359
## volets
071a00000xxxxxx1: # RFY code volet bureau
signal_repetitions: 1 # 1 for the Somfy covers (avoid to stop the motion after start)
## switch
#telecommande
0710011442xx0170:
fire_event: true
- Je renomme le fichier rfxtrx.yaml en rfxtrx.yaml.disabled afin de garder une copie en cas de problème et de désactiver la prise en compte de ce fichier ( seuls les fichiers yaml sont lus ). Mon autre fichier rfxtrx_update.yaml est présent dans le dossier packages .
Pour information , si je lance une verification de mon fichier yaml par HA , ce dernier va m’afficher des erreurs , car les nouvelles balises ne sont pas encore prise en compte dans le dictionnaire de HA.
Bien vérifier , si les décalages entres les balises et les données sont bien effectué. - Je lance la procédure d’update : Mode supervisor , install update 0.113.
- Au bout de quelques minutes mon serveur home assistant , va démarrer en version 0.113 , et dans le menu intégration , je trouve le module RFXCOM RFXTRX , qui me permet d’ajuster les paramètres de mes entités RFX.
- Il ne me reste plus qu’a renommer mes entités de la même façon que précédement , afin de les retrouver dans mon interface Lovelace.
En conclusion
Cet article, a permis de voir, l’utilité des fichiers packages sous homeAssistant. Ces fichiers sont très simples à mettre en oeuvre et permettent d’activer ou de désactiver très rapidement des fonctionnalités de HA.
Ce fichier peut inclure , des atomations , des scripts , des personnalisations , des capteurs etc ….. Toutes les fonctionnalité mis en place dans configuration.yaml.
Home assistant évolue , rapidement , et apporte sont lot de nouveauté et d »amélioration à chaque mis à jour. La version 0.113 permet d’améliorer grandement les automatisations et script.
16 commentaires sur “Home assistant : Migration 0.113 et RFXTRX”
Bonjour,
Je débute sous Hass, j’utilisais jusqu’à maintenant Domoticz sur Raspberry avec une carte RFXtrx433, pilotant des volets RFY en RTS et principalement des modules chacon DIO.
Tous mes codes fonctionnes et j’ai pris soin de les récupérer en amont.
Après avoir installé HASS (versions core-2021.1.1, supervisor-2021.01.1), j’ai donc intégré RFXCOM RFXtrx qui récupère 3 éléments dont 2xTHN232 et un code AC lié à un capteur Chacon DIO.
Pour les autres, que je dois déclarer, j’ai suivi les contenus de la page ci dessus pour déclarer mes codes mais rien n’est pris en compte. Accidentellement, un code de Volet Roulant à été intégré mais impossible d’en ajouter d’autre.
Voici mon fichier de configuration:
# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:
# Text to speech
tts:
– platform: google_translate
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
rfxtrx:
device: /dev/serial/by-id/usb-RFXCOM_RFXtrx433_A1XR56PC-if00-port0
devices:
071a000005050103: # RFY code volet bureau 05050103
signal_repetitions: 1 # 1 for the Somfy covers (avoid to stop the motion after start)
071a000004030601: # RFY code volet sejour 04030601
signal_repetitions: 1 # 1 for the Somfy covers (avoid to stop the motion after start)
0b11000395bc0cfe06010f70: # this id as been generated with this link https://www.home-assistant.io/integrations/rfxtrx/#generate-codes
#fin
Si vous voyez quelque chose je suis preneur car j’en perds mon lapin 😉 Ca m’embêterai de retourner à Domoticz à cause d’un vulgaire soucis de déclaration d’actionneurs.
Merci pour vos retour avisés.
EDIT: Pour un nouveau code, passer par OPTION sur RFXtrx,et ajouter tout simplement un code évènement comme ceux précisés ci dessus.
Bonjour richard, l intégration rfx sous ha est assez simple. Surtout sur les dernières versions.
Pour les volets somfy , utilisant le protocole RTS rfy il faut dans un premier temps être sur des codes
Pour cela l idéal est de tester avec rfx manager qui permet aussi de configurer des nouveaux codes.
Une fois ces codes en main , il faudra les adapter au format Ha , comme indiqué dans la doc. En ajoutant 071a0000 et en complétant avec d éventuel zéro.
Pour cela il faut maintenant utiliser l intégration de ha , plus besoin de passer par le fichier de config.
Menu option ajouter code , on indique le code volet complet commençant par 071….
Puis laissez les valeurs par défaut suivant et suivant.
Si rien ne marche , possible que le module ne soit pas reconnu Vérifier si le port rffxvom remonte bien dans hardware supervisor.
Pour éviter de reprendre des erreurs , je supprimerai les lignes dans config. Puis suppression de l intégration rfxcom.
Redémarrage de ha puis installation de l intégration rfxcom , en indiquant le bon nom de port. Puis en intégrant un à un les codes.
Merci Byfeel !
je viens enfin de comprendre grâce à ton message qu’avec la nouvelle version il n’y avait plus besoin d’aller modifier le fichier de config !
mon volet est denouveau intégré à ma domotique toute la famille est ravie !
merci encore
Bonjour
j’ai l’impression d’y être presque …
J’ai un volet Somfy RTS qui marche bien grace à vous dans homeassistant.
Je tente de faire pareil avec mon portail somfy. J’ai réussi avec rfx à récupérer son ID. En ajoutant le préfixe comme avec mon volet j’obtiens cela
device: /dev/ttyUSBO
devices:
071a000001030401: # volet solaire somfy
071a000010447201: # portail somfy
Home assistant et RFXtrx me trouvent bien mon nouvel appareil et les 3 entités qui en découlent comme pour mon volet solaire. Mais malheureusement les boutons ne font pas marcher mon portail.
Merci pour votre aide
bonjour ,
je n’ai pas de portail somfy , mais si ça marche avec rfxmanager , il n’y a pas de raison que ça ne marche pas avec HA.
Quand vous parler de récupérer son id , vous voulez dire que vous avez associé un nouvel ID avec rfx manger à votre portail ?
Le plus simple et de tester sous rfx manager.
Dans l’onglet rfy , mettre le nouvel Id associé au portail somfy
ici : 10 44 72 ( d’après vos infos ) et tester en envoyant la commande directement depuis rfx manager
command up ou command down qui sont géré par HA.
Si ça fonctionne , ok on passe sous HA
Si ça ne fonctionne pas , il faut tenter d’associer un autre code au moteur du portail ( voir doc portail , pour associer nouvelle télécommande )
oui cela marche parfaitement avec rfx manager (up, down). Une fois le passage dans rfx manager Le matériel est reconnu par home assistant mais les commandes sont inopérantes. Alors qu’avec une manip similaire cela marche bien pour mon volet Somfy RTS. Le code initial que l’on rajoute dans homeassistant ne pourrait il pas être different pour. un portail que pour un volet ( 071a0000) Merci en tout cas pour votre aide.
Possible que le code soit différent , il faudrait regarder dans les logs de rfx manager quel code est envoyé au moment du up ou down.
Merci en tout cas. Les log c’est une bonne idée mais je ne sais pas comment les trouver
Bonsoir,
merci pour votre aide. J’ai des télécommandes SOMFY KEYTIS-NS-2-RTS TR2. Y a-t-il moyen de les incorporer dans HA car je ne sais pas ou trouver l’ID des télécommandes
Bonjour oliv30 ,
Le protocole RTS est supporté dans HA , via le module RFXcom. Il faut savoir que ce n’est pas la télécommande existante que l’on incorpore dans HA , mais une nouvelle télécommande virtuelle qui sera appairé sur le moteur à contrôler.
Il ne sera pas possible de trouver l’ID associé à votre télécommande, sauf si vous avez déjà créé une télécommande virtuelle pour ce moteur avec une autre solution domotique ( par exemple jeedom , domoticz , etc …. ) , dans ce cas , il suffit de récupérer l’id indiqué sur la page de config de cet élément.
En règle générale les moteurs somfy , permettent d’associer une dizaine de télécommandes ou plus selon les modèles. ( voir documentation de votre moteur ).
Pour ajouter une nouvelle télécommande , il suffit souvent de mettre le moteur en mode apprentissage avec l’ancienne télécommande ( il y a souvent un switch a l’interieur de la télécomande qui permet de lancer une programmation sur le moteur ) , ce dernier par exemple dans le cas d’un volet va effectuer une montée et descente de 1 à 2 secondes.
Une fois en attente de programmation , il suffit de venir avec la nouvelle télécommande et appuyer sur le switch appairage.
C’est la qu’intervient le module RFXCOM qui va permettre de simuler une nouvelle télécommande ( ce module permet de créer de nombreuses télécommandes virtuelles ).
La manipulation est assez simple , il y a eu un tuto la dessus chez domadoo.
https://blog.domadoo.fr/guides/appairer-volet-roulant-somfy-rfxcom-rfxtrx433e/
Une fois la nouvelle télécommande créé , il suffit de récupérer le nouvel ID associé à votre moteur ( dans l’exemple l’id est sous la forme « 3 04 05 » et l’unité de code « 1 » , mais il est possible de mettre la valeur de son choix par exemple 8 bb aa , pour l’unit code je laisse 1).
Ils expliquent comment créer une nouvelle télécommande virtuelle , pour associer au moteur concerné ( volet , portail , etc … )
Ensuite , il ne reste plus qu’a appliquer la méthode de la documentation de HA :
https://www.home-assistant.io/integrations/rfxtrx/
The RFXtrx433e is required for RFY support, however, it does not support receive for the RFY protocol – as such devices cannot be automatically added. Instead, configure the device in the rfxmngr tool. Make a note of the assigned ID and Unit Code and then add a device to the configuration with the following id 071a0000[id][unit_code]. E.g., if the id was 0a 00 01, and the unit code was 01 then the fully qualified id would be 071a00000a000101, if you set your id/code to single digit in the rfxmngr, e.g., id: 1 02 04 and unit code: 1 you will need to add 0 before, so 102031 becomes 071a000001020301.
il faudra ajouter le code suivant a HA : 071a0000[id][unit_code] , ajouter un zero si nécessaire avant l’id.
exemple si id : 3 04 05 et unit code 01 : ça donne 071a000003040501
Dans le fichier de config de HA
par exemple
devices:
## volet salon 1
071a00000f01bb01: # RFY code volet salon
J’espère avoir été assez clair , mais je penses faire un tuto la dessus un de ces jours.
Merci
J’ai ma carte SD qui m’a lâche, j’ai préféré repartir sur une install complète en virant ce qui était devenu inutile et en reprenant les sauvegardes des fichiers yaml.. et étrangement les « cover » en rfxtrx ne fonctionnait plus et pas d’erreur lors du checkconfig.
Tout est OK grâce a votre billet, merci !
ravi d’avoir pu aider
Merci bcp pour ton aide !!!
Merci ça m’a bien aidé ! Ils galèrent aussi sur le forum officiel pour des capteurs spécifiques…
Effectivement la nouvelle version apporte pas mal de changements sur les diverses intégrations.
J’ai du revoir quelques script et automatisation aussi.
Heureusement « les packages » me simplifient la maintenance.