Cet article est déjà le troisième sur le sujet des notifications après Notifications et Notifications +. Nous allons découvrir comment utiliser un nouveau logiciel : ntfy (prononcer notify) qui peut remplacer pushbullet ou pushover avec de nombreuses améliorations.

Dans mon cas, j’ai totalement remplacé pushbullet (je n’utilisais plus pushover car en partie payant).
Pourquoi avoir changer de logiciel de notification ?
- ntfy est un logiciel récent, open source, bien documenté avec pour l’instant un suivi qui semble efficace et toujours en évolution 😐
- Il est non seulement gratuit mais en plus auto-hébergeable 🙂 donc sans cloud. Dans cet article, nous utiliserons la versio auto-hébergée installée sur le raspberry que j’utilise pour ma domotique.
- Il existe des versions clients pour android, ios (iphone et ipad) + un client web et elles sont presque totalement traduites en français. Avec pushbullet, il n’y a plus de version ios suite à un conflit entre pushbullet et apple et il n’y a jamais eu de version iPad. Pour ntfy c’est la version android qui est la plus avancée car ios est plus fermé qu’android.
- Globalement, le fonctionnement est simple (pas de compte à créer, pas de token pour utiliser une API, pas de configuration dans les paramètres de Domoticz). Chacun fonctionne en autonomie, même si le serveur est partagé 😀
Les fonctionnalités que j’utilise actuellement :
- Gestion des priorités (5 niveaux) pour personnaliser la gestion sur le smartphone qui reçoit les notifications (sonnerie personnalisable et choix du mode d’affichage sur l’écran).
- Ajout d’emoticons dans les notifications
Les fonctionnalités qui existent mais non testées par mes soins à ce jour (en todo list) :
- Planification temporelle (envoi différé, envoi à une heure donnée)
- Ajout de fichiers joints
- Ajout de boutons cliquables
- Ajout de liens pour ouvrir directement une url
- Envoi possible (en supplément) sous forme d’email
C’est plutôt riche 😆
Comme on ne fait rien dans Domoticz, voici ce qui doit être utilisé dans les scripts .lua :
|
1 2 3 4 |
-- Variables utilisées par ntfy topic = "dxdomo.dnset.com:12864/ntfy_domo_verlaine_prod" tag = "zap,house,sunny" prio = 3 |
Dans la variable topic : c’est le lien vers le pi qui héberge ntfy + le nom du topic dans lequel on va publier la notification ntfy_domo_verlaine_prod dans l’exemple. Il est recommandé de prendre un nom assez long et significatif (sans blanc, sans accent et sans majuscule) car il n’y a pas de user/password et c’est ce nom de topic qui permettra les abonnements des clients. Comme dans MQTT, on va publier des informations sur des topics et les abonnés à ces topics recevront les informations sous forme de notifications.
Il n’existe pas d’étape de création d’un topic, il suffit de s’abonner ou de publier sur un topic pour qu’il existe.
Dans la variable tag, on indique les emoticons que l’on souhaite pour la notification. Voici la liste des possibilités : emoticons
La variable prio indique la priorité retenue pour la notification à envoyer. Voici les priorités : priorités
Cet exemple n’est pas contraignant, il est possible de changer la priorité (variable prio) au cours de l’exécution du script en fonction des événements ou de modifier les emoticons (variable tag) selon le déroulement du lua. De la même façon, il est possible d’envoyer vers des topics différents (variable topic).
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
-- Formattage des informations à envoyer objet = "Production Photovoltaique du "..date_jour.." de Gradignan" corps1 = ""..objet.." : "..compteur.." kWh soit "..montant.." euros" corps2 = "Compteur global : "..j1.." kWh" corps3 = "Objectif de Production pour aujourd'hui : "..prod_jour.." kWh" corps4 = "Delta = "..delta.." kWh soit "..valeur.." euros" corps5 = "Variation de la production : "..deltapour.." %" corps_ntfy = ""..corps1.."\r\n"..corps2.."\r\n"..corps3.."\r\n"..corps4.."\r\n"..corps5.."" -- Envoi d'une notification ntfy en utilisant os.execute et curl -- Paramètres : -- Topic à utiliser : indique le nom du serveur + l'identifiant du Topic (à mettre à la fin du curl) -- Tags : ajout d'emoticons ex : -H "Tags: house,zap" -- Priority : 5-max/4-high/3-default/2-low/1-min ex : -H p:4 -- Title : titre du message ex : -H "t: Mon Titre" -- Corps du message : contenu de la notification ex : -d "Mon message" -- At : définir une date/heure d'envoi du message ex : -H "At: tomorrow, 8am" -- In : définir un délai d'envoi ex : -H "In: 15min" -- Delay : délai en temps unix ex : -H "Delay: 1639194738" -- Topic à utiliser : indique le nom du serveur + l'identifiant du Topic à mettre à la fin du curl -- Click : permet d'ouvrir une url rapidement en cliquant sur la notification (encore à développer et tester) -- Attach : pour ajouter des fichiers joints à la notification (encore à développer et tester) -- Actions : pour ajouter un bouton de commande dans le message de notification (encore à développer et tester) -- Email : pour envoyer la notification aussi sous forme d'email (encore à développer et tester) os.execute('curl -H "t:'..objet..'" -H p:'..prio..' -H ta:'..tag..' -d "'..corps_ntfy..'" '..topic..'') |
Après les commentaires qui expliquent un peu les options de ntfy, il y a la commande os.execute(‘curl … qui permet l’envoi de la notification avec les paramètres choisis. Je recommande pour l’instant de ne pas modifier la commande mais de valoriser les variables avec vos propres valeurs. C’est ce que je fait dans la ligne corps_ntfy = ou je fabrique le corps de ma notification à partir des éléments construits dans le script lua. \r\n permettent le retour à la ligne.
Voici le résultat sur mon smartphone :
![]() |
![]() |
Paramétrage sur un smartphone android
Pour faciliter l’usage, il est préférable de créer des topics par thème, c’est plus simple à utiliser sur le smartphone. J’utilise pour l’instant 5 topics (les noms sont fictifs 😉 ) :
- ntfy_domo_verlaine_alarme pour mes alarmes on/off et les intrusions
- ntfy_domo_verlaine_prod pour le suivi de ma production photovoltaïque (vente)
- ntfy_domo_verlaine_conso pour le suivi de la consommation EDF
- ntfy_domo_verlaine_autoconso pour le suivi des déclenchements automatiques de l’auto-production
- ntfy_domo_verlaine_meteo pour la météo !

En bas de l’écran le + pour en rajouter
Lien vers le site ntfy : ntfy
Pour ceux qui le souhaite, il est possible, simple et rapide d’installer la version auto-hébergeable du serveur ntfy sur votre raspberry Domoticz, sinon vous pouvez utiliser mon serveur, il est disponible pour vous comme le serveur de sms 😆 Vous n’avez rien à faire, juste paramétrer le serveur dans votre smartphone, vous abonner à vos topics et envoyer vos notifications depuis vos scripts.
Compléments en Mai 2023 pour la version android de l’application :
|
Il est possible de personnaliser le nom d’un abonnement (ici Alerte Neuvic) : Choisir l’abonnement, puis les 3 points en haut à droite, puis Paramètres d’abonnement et Apparence + Nom d’affichage, mettre le nom qui vous va bien et OK. On peut aussi personnaliser les notifications par abonnement, par exemple pour avoir les sonneries différentes en fonction des priorités et des abonnements. C’est le choix Custom notification settings + Configure notification settings. |
![]() |
|
Il ne reste plus qu’à faire vos choix de personnalisation qui seront spécifiques à cet abonnement 😉 |











