Aller au contenu

Recommended Posts

Bonjour Steven,

 

à‡a faisait longtemps ! Normal tout fonctionne bien avec GEA, qui est d'ailleurs le seul à  bien tourner sur ma box mais enfin passons, j'attend la V4, il parait que tout est corrigé...

Ce matin mes capteurs de mouvement FGMS (tous) ne répondaient plus. J'ai l'habitude... je les réveille et mise à  jour. Ils repartent mais bizarrement malgré la présence d'événements dans le tableau de la HC2, GEA ne réagit plus au mouvement.

Est ce qu'il y a eu une mise à  jour des modules ou un autre problème avec je ne sais pas quoi mais dans tous les cas mes FGMS ne sont plus géré par GEA depuis hier minuit exactement.

J'essaye de comprendre pourquoi.

Amicalement

Séb 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bon voila j'ai trouvé...

En fait tous mes modules FGMS ont été renuméroté dans la nuit pour je ne sais aucune raison !

J'ai remis les bons ID et c'est reparti...

Peut il y avoir une mise àjour automatique àce niveau. Les capteurs de mouvement sont en version 2.6 et zwave 3.67

C'est la première fois que mes ID bougent tout seul.

Une très bonne journée.

Séb

Partager ce message


Lien à poster
Partager sur d’autres sites

@971jmd

GEA.add(60, 30, "", {{"Global", "luminosité", "#value#"}})
 

@Hansolo

Je suis tombé sur un problème de parenthèses manquantes ... et toi ?

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

pétards j'ai cherché une soirée comment récupérer la valeur d'un capteur ! C'est si simple!

 

dans les tests pour le type rgb_driver il y a type qui se balade tout seul au lieu de fibaro:getType

Partager ce message


Lien à poster
Partager sur d’autres sites

@Steven

 

ça ne fonctionne pas en GEA, il affiche dans le tableau des variables    #value#

GEA.add(60, 30, "", {{"Global", "luminosité", "#value#"}})

pour être sur que mon module envois bien sa valeur, j'ai réalisé un teste en LUA, la valeur de mon module s'affiche bien dans le debug

local name = fibaro:getValue(10, "value" )
fibaro:debug("Valeur en % "..name)

Partager ce message


Lien à poster
Partager sur d’autres sites

est ce que je peux mettre deux variable local comme ca?

 

  1. GEA.add({estTravail,estMaison}, 30, "", {{"Time", "06:00", "06:02"},{"Time", "18:00", "18:02"},{"turnOn", id["Secheserviette"]}})

Merci

 

Sébastien

Partager ce message


Lien à poster
Partager sur d’autres sites

@971jmd

 

Dans les deux exemples, l'id du module n'est pas le même, c'est normal? Est ce pas cela le problème?

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Non j, ai fait le teste avec plusieurs. Id et j'ai toujours le même problème

Envoyé de mon iPhone en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

@Steven

 

Dans GEA v5.01, il y a un bug dans le fonction "GEA.sendActions" dans la partie concernant la vérification de l'état "On/Off". C'est un histoire de parenthèse.

Voici les deux lignes de code corrigés:

if (GEA.match(type, "rgb_driver") and  ((tonumber(fibaro:getValue(tonumber(id), "value")) > 0) or (tonumber(fibaro:getValue(tonumber(id), "currentProgramID")) > 0))) then

et

elseif (GEA.match(type, "com.fibaro.FGRGBW441M") and ((tonumber(fibaro:getValue(tonumber(id), "value")) > 0) and (not fibaro:getValue(tonumber(id), "color") == "0,0,0,0") or (tonumber(fibaro:getValue(tonumber(id), "currentProgramID")) > 0))) then

Je n'ai plus d'erreur sur les "turnOn" et "turnOff" des lampes.

 

  • Upvote 2

Partager ce message


Lien à poster
Partager sur d’autres sites

@HANSOLO,

 

Peux-tu m'aiguillé sur l'erreur dans le code que tu as trouvé ? Je ne vois pas de "figaro:" manquant devant un getType.

 

Merci.

Partager ce message


Lien à poster
Partager sur d’autres sites
if (GEA.match(type, "rgb_driver") and  ((tonumber(fibaro:getValue(tonumber(id), "value")) > 0) or (tonumber(fibaro:getValue(tonumber(id), "currentProgramID")) > 0))) then

