Aller au contenu

Messages recommandés

Posté(e)

Merci de ton retour. @Dragoniacs

 

J'ai supprimé et recommencé, idem... J'ai aussi tenté d'ajouter une valeur ex. value 1 cela n'a rien changé.

J'ai pas de connaissance pour aller plus loin malheureusement 

 

A quoi cela sert d'avoir des variables avec une valeur de 0 ? 801168953_Capturedecran2019-09-02a06_51_48.png.a39cfe596f79b9d8001677f99a13c125.png

Est ce que mes variables sont écrites correctement (y compris les majuscules et les espaces ) ?

 

Je suis preneur de vos conseils et retours

Posté(e)

Bonjour,

j ai eu un problème un peu similaire et chez moi cela venait d'un mauvais id déclaré dans l’entête.

vérifie aussi tes id  sait on jamais 

cdt

  • Thanks 1
Posté(e)

Dans son cas, c'est un peu normal vu que GEA ne démarre pas :(

 

J'ai intégré le script dans ma HC2, modifié l'ID du détecteur et de la lampe ... testé ... et aucun soucis :(.

 

Je pense donc que cela vient des variables globales mais c'est vraiment tordu. Ne t'inquiète pas, une fois qu'on aura trouvé tu n'auras plus de soucis.

 

Je te propose de supprimer tes variables globales et de les recrées en respectant les majuscule minuscules ainsi et en les laissant vide :

 

GEA_Tasks6

GEA_Plugins

GEA_History

 

Tiens moi au courant, mais je suis sûr que tu vas me dire ... c'est tout bon ;)

 

P.S. Le code d'erreur vient de la variables GEA_Plugins. Il semblerait qu'ils aillent changer leur manière de gérer les VG à mon grand détriment.

Posté(e)

Bon, je n'avais pas rafraichis correctement. Oui tes variables sont correctes, vide les et enregistre pour tester. Il marquera NaN comme valeur ce qui est normal.

Posté(e)
Le 18/08/2019 à 13:06, Felig a dit :

Bonjour,

 

Comme beaucoup je trouve la fonction PressButton de Fibaro mal faite: contrairement à un Label qu'on peut sélectionner par son identifiant, un bouton doit être sélectionné en fonction de sa position dans le Virtual Device, ce qui est source d'erreur, et oblige à réécrire toutes les fonctions en cas de modification de la structure du VD. Ci-joint deux fonctions qui permettent de pallier ce problème dans GEA:

 

"PressButtonLabel" permet de sélectionner un bouton en fonction de son libellé (ce qui est affiché dessus). Attention: si plusieurs boutons ont le même libellé dans le même VD, le résultat sera aléatoire!

Exemple d'utilisation: GEA.add({"Time","08:00"},0,"",{"PressButtonLabel",id["VOLETS"]","Monter"})

 

"PressButtonId" permet de sélectionner un bouton en fonction de son identifiant (dans l'onglet Advanced, c'est le nom qui apparait dans le champ "ID:"). Cet identifiant est unique et ne change pas si le reste du VD est modifié.
Exemple d'utilisation: GEA.add({"Time","08:00"},0,"",{"PressButtonId",id["VOLETS"]","BtnMonter"})

 

Laquelle de ces fonctions privilégier ? "PresButtonLabel" est plus intuitif, il suffit de savoir ce qui est affiché sur le bouton pour l'utiliser. "PressButtonId" est cependant plus fiable: l'expérience prouve qu'on ne change jamais l'identifiant d'un bouton, alors que ça peut arriver avec un libellé. Par ailleurs "PressButtonId" utilise un identifiant unique.

 

Autre avantage important commun à ces deux fonctions: le programme vérifiera si le bouton en question existe au démarrage de GEA (par contre si vous modifiez le bouton pendant que GEA est lancé, ce ne sera pas détecté).

 

Pour utiliser ces fonctions, il suffit d'ajouter le code ci-dessous dans la section CONFIGURATION GENERALE de GEA:

 


  GEA.checkButton = function(id,property,text)
    if property ~= "name" and property ~= "caption" then return false end
    local vds = api.get("/virtualDevices/"..id)
    if not(vds) then return false end
    for _, row in pairs(vds.properties.rows) do
      if (row.type == "button") then
        for _, element in pairs(row.elements) do
          if not(element[property]) then return false end
          if element[property] == text then return tostring(element.id) end
        end 
      end  
    end
    return false -- Bouton n'existe pas
  end

  -- ----------------------------------------------------------
  -- PressButtonLabel: Equivalent à PressButton mais sélectionne le bouton
  -- en fonction de son libellé (ce qui est affiché dessus). Attention:
  -- si plusieurs boutons ont le même libellé, le résultat sera aléatoire!
  -- Ex: GEA.add({"Time","08:00"},0,"",{"PressButtonLabel",id["VOLETS"]","Monter"})
  -- ----------------------------------------------------------
  GEA.options.pressbuttonlabel = {
    name = "PressButtonLabel",
    control = function(id,label) if GEA.checkButton(id,"caption",label) then return true
      else return false, string.format(GEA.trad.label_missing, id, label) end end,
    action = function(id,label) fibaro:call(id,"pressButton",GEA.checkButton(id,"caption",label)) end
    }

  -- ----------------------------------------------------------
  -- PressButtonId: Equivalent à PressButton mais sélectionne le bouton
  -- en fonction de son identifiant (modifiable dans l'onglet Advanced).
  -- Cet identifiant unique ne change pas si le reste du VD est modifié.
  -- Ex: GEA.add({"Time","08:00"},0,"",{"PressButtonId",id["VOLETS"]","BtnMonter"})
  -- ----------------------------------------------------------
  GEA.options.pressbuttonid = {
    name = "PressButtonId",
    control = function(id,name) if GEA.checkButton(id,"name",name) then return true
      else return false, string.format(GEA.trad.label_missing, id, name) end end,
    action = function(id,name) fibaro:call(id,"pressButton",GEA.checkButton(id,"name",name)) end
    }

PS: J'imagine que je ne suis pas le seul à avoir eu ce besoin, et sans doute d'autres ont posté des solutions équivalentes, désolé si c'est le cas. Mon code est très largement inspiré de la fonction checkLabel qui a été ajoutée dans GEA 6.10. Merci à @Steven et aux autres développeurs.

PS2: Les noms de mes fonctions sont un peu longs, n'hésitez pas à changer pour VDname et VDid par exemple.

PS3: Pour éviter de modifier GEA j'utilise le même message d'erreur que pour un Label inexistant. Pour les puristes, il faudrait ajouter un message d'erreur spécifique "button_missing" dans les traductions.

 

 

 

Ouch, @pepite m'avais déjà soumis la demande qui j'avais déjà intégrée dans le future 6.12.

 

Comme quoi les grands esprits se rencontre. Avant de diffuser la 6.12, je prenais mon temps car elle inclus d'autres changements dont 1 qui nécessite pas mal de test. En gros, voici le changelog :

 

-- correction création variables globales (firmeware 4.55)
-- correction bug sur incrémentation d'une propriété
-- VirtualDevice choix du numéro du bouton ou de son id ou de son nom
-- Posibilité de remplacer l'ID par le nom du module {"Value", "Plafonnier", 30} au lieu de {"Value", 150, 30}
--     le nom du module peut être suffixé du nom de la pièce en ajoutant <nom module>@<nom pièces> ... Plafonnier@Chambre parents
-- Posibilité de remplacer l'ID d'un scénario par son nom {"CountScenes", "GEA 6.12"} au lieu de {"CountScenes", 37}
-- Exemple complet :
--  {"VD", "Notification center", "Pushbullet"}
--  Appuie sur le bouton dont le libellé est "Pushbullet" du module virtuel "Notification center".

 

 

  • Like 2
Posté(e)
Il y a 8 heures, Steven a dit :

Bon, je n'avais pas rafraichis correctement. Oui tes variables sont correctes, vide les et enregistre pour tester. Il marquera NaN comme valeur ce qui est normal.

Suis désolé d'insister mais cela ne fonctionne toujours pas chez moi..... :(

 

Est ce que cela pourrait venir d'une autre scene qui rentre en conflit ? ou es ce uniquement au variable de GEA ?

Capture d’écran 2019-09-02 à 18.57.49.png

Posté(e)
Il y a 13 heures, flechg a dit :

Bonjour,

j ai eu un problème un peu similaire et chez moi cela venait d'un mauvais id déclaré dans l’entête.

vérifie aussi tes id  sait on jamais 

cdt

Je confirme que cela ne vient pas du ou des  ID, j'ai essayé de démarrer le GEA sans aucun script et value, et j'ai toujours le même message d'erreur

 

Posté(e)
Il y a 21 heures, Steven a dit :

Ouch, @pepite m'avais déjà soumis la demande qui j'avais déjà intégrée dans le future 6.12.

chuuuuuuuuuuuuuuuuuuuuuuuuut suis incognito ;-)

 

Il y a 21 heures, Steven a dit :

-- correction création variables globales (firmeware 4.55) -- correction bug sur incrémentation d'une propriété -- VirtualDevice choix du numéro du bouton ou de son id ou de son nom -- Posibilité de remplacer l'ID par le nom du module {"Value", "Plafonnier", 30} au lieu de {"Value", 150, 30} -- le nom du module peut être suffixé du nom de la pièce en ajoutant <nom module>@<nom pièces> ... Plafonnier@Chambre parents -- Posibilité de remplacer l'ID d'un scénario par son nom {"CountScenes", "GEA 6.12"} au lieu de {"CountScenes", 37} -- Exemple complet : -- {"VD", "Notification center", "Pushbullet"} -- Appuie sur le bouton dont le libellé est "Pushbullet" du module virtuel "Notification center".

ce changelog est superbe, en incognito ces evolutions sont top lol

  • Like 1
  • Haha 1
Posté(e)
Il y a 20 heures, mipa a dit :

au variable de GEA

les variables ne sont que des VARIABLES utilisées par GEA. le bug de la 4.55 empeche la creation des variables avec un post. en les créant manuellement, cela aurait du fonctionner ;-) mystere

Posté(e)
Il y a 17 heures, mipa a dit :

Je confirme que cela ne vient pas du ou des  ID, j'ai essayé de démarrer le GEA sans aucun script et value, et j'ai toujours le même message d'erreur

 

Regarde tes mails ;)

  • Like 1
  • Thanks 1
Posté(e)

@mipa m'avait envoyé son script qui ne fonctionne pas chez lui mais très bien chez moi. Je n'ai rien fait d'autre que lui envoyé une version 6.12 pour tester chez lui.

Peut-être, mais je dis bien peut-être que si elle fonctionne, elle sera diffusée. Par contre, je me marre déjà pour @pepite qui va devoir modifier le fichier de synthaxe et les modifications sont juste ENORME pour lui :2:

  • Like 2
  • Thanks 1
Posté(e)
Il y a 1 heure, pepite a dit :

@mipa

Tu ne lis pas tes mails ;-)

Journée chaotique au travail... je n'ai découvert le mail qu'après avoir lu vos posts..... :rolleyes:

 

Je vous tiens au courant rapidement

Posté(e)
Il y a 4 heures, Steven a dit :

modifier le fichier de synthaxe et les modifications sont juste ENORME pour lui 

ah m.....

merci pour le boulot...mais avec plaisir ;-) 

Posté(e)

Bon j'imagine que vous êtes tous là à attendre mon compte rendu (Quoi que ce que j'apprend vous n'êtes que 15.... :wacko::1:

 

Oui ça marche, la mise à jour proposé par  @Steven regle le soucis que j'avais (oui j'ai bien compris que vous n'aviez pas de doute sur l'efficacité de Steven :D)

 

