Aller au contenu
mprinfo

Notifications Interactive pour lancer une scéne

Recommended Posts

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

j'aime pas le mode bloc je trouve que c'est trop compliquer pour mettre en place

alors qu'en LUA en une ligne l'affaire est régler

Partager ce message


Lien à poster
Partager sur d’autres sites

Bah moi, plus je test, plus s'est simple finalement à utiliser pour les trucs basiques.

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

@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

Partager ce message


Lien à poster
Partager sur d’autres sites

@mprinfo, TOP !!

Manque l'envoi du push à plusieurs portables ;-)

 

elseif (type(idPortable) == "table")

 

Partager ce message


Lien à poster
Partager sur d’autres sites

@pepite cela ne sert a rien car il doit y avoir une réponse donc si tout le monde répond cela risque d'être un peut le cirque

  • Upvote 3

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

salut à tous

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

svp merci

Partager ce message


Lien à poster
Partager sur d’autres sites
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

Partager ce message


Lien à poster
Partager sur d’autres sites
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
            }
    );

 

Partager ce message


Lien à poster
Partager sur d’autres sites

oui mais dans la scène il faut une condition

je peux pas dire dans la scène éteint le wallplug sans condition ? si .

Partager ce message


Lien à poster
Partager sur d’autres sites

Avant cette version ( début de la version 4 ) J'utilisais le code trouvé dans ce forum (@Krikroff) qui fonctionnait aussi très bien sous androïd et IOS 

Ca se ressemble NON ?

 

https://www.domotique-fibaro.fr/topic/4895-utilisation-du-service-popup-notification-center/#comment-73221

 

Partager ce message


Lien à poster
Partager sur d’autres sites

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é

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

OK j'avais pas vu cette différence, effectivement c'est beaucoup mieux avec l'appli fermée, Merci de l'info

Partager ce message


Lien à poster
Partager sur d’autres sites
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 ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites
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 ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

Excuses non acceptées, tu viendras déblayer la neige dans ma cour pour punition :)

Partager ce message


Lien à poster
Partager sur d’autres sites

@nico n'oubli pas l'alsace et de nouveau française. Je pense qu'il serait bien que l'on vous supprime le 26 décembre :D

Partager ce message


Lien à poster
Partager sur d’autres sites

@pepite toi tu me cherche, sache qu'a mon age on aime plus trop ce faire réveiller en pleine nuit pour aller salé

Partager ce message


Lien à poster
Partager sur d’autres sites

×