Intégration du contrôleur IR Zigbee ZS05 avec SmartIR via Zigbee2MQTT
Le contrôleur IR Zigbee ZS05 se connecte à Home Assistant en utilisant Zigbee2MQTT et l'intégration SmartIR. Le principal défi est de configurer correctement les sujets MQTT et de convertir les commandes IR du format Broadlink en Raw MQTT. Cela permet de contrôler les appareils de climatisation, téléviseurs et projecteurs sans les erreurs typiques rencontrées avec ZHA.
Configuration requise
Vous aurez besoin de :
- Home Assistant, version à jour.
- Zigbee2MQTT en tant qu'add-on ou dans Docker.
- SmartIR via HACS.
- Un contrôleur ZS05 ou une alternative compatible.
Ajout de l'appareil dans Zigbee2MQTT
- Activez Permit Join dans Zigbee2MQTT.
- Réinitialisez le ZS05 en maintenant le bouton jusqu'à ce que la LED clignote.
- L'appareil apparaîtra dans l'interface Z2M.
- Attribuez un nom convivial, comme
ir_salon— cela détermine le sujet MQTTzigbee2mqtt/ir_salon.
Vérifiez les journaux : l'appareil doit publier et recevoir des messages. Des sujets comme zigbee2mqtt/ir_salon confirment la connexion.
Installation de SmartIR
Dans HACS, recherchez le dépôt SmartIR, installez-le et redémarrez HA. L'intégration crée des entités comme climate et media_player, qui utilisent MQTT pour envoyer des signaux IR.
Configuration correcte dans configuration.yaml
Une erreur courante dans la documentation SmartIR est le mauvais sous-sujet dans controller_data. Pour le ZS05, utilisez /set/ir_code_to_send, et non /command.
Exemple pour une entité climatique :
smartir:
climate:
- platform: smartir
name: Climatiseur IR du salon
unique_id: climatiseur_ir_salon
device_code: 1200
controller_data: zigbee2mqtt/ir_salon/set/ir_code_to_send
temperature_sensor: sensor.temperature
humidity_sensor: sensor.humidity
power_sensor: binary_sensor.alimentation_ac
power_sensor_restore_state: true
Paramètres clés :
controller_data:zigbee2mqtt/{nom_convivial}/set/ir_code_to_send— le chemin exact pour les commandes ZS05.device_code: Code numérique de la bibliothèque SmartIR (smartir/codes/climate). Pour les marques rares, faites correspondre par protocole (par ex., Gree, Midea).- Capteurs de température/humidité/alimentation — optionnels pour une automatisation complète.
Conversion des codes IR en Raw MQTT
La bibliothèque SmartIR stocke les codes au format Broadlink. Le ZS05 nécessite du Raw MQTT en Base64. Convertissez les fichiers :
- Téléchargez le JSON depuis le dépôt
smartir/codes/{type}. - Utilisez un convertisseur en ligne Broadlink → Raw MQTT ou un script Python.
- Placez le fichier converti dans
/config/custom_components/smartir/codes/climatevia Samba.
Dans device_code, spécifiez uniquement le numéro du nom de fichier (par ex., 9990).
Exemple de commandes converties pour Tosot T09H-SNa/I (chauffage, bas, 16°C) :
{
"manufacturer": "Tosot",
"supportedModels": ["T09H-SJ"],
"supportedController": "MQTT",
"commandsEncoding": "Raw",
"minTemperature": 16,
"maxTemperature": 30,
"precision": 1,
"operationModes": ["heat", "cool", "dry", "fan_only", "heat_cool"],
"fanModes": ["low", "medium", "high", "auto"],
"commands": {
"off": "CRgjnBElAm0GJQLgCwHgAxfAC+APK+ALO8AD4A9X4AtfAQpO4B1j4AdX4B+X4Bur",
"heat": {
"low": {
"16": "BRgjnBElAsABAW0G4AEDwA/gLwHgB0vgBxvgB1/AawEKTuAdd+AHV+Azq+AHRw=="
}
}
}
}
Les commandes complètes pour tous les modes/températures sont disponibles dans la bibliothèque après conversion.
Tests et débogage
- Redémarrez HA.
- Dans l'interface climatique, modifiez la température ou le mode.
- Dans Outils de développement → MQTT ou journaux Z2M, vérifiez les publications vers
zigbee2mqtt/ir_salon/set. - Le clignotement de la LED sur le ZS05 et la réponse de l'appareil confirment le succès.
Points clés
- Utilisez le sujet exact
/{nom_convivial}/set/ir_code_to_senddanscontroller_data. - Convertissez les codes en Raw MQTT pour la compatibilité avec le ZS05.
- Faites correspondre
device_codepar protocole, en testant sur des modèles similaires. - Les journaux Z2M et MQTT sont les principaux outils de débogage.
- Zigbee2MQTT est plus stable que ZHA pour les contrôleurs IR.
— Editorial Team
Aucun commentaire pour le moment.