Aller au contenu

Messages recommandés

Posté(e)

Rien à  voir avec les regex dans ce cas, le message contenant le + est envoyé (je suppose) dans une requête HTTP du style :

 

http://......./text=+30 arrossage samedi

 

Or le + en HTTP signifie un espace. Le + ne sera donc jamais transmis. Cela n'a rien à  voir avec GEA.

 

Pour le inc+, c'est une autre histoire qui, elle, est bien liée au regex et est un bug dans GEA.

Posté(e)

Pour corrigé le inc+ et le dec-, il suffit de chercher la ligne suivante :

if (GEA.match(entry[GEA.keys["PARAMS"]][i][3], "inc+")) then

et de remplacer le mot GEA.match par string.match

 

idem pour cette ligne

elseif (GEA.match(entry[GEA.keys["PARAMS"]][i][3], "dec-")) then
Posté(e)

@fredric dans les deux cas tu lance une scène. Avec gea on ne peut pas activer/désactiver une scène.

 

tu devrais expliquer ton besoin global (que cherche tu à¡ faire)

pour le moment, c'est une scène qui ferme les volets roulant, cela semble tous bête, mais il y à  beaucoup de conditions et je n'ai pas envie de la refaire, surtout qu'elle tourne super bien maintenant, après de multiple test de longue alêne.

donc, je la faisais activer par le Scheduler 30 minute avant le couché du soleil et se désactiver 50 minute après le couché du soleil. 

selon les circonstances, (température, luminosité, lumière allumé ou éteinte, ouvrant etc...)  la scène s’exécute.

merci quand même, je vais voir, la mettre en autonome surement...

Posté(e)
@steven

 

j'ai un problème depuis ce matin avec ma nouvelle box et la scène GEA.

Elle disparaît après l'avoir enregistrée ... et ne fonctionne plus.

Seul moyen de la retrouver c'est de rebooter la box.

Fibaro a pris la main sur la box et après 1 heure de tests et bien ils ont pompé le code et l'ont fait tourné chez eux et ont eu le même problème :-)

Réponse du support nous allons étudier le code de plus près  et revenir vers vous dans l'après midi :-)

 

Il vont en apprendre des choses :-) j'espère qu'ils vont nous sortir une V5 avec GEA inside ;-)

 

je te tiens au jus de ce qu'ils diront sur ton merveilleux travail.

Posté(e)

je cherche le vd de Steven pour activer ou désactiver l'Alarme, je ne trouve pas, une âme charitable peux me donner le lien, ou carrément le créateur si il passe dans le coin  ;)

Posté(e)

@Fredric

Ce n'est pas un VD pour activer/désactiver l'alarme, mais un VD style réveil.

http://www.domotique-fibaro.fr/index.php/topic/1211-support-gea/?p=53670

 

@PITP2

Tu aurais pu en profiter pour leur dire qu'on a des perf de m... depuis la 4.x  ;)

C'est clair que si tu y greffes une interface style le mode bloc ... cela devient du luxe mais faut pas rêver.

Posté(e)

Ce sera pour la deuxième couche les problèmes de perf , la première n'était pas encore sèche  :D

 

Pendant qu'ils bossaient de leur côté et que la prise en main était encore active, j'ai consulté le site web de Lifedomus juste pour leur mettre un peu la pression  :2:  je sais ce n'est pas bien  :huh:

  • Upvote 1
Posté(e)

@Fredric

-- 30 mn avant le couché du soleil on active la scène ... 
GEA.add(true, 30, "", {{"Time", "Sunset-31", "Sunset-30"}, {"Function", function() fibaro:setSceneEnabled(<IDSCENE>, true) end}})
-- 50 mn après le couché du soleil on DESactive la scène ... 
GEA.add(true, 30, "", {{"Time", "Sunset+50", "Sunset+51"}, {"Function", function() fibaro:setSceneEnabled(<IDSCENE>, false) end}})

Attention : Non testé.

  • Upvote 1
Posté(e)

Disons que c'est a utiliser avec parcimonie car on peut facilement planté tout GEA :)

 

Mais lorsque cela n'est pas possible nativement avec GEA on peut, grâce à  cela, éviter de faire un script trop compliquer et juste greffer une ou deux fonctions directement dans son code GEA.

Posté(e)

Merci @Steven, j'ai mis les lignes en place, j'attends  ~18h43, 30 min avant le couché du soleil, je reviens confirmer si cela fonctionne, même si j'ai pas trop de doute  :)

 

le vd réveil va me servir à  activer un vd "alarme nuit"  :P, merci pour le partage  ;)

Posté(e)

lol ! 

 

la scène c'est correctement activée, 22 min plus tard, les volets ce sont fermés, maintenant, j'attends 19h57 environ, que la scène ce déactive  :)

 

 

Parfait, cela fonctionne  ;) , merci @Steven  :)

 

et merci à  tous  :60:

Posté(e)

@Steven

 

Salut,

 

En remplaçant "GEA.match" par "string.match", mes règles avec les variables globales se sont mises à  fonctionner bizarrement.

 

Je pense que remplacer "GEA.match" par "string.match" n'est pas la bonne correction pour ce bug.

En effet, le "+" est un caractère modificateur dans la chaine recherchée: en cherchant "inc+", on recherche en réalité "inc" ou "incc" ou "inccc" ...

 

Il faut utiliser le caractère d'échappement "%" comme ceci: string.match("ma chaine", "inc%+")

 

