Aller au contenu

Support Gea


Steven

Recommended Posts

Sinon, la méthode tordu :

 

Créer un scénario en mode bloc qui vq donc envoyer un push au smartphone souhaité puis le transformer en LUA ... et voilà .

 

La méthode de PITP2 est plus propre :)

Lien vers le commentaire
Partager sur d’autres sites

EUREKA !

 

Je pense que j'ai trouvé pour le problème de GLOBAL

 

Je n'ai plus le temps de vérifier en profondeur ce soir mais je pense que le problème vient de la méthode de vérification/comparaison du contenu de la VG.

 

En effet, j'ai des problèmes quand j'ai un contenu de la VG du type:

closed et not_closed (porte de garage)  au lieu de closed et open

1er_contacts_only et contacts_only (alarme) au lieu de 1er_contacts_only et All_contacts_only

 

En effet, si on cherche closed ou contact_only, gea les trouve dans les deux

(il trouve aussi 1er contact_only et not_closed, en effet, tous les deux contiennent contact_only et closed)

 

C'est probablement l'opérateur de comparaison que gea utilise qui les valide tous les deux car il fait une comparaison style "est-ce que la VG contient closed ?" et que la réponse pour closed et not_closed est la même et il valide les deux conditions...

J'ai testé avec 1er_contact_only et All_contacts_only et il n'execute plus les deux lignes....

 

 

:-)

 

Maintenant dodo

Lien vers le commentaire
Partager sur d’autres sites

Suite à  ton message, je viens de faire des tests et TU AS RAISON :)
 
string.match utilisé dans GEA signifie est-ce que le mot X est contenu dans Y ... Donc "Closed" est bien contenu dans "Not_Closed". Je n'y avais pas pensé  :13:
 
C'es le désavantage d'avoir utilisé des Regex. D'un côté cela permet beaucoup plus de souplesse, de l'autre cela induit un comportement non souhaité.
 
Donc pour ton cas, il faudrait utilisé ^ et $ ^ = commence par et $ = fini par.
 
Exemple :

GEA.add({"Global", "Porte_Action", "^Closed$"}, ....)

Ainsi tu es 100% sà»r que Closed n'est pas inclus dans Not_Closed car car ce dernier DOIT commencer par Closed et finir par Closed.
 
Je suis pas sà»r d'être très clair.
 
L'autre option est de modifier GEA mais si on rajoute automatiquement le ^ et le $ on va perdre cette souplesse qu'offre les regex.
 
Ou alors, on ajoute une option dans GEA du style
GEA.regexFullAllow = false et dans ce cas, on ajoute automatiquement le ^et $ et si l'utilisateur le met à  true, c'est à  lui d'assumer les regex qu'il va mettre dans GEA.
 
 
Dans tout les cas ... MERCI beaucoup d'avoir réussi à  pointé le problème :60:  car je commençais aussi à  me prendre la tête.  :D

Lien vers le commentaire
Partager sur d’autres sites

EXcellent messieurs,

 

Mon avis de NEWBIE, si j'ai bien compris :

- le GEA.regexFull Allow = false et on fait attention à  ne pas mettre de regex du genre "closed" et "not_closed"

- le GEA.regexFullAllow = true et si on utilise des regex "closed" et "not_closed", à  nous de mettre les "^closed$" et "^not_closed$"

 

Honnetement cela parait tres simple (la preuve, j'ai pe compris  :P ) et laisse le choix aux utilisateurs.

 

Je trouve ca super !!

 

ENCORE MERCI messieurs, je suis un FAN de GEA et grace a vous !!

Lien vers le commentaire
Partager sur d’autres sites

Special sebcbien

 

Voici une version 5.15 qui :

  • Par défaut ne vérifie plus que le mot rechercher est dans la VG mais est bien égale à  la VG ("closed" n'est pas dans "not_closed"). Cette fonctionnalité est désactivable en mettant GEA.regexFullAllow = true. Je conseil de la laisser par défaut à  false pour, à  l'avenir, éviter de voir sebcbien hériter de cheveux blancs supplémentaires.
Pour 971jmd 

GEA.add(id["LAMPE_ESCALIER"], -1, "", {{"Global", "Test", "#value#"}})
Va remplir la variable "Test" avec la valeur du module "lampe_escalier" (ne pas oublier de mettre l'id souhaité dans l'entête)

(j'ai corrigé le bug qui mettait uniquement #value# dans ce cas.)

 

J'aimerais que sebcbien puisse tester et approuver ou non les modifications avant d'aller plus loin.

Donc pour les courageux, vous pouvez y aller mais je vous conseil d'attendre son aval.

Merci d'avance.

GEA._5_15.lua

Lien vers le commentaire
Partager sur d’autres sites

Superzut, chuis àla bourre pour le moment, je peux pas tester.

Mais pour moi le plus simple c'est de garder les regex et d'utiliser des valeurs de VG mieux choisies....

Je pourrai rester ce soir, sorry :/

Content que Steven ait pu confirmer :-)))

Sent From my Vic20

Lien vers le commentaire
Partager sur d’autres sites

Tout de suite on exagère ... j'ai reçu une augmentation de 2% (lol) et l'euro m'en offre 20% de plus :)

