Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (homebridge-ir-amplifier) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Homebridge IR Amplifier Plugin
Ce plugin Homebridge permet de contrôler un amplificateur via infrarouge avec support CEC pour l'intégration Apple TV. Il expose l'amplificateur comme un périphérique CEC compatible, permettant à l'Apple TV de le contrôler via HDMI-CEC et d'afficher un slider de volume dans l'interface AirPlay.
Fonctionnalités
- 🎛️ Contrôle IR : Contrôle de l'amplificateur via Broadlink RM3 Pro
- 📊 Surveillance électrique : Détection de l'état via TP-Link HS110
- 👁️ Reconnaissance optique : Lecture du volume et de la source via OCR
- 📺 Support CEC : Intégration Apple TV avec contrôle du volume dans AirPlay
- 🏠 HomeKit : Exposition de l'amplificateur dans l'écosystème HomeKit
Prérequis
Matériel requis
- Raspberry Pi avec sortie HDMI
- Broadlink RM3 Pro (ou compatible)
- TP-Link HS110 (ou compatible avec API)
- Caméra IP pointant vers l'écran de l'amplificateur
- Amplificateur avec télécommande IR
Logiciel requis
- Node.js >= 14.0.0
- Homebridge
- libcec-utils (pour le support CEC)
Installation
1. Installation des dépendances système
# Installation de libcec-utils pour le support CEC
sudo apt-get update
sudo apt-get install cec-utils
# Vérification de l'installation
cec-client --help2. Installation du plugin
# Via npm (recommandé)
npm install -g homebridge-ir-amplifier
# Ou depuis les sources
git clone https://github.com/thomasvernouillet/homebridge-ir-amplifier.git
cd homebridge-ir-amplifier
npm install
npm run build3. Configuration Homebridge
Ajoutez la configuration suivante dans votre fichier config.json de Homebridge :
{
"platforms": [
{
"platform": "IRAmplifier",
"name": "IR Amplifier",
"broadlink": {
"host": "192.168.1.100",
"mac": "AA:BB:CC:DD:EE:FF",
"commands": {
"power": "2600500000012a...",
"source": "2600500000012b...",
"volumeUp": "2600500000012c...",
"volumeDown": "2600500000012d..."
}
},
"tplink": {
"host": "192.168.1.101"
},
"ocr": {
"cameraUrl": "http://192.168.1.102:8080/snapshot",
"checkInterval": 30000
},
"cec": {
"deviceName": "IR Amplifier",
"physicalAddress": "1.0.0.0",
"logicalAddress": 5,
"vendorId": "000000",
"osdName": "IR AMP"
}
}
]
}Configuration
Broadlink RM3 Pro
Découverte de l'appareil :
# Trouver l'adresse IP et MAC de votre Broadlink nmap -sn 192.168.1.0/24
Apprentissage des commandes IR :
- Utilisez l'application Broadlink pour apprendre les commandes
- Ou utilisez la fonction d'apprentissage du plugin (à implémenter)
TP-Link HS110
- Configuration :
- Connectez le HS110 à votre réseau
- Trouvez l'adresse IP dans l'application Kasa
- Assurez-vous que l'amplificateur est branché sur le HS110
Caméra IP
- Configuration :
- Pointez la caméra vers l'écran de l'amplificateur
- Configurez l'URL de capture (ex:
/snapshotpour les caméras Foscam) - Testez l'accès :
curl http://IP_CAMERA:PORT/snapshot
CEC
Configuration HDMI :
- Connectez le Raspberry Pi à l'amplificateur via HDMI
- Connectez l'Apple TV à l'amplificateur via HDMI
- Vérifiez que CEC est activé sur tous les appareils
Test CEC :
# Vérifier les appareils CEC echo "scan" | cec-client -s -d 1 # Tester les commandes echo "tx 4F:82:10:00" | cec-client -s -d 1
Utilisation
Contrôle via HomeKit
Le plugin expose trois services dans HomeKit :
- Switch : Contrôle d'alimentation de l'amplificateur
- Speaker : Contrôle du volume (0-100%)
- Lightbulb : Contrôle fin du volume via la luminosité
Intégration Apple TV
Une fois configuré, l'Apple TV devrait :
- Détecter l'amplificateur comme périphérique CEC
- Afficher un slider de volume dans l'interface AirPlay
- Contrôler automatiquement l'amplificateur lors des changements de volume
- Allumer/éteindre l'amplificateur selon les besoins
Surveillance automatique
Le plugin surveille automatiquement :
- État d'alimentation via la consommation électrique (TP-Link)
- Volume actuel via reconnaissance optique (OCR)
- Source active pour s'assurer qu'elle est sur "VIDEO 2"
Dépannage
Problèmes CEC
# Vérifier les appareils CEC
echo "scan" | cec-client -s -d 1
# Vérifier les logs CEC
echo "log" | cec-client -s -d 1
# Tester une commande
echo "tx 4F:82:10:00" | cec-client -s -d 1Problèmes IR
- Vérifiez que les commandes IR sont correctement apprises
- Assurez-vous que le Broadlink est à portée de l'amplificateur
- Testez les commandes via l'application Broadlink
Problèmes OCR
- Vérifiez que la caméra capture bien l'écran de l'amplificateur
- Testez l'URL de la caméra dans un navigateur
- Ajustez la luminosité et le contraste de l'écran de l'amplificateur
Développement
Structure du projet
src/
├── index.ts # Plateforme principale
├── platformAccessory.ts # Accessoire HomeKit
├── broadlinkController.ts # Contrôleur Broadlink
├── tplinkController.ts # Contrôleur TP-Link
├── ocrController.ts # Contrôleur OCR
├── cecController.ts # Contrôleur CEC
└── settings.ts # ConfigurationCompilation
# Compilation TypeScript
npm run build
# Compilation en mode watch
npm run watchLicence
MIT
Support
Pour toute question ou problème, ouvrez une issue sur GitHub.