Integration du service de notification Ntfy

Bonjour,

J’ai fais une petit PR pour ajouter l’integration du systeme de notification nommé nfty (https://ntfy.sh/)
C’est un petit service de pub-sub gratuit (que j’utilise au boulot). Il permet d’envoyer de notification directement sur un mobile (iOS ou Android) et même sur un ordinateur.

C’est une premiere version. Elle peux être amélioré.
Les premieres piste sont :

  • Installer/utiliser une image docker en local plutôt que le service public
  • Installer/utiliser une image docker sur les servers de gladys plus ( reservé au utilisateur de gladys plus) pour plus de sécurité.
  • Pouvoir envoyer une images

Voila voila.

5 Likes

Bonjour,

J’attendais pour parler de Ntfy, pour savoir si quelqu’un connaissait car je suis tombé un peu au hasard dessus.
Et surtout pour l’apprivoiser.
Je suis arrivé à l’intégrer à Gladys via Node-Red, en faisant des requêtes http.
Depuis l’ordinateur de mon côté j’ai un petit bogue, quand je clique sur un lien, que je m’envoie, par exemple éteindre les lumières via notif en local, ça me renvoie une erreur mais sur Android, ça marche parfaitement.

Salut @Lokkye!

Merci pour la PR, t’es en feu en ce moment :fire: :slight_smile:

Au risque de faire le rabat-joie, j’ai un peu du mal à voir l’intérêt dans Gladys et j’ai pas l’impression que ce soit très aligné avec la philosophie du projet ?

Techniquement, déjà Gladys est pour moi déjà un serveur Pub/Sub (autant en local, que via Gladys Plus), car on a déjà une API Websockets bi-directionnelle, qui permet déjà de faire tout ça (abonnement à un topic, publication dans un topic), c’est un peu dommage de passer par un service externe pour faire un truc qu’on a déjà en local de codé.

Après fonctionnellement j’imagine que tu veux utiliser ce service pour la partie « push notification », plusieurs choses me chiffonnent sur cette partie :

  • C’est de la communication mono-directionnelle, et c’est redondant avec l’API de message qu’on a dans Gladys actuellement, qui elle est bi-directionnelle (Gladys te parle et tu peux répondre à Gladys). Je trouve ça bizarre d’avoir une deuxième canal, « notification », alors qu’on a déjà un canal de messages à 2 sens.
  • C’est très geek/dev, en gros on met en avant un outil pas très familial.
  • Je trouve ça dommage de passer par un service tiers qui est mis à disposition à titre gracieux, et dont on ne sait rien du financement et de la pérennité. J’imagine que le mec paie les serveurs de sa poche + l’abonnements Apple, j’imagine qu’à un moment il en aura assez de dépenser tous les ans pour ce service… Encore pour les sujets comme la météo, on a pas le choix d’utiliser des API (et l’actualité nous montre que le fait que ce soit gratuit est un gros poids, on est tributaire de tous les changements de ces tiers), autant pour les notification bon c’est quelque chose qui se fait très facilement, je trouve ça dommage de passer par un tiers… On s’ajoute une énorme dépendance pour un truc tout simple qu’on peut faire nous même.

Désolé je sais que j’ai un peu le rôle du rabat joie, c’est vraiment pas contre ta PR qui a l’air de très bonne qualité comme tes précédentes PRs :slight_smile:

Tu en penses quoi ?

Pour s’en servir quand même

Après, si tu veux utiliser ce service dans Gladys, en soit c’est déjà possible et c’est très simple !

J’ai testé, ça marche très bien.

Dans les scènes, action « Envoyer une requête HTTP » :

Que tu reçois bien sur leur portail web :

Est-ce que ce n’est pas suffisant ?

Je me permet de réagir

Chat/Message c’est différent de notifications effectivement. Mais un système de notifications pourrait être pas mal
image
Pour moi c’est ça une notification

Plus simple que telegram, je penses qu’il faut aussi arrêter de croire que c’est mamie qui va faire des scènes. Simple pour tous ok mais pas au détriment du choix d’intégrations. Peut être qu’on devrait ajouter un niveau de difficulté dans la doc ? un badge ou autre ?

Du coup c’est très geek/dev aussi :confused:

Je comprends pas trop le discours, ça à l’air d’être un système de messagerie super simple et léger.

Je parle d’utilisation, pas de configuration.

Souvent dans la famille effectivement celui qui configure Gladys est un peu plus tech.

En revanche, les utilisateurs de la maison, c’est potentiellement toute la famille, et c’est à eux que je pense là.

Telegram est une application grand public, utilisable par tout le monde ( c’est au même niveau que What’s App )

Franchement on peut pas faire plus grand public à l’usage :

Là, on parle de cette app :

C’est quand même très tech :stuck_out_tongue:

Yes exactement, vu que c’est un produit qui de toute façon s’adresse aux tech et ne sera pas utilisé par un public familial, je propose cette solution plutôt que de faire de Ntfy l’implémentation principale des push notifications dans Gladys.

Je vois l’idée ! Dans ce cas, si on veut des push notifications dans Gladys, pourquoi pas, mais:

  • La question de la redondance avec l’API de message bi-directionnelle est centrale, si on veut des push notifications dans Gladys, alors ça doit servir un autre besoin que l’API de message sinon c’est juste redondant… Si c’est la même chose, ça fait coder/maintenir 2 fois la même chose.
  • Ca se réfléchit: stockage des push notifications ?, traductions ?, icônes ? Qui reçoit une push notifications (tout le monde? seulement un user ?).
  • Je plaide pour le faire nativement, pourquoi utiliser un service externe pou un truc aussi « fondamental » dans une application. Quand tu utilise n’importe quel produit tech, il a ses propres push notifications, il ne passe pas par un service externe.

Désolé si je pose les questions qui font mal, mais ça me parait important de réfléchir à ces points, sinon après c’est vite le far west… C’est jamais agréable de mon côté de faire le rôle de celui qui s’oppose à beaucoup de choses (alors que le sujet est excitant je le conçois!), mais si on veut un produit qui garde la même philosophie sur le long terme, c’est nécessaire non ?

Tant qu’a poser des questions qui fâchent, j’en ai une (un peu liée):sweat_smile:

Pour avoir une solution entre les deux, est-ce qu’on pourrait pas proposer une option « ajouter un service » à qui on fournirait un lien GitHub avec le service?

Pro

  • Tout le monde peut développer un service un peu geek qui n’a pas vocation a intégrer Gladys pour le commun des mortels
  • On peut permettre plus facilement le test de nouveaux service en béta (par exemple), pour toucher plus de testeurs

Cons

  • C’est clairement à l’encontre de la philosophie de cette v4, puisque certains services seraient pas intégrés par défaut dans Gladys
  • On pourrait rapidement avoir des messages d’utilisateurs sur le forum se plaignant de bugs ou d’erreurs liés à des services ne provenant pas de Gladys + toutes les dérives associées

C’est ce que j’appréciais sur la v3 mais ce serait faire un gros retour arrière pour @pierre-gilles
Et je crois quil ne veut pas se rapprocher dun produits tech mais plus dun produit user friendly

Ce que je proposais c’était pas exactement un retour en arrière, car le but c’est d’avoir tout intégré à Gladys.
Mais effectivement avoir la possibilité d’ajouter depuis l’UI des services non intégrés par défaut ça en a un peu l’odeur :sweat_smile:

Personnellement, je n’utilise pas Telegram. J’ai déja plein d’autre logiciel de messagerie instantané. Je n’ai jamais compris le principe de « parler » en écrivant à gladys (et je n’arrive pas du tout à le vendre à ma famille). On utilise tous l’application mobile pour faire des actions ou par le google home.
On est d’accord Ntfy n’est pas sexy du tout mais c’est un super outils pour faire de notification (Dans ma société on a un dicton: si c’est deja codé, c’est du temps de gagné.)

Ce que je souhaité avoir c’est des notifications sur mon téléphone lorsque par exemple la porte ou les volets s’ouvrent pendant des heures où personne ne doit être a la maison ou lorsque une lumière est allumé depuis trop longtemps.

Pour moi je voyais les choses de façon différentes. La messagerie était un moyen d’interagir avec gladys, pour lui faire faire des actions, … Alors qu’un system de notification était la pour prévenir mais il est vrai que le système de messagerie peut faire les 2 mais je trouve cela contre intuitif.

C’est pour cela que j’étais parti sur un système externe.
Le stockage c’est ntfy qui le fait.
Je m’étais pas vraiment posé la question pour la traduction.
Je comprend pas trop pour les icones.
Pour la reception, comme un pub/sub standard si tu es abonné, tu reçois sinon tu ne reçois rien

Alors là pourquoi pas. Mais cela voudra dire des modifications dans les applications (iOS, Android et web). Je suis partant si besoin.
Apres pour les produits tech, je ne suis pas d’accord avec toi. Les systèmes de push notification c’est du vu et revu, et perso dans ma boite on utilise que des services externes pour le faire cela reviens moins cher et c’est plus efficace à maintenir.

Je suis complètement d’accord avec toi. Il faut poser les questions et être aligné avec la vision de produit. Je suis parti au quart de tour, c’est ma force et ma faiblesse.

C’est vraiment un autre sujet :sweat_smile: Je pense que c’est dommage de parler directement de ça ici, c’est un peu la solution de la facilité alors qu’on peut très bien trouver un compromis qui permettrait d’intégrer ce service dans Gladys.

C’est normal qu’il y ait des débats, je re-challenge volontairement certains développements pour qu’on se pose les bonnes questions. Il ne faut pas y voir un « affrontement » ou quelque chose de négatif, je fais ça tous les jours de la semaine, à Gladys ou au travail. Rien de personnel avec personne :wink:

Ok intéressant ! Du coup tu mets en concurrence Telegram avec tes autres apps de communication, et pas avec Ntfy.

Je comprend mieux ton usage. En fait ce que tu décris toute la communauté le fait déjà sur Telegram en fait aha :smiley:

Suffit de voir la vidéo « Gladys Assistant chez vous » avec @lmilcent, il se met des alertes Telegram a chaque action pour suivre ce qu’il se passe dans les scènes (Cette vidéo)

Donc est-ce que pour toi Ntfy n’est pas juste ton « Telegram » a toi ?

Est-ce que ça te dérangerait pour ce développement de tester Telegram dans Gladys pour que tu comprenne le double usage dont je parle là ? :slight_smile: ( En plus tu verras Telegram l’UX est dingue, What’s App a côté c’est horrible à utiliser, je pense Telegram c’est un des produits avec la meilleure UX que je connaisse )

Du coup maintenant que je comprend mieux l’usage, si toi tu utilise Ntfy comme on utilise Telegram, pourquoi ne pas dans Gladys utiliser le même mécanisme, c’est à dire l’action de scènes « envoyer un message » ?

Comme ça tout est déjà géré (persistence, etc…), et on rajoute juste la couche Ntfy comme couche d’envoie des messages ? Certes c’est pas bi-directionnel, mais bon c’est comme ça si vraiment toi c’est une app qui te plait … ^^

Du coup on aurait une interface de configuration de Ntfy, ou l’utilisateur rentrerait le topic Ntfy ou il veut envoyer les notifications, et ensuite dans scène il utilise l’action « envoyer un message » classique

Ca ferait le boulot pour toi ? En sachant que du coup le topic serait fixe par utilisateur.

Juste un détail par contre, est-ce que Ntfy supporte les images ? Parce que Gladys envoie des images de caméra par message ^^

Si on part sur la solution « Ntfy = Telegram », pas besoin du coup.

En fait ce qui m’a choqué dans le code de ta PR, c’est que tu créé une API native de notification dans Gladys, séparé de la messagerie, et qui se base exclusivement sur Ntfy.

Sauf qu’en discutant avec toi, je me rend compte que c’est pas ce que tu veux au final, toi tu voulais juste avoir le même usage que ce que fait la communauté actuellement avec Telegram !

Hello !

Je suis d’accord avec @VonOx

Mettre en place Telegram c’est loin d’être simple (avec l’histoire du bot et de la clé d’api) et personnellement Telegram ne me servirait à rien à part pour Gladys, surtout que si je veux « discuter » avec Gladys il y le chat integré, donc je n’ai jamais installé et configuré Telegram par flemme d’avoir encore une autre app pour gérer une fonctionnalité qui devrait être native à ce genre de système.

A l’heure actuelle l’intégration Telegram est complétement superflue pour moi.

Du coup l’intégration Ntfy est un moyen beaucoup plus léger (et beaucoup plus facile à vendre aux membres de la famille) même si je suis d’accord, il aurait été préférable que ça soit natif et qu’on évite de passer par un service tiers.

Là encore je ne suis pas d’accord avec cette supposition. Au final on dérive l’utilisation de Telegram, on se retrouve à installer/configurer une app de messagerie juste pour avoir des notifications de temps en temps. (Et on passe toujours par un service tiers)

Et du coup non c’est toujours pas le même usage :sweat_smile:

2 Likes

Un message a été scindé en un nouveau sujet : Recevoir une notification quand Gladys s’est mise à jour