Donc un grand bravo à Steven qui à pu organiser dans un temps record un correctif pour le 4.55 (et ses variables) Steven n'hésite pas à me soliciter si tu as d'autres test/essai à faire.

 

Voici quelques clichés preuve du bon fonctionnement  :60:

547943852_Capturedecran2019-09-03a18_45_46.png.e042fb5ad8e2997109cc78e31c3cd9d4.png

 1079248177_Capturedecran2019-09-03a18_47_23.png.6d999d5c77da81828cc621bc0185cc2a.png

 

Mon nouveau (et premier scénario sous GEA) fonctionne également.... Merci à @Ghoosti pour cela 

 

Mais ne vous réjouissez pas trop vite, car si cela fonctionne cela veux dire que je vais vite revenir, avec d'autres questions .... :D (on rigole moins là, hein ?!?)

 

J'ai tout de même relevé un soucis dans mon scénario. La lampe semble s'éteindre de manière aléatoire (parfois au bout de 15 sec, parfois 1 minutes, etc.) 

 

Est ce que cela viens du code ou de GEA ?? suis preneur de vos commentaires....1659553936_Capturedecran2019-09-03a21_03_20.png.27e02a7720304555c2732c9a12ad8ed3.png

 

Y a t'il une modification à faire si trop de solicitation ? 

 