Le type dans le GEA.match, dans mes longues recherches après la correction des parenthèses, j'en ai conclus que type n'était pas défini j'ai donc ajouté fibaro:getType pour avoir le type du matériel.

 

Mais il est fort possible qu'une subtilité en LUA m'ai échappée (même pratiquement certain)

Partager ce message


Lien à poster
Partager sur d’autres sites

@HANSOLO

 

Tu as raison. Dans la fonction "GEA.sendActions", il manque la définition de "type". Donc après cette ligne:

local etat = fibaro:getValue(tonumber(id), "value")

il faudrait mettre la ligne suivante:

local type = fibaro:getType(tonumber(id))
  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

effectivement après ces trois corrections, ça va mieux pour les turnOn :-)

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité chris6783

Que pensez-vous de gérer le code sous git ? Ou alors il faudrait le republier ici comme la faisait Steven. sans cela nous aurons bien du mal àne pas diverger.

Partager ce message


Lien à poster
Partager sur d’autres sites

c'est une bonne idée, sur gitHub ?

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité chris6783

Oui c une proposition, il y aurait sûrement plein d'autres choses àpartager sur un même repository

Partager ce message


Lien à poster
Partager sur d’autres sites
j'ai l'impression que je deviens fou... je cherche maintenant depuis 2 jours et je pense que c'est un bug GEA :-/
 
La variable globale Porte_Garage peut être Closed ou Not_Closed
Si j'écris comme ceci (avec Global!): ça fonctionne
-- Si demande de fermeture et porte non fermée (position inconnue), alors ferme porte
  GEA.add({{"Global", "Porte_Gar_Action", "Demande_Fermeture"},{"Global", "Porte_Garage", "Not_Closed"}}, -1, "Demande Fermeture Porte Garage GEA à  #time#", {{"turnOn",id["REMOTE_GARAGE"]}})
-- Si demande de fermeture et porte fermée, then reset global à  en_attente  
  GEA.add({{"Global", "Porte_Gar_Action", "Demande_Fermeture"},{"Global!", "Porte_Garage", "Not_Closed"}}, -1, "Demande Fermeture Inutile", {{"Global", "Porte_Gar_Action", "En_Attente"}})
Par contre si j'écris ça comme ceci:
-- Si demande de fermeture et porte non fermée (position inconnue), alors ferme porte
  GEA.add({{"Global", "Porte_Gar_Action", "Demande_Fermeture"},{"Global", "Porte_Garage", "Not_Closed"}}, -1, "Demande Fermeture Porte Garage GEA à  #time#", {{"turnOn",id["REMOTE_GARAGE"]}})
-- Si demande de fermeture et porte fermée, then reset global à  en_attente  
  GEA.add({{"Global", "Porte_Gar_Action", "Demande_Fermeture"},{"Global", "Porte_Garage", "Closed"}}, -1, "Demande Fermeture Inutile", {{"Global", "Porte_Gar_Action", "En_Attente"}})

ça fonctionne aussi; Si la porte est fermée, je reçois une notification "Demande Fermeture Inutile"

par contre si la porte est ouverte, la première ligne s’exécute et ferme la porte, jusque là  c'est normal, mais je reçois aussi la notification "Demande Fermeture Inutile" ?!? qui indique que la 2e ligne GEA s'est executée

 

En mettant le debug, je vois que pour la première ligne GEA, il teste bien la 2e condition (Porte_Garage):

[DEBUG] 21:04:32: [ Porte_Garage=Not_Closed ] isActivate : vérification de l'exception

[DEBUG] 21:04:32: [ Porte_Garage=Not_Closed ] isActivate : type : global variable
[DEBUG] 21:04:32: [ Porte_Garage=Not_Closed ] !CANCEL! isActivate : désactivé
 
Mais plus pour la 2e ligne GEA: il ne reçoit pas la variable à  tester et renvoie activé dans tous les cas
[DEBUG] 21:04:32: isActivate : vérification de l'exception
[DEBUG] 21:04:32: isActivate : activé
 
Pour test, si je remplace la 2e condition par true ou false, c'est correctement pris en compte.
 
