Aller au contenu

Notifications Interactive pour lancer une scéne


Messages recommandés

Posté(e)

Notifications Interactive pour lancer une scéne

 

 

 

 

 

Je remercie @nico pour cette information

 

Bon, depuis quelques versions betas et désormais dispo dans la 4.110 stable, il y a la nouvelle fonctionnalité d'interaction dans les pushs.

Testé, c'est vraiment excellent. Fonctionne (Sur Android en tout cas) même applications fermées, comme un autre push.

 

Le principe :

 

On reçoit un push comme d'habitude, mais cette fois le push pose une question et on peut directement répondre.

 

Exemple :

          

 

 

 

 

Screenshot_2017-01-10-08-30-36.png

 

Pour cela il faut créer une scéne en LUA

 

 

 

	api.post('/mobile/push', 
            {
               ["mobileDevices"]={100},                         -- ID du telephone
               ["message"]='bonjour Veux-tu ouvrir les volets', -- La question que l'on veut posser
               ["title"]='Questions',                           -- titre de la question
               ["category"]='YES_NO',                           -- 'YES_NO' ou 'RUN_CANCEL'
               ["data"]={["sceneId"]=183}                       -- ID de la scéne que l'on veut lancer
            }
    );

A chaque fois que la scéne sera lancer vous recevrez le push qui vous posera la questions

 

Voici un scénes pour un envoi de plusieurs messages

--[[
%% properties
%% weather
%% events
%% globals
--]]

function sendPush(idPortable, titre, message, IdScene)
    
	if (type(IdScene) == "table") then
		-- Si nous avons plusieurs scenes a lancer dans un tableau {}
		for i = 1, #IdScene do
           local scenes = api.get("/scenes/"..IdScene[i])
           if scenes == nil then
              fibaro:debug("La scene iD : "..IdScene[i].." N'existe pas")
           else
              local NomScene = scenes.name
		      fibaro:debug("Nom de la scene a lancer "..NomScene)
	          api.post('/mobile/push', 
                  {
                     ["mobileDevices"]={idPortable},              -- ID du telephone
                     ["message"]=tostring(message),               -- La question que l'on veut posser
                     ["title"]=tostring(titre.." - "..NomScene),  -- titre de la question
                     ["category"]='RUN_CANCEL',                   -- 'YES_NO' ou 'RUN_CANCEL'
                     ["data"]={["sceneId"]=IdScene[i]}            -- ID de la scéne que l'on veut lancer
                  }
              );
           end
		end
    	   
	elseif (type(IdScene) == "number") then
		-- Si nous avons une seule scéne à executer 
        local scenes = api.get("/scenes/"..IdScene)
        if scenes == nil then
           fibaro:debug("La scene iD : "..IdScene.." N'existe pas")
        else
           local NomScene = scenes.name
           fibaro:debug("Nom de la scene a lancer "..NomScene)
	       api.post('/mobile/push', 
               {
                  ["mobileDevices"]={idPortable},   -- ID du telephone
                  ["message"]=tostring(message),    -- La question que l'on veut posser
                  ["title"]=tostring(titre),        -- titre de la question
                  ["category"]='RUN_CANCEL',        -- 'YES_NO' ou 'RUN_CANCEL'
                  ["data"]={["sceneId"]=IdScene}    -- ID de la scéne que l'on veut lancer
               }
           );
        end
	end
end
-----------------------------------------------------------
-- debut du programme
-----------------------------------------------------------
sendPush(338, "Scene :", "Fermeture volets", {199, 457, 500})
sendPush(338, "Scene :", "Ouverture volets", 600)

Mode scénes  blocs graphiques

 

On commence par créer une notification

 

1.jpg

 

Ensuite on va créer notre scénes blocs

 

2.jpg

 

On choisi le déclencher dans cette exemple j'ai pris jours de la semaine

 

3.jpg

 

On choisi la notification que l'on veut envoyer

 

4.jpg

 

on obtient donc cela

 

5.jpg

 

On sélectionne la scène que l'on veut exécuter 

 

6.jpg

 

Il ne reste plus qu'à sauvegarder

 

 

Merci pour vos retour

  • Upvote 5
Posté(e) (modifié)

Merci Pascal, j'adore ce secrétaire d'une efficacité redoutable :)

 

Sinon pour ceux qui veulent tester sans LUA, en mode bloc :

-Créer une notification qui aura comme libellé de section push la question qu'on veut poser, moi par exemple : "Mettre l'alarme ?"

-Créer une scène qui test ce que l'on souhaite (Ici je teste que moi et ma femme ne sont pas présent et que l'alarme n'est pas active)

-Dans action, aller dans notification, choisir celle qu'on vient de créer avec sa question, puis choisir "Interactiv push"