Pour rappel il s'agit d'un détecteur de porte qui doit donner l'ordre de s'allumer uniquement de nuit et pour 3 minutes (si pas de nouvelle solicitations entre deux) 

 

GEA.add({{"Time", "Sunset", "Sunrise"}, {id["DetecteurMVT"]}}, -1, "", {"TurnOn", id["LampeExterieur"], 3*60})   

 

Un grand merci au forum, et au membres de celui-ci, vous êtes top :13:

  • Like 2
Posté(e)

Youpiiiiii
Contente pour toi !
N'oublie pas que la scène ne boucle que toute les 30s, sauf sur un ordre de déclenchement instantané. Cela peut expliquer les irrégularités que tu vois.
Pour les limites de scène, autorise 10 instances et tu n'auras plus de soucis.

Envoyé de mon SM-A530F en utilisant Tapatalk

  • Thanks 1
Posté(e)

Hello les amis, 

 

Je suis de retour :D avec une nouvelle problématique

 

Je ne comprends pas ce qui cloche dans le scénario suivant....!?!?: 

 

-- éclairage sous-sol Cellier , via un motion sensor Fibaro FGMS-00

-- Si détection par ID93, allumage immédiat d' ID44 pour 5 minutes, condition renouvelable
   local id = { DetecteurMVT_cellier    = 93, Lampe_cellier  = 44}
   GEA.add(93, -1, "", {{"turnOn",44}, 5*60})

 

Pourriez-vous m'aider une nouvelle fois ? :94:

Le Debug n'indique rien d'anormal 

 

Merci !

 

Mipa

 

Posté(e)

Le , 5*60 doit être collé juste derrière le 44. Ainsi :

 

GEA.add(93, -1, "", {"turnOn",44, 5*60})

 

 

L'instruction donne donc "allume le module 44 pendant 5mn"

 

Envoyé de mon SM-G935F en utilisant Tapatalk

 

 

 

 

 

 

 

 

  • Thanks 1
Posté(e)

Merci @Steven :77:

 

J'ai chargé le code mais cela ne déclenche pas ma lampe, et je ne vois pas le trig sur le debug....(contrairement a un autre trig que j'ai déclenché volontairement)

Une idée du pourquoi ? (j'imagine que j'ai du faire une erreur de syntaxe ?) 

 

 

Capture d’écran 2019-09-09 à 07.59.32.png

Capture d’écran 2019-09-09 à 08.00.13.png

Posté(e)

Tu as juste du oublier de mettre le détecteur dans l'entête. Tout en haut du script.

 

Envoyé de mon SM-G935F en utilisant Tapatalk

 

 

 

 

×
×
  • Créer...