Intégration personnalisée (custom component) pour piloter les volets roulants gérés par une passerelle Delta Dore Tydom / Tywell Pro (récepteurs X3D type Tyxia 5630) depuis Home Assistant.
- Connexion locale en WebSocket (
local_push) : mises à jour instantanées, pas de dépendance à internet une fois configurée. - Aucune dépendance Python externe (utilise
aiohttp, déjà fourni par Home Assistant). - Reconnexion automatique, découverte automatique des volets.
- Position, ouverture / fermeture / stop, et inclinaison (BSO / lames orientables) si le volet la gère.
Testé conceptuellement avec le protocole Tydom standard utilisé par les boîtiers Tydom 1.0 / 2.0 / Pro et la box modulaire Tywell Pro (réf 6702000), qui se pilotent tous via l'application Tydom.
- HACS → menu (⋮) → Dépôts personnalisés.
- Ajoutez l'URL de ce dépôt, catégorie Integration.
- Cherchez Delta Dore Tydom, installez, puis redémarrez Home Assistant.
Copiez le dossier custom_components/tydom dans le répertoire
config/custom_components/ de votre installation Home Assistant, puis
redémarrez.
Paramètres → Appareils et services → Ajouter une intégration → Delta Dore
Tydom. Le boîtier est aussi détecté automatiquement par DHCP (préfixe MAC
001A25).
Deux méthodes vous sont proposées :
L'intégration récupère automatiquement le mot de passe local du boîtier depuis le cloud Delta Dore, puis se connecte en local.
| Champ | Exemple | Où le trouver |
|---|---|---|
| Adresse IP | 192.168.1.50 |
IP locale du boîtier (box / app Tydom / scan réseau) |
| Adresse MAC | 001A25XXXXXX |
App Tydom ou étiquette du boîtier |
vous@exemple.fr |
Compte de l'application Tydom | |
| Mot de passe | •••••• |
Mot de passe de ce compte |
Le mot de passe local résolu est mémorisé dans la configuration ; ensuite la connexion ne passe plus par internet.
Si vous avez déjà extrait le mot de passe local (voir ci-dessous), saisissez simplement IP + MAC + mot de passe local. Aucune dépendance au cloud.
Le mot de passe local peut être récupéré via l'API Delta Dore (le même appel que fait la méthode « compte »). Exemple en ligne de commande :
# 1) Récupérer le endpoint de jeton
TOKEN_URL=$(curl -s "https://deltadoreadb2ciot.b2clogin.com/deltadoreadb2ciot.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=B2C_1_AccountProviderROPC_SignIn" | python3 -c "import sys,json;print(json.load(sys.stdin)['token_endpoint'])")
# 2) Obtenir un access_token
ACCESS_TOKEN=$(curl -s -X POST "$TOKEN_URL" \
-d "grant_type=password" \
-d "client_id=8782839f-3264-472a-ab87-4d4e23524da4" \
-d "username=VOTRE_EMAIL" \
-d "password=VOTRE_MDP" \
-d "scope=openid 8782839f-3264-472a-ab87-4d4e23524da4 offline_access" \
| python3 -c "import sys,json;print(json.load(sys.stdin)['access_token'])")
# 3) Lire le mot de passe de la passerelle
curl -s "https://prod.iotdeltadore.com/sitesmanagement/api/v1/sites?gateway_mac=001A25XXXXXX" \
-H "Authorization: Bearer $ACCESS_TOKEN" | python3 -m json.toolLe mot de passe se trouve dans sites[0].gateway.password.
Chaque volet apparaît comme une entité cover :
- Position 0 (fermé) → 100 (ouvert).
- Boutons Ouvrir / Fermer / Stop.
- Inclinaison des lames si le volet la prend en charge (donnée
slope).
-
cannot_connect: vérifiez l'IP du boîtier et que Home Assistant est sur le même réseau (port 443). Le Tydom utilise un certificat auto-signé : c'est géré, la vérification TLS est désactivée pour cet hôte. -
invalid_auth: mauvais e-mail/mot de passe (méthode compte) ou mauvais mot de passe local (méthode locale). -
Tydom 2.0 : le boîtier accepte difficilement plusieurs clients locaux simultanés. Fermez l'app Tydom mobile si la connexion est instable.
-
Activez les logs détaillés :
logger: default: info logs: custom_components.tydom: debug
Le protocole est du HTTP encapsulé dans un WebSocket TLS :
- Handshake :
wss://<ip>:443/mediation/client?mac=<MAC>&appli=1avec authentification HTTP Digest (utilisateur = MAC, mot de passe = mot de passe local). - Lecture :
GET /configs/file(noms + types) puisGET /devices/data(état). - Commande volet :
PUT /devices/<id>/endpoints/<id>/dataavec[{"name":"positionCmd","value":"UP|DOWN|STOP"}]ou[{"name":"position","value":<0-100>}].
Projet communautaire non affilié à Delta Dore. Pensez à mettre à jour les URLs
documentation / issue_tracker dans custom_components/tydom/manifest.json
avec votre propre dépôt.