Il semble que la première ligne GEA a comme conséquence que la deuxième ligne GEA ne vérifie pas la 2e condition.. car si j'enlève la première ligne GEA tout va bien...
 
dernier test:
écrit comme ceci, donc idem, mais en utilisant le test réel du capteur au lieu d'utiliser la variable globale, ça fonctionne également:
-- Si demande de fermeture et porte non fermée (position inconnue), then push, ferme porte
  GEA.add({{"Global", "Porte_Gar_Action", "Demande_Fermeture"},{"Value", id["DETECTEUR_PORTE_GARAGE"], 1}}, -1, "Demande Fermeture Porte Garage GEA à  #time#", {{"turnOn",id["REMOTE_GARAGE"]}})
-- Si demande de fermeture et porte fermée, then reset global à  en_attente 
  GEA.add({{"Global", "Porte_Gar_Action", "Demande_Fermeture"},{"Value", id["DETECTEUR_PORTE_GARAGE"], 0}}, -1, "Demande Fermeture Inutile", {{"Value", id["LAMPE_BUREAU"], 0},{"Global", "Porte_Gar_Action", "En_Attente"}})

 

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai créé un repository GIT ici:

 

 
J'y ai mis la 5.01 de steven et une que j'ai appelé 5.02 avec les 3 modifications ci-dessus (la ligne avec type et 2 lignes avec des erreurs de parenthèses)
 
Tout le monde peut lire, mais seuls les contributeurs peuvent modifier... je pense que c'est plus sur comme ça mais ça peut être changé
Si vous voulez être contributeur (ce que je préfère) donnez moi votre username gitHub via MP

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello,

on/off des lampes fonctionne maintenant bien avec la correction de Hansolo et Shyrka973.

 

Par contre mes taches redémarrent mais ne se déclenchent pas. Quelqu'un utilise t il la fonctionnalité NotStarted et a ses taches qui se déclenchent ? Pour savoir si défaut de commande ou si il faut que je cherche ailleurs.

 

Merci !

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

J'utilise restart mais les tâches sont en démarrage normal.

Donne moi ta ligne gea et je vais voir si je peux l'adapter et tester

Sent From my Vic20

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir,

 

Première fois que je pose une question avec du code donc j'espère ne pas me tromper sur la mise en page.

Mon idée est de déclarer la plupart de mes variables initialement donc voici ce que je fais.

Au début je déclare mes ID et j'ai dans le tableau local id :

DETECT_BUREAU_JK = 58,    TEMP_BUREAU_JK = 59,    LUM_BUREAU_JK = 60, 

c'est la température qui m'intéresse ici :

ensuite je déclare mes variables :

local VacancesOff = {"Global", "MODEVACANCES", "0"}
local soirSemaineOff = {"Days", "Weekday"},{"Time", "22:30", "22:32"}
 
je groupe tout ça dans un IF
    local CondMatinSemOn  = {"If",{chauffeSemaineMatinOn,VacancesOff}}
 
je donne la consigne de température  :
 
    local tempChauffeNuit = 17
 
et ensuite je lance ma consigne :
 
 GEA.Add({"Value-", id["TEMP_BUREAU_JK"], tempChauffeNuit}, -1, "", {CondMatinSemOn, {"turnOn",id["CHAUFFE_BUREAU_JK"]}})
l'idée étant de dire, si l'a température est inférieure à  21 degrés alors j'allume le radiateur seulement si le mode vacnes n'est pas ctif et si je suis sur le créneau matinsemaine.
 
En lancant la scène, j'ai un message erreur :
[ERROR] 21:55:13: line 195: attempt to call field 'Add' (a nil value)
 
 
Je ne vois pas où j'ai raté quelque chose?
Est-ce que quelqu'un a une idée?
 
Merci à  vous pour votre aide.

Partager ce message


Lien à poster
Partager sur d’autres sites

je vois que tempChauffeNuitet CondMatinSemOn ne sont pas déclarés

Partager ce message


Lien à poster
Partager sur d’autres sites

Je viens de modifier mon post. Trompage de copier/coller....

Les variables sont bien déclarées.

Je viens de lire le post sur les config existantes et ça doit être un truc tout bête mais je ne vois pas....

Partager ce message


Lien à poster
Partager sur d’autres sites

×