Aller au contenu

Recommended Posts

@PITP2, la documentation active de la V4 est une bonne chose

Envoyé de mon smartphone

Partager ce message


Lien à poster
Partager sur d’autres sites

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 :)

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
Partager sur d’autres sites

Yes,

 

du tres bon boulot SEBCBIEN, merci beaucoup pour toutes tes recherches

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
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 !!

Partager ce message


Lien à poster
Partager sur d’autres sites

L'idée serait qu' avec GEA.regexFullAllow = false, tu t'enfiche de "close" ou "not_closed", c'est GEA qui le gère pour toi. Sinon pour le reste, tu as raison.

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
Partager sur d’autres sites

Toujours au top Sebcbien et Steven

Merci à  vous deux  :60:

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
Partager sur d’autres sites

Heyyy, y'a pas le feu au lac

Partager ce message


Lien à poster
Partager sur d’autres sites

De toute façon il s'en moque Steven il vient de prendre 30% de plus sur son salaire  ;)

Mais c'est mérité avec tout ce qu'il fait pour GEA  :74:

  • Upvote 1

Partager ce message


Lien à poster
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.

Partager ce message


Lien à poster
Partager sur d’autres sites

Si cela se trouve ton chef est membre du forum et utilise ton script pour gérer sa domotique  :2:

  • Upvote 1

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
Partager sur d’autres sites

à‡a y est il a un salaire de patron du cac40 et il donne du travail ....  ;)

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Quel parvenu !

Sent From my Vic20

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
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

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Et du coup Steven tu nous prépares quoi ?

Partager ce message


Lien à poster
Partager sur d’autres sites

stop stop j'ai rien dit, 2 minutes, j'avais une autre instance qui tournait et àpu influencer.

Je reteste

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
Partager sur d’autres sites

×