Aller au contenu
idomotique

Notification en LUA sur HC3

Recommended Posts

Bonjour a tous, voici un modeste petit tuto pour envoyer des notifications en LUA sur une HC3

 

Notification Simple

Explication

Les notification simples peuvent être envoyés par push ou par email à un ou plusieurs utilisateurs. Il s'agit uniquement d'une information pour le/les utilisateurs. Aucune réponse n'est possible.

 

Paramètres

Cette commande comprend 3 paramètres:

 

Type de notification

  • push: envoyé par notification push sur les appareils mobiles configurés dans le menu accès.
  • email :envoyé à l'adresse email associée à l'utilisateur sélectionné.

 

Utilisateur sélectionné

Un ou plusieurs utilisateurs peuvent être sélectionés. Pour cela il est nécessaire de récupérer l'ID de l'utilisateur désiré dans le menu Accès du Home center

image.png.45a4a54b8e9d8ade98afaa1193cf6a6d.png

Il faut ensuite le mettre sous la forme suivante [numéro] = ID utilisateur, ou numéro correspond au nombre d'utilisateurs désirés.

 

Message

Pour finir il faut indiquer le message à afficher dans la notification

 

Exemple

Example 1 (push)

Dans cet exemple on envoie une notification push à 2 utilisateurs avec les ID 2 et 809 avec le message "Alarme déclanchée"

fibaro.alert('push', {[1] = 2, [2] = 809, }, 'Alarme déclanché')

image.png.63659a1dc9be2ce0a52bf7ed2855d065.png

 

Example 2 (Email)

Dans cet exemple on envoie une notification push à 1 utilisateur avec l'ID 809 avec le message "Fausse Alarme"

fibaro.alert('email', {[1] = 809, }, 'Fausse Alarme')

 

Notification Interactive

 

Explication

Les notifications interactives ne peuvent être envoyées que par push à un ou plusieurs appareils mobiles et nécessite une réaction de l'utilisateur choisit.

 

Paramètres

Catégorie (["category"])

  • RUN_CANCEL : L'utilisateur aura le choix entre les réponse Run et Cancel
  • YES_NO : L'utilisateur aura le choix entre les réponse Yes et No

 

Titre (["title"])

Ce paramètre contiendra le titre de la notification envoyé

 

Catégorie (["mobiledevice"])

Il est possible d'envoyer la notification à un ou plusieurs appareils. Il faut pour cela sélectionner les appareils désirés dans le menu accès du Home center.

image.png.2009f9ba3c17491ea3f23db33dd66111.png

Il faut ensuite le mettre sous la forme suivante [numéro] = ID appareil, ou numéro correspond au nombre d'appareils désirés.

 

Données(["data"])

Il s'agit de l'action effectuée lorsque l'utilisateur répond Yes ou Run.

Si l'action est sur un module:

["actionName"] = "turnOn", ["deviceId"] = 545,

Si l'action est sur une scène:

["sceneId"] = 133,

 

Message(["message"])

Correspond au message indigué dans la notification.

 

Action(["action"])

Détermine le type d'action à effectuer en fonction de si l'action se fait sur un module ou sur une scène

  • RunAction : Si l'action est sur un Module
  • Run : Si l'action est sur une scène

 

Service(["service"])

Permet de définir si l'action sera sur un module ou sur une scène

  • Device : Si l'action est sur un Module
  • Scene : Si l'action est sur une scène

 

Exemple

Exemple 1: activation d'une lumière

Dans cet exemple on demande à l'utilisateur si il désire activer une lampe lorsque le mauvais code d'entrée est tapé.

api.post("/mobile/push", {
    ["category"] = "YES_NO", 
    ["title"] = "Alarme code entrée", 
    ["mobileDevices"] = {[1] = 822, }, 
    ["data"] = {["actionName"] = "turnOn", 
    ["deviceId"] = 545, }, 
    ["message"] = "Mauvais code entré", 
    ["action"] = "RunAction", 
    ["service"] = "Device", })

image.png.cab42fcb913cbde26a2c5d61fe8f407d.png

 

Exemple 2: Démarage d'une scène

Dans cet exemple on demande à l'utilisateur si il désire lancer une scène lorsque le mauvais code d'entrée est tapé.

api.post("/mobile/push", {
    ["category"] = "RUN_CANCEL", 
    ["title"] = "Alarme code entrée", 
    ["mobileDevices"] = {[1] = 822, }, 
    ["data"] = {["sceneId"] = 133, }, 
    ["message"] = "Mauvais code entré", 
    ["action"] = "Run", 
    ["service"] = "Scene", })

image.png.8ee60a5dd6fff7ac00a5977af1386c1a.png

Modifié par idomotique
  • Like 12
  • Thanks 3

Partager ce message


Lien à poster
Partager sur d’autres sites

Super présentation merci

Envoyé avec Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir.

 

J'essais d'utiliser les notifications interactives, mais le Run de la scène ne fonctionne pas.

Je reçois bien le push, mais l'appui sur Run n'a pas d'effet.

 

Avez-vous le même problème ?

 

Merci.

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour ce développement !

 

Mes push ne "passent" quasiment plus et j'étais à la recherche d'une piste...

Après lecture attentive, il m'apparaît que je structurait mes push encore comme sur la HC2 !

 

PS : effectivement, ça fonctionne bien mieux.

         J'avais omis les crochets qui entourent l'ID

          du destinataire !

Modifié par Sowliny

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut. Je cherche comment lancer une scène lorsque je clique sur "NO" lorsque j'utilise un push interactive.

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci, je ne connaissais pas non plus. J'utilisais la méthode suivante, qui fonctionne toujours sur ma HC3, mais je vais changer: c'est beaucoup plus propre d'utiliser les ID utilisateurs plutôt que les ID mobiles.

local mobileList = {28, 34}  

function push(message)
  for _, id in pairs(mobileList) do
    fibaro.call(tonumber(id), "sendPush", message)
  end
end

EDIT: En fait j'ai l'impression que fibaro.alert prend comme arguments les ID des mobiles et non celles des users comme suggéré dans le post de @idomotique.

 

Si je tente ça, j'ai aucun résultat (2 est l'id de l'user admin, et il y a bien un mobile associé avec les notifications activées):

fibaro.alert("push", {[1] = 2}, "test")

Alors que si j'utilise l'ID du mobile (29), ça marche:

fibaro.alert("push", {[1] = 29}, "test")

Je suis le seul à avoir un bug avec les ID users ?

Modifié par Felig

Partager ce message


Lien à poster
Partager sur d’autres sites

Il y a une solution, c'est de créer un nouvel utilisateur avec les droits administrateur et éventuellement supprimer l'ancien

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai créé un autre utilisateur que admin, et c'est la même chose: l'ID du mobile fonctionne pour fibaro.alert("push" ..) mais pas l'ID utilisateur.

Par contre, pour fibaro.alert("email" ...) il faut bien utiliser l'ID utilisateur, (on n'a pas d'autre option de toutes façons) et ça fonctionne.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir,

je reviens sur ce post, un peu tard...mais quelqu'un sait comment ajouter une image (photo de camera) a une notification push avec HC3 ?

je passait par pushingbox+pushbullet mais ça ne fonctionne plus depuis plusieurs mois....

 

merci

 

Karl

Modifié par karlito748

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

est'il possible d'exécuter un morceau de code ou de lancer une procédure dans le YES au lieu de lancer un script (qui contient ce code) ? :)

Partager ce message


Lien à poster
Partager sur d’autres sites

×