Les Carnets de Byfeel domotique , Objets connectés , DIY , Programmation, Nouvelles Technologies ….

Home assistant : Migration 0.113 et RFXTRX

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.

exemple avec sonde Oregon

Ou encore pour les volets RTS ( Somfy )

exemple pour le volet bureau

Comment Migrer sans douleur vers 0.113

  1. 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.
  2. 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

exemple : mon arborescence HA avec une vue sur le dossier Packages
  1. 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
  1. 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.
  2. 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
  1. 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é.
  2. Je lance la procédure d’update : Mode supervisor , install update 0.113.
  3. 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.
  4. 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.
ici je renomme l’ID entité comme avant

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”

Les commentaires sont fermés.