Si j'avais travaillé un peu plus à  mon travail et moins sur GEA j'aurais peut-être pu amélioré les 2% ... je suis même surpris d'avoir reçu quelque chose.  :15:

 

En tout cas, merci  :13:

 

Par contre, cela est valable aujourd'hui, demain est un autre jour.

Lien vers le commentaire
Partager sur d’autres sites

J'avais pas vu le "Steven is back" sur le repo GitHub  :P

 

Non, je ne suis pas de retour, je règle juste les derniers soucis.

 

Par la même occasion, manque quelque chose à  GEA. C'est la possibilité d'envoyé une capture d'une caméra : fibaro:call(237, "sendPhotoToUser", "2");

 

Voilà , maintenant, vous avez du travail :)

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

bon, malheureusement le fix n'a pas l'air de fonctionner :-/

  
      --fibaro:debug("avant " .. fibaro:getGlobalValue("Porte_Garage") .. "#")
-- Si demande de fermeture et porte non fermée (position inconnue), alors ferme porte
  GEA.add({"Global", "Porte_Gar_Action", "DemandeFermeture"}, -1, "Demande Fermeture Porte Garage GEA à#time#", {{"turnOn",id["REMOTE_GARAGE"]},{"If",{{"Global", "Porte_Garage", "NotClosed"}}}})
--    fibaro:debug("pendant " .. fibaro:getGlobalValue("Porte_Garage") .. "#")
  -- Si demande de fermeture et porte fermée, then reset global àen_attente  
  GEA.add({"Global", "Porte_Gar_Action", "DemandeFermeture"}, -1, "Demande Fermeture Inutile", {{"Global", "Porte_Gar_Action", "EnAttente"},{"If",{{"Global", "Porte_Garage", "Closed"}}}})
--      fibaro:debug("apres " .. fibaro:getGlobalValue("Porte_Garage") .. "#")
	-- Gestion de la lumière lorsque l'on rentre la voiture (stockage du scénario dans la valeur du dimmer ->97%
  	-- Si demande d'ouverture et porte fermée et lampe éteinte, then push, Allume lampe à97%
  --GEA.add({{"Global", "Porte_Gar_Action", "DemandeOuverture"}, {"Global", "Porte_Garage", "Closed"}, {"Value-", id["LAMPE_GARAGE"], 1}}, -1, "Lampe garage on pour 7 min à97", {{"Value", id["LAMPE_GARAGE"], 97}})
    -- On clignotte la lampe après 7mn et on l'éteint après 8mn si pas d'action manuelle
    -- Un double click ramène le dimmer à100% et relance un cycle de 90 min (autre GEA, celui-ci désactivé)
  --GEA.add({"Value", id["LAMPE_GARAGE"],97}, 1*60, "Garage 7 min à97 puis 96",{{"turnOff", id["LAMPE_GARAGE"]},{"Function", function() fibaro:sleep(700) end},{"Value", id["LAMPE_GARAGE"], 96}})
	-- Sil la lampe est à96%, après 8 min on met la lampe à99% (prète pour prochain allumage) puis on éteint
--  GEA.add({"Value", id["LAMPE_GARAGE"],96}, 1*60, "Garage 1 min à96 puis 99 puis 0ff",{{"Value", id["LAMPE_GARAGE"], 99},{"Function", function() fibaro:sleep(500) end},{"turnOff", id["LAMPE_GARAGE"]}})
  

    
    -- ==================================================
    -- [FR] NE PLUS RIEN TOUCHER
    -- [EN] DON'T TOUCH UNDER THIS POINT
    -- ==================================================
end

if (not GEA) then
	
	GEA = {}
	GEA.version = "5.15"
	GEA.language = "FR";
	GEA.checkEvery = 30
	GEA.index = 0
	GEA.isVersionFour = false
	
	GEA.globalTasks = "GEA_Tasks"
	GEA.regexFullAllow = false
	GEA.portables = {}
	

Je pense avoir compris pour le regex = false mais dans ce cas-ci, porte ouverte et demande de fermeture, je reçois quand même deux notifications

Lien vers le commentaire
Partager sur d’autres sites

mais ceci:

 

  
-- Si demande de fermeture et porte non fermée (position inconnue), alors ferme porte
  GEA.add({"Global", "Porte_Gar_Action", "DemandeFermeture"}, -1, "Demande Fermeture Porte Garage GEA à  #time#", {{"turnOn",id["REMOTE_GARAGE"]},{"If",{{"Global", "Porte_Garage", "NotClosed"}}}})
--    fibaro:debug("pendant " .. fibaro:getGlobalValue("Porte_Garage") .. "#")
  -- Si demande de fermeture et porte fermée, then reset global à  en_attente  
  GEA.add({"Global", "Porte_Gar_Action", "DemandeFermeture"}, -1, "Demande Fermeture Inutile", {{"Global", "Porte_Gar_Action", "EnAttente"},{"If",{{"Global", "Porte_Garage", "^Closed$"}}}})

fonctionne, une seule notification

 

 

Lien vers le commentaire
Partager sur d’autres sites

@sebcbien

J'attends :)

 

@Nico

Rien du tout :) Plus de domotique pour moi pour quelque temps. De tout façon, les plugins c'est mort pour un moment et le firmware n'est pas stable donc ... repos. Au lieu de prendre soin de ma maison, je vais prendre soin de ma famille.

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

×
×
  • Créer...