Aller au contenu
mprinfo

Notifications Interactive pour lancer une scéne

Recommended Posts

Fredric je pense qu'on trouvera aucun terrain d'entente ayant chacun un parti pris ^^

Le système semble te (vous) convenir ; je peux l'admettre ^^ mais je reste navré que en dehors de toute sémantique c'est total pourri comparé à un push android ou le Yes / No est clairement visible sans manipulation... '?' ou pas, sur iOS, si tu as foiré ton clic, c'est foutu

Modifié par nigao

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 4 heures, Steven a dit :

Le mieux serait de prêter ta femme à@nigao pendant quelques semaines. Non ?

 

Envoyé de mon SM-G935F en utilisant Tapatalk

 

 

 

 

J'avais pas vu  :2:

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 42 minutes, nigao a dit :

Fredric je pense qu'on trouvera aucun terrain d'entente ayant chacun un parti pris ^^

Le système semble te (vous) convenir ; je peux l'admettre ^^ mais je reste navré que en dehors de toute sémantique c'est total pourri comparé à un push android ou le Yes / No est clairement visible sans manipulation... '?' ou pas, sur iOS, si tu as foiré ton clic, c'est foutu

Je ne cherche pas de terrain d'entente car je ne suis pas en conflit.

Tant mieux si tu préféré Android, je suis content pour toi. 

Je n'avais pas compris qu'il y avait comparaison entre les deux, je donné mon avis sur l'utilisation des push interactif sur IOS (que j'utilise également sur Android par ailleurs :)).

Je pensé que tu cherchais à faire la différence entre les divers push et je ne comprenais pas qu'on ne puisse pas faire la différence entre une question et une information.

A aucun moment je militais "POUR" Apple, je pensais aidé à l'utilisation.

Je pense que c'est peut-être aussi une habite, car au risque de me répéter, ma femme qui ne veut surtout pas savoir comment tout cela fonctionne, utilise les puch interactif sans difficulté et je pense qu'elle aime la domotique autant que les vôtres :angry:, c'est à dite, il faut que ça marche mais simplement, WAF en fait.

 

 

 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 26/02/2019 à 22:10, ebtjjn a dit :

Merci de tous vos retours. Je fouille un peu plus encore car j'aime bien trouver de moi même mais si toujours infructueux, je vous mettrai tout ça. Ça ne sera pas ce soir en revanche, je me pose un peu....  :6: Grosse journée...

Bon alors, j'ai fini ma sieste et j'ai pu regarder et bidouiller et oui, ça fonctionne... !! :60:

Donc voilà mon utilisation : si ça peut vous inspirer, tant mieux, et si vous avez des commentaires, je suis preneur aussi pour faire évoluer le truc... 

