mgcrea / homebridge-tydom

Homebridge plugin to manage Tydom hardware by Delta Dore from Apple HomeKit.
63 stars 14 forks source link

[TUTORIAL] Ajout de volets roulant TYXIA5730 / TYDOM 1.0 #119

Open HomekitTech opened 1 year ago

HomekitTech commented 1 year ago

Bonjour à toutes et bonjour à tous,

La toute première chose, je souhaiterais remercier Olivier (mgcrea) pour ce plugin Homebridge-tydom (https://github.com/mgcrea/homebridge-tydom). Merci à toi.

Pour ma part, j'ai une box Tydom 1.0 avec quelques micro-controleurs et télécommandes dont des roller-shutter (Window-coverings) A la maison, j'ai un réseau HomeKit avec iPad/AppleTV, pas mal d'appareils compatibles Homekit (lumieres Hue, Cameras EVE/Netatmo/Aqara, capteurs Aqara/EVE, prises connectées EVE) et pas mal d'automatisations programmées.

J'ai donc souhaité ajouter les commandes de mes stores électriques, pilotés par des micro-controleurs TYXIA 5730, car jusqu'à aujourd'hui, j'utilise l'application made-in DELTADORE. Et ayant un NAS Synology, j'ai donc souhaité ajouter la commande de mes stores à mon réseau Homekit, afin de les controler via mon iPhone, mon iPad centralisé, et mon appleWatch.

Chose faite à ce jour, et j'en suis pleinement ravi ! (Merci encore Olivier)

Et là vient ma petite contribution.

La documentation du plug-in est plutôt bien faite, par contre elle pourrait manquer d'exemples et c'est pourquoi je vois pas mal de questions dans les "issues", souvent trainant sans réponse. Et devant les petites interrogations que j'ai pu rencontrer pendant mon paramétrage, j'imagine la frustration des personnes qui ont posté des fils qui sont restés sans réponse.

Aussi, j'ai décidé de faire un petit "tutoriel" sans prétention, qui n'a pas vocation à être la moindre référence ou autre, mais juste à servir d'exemple pour les moins férus d'entre nous qui souhaiteraient juste bénéficier du travail de mgcrea. Je souhaitais créer ce fil pour prendre mon exemple de configuration pour donner des idées et partager les connaissances de chacun pour qu'un maximum de personnes trouvent des réponses à leurs questions.

Pré-requis

Je ne vais pas revenir sur les fameux pré-requis pour pouvoir utiliser le plug-in, cela est très bien expliqué dans la documentation.

Pour ma part :

Données techniques

Paramétrage (partie 1 : identification)

Normalement au premier lancement du plugin cela demande ces informations Il faut entrer les identifiants de connexion à la box Tydom. 1) Tydom hostname : mediation.tydom.com 2) Tydom username : 001A25XXXXXX (c'est aussi l'adresse mac de la box Tydom, ceci peut être trouvé :

Cliquer sur le bouton "Enregistrer".

A savoir : ces paramètres sont également accessibles dans le cartouche du plug-in en cliquant sur "REGLAGES".

Paramétrage (partie 2) : choix et mise en place des accessoires

1] Paramétrage initial :

Ensuite, cliquer sur la clef dans la tuile du plugin, et sélectionner </> Config JSON (ou sur l'onglet "Config"). Dans ce paramétrage, la trame originelle comme décrite dans la documentation : { "bridge": { "name": "Homebridge XXXX", (le nom du homebridge se trouve dans le plugin Homebridge) "username": "00:1A:25:xx:xx:xx", (l'adresse mac : voir plus haut) "port": 53619, "pin": "xxx-xx-xxx" (pin est le pin du plugin Homebridge, il se trouve sur la page principal du plugin Homebridge : normalement cela l'ajoute automatiquement et vous n'avez plus à y toucher) }, "accessories": [], "platforms": [ { "platform": "Tydom", "hostname": "mediation.tydom.com", "username": "001A25xxxxxx", "password": "", "debug": true } ] }

Ici, nous avons donc une trame de paramétrage initiale, sans accessoire.

2] Paramétrage accessoire/appareil :

En fonction du capteur/commande/alarme/autres appareils que vous souhaitez ajouter, je vous invite à vous diriger vers cet endroit pour avoir la liste des différents accessoires : https://github.com/homebridge/HAP-NodeJS/blob/v0.11.0/src/lib/Accessory.ts#L87 Comme le plugin se base sur node.js, il suffit d'ajouter une entrée dans votre paramétrage correspondant à votre appareil que vous souhaitez piloter.

