Intégration pack sécurité Freebox delta

Bonsoir,

J’ai adapté un package qui permet d’interagir avec le pack sécurité de la Delta. Je me suis basé sur ce qui avait été fait par Free sur Homebridge. Je modifié afin d’avoir les mêmes fonctionnalités sur Homeassistant.

La communication entre HA et la delta passe par une API. Il suffit de curl certains endpoint afin d’activer l’alarme ou récupérer des états.
Tous les états, actions sont bien gérés par l’API (développé par Free), il suffit juste de configurer HA afin qu’il interagisse de la bonne façon.

Pour l’installation, il est possible d’utiliser Docker, ou de le lancer de manière classique avec pm2 par exemple.

Si vous avez des questions n’hésitez pas

Voici le lien: GitHub - LacazeThomas/freebox-security-API: A bridge between the freebox home api and homebridge.

Bonsoir thomaslacaze,

Pourrais-tu faire un guide d’installation et d’utilisation.
Si je comprend bien ton API permettrais d’enclencher et de désenclencher l’alarme ? Est-ce bien ça ?
J’avoue ne pas trop m’y connaitre en docker et nodejs, donc un peux d’aide serait la bienvenue

bonsoir @thomaslacaze,
vous auriez une procédure d’installation ?

merci

Bonjour @Ptitcoeur59,

En fait, je viens de découvrir et de tester quelques chose d’encore plus simple !
On m’a appris que HACF était en train de travailler sur l’intégration du pack sécurité dans l’intégration « officielle » Freebox de HA
Elle est presque fonctionnelle mais pas encore déployer sur la version officielle de HA
Mais, il suffit d’aller télécharger le zip complet de HA sur le GitHub de HACF mais sur la branche Freebox/Home (la branche de dev de l’intégration Freebox qui prend en charge le pack) :

Ensuite, d’en extraire QUE le dossier « freebox » dans homeassistant/components et de le copier dans ton dossier custom_component. Et enfin de refaire l’installation de l’intégration Freebox via l’UI !

NB : petit bémol, j’ai fait des corrections de dev qui ne sont pas encore sur la branche de HACF du coup, tu peux si tu as confiance télécharger plutôt le zip sur mon repo

Et extraire le dossier composants/freebox/ à déployer dans le custom
Sinon, tu dois intégrer les corrections intégrées à ces 2 PR

Voila ! c’est presque la mort de mon intégration non-officielle via NodeRed :wink:

Je vais publier le week-end prochain un tuto afin d’installer l’outil

Bonjour,

J’arrive pas à tester l’intégration… Je suis une buse… Comment tu fais ?

J’ai copier/coller le répertoire au bon endroit mais je ne le vois nulle part.

Damien

Bonjour @damien,

En fait, tu dois d’abord désinstaller ton intégration Freebox officielle
Ensuite tu fais un redémarrage HA pour être sûr de tout supprimer
Ensuite, tu copies le nouveau dossier dans custom_components
Ensuite tu redémarre encore HA
Et la il me semble que tu lance l’installation de l’intégration Freebox et en fait ça va lancer celle qui est dans custom :stuck_out_tongue_winking_eye:

Salut @dathosim,

ah ok… j’avais pas shooté l’ancienne… Je m’en occupe ce WE.

Tu sais si les git sont à jours ou faut passer par ton repo pour test ?

Damien

Salut @dathosim,

C’est bien ça, il faut supprimer l’ancienne. Ensuite tout roule ! :slight_smile:

Petite question : est-ce que chez toi l’alarme « nuit » fonctionne? chez moi, rien à faire, elle reste à « désactivée ». De plus quand je change l’état de l’alarme via l’application FreeboxHome, HA n’est pas mis à jour. Chez toi aussi ?

Hello @damien

Si moi tout fonctionne pour l’alarme !
Par contre, comme toi au début je croyais que ça fonctionnait pas car il faut modifier la card “alarm panel” qui est posée par défaut
Il faut mettre les boutons “arm away” et “arm night”
Et pas “arm home” (qui ne fonctionne pas)
:wink:

Pas chez moi… Je vais recommencer et repartir de 0 sur cette intégration.
Le cliquez sur le bouton « armer nuit » ne fait rien…

Salut @dathosim,

Bon… bah rien à faire… Impossible d’activer l’alarme « nuit »… J’ai utilisé ton repo pourtant…

Voici un état de l’alarme dans les outils de dev :

code_format: null
changed_by: null
code_arm_required: true
friendly_name: Système d'alarme
supported_features: 2

Est-ce normal le supported_features ? je m’attendais à avoir armed_away et armed_night, non ?

Quand je change via l’appli Freebox sur mon téléphone, j’ai bien armed_night, mais impossible de mettre cet état via HA… :cry:

Ah ? moi j’ai supported_features = 6
Rien dans les logs au moment de l’installation ou du clic sur le bouton arm_night ?

nan rien… c’est bien là mon malheur…

Tu sais ce que veux dire ce supported_features ?

J’ai ce type d’erreur dans les logs, mais pas de rapport à priori avec l’appuie sur le bouton armer nuit :

2021-11-01 12:25:33 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/config/custom_components/freebox/binary_sensor.py", line 83, in async_watcher
    detection = await self.get_home_endpoint_value(self._command_trigger)
  File "/config/custom_components/freebox/base_class.py", line 130, in get_home_endpoint_value
    node = await self._router._api.home.get_home_endpoint_value(
  File "/usr/local/lib/python3.9/site-packages/freebox_api/api/home.py", line 107, in get_home_endpoint_value
    return await self._access.get(f"home/endpoints/{node_id}/{endpoint_id}")
  File "/usr/local/lib/python3.9/site-packages/freebox_api/access.py", line 122, in get
    return await self._perform_request(self.session.get, end_url)
  File "/usr/local/lib/python3.9/site-packages/freebox_api/access.py", line 94, in _perform_request
    r = await verb(url, **request_params)
  File "/usr/local/lib/python3.9/site-packages/aiohttp/client.py", line 544, in _request
    await resp.start(conn)
  File "/usr/local/lib/python3.9/site-packages/aiohttp/client_reqrep.py", line 905, in start
    self._continue = None
  File "/usr/local/lib/python3.9/site-packages/aiohttp/helpers.py", line 656, in __exit__
    raise asyncio.TimeoutError from None
asyncio.exceptions.TimeoutError

Bonjour, je viens de publier la procédure entière d’installation et de configuration :

Vous avez la possibilité d’activer/désactiver l’alarme principale et secondaire. Vous pouvez aussi récupérer tous les états des capteurs.

Attention le serveur qui héberge freebox-security-API doit être le même que celui de homeassitant. Pour des raisons de sécurité l’API autorise uniquement des appels en localhost.

N’hésitez pas à me contacter si jamais vous avez des difficultés.

2 « J'aime »

Bonjour @thomaslacaze,

Pas possible d’avoir l’option pour activer l’alarme secondaire ?

Très beau boulot ! bravo !

Bonjour, j’aurai besoin d’un peu d’aide pour installer votre bridge sur mon home assistant.
J’ai bien installé tout ce qu’il faut et lancé le script avec PM2.
Là je suis bloqué à l’étape d’authentification avec la commande suivante :

curl http://localhost:8888/api/fbx/auth

J’ai essayé tout ce que j’ai pu, j’ai remplacé localhost par l’adresse ip locale de la box, j’ai fait une redirection de port 8888 vers la box elle même, j’ai essayé mon port d’accès distant HTTP… rien n’a l’air de fonctionner.

J’obtiens le message suivant :
IP+8888 : Failed to connect to 192.168.0.254 port 8888: Connection refused
IP sans port : {« msg »:« Version d’API inconnue »,« success »:false,« error_code »:« invalid_api_version »}

Si quelqu’un a des pistes pour m’aider ça serait super :slight_smile:

Pour information j’utilise une Freebox Delta, sur laquelle j’ai installé Home Assistant en VM dessus. L’adresse IP de ma VM est différente de celle de la box.

Merci par avance :slight_smile:

Bonjour @damien,

Il y a déjà la possibilité d’activer l’alarme secondaire il suffit d’appeler l’endpoint /api/alarm/secondary au lieu de /api/alarm/main :grinning:

1 « J'aime »

Bonjour @romano64,

Je vais regarder tout ça, je te fais un retour ce soir, je vais setup une VM sur la delta

EDIT:
Si tu fais un curl depuis ta VM avec d’installer HA et le package freebox-security-API (curl http://localhost:8888/api/fbx/auth), cela donne quoi ? Tu n’as pas besoin de modifier quoique ce soit si les deux sont sur la même VM.

Tu n’as pas besoin aussi de faire un forwarding de port. Le but c’est de laisser passer uniquement les requêtes de ta VM et pas les autres afin d’éviter des problèmes de sécurité. Ainsi seul HA et les requêtes provenant de la VM seront autorisées. Donc il faut faire le curl depuis la VM en destination de la VM sur le port 8888 le tout en localhost.

J’espère que ça va corriger le problème :smiley:

Bonjour,

J’ai suivi les conseils de @dathosim, mais je ne trouve aucunement l’endroit où je peux définir la nécessité d’entrer le code pour activer ou désactiver l’alarme. J’ai cherché dans bon nombre des fichiers mais mes résultats ne sont pas concluante.

Pourriez vous m’indiquez ou je pourrait trouver cette configuration ?

Cordialement