Je m'en sers donc quand je pars du travail : à 18h30, je reçois une notif (je pars quasiment jamais avant 18h30 du travail) --> au moment où je regarde mon tél avant de partir en scooter, j'ouvre la notif (une parmi d'autres) et je déclenche la scène 66. Cette scène indique sur les SONOS à mes enfants et la nounou (ou ma femme) que je pars du boulot et que j'en ai pour 20 minutes (les 20 minutes, c'est dans le TTS mais en scooter, on met toujours à peu près le même temps à quelques minutes près).

C'est tout pour le moment...

 

Pour la suite dans l'idéal, j'aimerai que la HC2 identifie via le GPS que je m'approche et ouvre le portail; si certains savent où chercher, pouvez vous m'indiquer des posts (sur ce forum) ou des tutos (sur internet) qui pourraient m'aider svp ? J'ai déjà un peu cherché mais j'ai l'impression qu'il y a eu des régressions sur la localisation GPS par HC2... je me trompe ??

 

Voici le code de ma notification

--[[
%% properties
%% weather
%% events
%% globals
%% autostart
--]]
local sourceTrigger = fibaro:getSourceTrigger();
function tempFunc()
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();

  
  
  
if (
 	( ((currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 0 or currentDate.wday == 1) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "18:30") ))
	then
		 fibaro:debug("ok envoi à venir")
		api.post('/mobile/push', 
            {
               ["mobileDevices"]={154},          -- ID du telephone : 154= S7 EDGE JJ
               ["message"]='Veux-tu prévenir la maison ?', -- La question que l'on veut posser
               ["title"]='Départ Travail',                           -- titre de la question
               ["category"]='YES_NO',                           -- 'YES_NO' ou 'RUN_CANCEL'
               ["data"]={["sceneId"]=66}                       -- ID de la scéne que l'on veut lancer
            }
    );

  	
  end
  
  
setTimeout(tempFunc, 60*1000)
end


if (sourceTrigger["type"] == "autostart") then
tempFunc()
else

local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (
startSource["type"] == "other"
)
then
	if (sourceTrigger["type"] == "autostart") then

  if (
 	( ((currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 0 or currentDate.wday == 1) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "18:30") ))
	then
		 fibaro:debug("ok envoi à venir")
		api.post('/mobile/push', 
            {
               ["mobileDevices"]={154},          -- ID du telephone : 154= S7 EDGE JJ
               ["message"]='Veux-tu prévenir la maison ?', -- La question que l'on veut posser
               ["title"]='INFO Départ travail ?',                           -- titre de la question
               ["category"]='YES_NO',                           -- 'YES_NO' ou 'RUN_CANCEL'
               ["data"]={["sceneId"]=66}                       -- ID de la scéne que l'on veut lancer
            }
    );

  	
  end
end

end
end

Je suis preneur de toute aide pour simplifier le code !! ;)

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

Ca ressemble au code généré par les scènes BLOC converti en LUA ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

Même si je ne l'ai pas testé, le code ci-après devrait faire la même chose :

--[[
%% autostart
--]]
function tempFunc()
	local currentDate = os.date("*t");
	if (currentDate.hour == 18 and currentDate.min == 30) then
		fibaro:debug("ok envoi à venir");
		api.post('/mobile/push', 
            {
               ["mobileDevices"]={154},						-- ID du telephone : 154= S7 EDGE JJ
               ["message"]='Veux-tu prévenir la maison ?',	-- La question que l'on veut posser
               ["title"]='Départ Travail',					-- titre de la question
               ["category"]='YES_NO',						-- 'YES_NO' ou 'RUN_CANCEL'
               ["data"]={["sceneId"]=66}					-- ID de la scéne que l'on veut lancer
            }
		);
	end
	setTimeout(tempFunc, 60*1000);
end

local sourceTrigger = fibaro:getSourceTrigger();
if (sourceTrigger["type"] == "autostart") then
	tempFunc();
end

Quelques explications :

- currentDate.wday ne peut prendre que les valeurs 0, 1, 2, 3, 4, 5, 6, ce test est donc inutile ;

- pourquoi convertir les heures et minutes en chaîne de caractères avant de faire la comparaison ?

- on a :

 

local sourceTrigger = fibaro:getSourceTrigger();
...
local startSource = fibaro:getSourceTrigger();
if (startSource["type"] == "other") then
    if (sourceTrigger["type"] == "autostart") then
        -- code jamais executé

Donc, on enlève, la bonne vieille technique du rasoir d'Ockham...

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Bon alors, j'ai fini ma sieste et j'ai pu regarder et bidouiller et oui, ça fonctionne... !! :60:
Donc voilà mon utilisation : si ça peut vous inspirer, tant mieux, et si vous avez des commentaires, je suis preneur aussi pour faire évoluer le truc... 
Je m'en sers donc quand je pars du travail : à 18h30, je reçois une notif (je pars quasiment jamais avant 18h30 du travail) --> au moment où je regarde mon tél avant de partir en scooter, j'ouvre la notif (une parmi d'autres) et je déclenche la scène 66. Cette scène indique sur les SONOS à mes enfants et la nounou (ou ma femme) que je pars du boulot et que j'en ai pour 20 minutes (les 20 minutes, c'est dans le TTS mais en scooter, on met toujours à peu près le même temps à quelques minutes près).
C'est tout pour le moment...
 
Pour la suite dans l'idéal, j'aimerai que la HC2 identifie via le GPS que je m'approche et ouvre le portail; si certains savent où chercher, pouvez vous m'indiquer des posts (sur ce forum) ou des tutos (sur internet) qui pourraient m'aider svp ? J'ai déjà un peu cherché mais j'ai l'impression qu'il y a eu des régressions sur la localisation GPS par HC2... je me trompe ??
 
Voici le code de ma notification : 
--[[%% properties%% weather%% events%% globals%% autostart--]]local sourceTrigger = fibaro:getSourceTrigger();function tempFunc()local currentDate = os.date("*t");local startSource = fibaro:getSourceTrigger();if (	( ((currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 0 or currentDate.wday == 1) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "18:30") ))then	 fibaro:debug("ok envoi à venir")	api.post('/mobile/push',            {              ["mobileDevices"]={154},          -- ID du telephone : 154= S7 EDGE JJ              ["message"]='Veux-tu prévenir la maison ?', -- La question que l'on veut posser              ["title"]='Départ Travail',                           -- titre de la question              ["category"]='YES_NO',                           -- 'YES_NO' ou 'RUN_CANCEL'              ["data"]={["sceneId"]=66}                       -- ID de la scéne que l'on veut lancer           }   ); endsetTimeout(tempFunc, 60*1000)endif (sourceTrigger["type"] == "autostart") thentempFunc()elselocal currentDate = os.date("*t");local startSource = fibaro:getSourceTrigger();if (startSource["type"] == "other")thenif (sourceTrigger["type"] == "autostart") then if (	( ((currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 0 or currentDate.wday == 1) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "18:30") ))then	 fibaro:debug("ok envoi à venir")	api.post('/mobile/push',            {              ["mobileDevices"]={154},          -- ID du telephone : 154= S7 EDGE JJ              ["message"]='Veux-tu prévenir la maison ?', -- La question que l'on veut posser              ["title"]='INFO Départ travail ?',                           -- titre de la question              ["category"]='YES_NO',                           -- 'YES_NO' ou 'RUN_CANCEL'              ["data"]={["sceneId"]=66}                       -- ID de la scéne que l'on veut lancer           }   ); endendendend

Je suis preneur de toute aide pour simplifier le code !! 
 



Regarde mon tuto sur mon VD Home mode manager.

Partager ce message


Lien à poster
Partager sur d’autres sites

Well done, c'est bien laid le code généré par la HC2 tout de même

Partager ce message


Lien à poster
Partager sur d’autres sites

Helllo,

 

alors : 

@pepite 

Citation

Ca ressemble au code généré par les scènes BLOC converti en LUA ;-)

 

Citation

c'est bien laid le code généré par la HC2 tout de même

oui mode bloc transformé en lua : c'est vraiment moche je suis d'accord mais je n'ai pas les compétences suffisantes pour savoir exactement comment le rendre joli ou mieux, faire du lua directement : je tente parfois mais dans ce cas présent, ça n'a pas fonctionné...!! :)

 

Donc, merci @Barelle, c'est exactement dont on a besoin, nous les novices lua...!! :74:

Je vais tester ça et ferai un retour.

 

 

Le 19/03/2019 à 09:48, MAM78 a dit :

Regarde mon tuto sur mon VD Home mode manager

@MAM78, que des poires à la maison... j'ai compris que ça ne fonctionnait que sous iOS. Merci pour le reste du VD en tout cas !

 

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@Barelle : bon ça marche nickel !! merci.

Juste, pour les jours, c'était en test pour que ça fonctionne tous les jours, j'ai rajouté la condition "if (current.wday == 2 or..." pour n'avoir la notif que les soirs du lundi au vendredi !!

 

Et aussi, choses "amusante" : quand on fait en mode bloc, le samedi sort en jour == 7 mais sur les tutos et aides lua, c'est == 0... Ce qui est sûr c'est que le dimanche est le 1er jour de la semaine... :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Le dimanche, vaste sujet..

Selon le dictionnaire de l'Académie (9e édition) :

Citation

Traditionnellement, et aujourd'hui encore dans la langue religieuse, premier jour de la semaine qui commémore la résurrection du Christ ; il comportait aussi la prescription du repos. Dans la langue courante, septième et dernier jour de la semaine.

Donc, ce n'est pas clair, heureusement, la norme ISO 8601 est là pour nous préciser que le dimanche clôt la semaine et a pour code le chiffre 7.

 

Le problème se complexifie dans les langages informatiques selon que l'indice de départ est "zéro" (algol, C, pascal et leur dérivés) ou "un", comme notamment le Lua. Par conséquent, pour le dimanche on peut rencontrer comme code : 0, 1, 6 ou encore 7 !

 

En pratique, il est prudent de vérifier au cas par cas...

  • Haha 1

Partager ce message


Lien à poster
Partager sur d’autres sites

×