X10
Courants porteurs et domotique
Vers 1975, la société écossaise Pico Electronics a créé le système X10 pour pouvoir piloter des appareils électriques via le réseau électrique. Il s'agit d'un système numérique qui envoie des ordres codés sur 12 bits:
- 4 bit code maison (house code), une lettre entre A et P
- 4 bit code unité (device code), soit 16 unités possibles
- 4 bit code commande
Donc en tout 256 combinaisons pour les appareils : on retrouve des roues codeuses pour les programmer.
Dans les codes commandes, on retrouve des acquittements, ce qui exige des appareils capables de communiquer dans les deux sens, coûtant plus cher.
| Code | Function | Description | One Way | Two Way |
|---|---|---|---|---|
| 0 0 0 0 | All units off | Switch off all devices with the house code indicated in the message | X | |
| 0 0 0 1 | All lights on | Switches on all lighting devices (with the ability to control brightness) | X | |
| 0 1 1 0 | All lights off | Switches off all lighting devices | X | |
| 0 0 1 0 | On | Switches on a device | X | |
| 0 0 1 1 | Off | Switches off a device | X | |
| 0 1 0 0 | Dim | Reduces the light intensity | X | |
| 0 1 0 1 | Bright | Increases the light intensity | X | |
| 0 1 1 1 | Extended code | Extension code | X | |
| 1 0 0 0 | Hail request | Requests a response from the device(s) with the house code indicated in the message | X | |
| 1 0 0 1 | Hail acknowledge | Response to the previous command | X | |
| 1 0 1 0 | Pre-set dim | Allows the selection of two predefined levels of light intensity | X | |
| 1 1 0 1 | Status is on | Response to the Status Request indicating that the device is switched on | X | |
| 1 1 1 0 | Status is off | Response indicating that the device is switched off | X | |
| 1 1 1 1 | Status request | Request requiring the status of a device | X |
La demande d'accusé de réception Hail request permet de rechercher les codes déjà utilisés pour faciliter l'installation.
On remarquera le code 0111 Extended Code: cela permet d'ajouter au moins 1 octet sans silence juste après le code, octet qui peut lui-même indiquer le nombre d'octets qui suivent. On peut envoyer ainsi du code ou des données, mais ce sera forcément particulier à l'implémentation locale...
Fonctionnement en courants porteurs
Le principe de base est le suivant :
- Un signal haute fréquence (120 kHz, 5 volt crête-crête) est superposé sur la tension du réseau électrique (50 Hz, 220 volt).
- Une salve de 1 ms est envoyée au plus proche du zéro. Cette salve est répétée 3 fois de suite en coïncidence de 3 passages à zéro.
- Si les 3 salves sont sur l'onde positive, il s'agit d'un 1 logique, sinon, c'est l'onde négative, et c'est un 0 logique.
Une trame comportant les 12 bits est précédée d'un start code composé de 3 salves et d'une absence de salve sur 2 alternances du réseau électrique.
Trame X10
Une trame X10 devrait transmettre l'adresse deux fois de suite avant d'envoyer deux fois la commande:
- Un code début (start code): 3 pulses + 1 blanc (sur 2 alternances)
- Un code maison (letter code): 4 bits sur 4 alternances
- Un code numéro (number code): 4 bits sur 4 alternances suivi d'un 0 (pour indiquer que c'est une adresse)
- Un code maison (letter code): 4 bits sur 4 alternances (seconde fois)
- Un code numéro (number code): 4 bits sur 4 alternances suivi d'un 0 (seconde fois)
- Puis au minimum 3 alternances "blanches": le récepteur est prêt à recevoir une commande.
- Un code début (start code): 3 pulses + 1 blanc
- Un code maison (letter code): 4 bits sur 4 alternances (oui, encore)
- Un code commande (command code): 4 bits sur 4 alternances, suivi d'un 1 (pour indiquer que c'est une commande)
- Un code maison (letter code): 4 bits sur 4 alternances (seconde -non, quatrième- fois)
- Un code commande (command code): 4 bits sur 4 alternances, suivi d'un 1 (seconde fois)
Donc au moins 47 alternances (ou cycles) à 50Hz pour une trame, cela nous fait pratiquement une seconde.
Inconvénients
Le protocole X10 présente pas mal de problèmes potentiels ou non:
- C'est un protocole lent: il faut une seconde pour envoyer un ordre (c'est du 50 bit/s). Une alternative utilisant des ondes radio en 433 MHz s'est développée, nettement plus pratique.
- Pas d'accusé de réception de l'ordre émis.
- De nombreux appareils électroniques modernes du commerce tels que des téléviseurs, micro-ordinateurs, récepteurs satellite, etc. peuvent induire des perturbations ou des filtrages des trames X10 dans le courant secteur via leur alimentation à découpage par exemple qui brouille les signaux X10 de façon difficilement détectable. La conséquence est que certains modules peuvent interpréter des perturbations comme des ordres (ce qui provoque par exemple l'allumage de lumières en plein milieu de la nuit).
- Le signal X10 ne peut pas passer à travers un transformateur ou une alimentation triphasée (à moins d'utiliser des coupleurs de phase type FD10).
- Les signaux X10 doivent être filtrés à l'entrée ou sortie d'un domicile pour ne pas circuler sur les installations voisines et vice-versa (non obligatoire mais recommandé).
- Il n'est possible d'envoyer qu'un seul ordre à la fois sur le secteur sous peine que ceux-ci se percutent et s'annulent mutuellement. Les collisions ne sont en effet pas gérées par le protocole.
- Pour installer des récepteurs X10 encastrés sur un réseau électrique existant (interrupteur mural par exemple), il faut vérifier que le neutre arrive également au niveau de l'interrupteur à remplacer car X10 a besoin du neutre pour circuler. L'idéal est d'installer les modules X10 sous forme de module rail DIN sur le tableau électrique afin d'avoir un libre choix des interrupteurs muraux parmi tous les constructeurs du marché (en bouton poussoir pour un télévariateur ou télécontacteur).
- Le X10 est un standard industriel, non une norme. Des différences existent donc entre constructeurs, qui peuvent rendre l'interopérabilité impossible.
- 99% des produits X10 sont fabriqués en 110V - 60 Hz pour les USA. Les produits 220V pour la France sont fabriqués en petite série et coûtent deux à trois fois plus cher que sur le marché américain.
- Fonctions limitées : X10 étant vieillissant, de nombreux constructeurs le délaissent au profit de normes plus fiables et complètes. Les fonctions disponibles sont donc restreintes principalement à l'éclairage et aux contacts secs.
A noter
Il existe un standard X10 dit étendu (1997): Standard and Extended X10 Code Protocol
Il existe aussi un standard X10 PRO Secure, plutôt en X10 RF: difficile de savoir si c'est le standard étendu ou autre chose...
Le protocole PLCBUS est basée sur le même principe que le X10, et est nettement plus étendu en possibilités, mais est totalement incompatible.