Convertir une simple sonnette existante en sonnette intelligente avec Domoticz
Le but de ce document est d'illustrer comment configurer et connecter le contrôleur Domoticz/Raspberry pour obtenir un instantané sur notre application Telegram lorsque quelqu'un appuie sur la sonnette.
Le 12Vac utilisé pour alimenter le carillon ou le buzzer de la sonnette est connecté à une entrée optoisolée sur le module DomBus23 , donc lorsque le carillon/buzzer est alimenté, un déclencheur est envoyé à Domoticz qui active un script pour récupérer une image de l'IPcam et l'envoyer à un canal ou un groupe Telegram , afin que les membres de la famille puissent recevoir la photo sur leur smartphone dès que quelqu'un appuie sur le bouton de la sonnette .
Consultez la version anglaise de cette page pour obtenir la version la plus récente.
Exemple de matériel utilisant un module DomBus
DomBus23 dispose de nombreuses entrées et sorties et peut être utilisé pour réaliser d'autres fonctions, comme l'ouverture d'un portail piéton ou d'une porte principale (il dispose de 2 sorties relais), la gestion d'une lumière de courtoisie avec bande LED avec fonction de gradation (il dispose d'un mosfet 30V 12A), ....
Si la sonnette utilise une alimentation 230 Vca ou 110 Vca, il est possible de connecter le carillon/buzzer à l'entrée optoisolée IN3, qui prend en charge les hautes tensions.
Les modules DomBus sont conçus pour avoir une très faible consommation électrique, inférieure à 10 mW, et obtenir une connexion très fiable au contrôleur domotique par bus RS485 (simple câble blindé à 4 fils, 2 pour les données et 2 pour l'alimentation 12V). L'utilisation d'une alimentation 12V avec batterie de secours au plomb permet de faire fonctionner le système même en cas de coupure de courant.
Configuration du logiciel
On suppose que vous avez déjà installé Domoticz sur un ordinateur, comme Raspberry PI ou un autre ordinateur monocarte, ou un PC/Mac.
Les modules DomBus sont connectés à l'ordinateur domotique via un adaptateur USB/RS485 et une alimentation 12V.
Sélectionnez le périphérique d'entrée IN1 sur le panneau des commutateurs Domoticz et spécifiez le script à activer lorsque la sonnette sonne.
Téléchargez les scripts sendsnapshot.sh et telegramSendText.sh depuis GitHub et placez-les dans le répertoire DOMOTICZ/scripts.
Modifiez ces fichiers pour définir les paramètres IPCam et Telegram.
Capture d'écran d'une caméra Reolink
Activez le service HTTP, port 80, sur votre caméra reolink, créez un utilisateur qui ne peut que visualiser la caméra (nommez-le spectateur ou autre chose) et utilisez l'URL suivante pour télécharger un instantané jpeg :
http://192.168.XY/cgi-bin/api.cgi?cmd=Snap&channel=0&user=viewer&password=MOT DE PASSE'
où 192.168.XY est le numéro IP de la caméra, viewer est le nom de l'utilisateur que vous avez créé avec le MOT DE PASSE associé.
Remplacez channel=0 par channel=1 si vous avez une double caméra, comme Reolink TrackMix, et que vous souhaitez voir le deuxième canal.
Comment interroger la caméra ONVIF pour obtenir le flux vidéo et l'URI de l'instantané
Certaines caméras IP ONVIF chinoises de mauvaise qualité n'ont pas d'URI d'instantané : très mauvais, mais nous pouvons générer un instantané à partir du flux vidéo, en utilisant ffmpeg !!
ONVIF est un protocole standard pour interroger les caméras IP ONVIF, il est donc possible d'obtenir les caractéristiques de la caméra IP en envoyant certaines requêtes à l'aide du système SOAP.
Un très bon tutoriel pour détecter l'URI vidéo et instantanée de votre caméra ONVIF peut être trouvé sur http://me-ol-blog.blogspot.com/2017/07/getting-still-image-urluri-of-ipcam-or.html
Comment obtenir un jeton Telegram et un chat_id, nécessaires pour envoyer des messages/images par Telegram
Telegram est un système de messagerie instantanée très puissant, similaire à WhatsApp, mais bien meilleur car open-source, multi-plateforme (pas seulement pour les smartphones... Telegram Desktop fonctionne sur Linux, Mac, Windows !), et très personnalisable via son API.
Les instructions suivantes peuvent être utilisées pour obtenir une photo sur Telegram lorsque quelqu'un appuie sur le bouton de la sonnette.
Ci-dessous les instructions étape par étape pour créer un BOT sur Telegram et un canal utilisé pour envoyer des notifications à vous et à d'autres personnes :
- évidemment, vous devez avoir Telegram installé sur votre smartphone, et également Telegram Desktop sur votre PC/Mac/Linux : vous pouvez le télécharger depuis https://desktop.telegram.org/
- recherchez BotFather dans votre liste de contacts, sélectionnez-le et démarrez-le
- tapez /nouveaubot
- tapez un nom pour ce bot, par exemple domApi
- tapez un nom d'utilisateur, se terminant par "bot", par exemple domApiUserbot
- à ce stade, BotFather vous renverra une clé API (ci-dessous un exemple en gras) que vous devrez stocker quelque part :
784324329:EETRNJU3jQEGWQdjNv3llb4bnDSDREGuuuL - Maintenant, à l'aide de votre smartphone, créez un nouveau canal (pas un groupe : canal !), sélectionnez-lui un nom (par exemple Domoticz), définissez-le comme public et spécifiez un lien pour celui-ci (il doit être unique), par exemple t.me/dom123abc
Veuillez noter que seul le propriétaire du canal peut configurer le canal comme public !
Ajoutez des membres à ce canal : votre partenaire, vos fils, tous ceux qui doivent recevoir des notifications Domoticz - Entrez dans le canal et ajoutez un nouvel administrateur : sélectionnez le bot que vous venez de créer à l'étape 3-6 (recherchez domApiUserbot ou le nom d'utilisateur saisi à l'étape 5)
- Ajoutez à cette chaîne tous les autres utilisateurs que vous souhaitez, si vous devez envoyer des images/notifications à ces utilisateurs.
- Ouvrez l'URL suivante depuis votre navigateur (remplacez la clé API par la vôtre et channellink par la vôtre) :
https://api.telegram.org/bot 784324329:EETRNJU3jQEGWQdjNv3llb4bnDSDREGuuuL /sendMessage?chat_id=@ dom123abc &text=test - Vous obtiendrez une sortie comme l'image suivante : stockez quelque part l'ID ( -1001194779203 , dans cet exemple) : c'est l'ID de votre canal, où domoticz doit envoyer des notifications, et vous devez l'écrire (avec le signe moins, s'il existe) dans le script sendsnapshot.sh ci-dessous (variable TELEGRAMCHATID).
- Depuis Telegram sur votre smartphone, configurez le canal créé pour définir le type de canal Privé.
- Sur Domoticz, allez dans Switches, sélectionnez l'entrée du bouton de sonnette, Edit, et écrivez dans la zone de texte "On Action" script://sendsnapshot.sh : de cette façon, chaque fois que les gens appuient sur le bouton de la sonnette, Domoticz exécutera le script sendsnapshot.sh qui récupérera un instantané de l'IPCam et l'enverra au canal Telegram, de sorte que chaque utilisateur que vous avez mis dans ce canal recevra la photo des personnes qui ont sonné à la porte.