export const enum Categories { // noinspection JSUnusedGlobalSymbols OTHER = 1, BRIDGE = 2, FAN = 3, GARAGE_DOOR_OPENER = 4, LIGHTBULB = 5, DOOR_LOCK = 6, OUTLET = 7, SWITCH = 8, THERMOSTAT = 9, SENSOR = 10, ALARM_SYSTEM = 11, SECURITY_SYSTEM = 11, //Added to conform to HAP naming DOOR = 12, WINDOW = 13, WINDOW_COVERING = 14, PROGRAMMABLE_SWITCH = 15, RANGE_EXTENDER = 16, CAMERA = 17, IP_CAMERA = 17, //Added to conform to HAP naming VIDEO_DOORBELL = 18, AIR_PURIFIER = 19, AIR_HEATER = 20, AIR_CONDITIONER = 21, AIR_HUMIDIFIER = 22, AIR_DEHUMIDIFIER = 23, APPLE_TV = 24, HOMEPOD = 25, SPEAKER = 26, AIRPORT = 27, SPRINKLER = 28, FAUCET = 29, SHOWER_HEAD = 30, TELEVISION = 31, TARGET_CONTROLLER = 32, // Remote Control ROUTER = 33, AUDIO_RECEIVER = 34, TV_SET_TOP_BOX = 35, TV_STREAMING_STICK = 36, }

Pour ma part, je souhaite piloter des volets roulants : "WINDOW_COVERING" en anglais. le paramétrage qui m'intéresse est donc : WINDOW_COVERING = 14,

La catégorie qui m'intéresse est donc la numéro 14.

Il faudra donc ajouter dans la trame ci-dessus, un mot-clef "settings" avec la liste des appareils correspondant a cette catégorie. la trame deviendra donc :

{ "bridge": { "name": "Homebridge XXXX", "username": "00:1A:25:xx:xx:xx", "port": 53619, "pin": "xxx-xx-xxx" }, "accessories": [], "platforms": [ { "platform": "Tydom", "hostname": "mediation.tydom.com", "username": "001A25xxxxxx", "password": "votre_mot_de_passe", "debug": true, <<<<<<<<<<<<< Ne pas oublier cette virgule ! "settings" : { (accolade ouvrante sur la liste des accessoires à piloter) "16139xxxxx" : { "category" : 14 }, "16139xxxxy" : { "category" : 14 }, "16139xxxxz" : { "category" : 14 } } (accolade fermante de la liste des accessoires à piloter) } ] }

3] Paramétrage identification des accessoires/appareils :

Mais alors : Comment trouver l'ID des accessoires ? Normalement, en mettant le mode debug à true, le plugin se connecte et parcoure les outils connectés de la box tydom. (Si les accessoires ne s'affichent pas dans les logs, c'est que votre identification n'est pas correcte : j'y reviens juste après)

Dans les logs, vous devriez voir quelque chose comme : [date, heure] [Tydom] Found new tydom device named='devicename_1' with deviceId=16190xxxxxx (id=73bxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)

Et évidemment, votre ID se trouve juste après "deviceId". Il vous suffit de l'ajouter dans votre paramétrage.

Exemple : Dans mes logs, j'ai : [4/24/2023, 10:46:28 PM] [Tydom] Found new tydom device named='devicename_1' with deviceId=16190123456 (id=73bxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) ..... [4/24/2023, 10:46:35 PM] [Tydom] Found new tydom device named='devicename_2' with deviceId=16190123457 (id=73bxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)

Mon paramétrage devient donc : { "bridge": { "name": "Homebridge XXXX", "username": "00:1A:25:xx:xx:xx", "port": 53619, "pin": "xxx-xx-xxx" }, "accessories": [], "platforms": [ { "platform": "Tydom", "hostname": "mediation.tydom.com", "username": "001A25xxxxxx", "password": "votre_mot_de_passe", "debug": true, "settings" : { "16190123456" : { "category" : 14 }, "16190123457" : { "category" : 14 } } } ] }

Cliquer sur le bouton "Enregistrer" !!!

4] Redémarrage de Homebridge :

Etape nécessaire : il FAUT redémarrer le plugin et donc redémarrer Homebridge : cliquez sur le bouton en haut a droite en forme d'icone "power on" (cercle avec un tiret vertical).

5] Accès aux accessoires

Une fois fait, cliquez sur l'onglet "Accessoires" en haut de l'interface Homebridge et vos accessoires paramétrés devraient apparaitre.

6] Ajout dans HomeKit :

