Implémentation Custom pour interfaçage avec les API MyFox (racheté par Somfy).
Récupère l'ensemble des items dispo via les API MyFox et ajoute les "appareils" et "entités" associées
Rendez-vous sur https://api.myfox.me/dev/apps et créer un accès de type "Commercial applications"
- Name : MyFox Home Assistant
- Description : Home Assistant to control MyFox via API
- Redirect URL : https://my.home-assistant.io/redirect/oauth
L'accès via "Personal application" n'est plus disponible pour cette intégration car imposait de stocker les accès en plus des tokens. L'utilisation du token "Personal application" reste disponible pour le moment pour les tests unitaires.
3 méthodes disponibles pour l'installation :
- Installation via HACS (prochainement)
- Installation avec "Dépôts personnalisés / custom repository" via HACS :
- Dépôt : https://github.com/Angelius007/myfox-api
- Type : Integration
- Installation manuelle en téléchargeant la dernière archive :
- Télécharger la dernière archive
- Désarchivez le fichier
- Copier le dossier "myfox" dans le répertoire "custom_components"
Une fois installé, ajouter via les intégrations -> MyFox.
Recherche des sites (1 service sur 1, 1 entry)
Services
- /client/site/items : listing des sites de l'utilisateur. Choix du site paramétrable dans HA
Entry
- Choix du site ID
Gestion des caméras (8 services sur 10, camera:1, buttons:6)
Services
- /site/{siteId}/device/camera/items : listing des caméras
- /site/{siteId}/device/{cameraId}/camera/live/start/{protocol} : démarrage d'un live (protocol "hls" implémenté)
- /site/{siteId}/device/{cameraId}/camera/live/extend : pour ajouter 30 sec de live
- /site/{siteId}/device/{cameraId}/camera/live/stop : pour arrêter le live
- /site/{siteId}/device/{cameraId}/camera/preview/take: photo instantané (sert pour la vignette de la caméra)
- /site/{siteId}/device/{cameraId}/camera/recording/start : enregistre une vidéo de 2 min dans le cloud MyFox (nécessite abonnement. Encore dispo ?)
- /site/{siteId}/device/{cameraId}/camera/recording/stop : stop l'enregistrement de la vidéo dans le cloud
- /site/{siteId}/device/{cameraId}/camera/snapshot/take : photo instantané sauvegardé dans le cloud MyFox
- (not implemented) /site/{siteId}/device/{cameraId}/camera/shutter/open : ouverture obturateur caméra (si dispo)
- (not implemented) /site/{siteId}/device/{cameraId}/camera/shutter/close : fermeture obturateur caméra (si dispo)
Camera
- Image/Aperçu Caméra
- Stream (protocol hls)
Buttons
- Snapshot
- Rec Start
- Rec Stop
- Live Start
- Live Extend
- Live Stop
Gestion des capteurs de lumière (1 service sur 2, sensors:1)
Services
- /site/{siteId}/device/data/light/items : listing des capteurs de lumières
- (not implemented) /site/{siteId}/device/{deviceId}/data/light : historique des capteurs
Sensors
- Luminosité/light
Gestion des autres capteurs (incendie / panne congélateur / etc.) (1 service sur 1, sensors:1)
Services
- /site/{siteId}/device/data/other/items : lising des autres capteurs (incendie / capteur panne congélateur / etc.)
Sensors
- Etat capteur
Gestion des appareils à état (1 service sur 2, sensors:1)
Services
- /site/{siteId}/device/data/state/items : listing des appareils à état
- (not implemented) /site/{siteId}/device/{deviceId}/data/state : récupère l'état d'un appareil
Sensors
- Etat capteur
Gestion des capteurs de température (1 service sur 2, sensors:1)
Services
- /site/{siteId}/device/data/temperature/items : listing des capteurs de température
- (not implemented) /site/{siteId}/device/{deviceId}/data/temperature : historique des capteurs
Sensors
- Temperature
Gestion des portails (3 services sur 3, buttons:2)
Services
- /site/{siteId}/device/gate/items : listing des appareils
- /site/{siteId}/device/{deviceId}/gate/perform/one : action 1 de l'appareil
- /site/{siteId}/device/{deviceId}/gate/perform/two : action 2 de l'appareil
Buttons
- Bouton action 1
- Bouton action 2
Gestion des modules de chauffage (6 services sur 10, sensors:1, selects:2)
Services
- /site/{siteId}/device/heater/items/withthermostat : listing des modules de chauffage avec thermostat
- /site/{siteId}/device/heater/items : listing des modules de chauffage
- (not implemented) /site/{siteId}/device/{deviceId}/heater/auto : positionnement en mode auto du module de chauffage
- (not implemented) /site/{siteId}/device/{deviceId}/heater/away : positionnement en mode absent du module de chauffage
- (not implemented) /site/{siteId}/device/{deviceId}/heater/boost : positionnement en mode boost du module de chauffage
- /site/{siteId}/device/{deviceId}/heater/eco : positionnement en mode eco du module de chauffage
- /site/{siteId}/device/{deviceId}/heater/frost : positionnement en mode frost du module de chauffage
- /site/{siteId}/device/{deviceId}/heater/off : positionnement en mode off du module de chauffage
- /site/{siteId}/device/{deviceId}/heater/on : positionnement en mode confort du module de chauffage
- (not implemented) /site/{siteId}/device/{deviceId}/heater/thermostatoff : positionnement en mode off du module de chauffage
Sensors
- Temperature (pour module radiateur avec thermostat)
Selects
- Selection programme (ON/OFF/Mode ECO/Mode Hors-Gel)
- Selection programme (ON/OFF/Mode ECO/Mode Hors-Gel) (inactif:Mode Absent/Mode Auto/Mode Boost/Thermostat OFF)
Gestion des autres modules (3 services sur 3, buttons:2)
Services
- /site/{siteId}/device/module/items : listing des modules
- /site/{siteId}/device/{deviceId}/module/perform/one : action 1 de l'appareil
- /site/{siteId}/device/{deviceId}/module/perform/two : action 2 de l'appareil
Buttons
- Bouton action 1
- Bouton action 2
Gestion des volets (3 services sur 4, buttons:2)
Services
- /site/{siteId}/device/shutter/items : listing des modules volets
- /site/{siteId}/device/{deviceId}/shutter/open : volet en position ouverte
- /site/{siteId}/device/{deviceId}/shutter/close : volet en position fermée
- (not implemented) /site/{siteId}/device/{deviceId}/shutter/my : volet en position "favoris"
Buttons
- Ouverture volet
- Fermeture volet
Gestion des groupes de volets (3 services sur 3, buttons:2)
Services
- /site/{siteId}/group/shutter/items : listing des groupes de volets
- /site/{siteId}/group/{groupId}/shutter/open : volets en position ouverte
- /site/{siteId}/group/{groupId}/shutter/close : volets en position fermée
Buttons
- Ouverture volet
- Fermeture volet
Gestion des prises (3 services sur 3, buttons:2)
Services
- /site/{siteId}/device/socket/items : listing des prises connectées
- /site/{siteId}/device/{deviceId}/socket/on : position on
- /site/{siteId}/device/{deviceId}/socket/off : position off
Buttons
- Bouton ON
- Bouton OFF
Gestion des groupes de prises (3 services sur 3, buttons:2)
Services
- /site/{siteId}/group/electric/items : listing des groupements d'appreils électriques
- /site/{siteId}/group/{groupId}/electric/on : position on
- /site/{siteId}/group/{groupId}/electric/off : positionoff
Buttons
- Bouton ON
- Bouton OFF
Gestion des scénarios (4 services sur 4, scenes:1, switches:1)
Services
- /site/{siteId}/scenario/items : listing des scénarios
- /site/{siteId}/scenario/{scenarioId}/play : déclenchement d'un scénario
- /site/{siteId}/scenario/{scenarioId}/enable : activation d'un scénario
- /site/{siteId}/scenario/{scenarioId}/disable : désactivation d'un scénario
Scenes
- Déclenchement scénario à la demande
Switches
- Activation/Désactivation scénario
Gestion de l'alarme (2 services sur 2, selects:1)
Services
- /site/{siteId}/security : récupération de l'état de l'alarme
- /site/{siteId}/security/set/{securityLevel} : changement du niveau de sécurité de l'alarme
Selects
- Changement niveau alarme (Disarmed/Partial/Armed)
Gestion de l'historique (0 services sur 1)
Services
- (not implemented) /site/{siteId}/history : historique de la centrale
Gestion des médias (0 services sur 3)
Services
- (not implemented) /site/{siteId}/library/image/items : listing des photos dans le cloud MyFox
- (not implemented) /site/{siteId}/library/video/items : listing des vidéos dans le cloud MyFox
- (not implemented) /site/{siteId}/library/video/{videoId}/play : lecture d'une viédo du cloud MyFox
Fréquence de pooling (en minutes) / Pooling frequency (in minutes)
Fréquence d'appel des API via le coordinateur. Tous les services de récupération des appareils et de certains capteurs sont mis à jour via ce pooling.
Durée du cache (en secondees) / Cache duration (in seconds)
Durée du cache pour les listes d'appareils et capteurs. Si le pooling tente de récupérer des informations avant la fin de durée du cache, l'appel à l'API ne sera pas réalisé et la donnée en cache sera utilisée. (permet de limiter le nombre d'appels aux API MyFox)
Durée du cache de l'alarme (en secondes) / Security Cache duration (in seconds)
Durée du cache spécifique à l'alarme (pour récupérer l'état de l'armement)
Durée du cache de la camera (en secondes) / Camera Cache duration (in seconds)
Durée du cache spécifique à la caméra (pour récupérer un aperçu des caméras).
- Pour intégrer des couleurs dans les icônes, installer le plugin "custom-ui" via HACS pour changer la couleur des icônes
Après installation :
- Pour pouvoir mettre des couleurs sur les icônes
- installer Custom-ui : https://github.com/Mariusthvdb/custom-ui
- ajouter dans le configuration.yaml la ligne : homeassistant: !include custom_components/myfox/customize.yaml
Pour les Tests :
Commencer par dupliquer le fichier "init_cache.txt" en le renommant en "cache.txt" Puis remplissez les zones prévues :
- "CLIENT_ID": "xxx" -> A recuperer sur api.myfox.me
- "CLIENT_SECRET": "xxx" -> A recuperer sur api.myfox.me
- "MYFOX_USER": "xxx" -> Email compte MyFox
- "MYFOX_PSWD": "xxx" -> Pswd MyFox
Angelius007
https://github.com/Angelius007/myfox-api
API : https://api.myfox.me/
Attention, MyFox a été racheté par Somfy depuis plusieurs années. Il n'y a plus de support ou de mise à jour des API MyFox