-Choisir le format de la question : Yes/No ou l'aure Run/Cancel (Cela ne change rien, c'est juste cosmétique pour la question posée)

-Puis pour finir mettre la scène qu'on veut exécuter si on répond oui

 

Et voilà, vraiment utilise pour un paquet de cas et qui évite de lancer l'application sur son mobile.

 

Interactiv Push.jpg

Modifié par Lazer
  • Upvote 2
Posté(e)

Moi je trouve qu'enbloc on ne sait pas trop ce qui se passe derriere, pour la compréhension du fonctionnement et pour la tete c'est pas terrible. Mais je pense qu'en bloc tout fonctionne aussi bien qu'en LUA.

Sauf qu'il faut plus de scenes blocs qu'en LUA pour faire la même chose

 

Quelle est la différence entre "YES_NO" et "RUN_CANCEL" ?

  • Upvote 1
Posté(e)

@nico regarde une scéne toute simple tu n'as qu'un script et tu peux en une seule fois poser autant de questions que tu veux

 

mise a jour post 1

 

  • Upvote 1
Posté(e)

Mais tu peux aussi faire cela en mode bloc. Moi je fais par exemple ça pour l'alarme, cela envoi le push à moi et ma femme. Le premier qui clique ce sera ok, l'alarme sera mise, le second la scène n'aura pas d'effet, vu que l'alarme est déjà mise.

Et pareil en bloc, tu peux poser plusieurs questions, pas de souci.

Après je ne dis pas, le LUA est parfait aussi. Mais depuis 2 semaines, j'essaie de rendre ma box ultra WAF, pour que même ma femme puisse jeter un œil au scénario un jour quand j'aurai fini :)

 

Pepite, il faut tout lire, comme indiquer le Yes/No ou Run/Cancel n'est qu'esthétique

  • Upvote 1
Posté(e)
il y a 5 minutes, Nico a dit :

Mais tu peux aussi faire cela en mode bloc. Moi je fais par exemple ça pour l'alarme, cela envoi le push à moi et ma femme. Le premier qui clique ce sera ok, l'alarme sera mise, le second la scène n'aura pas d'effet, vu que l'alarme est déjà mise.

Et pareil en bloc, tu peux poser plusieurs questions, pas de souci.

Après je ne dis pas, le LUA est parfait aussi. Mais depuis 2 semaines, j'essaie de rendre ma box ultra WAF, pour que même ma femme puisse jeter un œil au scénario un jour quand j'aurai fini :)

 

Pepite, il faut tout lire, comme indiquer le Yes/No ou Run/Cancel n'est qu'esthétique

@nico ici c'est le tuto lua merci de ne pas polluer ce topic j'aime pas le mode bloc donc je n'en parle pas :D

Posté(e)
il y a 7 minutes, CharlesO a dit :

salut à tous

donc comment faire pour que si je touche le "yes" sur mon iphone il éteint le wallplug ?

svp merci

il faut que tu crées un scéne qui éteint ton wall plug ensuite il faut récuperer le numéro de la scéne

il faut ensuite crée une scéne comme expliquer dans le post 1

 

	api.post('/mobile/push', 
            {
               ["mobileDevices"]={100},                         -- ID du telephone
               ["message"]='bonjour Veux-tu ouvrir les volets', -- La question que l'on veut posser
               ["title"]='Questions',                           -- titre de la question
               ["category"]='YES_NO',                           -- 'YES_NO' ou 'RUN_CANCEL'
               ["data"]={["sceneId"]=183}                       -- ID de la scéne que l'on veut lancer
            }
    );

 

Posté(e)

dans la scéne tu écrit ce code il faut bien entendu mettre l'id de ton wall plug

fibaro:call(53, "turnOn")

si tu réponds yes la scène sera exécuter si tu réponds no la scène ne sera pas exécuté

Posté(e)

Henri, oui, sauf qu'en passant pour le notification center, il faut que l'appli soit ouverte pour que le popup apparaissent, ici ce n'est pas nécessaire. Et pour moi, le fait d'avoir obligatoirement l'application ouverte est bloquant, trop de risque qu'elle soit fermée, et du coup on rate la notif et l'action.

  • Upvote 1
Posté(e)
Il y a 1 heure, Nico a dit :

Pepite, il faut tout lire

Heuu, j'avais tout lu ;-) mais pas vu le petit commentaire sur l'esthetique que tu en as parlé ;-) Mea culpa ;-)

Posté(e)
Il y a 1 heure, Nico a dit :

Pepite, il faut tout lire

Heuu, j'avais tout lu ;-) mais pas vu le petit commentaire sur l'esthetique que tu en as parlé ;-) Mea culpa ;-)

×
×
  • Créer...