Pour intégrer ce paramétrage dans votre appareil Homekit (iPhone / iPad) : 1) cliquez sur l'onglet "Statut" dans Homebridge : Le QR-Code est celui correspondant à votre pont HomeBridge qui contient votre configuration que vous venez de réaliser. 2) allez dans l'application "Maison" de votre appareil (iPhone / iPad)

Voila ! Maintenant vous avez votre configuration Homebridge dans Homekit et vous pouvez piloter/monitorer les statuts/états de vos nouveaux appareils.

Ne reste plus qu'à créer des scènes, des automatisations ou des raccourcis (de déclenchement, ou de récupération de statut) selon vos désirs.

Il s'agit ici que d'un petit exemple avec des volets roulant (catégorie 14) qui n'a pas de propriétés particulières Pour connaitre, l'ensemble des propriétés disponibles pour les autres accessoires, je vous invite à aller dans les répertoires du plugin : https://github.com/mgcrea/homebridge-tydom/tree/master/src/accessories S'y trouvent des fichiers TypeScript des plus communs des accessoires.

Dans chacun de ces fichiers TypeScript, il peut y avoir des "Settings" disponibles comme pour les systèmes de sécurité : (https://github.com/mgcrea/homebridge-tydom/blob/master/src/accessories/securitySystem.ts)

Avec : type ZoneAliases = { stay?: number[]; night?: number[]; };

qui permet de paramétrer l'équipement suivant ses besoins, du genre :

{ "bridge": { "name": "Homebridge XXXX", / [...] / }, "accessories": [], "platforms": [ { "platform": "Tydom", "hostname": "mediation.tydom.com", "username": "001A25XXXXXX", "settings": { "1521931577": { "pin": "123456", "aliases": { "stay": [ 3 ], "night": [ 2, 3 ] }, "sensors": false } } } ] }

Et ceci n'est qu'un tout petit exemple.

En espérant que ceci en aide plus d'un parmi nous. Bon paramétrage à tous.

Troubleshootings


1) défaut de connexion

Il peut arriver, comme j'ai pu le lire dans quelques "issues", que soit vous n'ayez pas de mot de passe, soit que vous ne vous en rappeliez pas. Pour cela, j'ai pu lire que certains ont tenté d'installer un proxy (man-in-the-middle) "Charles proxy" qui s'avère être payant... Pour ma part, j'ai pu trouver une alternative gratuite, notée 5 étoiles, régulièrement mise à jour, ne collectant pas de données privées : Proxyman.

C'est un paramétrage très rapide, puis il suffit de glisser le curseur "enable VPN" puis cela loggue l'ensemble des flux transitant.

le principe est le même que la procédure que j'ai pu voir ici : https://github.com/mgcrea/homebridge-tydom/issues/72

après avoir cliquer sur "Enable VPN", il suffit de lancer l'application "Tydom" sur votre smartphone et ca loggue les flux.

ET comme l'indique mgcrea :

La requête en question à regarder (avec le SSL proxying activé): https://prod.iotdeltadore.com/sitesmanagement/api/v1/siteaccesslist?offset=0&limit=30

Il faut ensuite regarder le Response Body (View body): Le mot de passe se trouve dans le champs: site_access_list.site.password et l'username site_access_list.site.mac.

Je vais placer ici un screenshot d'un exemple.


2) défaut de paramétrage

Il est possible que vous rencontriez ce type de message d'erreurs dans vos logs : "Could not create mDNS advertisement. The Hap-Server won't be discoverable: Error: No such interface found" J'ai effectué quelques recherches (car oui, j'y ai été confronté), j'ai pu trouver qu'il fallait ajouter ceci dans le parametrage initial : "advertiser":"ciao"

Le paramétrage initial devient :

"bridge": { "name": "Homebridge XXXX", "username": "00:1A:25:xx:xx:xx", "port": 53619, "pin": "xxx-xx-xxx", ( ne pas oublier la virgule !) "advertiser":"ciao" }

3) messages d'erreur divers dans les logs (A implémenter)

StephanH27 commented 1 year ago

Merci pour ce tutoriel. J'ai la même configuration que toi (Tydom 1.0, NAS synology - Docker HomeBridge). Je n'ai pas eu à faire tout ce paramétrage pour les volets pilotés par des 5730. Ils ont été automatiquement reconnus, sous la bonne catégorie.

amery74 commented 4 months ago

Bonjour @HomekitTech, Malgré vous avoir lu, impossible d’ajouter les accessoires dans le plugin… Voici le message d’erreur dans homebridge : IMG_3535

config :