Aller au contenu

Support Gea


Steven

Messages recommandés

Bonjour,

J'ai un VD avec un slider qui agit sur une variable numérique qui a pour but de créer un décalage en minutes.

Je souhaite par la suite modifier le temps de déclenchement de la tâche GEA avec le slider du VD.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Pour moi en GEA "natif", je pense que tu ne peux pas. A voir avec les experts pour du complément. 

 

En fait tu souhaites changer la durée de ta ligne GEA en fonction du slider de ton VD c'est ca ?

Je crois que je jetterais un oeil sur GEA Alarm, fais une petite recherche ;-)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Oui c'est ce que j'aimerai faire ^_^ , ou si non j'avais pensé à  utiliser plusieurs lignes GEA avec différentes variables globals 1 min, 5 min, 10 min, 15 min etc mais ça fait un peu usine à  gaz  ...

Lien vers le commentaire
Partager sur d’autres sites

Une fonctionnalité supplémentaire àGEA l'affichage des messages sur le smartphone

méthode le popup (version HC2 4100)

merci a Pepite

désolé pour mon français, mais je rarement parler :-(

function m_popup(temat, info, desc, typ, sc1_txt, sc1_nr , sc2_txt, sc2_nr)
local imgUrl = 'http://www.fibaro.com/sites/all/themes/fibaro/images/motion-sensor/en/motion_sensor_manual.png'
    -- pop-up call
    HomeCenter.PopupService.publish({
        title = temat, -- titre (required) 
        subtitle = os.date("%I:%M:%S %p | %B %d, %Y"), -- sutitre (optional), e.g. time and date of the pop-up call
        contentTitle = info, -- déclaration (optional)
        contentBody = desc, -- description (required)
--     img = imgUrl, icône, si rien est l`icône du type par défaut, notification image (assigned from the variable)
        type = typ, -- type of the pop-up 'Info' - blue (default), 'Success' - green, 'Warning' - yellow, 'Critical' - red
-- (bouton) buttons definition 'caption/description' - text displayed on the button , 'sceneId' - scene id triggered after pushing the button / scène commuté, 0 - rien
        buttons = {
        { caption = sc1_txt, sceneId = sc1_nr },
        { caption = sc2_txt, sceneId = sc2_nr }
        }
    });
end
ex.
GEA.add(id["M_PORT"], -1, "porte ouverte", {{"Function", function() m_popup("porte ouverte", "La porte principale ouverte", "Si vous voulez éteindre l'air conditionné", "Warning", "Arrêt", 999, "Ne rien faire", 0) end}})

pour moi plus lisible que les messages traditionnel et ils sont conservés même que l'application arrêt sur portable, Il peut être utile àquelqu'un

Piotr

Screenshot_2016-11-17-01-10-20_resized_20161117_011222798.png

Screenshot_2016-11-17-01-10-00_resized_20161117_011245815.png

  • Upvote 5
Lien vers le commentaire
Partager sur d’autres sites

@drboss, excellentissime, thanks a lot, good job.

 

@flechg, tu mets la fonction dans le code "user", la ou tu mets tes "GEA.add", puis tu appelles la fonction comme dans l'exemple que drboss donne

 

@elacombe, moi je dirais OUI. Mais pour ma par, je rencontre quelques soucis avec les Popup. Si mon appli ets en arriere plan. Je n'ai rien. Je dois fermer l'appli puis la reouvrir pour voir les popup. 

 

Questions aux experts dev : je n'aime pas trop modifié GEA, alors question d'un noob, est-il possible d'appeler une fonction qui se trouverait dans une autre scene en LUA, àl'image d'un include... ?

Mon idée serait de clarifier la partie "USER" de GEA et mettre les fonctions "utilisateurs", type le function restart de @jojo, ou le "m_popup" de @drboss par exemple. Ce qui permettrait de n'avoir que les lignes GEA.add dans la partie "user".

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Il est vivement déconseiller de modifier GEA car le jour ou il y aura une modification de ce dernier, cela va vite devenir ingérable.

 

Il faut créer un scénario différent et utiliser les variables globales (ou label d'un VD) comme déclencheur. Dans le cas d'un Popup qui doit recevoir plusieurs paramètres, il est possible d'utiliser le JSON.

 

Depuis GEA 

local param = json.encode({temat = "Message", info = "Titre", desc = "Desc", scr1_txt = "Scene1", scr1_num = 10, scr1_txt = "Scene2", scr2_num = 11})
GEA.add(......, {{"Global", "Popup", param}})

 

Depuis la nouvelle scène pour reprendre l'info :

...
local param = json.decode(fibaro:getGlobalValue("Popup"))
fibaro:debug(param.temat)
...

 

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Steven,

Je suis d'accord avec toi. 

Je l'ai fait rapidement, dans quelques jours je vais faire probablement SC.

Le code actuel ne modifie pas la  core de GEA, parce que code je met dans la partie de l'utilisateur comme GEA.add

 

En dessous de la première (bêta) version de la scène

--[[
%% properties
%% events
%% globals
m_popup
--]]


-- GEA Message popup v0.1
-- vous devez créer une variable globale m_popup
-- zone utilisateur GEA pour chaque message:
--
-- local paramX = json.encode({
--    temat = "Message", 
--    info = "Titre", 
--    desc = "Desc", 
--    typ = "Warning", -- 'Info' - blue (default), 'Success' - green, 'Warning' - yellow, 'Critical' - red
--    bt1_txt = "Scene1", -- description d'un bouton 1
--    bt1_sc = 10, -- le numero de scènes pour exécuter après appuyé sur le bouton 1
--    bt2_txt = "Scene2", -- description d'un bouton 2
--    bt2_sc = 11}) -- le numero de scènes pour exécuter après appuyé sur le bouton 1
  
-- GEA.add(99, 1, "test", {{"Global", "m_popup", paramX}})
  

fibaro:debug("Démarré")

local message = json.decode(fibaro:getGlobalValue("m_popup"))
if tonumber(message) ~= 0 then
fibaro:debug("Titre:"..message.temat)
fibaro:debug("Declaration:"..message.info)
fibaro:debug("Date:"..os.date("%I:%M:%S %p | %B %d, %Y"))
fibaro:debug("Descrription:"..message.desc)
fibaro:debug("Type message:"..message.typ) -- 'Info' - blue (default), 'Success' - green, 'Warning' - yellow, 'Critical' - red
fibaro:debug("1 Bouton text:"..message.bt1_txt)
fibaro:debug("1 Bouton scen a demare:"..message.bt1_sc)
fibaro:debug("2 Bouton text:"..message.bt2_txt)
fibaro:debug("2 Bouton scen a demare:"..message.bt2_sc)

  HomeCenter.PopupService.publish({title=message.temat, subtitle=os.date("%I:%M:%S %p | %B %d, %Y"), contentTitle=message.info, contentBody=message.desc, type=message.typ, buttons = {
        { caption=message.bt1_txt, sceneId=message.bt1_sc },
        { caption=message.bt2_txt, sceneId=message.bt2_sc }
        }
    });
  fibaro:setGlobal("m_popup", "0")
  fibaro:debug("Envoyé")
else
 -- fibaro:setGlobalValue("m_popup", "0")
end

 

Modifié par drboss
J'ai eu un peu de temps ...
  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Il y a 2 heures, Steven a dit :

Il est vivement déconseiller de modifier GEA car le jour ou il y aura une modification de ce dernier, cela va vite devenir ingérable.

 

Il faut créer un scénario différent et utiliser les variables globales (ou label d'un VD) comme déclencheur. Dans le cas d'un Popup qui doit recevoir plusieurs paramètres, il est possible d'utiliser le JSON.

 

Depuis GEA 


local param = json.encode({temat = "Message", info = "Titre", desc = "Desc", scr1_txt = "Scene1", scr1_num = 10, scr1_txt = "Scene2", scr2_num = 11})
GEA.add(......, {{"Global", "Popup", param}})

 

Depuis la nouvelle scène pour reprendre l'info :


...
local param = json.decode(fibaro:getGlobalValue("Popup"))
fibaro:debug(param.temat)
...

 

 

salut

@Steven je comprend pas très bien 

 

 

Lien vers le commentaire
Partager sur d’autres sites

Faut que j'aille voir un DOC, je commence presque àcomprendre le @Steven, le @master, je dois couver quelquechose.

 

@971jmd, comme ceci :

 

 - Creation de la variable globale Popup

 - tu crées une scène qui se declenche sur la variable globale "Popup"

 

En reprenant l'exemple du master, ta scene ressemble àceci


 

--[[
%% properties
%% globals
Popup
--]]
 
-- Recuperation infos JSON variable globale Popup
local param = json.decode(fibaro:getGlobalValue("Popup"))
fibaro:debug(param.temat)

-- Code Popup
HomeCenter.PopupService.publish({
    title = param.temat,
    subtitle = os.date("%I:%M:%S %p | %B %d, %Y"),
    contentTitle = param.info,
    contentBody = param.desc,
    img = "../img/topDashboard/info.png",
    type = "Warning",
    buttons = {
    { caption = param.sc1_txt, sceneId = param.scr1_num},
    { caption = param.sc2_txt, sceneId = param.sc2_num }
    }
})

Puis dans GEA :

local param = json.encode({temat = "Message", info = "Titre", desc = "Desc", scr1_txt = "Scene1", scr1_num = 10, scr2_txt = "Scene2", scr2_num = 11})
GEA.add(......, {{"Global", "Popup", param}})

Je ne sais pas ce qu'il se passe en enchainant 2 param differents, a tester

local param = json.encode({temat = "Message", info = "Titre", desc = "Desc", scr1_txt = "Scene1", scr1_num = 10, scr2_txt = "Scene2", scr2_num = 11})
GEA.add(......, {{"Global", "Popup", param}})

local param = json.encode({temat = "Message", info = "Titre", desc = "Desc", scr1_txt = "Scene1", scr1_num = 10, scr2_txt = "Scene2", scr2_num = 11})
GEA.add(......, {{"Global", "Popup", param}})

ATTENTION :

il se peut tout de même que j'ai mal compris, alors merci aux experts de me corriger ;-)

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

:) salut @pepite

 

j'ai coller le code suivant dans une scène et j'ai une erreur 

 

[DEBUG] 14:36:22: line 9: attempt to index local 'param' (a number value)

 

--[[
%% properties
%% globals
Popup
--]]
 
-- Recuperation infos JSON variable globale Popup
local param = json.decode(fibaro:getGlobalValue("Popup"))
fibaro:debug(param.temat)   ----------   ligne 9 -----

-- Code Popup
HomeCenter.PopupService.publish({
    title = param.temat,
    subtitle = os.date("%I:%M:%S %p | %B %d, %Y"),
    contentTitle = param.info,
    contentBody = param.desc,
    img = "../img/topDashboard/info.png",
    type = "Warning",
    buttons = {
    { caption = param.sc1_txt, sceneId = param.scr1_num},
    { caption = param.sc2_txt, sceneId = param.sc2_num },
    }
})

et dans GEA

 

et pas d'erreur mai reine ne ce passe 

local param = json.encode({temat = "Message", info = "Titre", desc = "Desc", scr1_txt = "Scene1", scr1_num = 10, scr2_txt = "Scene2", scr2_num = 11})
GEA.add(true, 30, "ooo",{{"Global", "Popup", param}})  

 

Lien vers le commentaire
Partager sur d’autres sites

@971jmd,

 

Essaie cette ligne GEA (j'ai corrige..) et verifie deja la valeur de ta variable globale

local param = json.encode({temat = "Message", info = "Titre", desc = "Desc", sc1_txt = "Scene1", sc1_num = 0, sc2_txt = "Scene2", sc2_num = 0})
GEA.add(true, 30, "ooo",{{"Global", "Popup", param}}) 

Puis dans la scene corrigee aussi


 

--[[
%% properties
%% globals
Popup
--]]
 
-- Recuperation infos JSON variable globale Popup
local json = json.decode(fibaro:getGlobalValue("Popup"))
fibaro:debug(json.temat)

-- Code Popup
HomeCenter.PopupService.publish({
    title = json.temat,
    subtitle = os.date("%I:%M:%S %p | %B %d, %Y"),
    contentTitle = json.info,
    contentBody = json.desc,
    img = "../img/topDashboard/info.png",
    type = "Warning",
    buttons = {
    { caption = json.sc1_txt, sceneId = json.sc1_num },
    { caption = json.sc2_txt, sceneId = json.sc2_num }
    }
})

J4ai teste avec ZeroBRain, c'est OK pour moi. je recois bien le Popup

Lien vers le commentaire
Partager sur d’autres sites

pour moi le liaison ce fait tres bien entre

GEA

local param = json.encode({temat = "Message", info = "Titre", desc = "Desc", scr1_txt = "Scene1", scr1_num = 10, scr2_txt = "Scene2", scr2_num = 11})
GEA.add({"Value",  id["PLAFONNIER_CUISINE"], 1}, -1, "",{{"Global", "Popup", param}})  
  

et la scène popo

 

 

Lien vers le commentaire
Partager sur d’autres sites

Non, c'est ce que j'expliquais plus haut, moi, si j'ai l'appli ouverte pas de souci pour les popups, pour les recevoir, suis oblige de fermer l'appli et de la reouvrir et la, miracle ;-)

 

JE ne trouve pas ca encore assez fiable ;-)

heuu t'as oublie la scene lol

Lien vers le commentaire
Partager sur d’autres sites

c  tout bête mai ça fonction

 

quand je reçois le message venant de GEA  : coucou vous avez un Message pop 

il suife de slides dessus comme dab pour ouvrir l’application fibaro  ou je vais trouver le message POP  .

 

local param = json.encode({temat = "Message", info = "Titre", desc = "Desc", scr1_txt = "Scene1", scr1_num = 10, scr2_txt = "Scene2", scr2_num = 11})
GEA.add({"Value",  id["PLAFONNIER_CUISINE"], 1}, -1, "coucou vous avezs un Message pop",{{"Global", "Popup", param}})  
 

 

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...