Relier FreePBX et Home Assistant

Une fois FreePBX installé, on va le lier à Home Assistant.

Ajouter un Manager Asterisk

Autoriser l’IP de Home Assistant

192.168.1.200 dans mon exemple

Corriger bindadrr dans /etc/asterisk/manager.conf

Il suffit d’Ă©diter le fichier /etc/asterisk/manager.conf depuis une ligne de commande SSH

nano /etc/asterisk/manager.conf

remplacer bindaddr = 127.0.0.1 par bindaddr = 0.0.0.0

Facultatif, si on veut, on peut vérifier que Manager (AMI) indique bien Yes en allant dans la console de Asterisk :

asterisk -r

puis en en le questionnant :

manager show settings

Installer l’intĂ©gration Asterisk-hass-integration

Tout est expliquĂ© dans la doc de l’extension

https://github.com/TECH7Fox/asterisk-hass-integration

Ajouter l’intĂ©gration Asterisk

Identifier votre utilisateur sur l’intĂ©gration

Et lĂ  ? c’est le drame

Pour une raison inconnue, depuis la version 1.x de l’intĂ©gration, les Ă©quipements ne remontent pas :

On va donc changer de version et repasser Ă  la version v0.9.8

On relance Home Assistant

Gestion des appareils et entités

Et voilà, à la relance, les appareils (1 serveur + 3 lignes) et les entités qui correspondent sont apparues.

Il existe une Carte dédiée 

Aller dans HACS puis dĂ©pĂ´t personnaliser, on peut trouver cette carte (du mĂŞme auteur que l’intĂ©gration)

https://github.com/TECH7Fox/sip-hass-card

J’ai testĂ© cette carte mais elle permet de passer et recevoir des appels, cela ne m’intĂ©resse pas, ma domotique ne tĂ©lĂ©phone pas. Je vais utiliser les informations fournies par l’intĂ©gration Asterisk-hass-integration pour dĂ©tecter un appel.

Quelles informations sont récupérées ?

Le serveur Asterisk

Il me donne deux informations, le premier est Ă  “Success”, on est très content d’avoir rĂ©ussi, Ă  ce stade je ne sais pas quoi, mais tant que cela reste Ă  Success, j’imagine que c’est bon signe. Pour la seconde information, Lastest DTMF Signal, j’ai appuyĂ© sur toutes les touches pour essayer de voir Ă  quoi cela fait rĂ©fĂ©rence, on verra dans le temps. Je viendrai complĂ©ter ce texte si je comprends.

Enfin, on voit que mes trois lignes 100, 201 et 203 sont bien connectées au serveur, très bien.

Les lignes

Callee

Dans cette entité, on va retrouver le numéro du correspondant.

Le numĂ©ro de l’appelant chez le destinataire et le numĂ©ro du destinataire chez l’appelant.

Channel

Cette entitĂ© donne une information de lien. Si 100 tĂ©lĂ©phone Ă  201, toutes les deux auront le mĂŞme channel, on sait qu’ils sont en communication.

Registered

Evidemment, c’est pour vĂ©rifier que l’extension est bien identifiĂ©e et connectĂ©e au serveur.

C’est intĂ©ressant d’avoir cela pour pouvoir signaler une dĂ©connexion. Quand l’extension n’est plus enregistrĂ©e, c’est la valeur “DĂ©sactivĂ©” qui apparait. J’ai notĂ© que le passage Ă  dĂ©sactivĂ© est assez rapide si on dĂ©connecte un Ă©quipement.

State 

Peut prendre les valeurs :

UNKNOWN | NOT_INUSE | INUSE | BUSY | INVALID | UNAVAILABLE | RINGING | RINGINUSE | ONHOLD

Mais globalement, j’ai utilisĂ© :

  • RINGING quand ça sonne
  • INUSE quand je suis en communication (ou quand l’appelant fait sonner)
  • NOT_INUSE le reste du temps

Quelles applications concrètes maintenant ?

Si comme chez moi une des lignes est le portier, on peut imaginer :

  • Relayer la sonnette sur le portier par une musique, un message Alexa ou toute information sonore ou lumineuse.
  • A l’appui sur la sonnette, allumer les lumières extĂ©rieures
  • S’il n’y a personne a la maison, recevoir une notification sur le tĂ©lĂ©phone avec une photo de le camĂ©ra de l’entrĂ©e