Aller au contenu

Support Gea


Steven

Messages recommandés

En effet, c'est à toi de voir si tu préfères utiliser le "Nom du module" ou son ID. Il faut être conscient que le lancement de GEA (uniquement le démarrage) sera un tout petit peu plus lent car il va devoir aller chercher les ID par rapport au nom du module. Mais je ne pense pas que tu verras de différence.

 

Perso je préfère lire : {"TurnOn", "Lampe de chevet"} que {"TurnOn", id["LAMPE_CHEVET"]} qui nécessite de connaitre son ID et de le mettre dans le tableau des IDs.

Et si j'ai 2 lampes de chevet {"TurnOn", "Lampe de chevet@Chambre du Monstre 1"}

 

Cela permet de lire et d'écrire plus naturellement nos codes.

 

Après, il ne faut pas s'amuser à renommer les modules :-)

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

Trop bien ! merci !!!

 

Et pour l'utilisation des variables globales dans les lignes GEA, est-ce que ceci fonctionne (je pourrais tester, certes,...)

GEA.add({"true",0,"",{"VariableCache","temp_chaud",25})
GEA.add({{"Label",id["CLIM_CHAMBRE"],"lblPower","OFF"},{"Value+",id["TEMP_CHAMBRE"],"temp_chaud"},30*60,"Il fait chaud dans la chambre, j'active la clim !",....

Ou faut-il passer systématiquement par une variable globale ?

 

Lien vers le commentaire
Partager sur d’autres sites

C'est simple. Soit c'est un nombre et je le prend tel quel, soit c'est autre chose et je vais chercher une variable globale. Je n'ai pas poussé plus loin. Donc pas le choix, c'est une VG :-(

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

Bonjour à tous,

Y a-t-il moyen de réaliser un calcul sur des dates dans GEA, ceci afin de faire un OFF/ON sur mon boiler.

Je m’explique :

En fonction des dates dans :

VacancesON : 02/07/2020

=>Faire un OFF du boiler à J-1 (01/07/2020)

VacancesOFF : 15/07/2020

=> Faire un ON du boiler à J-1 (14/07/2020)

Merci à vous

Lien vers le commentaire
Partager sur d’autres sites

 Merci @Steven pour cette mise à jour.

Le 11/06/2020 à 14:23, Dragoniacs a dit :

SI j'ai bien compris, plus besoin de la déclaration des id={} ? 

Et moi, je n'ai pas compris.

Au début, j'ai essayé en retirant la table

local id = {

--Cuisine
Plan_de_travail = 76, T_Cuisine = 184, Plafond = 74, etc...

}

mais ça plantait à mon premier Id donc j'ai remis cette table et pas de soucis.

 

Lien vers le commentaire
Partager sur d’autres sites

Le 15/06/2020 à 08:48, Ghoosti a dit :

Bonjour à tous,

Y a-t-il moyen de réaliser un calcul sur des dates dans GEA, ceci afin de faire un OFF/ON sur mon boiler.

Je m’explique :

En fonction des dates dans :

VacancesON : 02/07/2020

=>Faire un OFF du boiler à J-1 (01/07/2020)

VacancesOFF : 15/07/2020

=> Faire un ON du boiler à J-1 (14/07/2020)

Merci à vous

Par défaut, il n'y a rien dans GEA. En revanche, tu peux ajouter ton propre code pour le faire, voici un exemple qui va fonctionner

...
function setEvents()
    -- ...
	GEA.options.mydatediff = {name = "MyDateDiff", getValue=function(nb_jours, date)
		local d, m, y = date:match("(%d+).(%d+).(%d+)")
		local diff = tonumber(os.date("%Y%m%d")) - tonumber(y .. m .. d)
		return diff == nb_jours
	end} 
    -- ...
    GEA.add({"MyDateDiff", -1, "02/07/2020"}, 30, "Test MayDateDiff")
    -- ou
    GEA.add({"MyDateDiff", -1, {"Global", "VacancesON"}}, 30, "Test MayDateDiff")
end
...

 

Lien vers le commentaire
Partager sur d’autres sites

Il y a 18 heures, Did a dit :

 Merci @Steven pour cette mise à jour.

Et moi, je n'ai pas compris.

Au début, j'ai essayé en retirant la table


local id = {

--Cuisine
Plan_de_travail = 76, T_Cuisine = 184, Plafond = 74, etc...

}

mais ça plantait à mon premier Id donc j'ai remis cette table et pas de soucis.

 

L'idée de la 6.12 est de permettre d'abandonner les ID si vous le souhaiter et d'utiliser le nom des modules.

 

Supprimer juste la table des id ne va faire que de planter le code.

 

Si je reprend ton exemple id["Plafond"] = 74 tu as probablement quelque part dans ton code

 

GEA.add(.........., ...., ...., {"TurnOn", id["Plafond"]}

 

Ce qui revient a écrire

 

GEA.add(.........., ...., ...., {"TurnOn", 74}

 

GEA 6.12 te permet d'utiliser le nom du module au lieu de son ID, donc si le nom de ton module Plafond (74) est "Lampe Plafond", avec la 6.12 tu pourrais écrire ainsi :

 

GEA.add(.........., ...., ...., {"TurnOn", "Lampe Plafond"}

GEA.add(.........., ...., ...., {"TurnOn", "Lampe Plafond@Cuisine"} -- si tu as plusieurs "Lampe Plafond"

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

Salut a tout le monde

 

J'ai un problème GEA 6-12

 

Quand détection alors allume la salle de bain, jusque-là pas de problème la lampe s'allume bien 

Mai après les 30s elle reste toujours allumée et je le debug suivant :

 

  DEBUG] 17:35:56: Aucune entrée pour l'évennement Property[54 - value] supprimer le de l'entête

 

 --[[
%% autostart
%% properties
507 value
54 value
%% globals
--]]


---detection sb enfant
  GEA.add({"Value", 507, 1}, 	-1 , "", { {"TurnOn", "Salle de bain"} })
    
  GEA.add({"Value", "Salle de bain", 1}, 30, "", {  {"TurnOff", "Salle de bain"},   {"Repeat"} }) 

 

Lien vers le commentaire
Partager sur d’autres sites

Même problème avec :

 

Ne fonctionne pas

GEA.add({"SceneActivation", "Telecom vl bar" , 14}, -1, "", {{"OnOff", "Suspension Cuisine" }})   
GEA.add({"SceneActivation", "Telecom vl bar" , 24}, -1, "", {{"OnOff", "Lampe du Bar" }}) 
GEA.add({"SceneActivation", "Telecom vl bar" , 25}, -1, "", {{"OnOff", "Neon Led Piscine" }}) 


Aucune entrée pour l'évennement Property[526 - sceneActivation], supprimer le de l'entête

 

fonctionne 


 local id = { TELECOM_DU_BAR = 526, LAMPE_CUISINE = 14, APPLIQUE_DU_BAR = 458, LED_PISCINE = 403  }
  
GEA.add({"SceneActivation", id["TELECOM_DU_BAR"] , 14}, -1, "", {{"OnOff", id["LAMPE_CUISINE"]}})   
GEA.add({"SceneActivation", id["TELECOM_DU_BAR"] , 24}, -1, "", {{"OnOff", id["APPLIQUE_DU_BAR"]}}) 
GEA.add({"SceneActivation", id["TELECOM_DU_BAR"] , 25}, -1, "", {{"OnOff", id["LED_PISCINE"]}}) 

 

Modifié par 971jmd
Lien vers le commentaire
Partager sur d’autres sites

Bonjour à tous,

 

J'ai installé ceci: (merci @Steven)

GEA.options.mydatediff = {name = "MyDateDiff", getValue=function(nb_jours, date)
        local d, m, y = date:match("(%d+).(%d+).(%d+)")
        local diff = tonumber(os.date("%Y%m%d")) - tonumber(y .. m .. d)
        return diff == nb_jours
    end} 

ensuite J'ai créé 

local DateVacOn   = "10/07/2020" 
GEA.add({"MyDateDiff", -1, DateVacOn}, 30, "VAR Boiler_JJ sur J-1_Off", {"Global", "Boiler_JJ", "J-1_Off"}, "xx")-- OK ça fonctionne la VAR change bien en fonction du J-1

maintenant j'essaye de récupérer la date J-1 contenue dans {"MyDateDiff", -1, DateVacOn} afin de l’insérer dans la variable "DateVac_On_1"

j'ai essayé plusieurs choses, mais sans résultat, notamment:

GEA.add(true, 30, "x", {"Global", "DateVac_On_1", {"MyDateDiff", -1, DateVacOn}}, "xx")

:(

Merci pour votre aide

Lien vers le commentaire
Partager sur d’autres sites

@971jmd Il est possible que tout ne fonctionne pas, cette version est une ébauche plus ou moins fonctionnelle comme annoncé.

 

En revanche, ce code est dangereux à mon avis

GEA.add({"Value", "Salle de bain", 1}, 30, "", {  {"TurnOff", "Salle de bain"},   {"Repeat"} })

Ce code ne fonctionne QUE si la valeur de ta "Salle de bain" est de 1 alors que la plus part des modules peuvent te retourner une valeur entre 1 et 100, je mettrait à la place

{"TurnOn", "Salle de bain"} au lieu de {"Value", "Salle de bain", 1}

et le {"Repeat"} ne sert à rien.

 

 

Pour le "SceneActivation", en effet, cela ne fonctionnera jamais, le code de GEA contient une erreur.

Il y a cette ligne dans le code 

getValue=function(id, value) return tonumber(fibaro:getValue(GEA.findScenarioId(id), "sceneActivation")) == tonumber(value) end

qui contient un GEA.findScenarioId(id) ce qui est faux et devrait être GEA.findDeviceId(id)

  • Like 2
Lien vers le commentaire
Partager sur d’autres sites

Je t'aide en te donnant un exemple :

 

function getDate(date, nbJour) 
  local d, m, y = date:match("(%d+).(%d+).(%d+)")
  local mydate = os.time{year=y, month=m, day=(d+nbJour), hour=0};
  return os.date("%d/%m/%Y", mydate)
end

print(getDate("17/06/2020", -2)) -- resultat : 15/06/2020

 

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

@Steven

J'ai un soucis avec les déclenchements instantanés en V6.12

J'avais cette ligne :

  GEA.add({id["PORTE_ENTREE"],{"(Global)","Jour_Nuit","Nuit"}}, -1, "GEA : Ouverture de la porte, allumage du porche" ,{"turnOn",id["LUM_PORCHE"})

 

J'ai changé en :

GEA.add({"Porte Entree",{"(Global)","Jour_Nuit","Nuit"}}, -1, "GEA : Ouverture de la porte, allumage du porche" ,{"turnOn","Lumière Porche"})

Il me dit que l'option "Porte Entree" n'existe pas

 

Et si je fais :

GEA.add({{"Value","Porte Entree",1},{"(Global)","Jour_Nuit","Nuit"}}, -1, "GEA : Ouverture de la porte, allumage du porche" ,{"turnOn","Lumière Porche"})
Il me répond qu'il n'y a pas d'action associée à mon id et que je peux le supprimer de l'entête...

 

Lien vers le commentaire
Partager sur d’autres sites

Boujour à tous,

 

J'essaye de remplacer ceci:

 GEA.add({"Dates", "01/06/2020"}, 30, "", {"VirtualDevice", id["VD_MAISON_MODE"], "5"}, "Maison en Mode Vacances")

par ceci: (en récupérant la valeur d'un Label ou une VG)

la valeur de DateVacOn_Format est 01/06/2020

GEA.add({"Global", "DateVacOn_Format"}, 30, "", {"VirtualDevice", id["VD_MAISON_MODE"], "5"}, "Maison en Mode Vacances")

:(

Modifié par Ghoosti
Merci
Lien vers le commentaire
Partager sur d’autres sites

Il y a 2 heures, Ghoosti a dit :

Boujour à tous,

 

J'essaye de remplacer ceci:


 GEA.add({"Dates", "01/06/2020"}, 30, "", {"VirtualDevice", id["VD_MAISON_MODE"], "5"}, "Maison en Mode Vacances")

par ceci: (en récupérant la valeur d'un Label ou une VG)

la valeur de DateVacOn_Format est 01/06/2020


GEA.add({"Global", "DateVacOn_Format"}, 30, "", {"VirtualDevice", id["VD_MAISON_MODE"], "5"}, "Maison en Mode Vacances")

:(

Tu devrais essayer ainsi :

 

{"Dates", {"Global", "DateVacOn_Format}}, 30, ...

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...