Le code suivant retournera "trouvé":

if string.match("inc", "inc+") then
  fibaro:debug("trouvé")
else
  fibaro:debug("pas trouvé")
end

Tandis que celui-ci retournera "pas trouvé":

if string.match("inc", "inc%+") then
  fibaro:debug("trouvé")
else
  fibaro:debug("pas trouvé")
end

Il faut, je pense remplacer GEA.match par string.match mais aussi "inc+" par "inc%+" et "dec+" par "dec%+".

 

En faisant ces modifications dans le code GEA, je n'est plus de dysfonctionnement.

 

Qu'en penses tu ?

Posté(e)

La fonction "GEA.match" utilise "string.match" et que donc le code suivant retournera "trouvé":

if string.match("com.fibaro.FGMS001", "com.fibaro.FGMS001") then
  fibaro:debug("trouvé")
else
  fibaro:debug("pas trouvé")
end

mais aussi que le code suivant retournera "trouvé":

if string.match("comXfibaroXFGMS001", "com.fibaro.FGMS001") then
  fibaro:debug("trouvé")
else
  fibaro:debug("pas trouvé")
end

Car le pattern "." est remplacé par n'importe quel caractère.

 

Posté(e)

Hello à  tous,

 

Je m'attaque doucement à  l'intégration de GEA. 

J'ai réussi à  faire quelques lignes simples (merci @Steven et à  tous pour vos différentes contributions!!!) mais la je pèche.

Je souhaite faire parler mon lapin pour m'indiquer des valeurs du plugin NETATMO.

Voici une ligne que j'ai testée pour m'avertir si le taux de CO2 est supérieur à  1000, vérifier toutes les 30 min:

GEA.add({"Value+", id["CO2_SALON"], 1000}, 30*60, "", {{"Global", "Karotz", "Le taux de CO2 est trop élevé il faut aérer"}, {"VirtualDevice", id["VD_KAROTZ"],"1"}})
Mais cela ne fonctionne pas.
Quelqu'un pourrait-il m'aider? merci d'avance
 
Posté(e)

Peux-tu poster id co2 salon ?

Peut être qu'il n'y a pas assez de temps entre l'écriture du message dans la VG et le push button sur le VD

Posté(e)

@steven : ok donc c'est vraiment à  utiliser au cas par cas le function

 

@jorderic : justement, comme le dit sebbien, mets un sleep dans ta ligne GEA pour tester ;-)

et peux tu mettre ton code avec les balises stp, plus simple à  la lecture.

GEA.add({"Value+", id["CO2_SALON"], 1000}, 30*60, "", {{"Global", "Karotz", "Le taux de CO2 est trop élevé il faut aérer"}, {"Function", function() fibaro:sleep(300) end}, {"VirtualDevice", id["VD_KAROTZ"],"1"}})
Posté(e)

@pepite

j'ai essayé ta ligne de code en changeant la valeur CO à400 et le délai à1*60 pour faire des essais mais j'ai cela en erreur d'execution:

[DEBUG] 14:05:42: [ 338 | Congélateur ] Add Autostart : ajout de la tache pour 120 secondes (ID:2) [Repeat]

[DEBUG] 14:05:42: [ 291 | Portail ] Add Autostart : ajout de la tache pour 120 secondes (ID:3) [Repeat]

[DEBUG] 14:05:42: [ 68 | Lum Bar ] Add Autostart : ajout de la tache pour 120 secondes (ID:4) [turnOff] [if..]

[DEBUG] 14:05:42: [ Value [269|CO2 Salon] > 400 ] Add Autostart : ajout de la tache pour 60 secondes (ID:9) [Global,Karotz,Le taux de CO2 est trop élevé il faut aérer] [Function..] [VirtualDevice,341,1]

[DEBUG] 14:05:42: GEA Version 5.00 : en exÈcution...

[DEBUG] 14:06:40: GEA Version 5.00 : en exÈcution...

[DEBUG] 14:06:40: En cours : aucun traitement a effectuer

[DEBUG] 14:06:43: [ Value [269|CO2 Salon] > 400 ] sendActions : traitement des actions (ID:9) [Global,Karotz,Le taux de CO2 est trop élevé il faut aérer] [Function..] [VirtualDevice,341,1]

[DEBUG] 14:06:43: [ Value [269|CO2 Salon] > 400 ] !!! ERREUR !!! : vÈrification (ID:9) [Global,Karotz,Le taux de CO2 est trop élevé il faut aérer] [Function..] [VirtualDevice,341,1]

(comment les codes avec les balises?)

Posté(e)

Ou alors:

une ligne pour changer le contenu de la variable si le CO2>XXXX

Une ligne pour envoyer le contenu de la variable au Karotz si la variable a changé en instantané (-1) comme condition

 

Pas de sleep à  ajouter

 

Ainsi si d'autre condition nécessite de faire parler le Karotz, il suffit de rajouter une ligne pour modifier le contenu la variable

Posté(e)

@jorderic, les balises code sont

 <>

tu selectionnes ton code et tu cliques sur l'image "<>"

 

ta version de GEA est en 5.00, la derniere est 5.32, mets la à  jour pour éviter tout bug supplementaire.

 

tente l'idée d'hansolo, c'est pas bete et ca évite le function qui est à  utiliser vraiment avec parcimonie, pas vraiment fait pour GEA (je ne fais que citer steven ;-))

×
×
  • Créer...