Pour ceux qui voudraient envoyer des notifications sur smartphone sans exposer son HA (via un serveur hébergé OVH, IONOS etc.)

Bonjour

Si cela peut intéresser certains et pour rendre la monnaie de la pièce pour l’aide précieuse que j’ai reçue, voici ma maigre contribution :

Besoin : recevoir sur mon smartphone en temps réel des évènements de HA sans toutefois exposer mon HA sur Internet. Pour cela je dispose d’un serveur Linux hébergé chez IONOS qui me coûte 3x rien et qui me servira de relai pour les notifications (serveur qui recoit les publications de mon HA et mon smartphone va s’abonner au serveur).
L’élément central est le logiciel opensource ntfy qui permet de publier/s’abonner à des sujets.
J’installe le serveur ntfy sur mon serveur Linux (documentation d’installation est sur le github du développeur) ou ici lien direct

Ensuite il faut installer l’application ntfy sur son smartphone et s’abonner à un sujet (topic) par exemple « ha ».
Côté HA j’ai créé un simple script :

#!/bin/bash
curl -u MONLOGIN:MONMOTDEPASSE  -d "Test 1 depuis HA" ADRESSE_IP_SRV_LINUX/ha

Qui est déclaré dans ma configuration :

shell_command: 
       ntfy: '/bin/bash  /config/script/ntfy.sh'

Ce script est ensuite appelé via un service. Je reçois ainsi directement mes notifications en temps réel sur mon smartphone.

Il faut aussi créer un utilisateur pour éviter que n’importe qui puisse publier ou s’abonner. Pour l’authentification sur le serveur ntfy :

ntfy user add MONLOGIN
promp> MONMOTDEPASSE
 ntfy access everyone ha deny
 ntfy access MONLOGIN ha rw

Le fichier de configuration sur le serveur se trouve dans /etc/ntfy/server.yml. La seule chose que j’ai configurée (en plus des commandes de création du compte)

auth-file: "/var/lib/ntfy/user.db"
auth-default-access: "deny-all"

et bien sûr ouvrir les ports du firewall si nécessaire

Pour débugger l’abonnement aux sujets, depuis le serveur Linux on fait quelques tests préalables :

Dans un terminal, on s’abonne au sujet « ha » :

root@debian:~# curl -u "MONLOGIN:MONMOTDEPASSE" -s "http://MONADRESSEIPLINUX/ha/json"
{"id":"3uZn0HVaUq8Q","time":1692710585,"event":"open","topic":"ha"}
{"id":"4SPTt1fzmsQX","time":1692710610,"expires":1692753810,"event":"message","topic":"ha","message":"Bonjour le test"}

Dans un autre terminal on publie un test :

root@debian:/etc/ntfy# curl -u MONLOGIN:MONMOTDEPASSE  -d "Bonjour le test" IPSERVEURLINUX/ha
{"id":"4SPTt1fzmsQX","time":1692710610,"expires":1692753810,"event":"message","topic":"ha","message":"Bonjour le test"}

En espérant que cela aide…

1 « J'aime »

salut, tu a vue il y a une integration dans hach

Salut,
Je ne sais pas à quelle intégration tu fais référence mais en fouillant j’en ai trouvé une (whatsapp) qui pourrait faire le job mais elle est free trial pour 7 jours seulement … :pensive:

bonjour,
il y a plus simple que d’avoir un serveur hébergé chez OVH … un vieux tel connecté sur un port USB avec une carte sim et un abonnement a 2€ et c’est tout…

1 « J'aime »

Je te parle de ntfy ivanmihov (Ivan) · GitHub

OK merci. En continuant mes fouilles je vois que telegram pourrait aussi faire le job.

Salut oui telegram fait bien le taff, en plus vue que beaucoup l’utilise, il y a beaucoup de tuto, même sur ce forum

Merci pour tes infos @nonozi, c’est toujours intéressant pour tous d’avoir des solutions mises en œuvre par la communauté (n’en déplaise à certains grincheux :smiley:).
Une question: pourquoi n’as-tu pas utilisé les notifications offertes par l’application companion mobile

Je trouve cette solution très pratique personnellement et l’utilise quotidiennement.

My 2 cents,