-
Compteur de contenus
4 434 -
Inscription
-
Dernière visite
-
Jours gagnés
201
Tout ce qui a été posté par Steven
-
En fait, c'est une limitation de GEA. On peut utiliser une option dans une option que si elle est en 2ème position. {"Dates", {"Global", "DateVacOn_Format"}} n'est pas possible, il faudrait faire {"Dates", "quelque chose", {"Global", "DateVacOn_Format}} Sauf que dans ton cas, le "quelque chose" ... il n'y en a pas. Alors, tu vas tester un truc pour moi. J'ai déjà eu mille soucis avec cette ligne de code donc je suis moyennement sûr de moi. Recherche la ligne suivante dans la fonction copy.searchValues : if (type(args[i]) == "table" and not option.keepValues and i > 2) then Et remplace le i > 2 par i >= 2 Ça à l'air de fonctionner chez moi, mais il se peux que cela provoque un soucis sur une autre ligne, aucune garantie.
- 12 330 réponses
-
- 1
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Je vais essayer de reproduire tous cela à la maison. Je te redis dès que possible.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Il y a quoi quand tu regardes directement depuis le panneau de Variable Globale sur la HC2 Uniquement : DateVacOn : 1593036000 ?
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Je ne connais pas cet écran, c'est la HC3 ?
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
A tester, elle fonctionne pas trop mal chez moi, mais j'ai une petite configuration. GEA 6.13.lua
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Voici une 6.13 pour corriger le bug des noms de modules lors de démarrage immédiat. ATTENTION ... Je n'ai aucun moyen de tester et j'ai fait les modifications complètement à l'aveugle, je ne peux donc en rien garantir le fonctionnement de cette version. Si @Dragoniacs et @971jmd peuvent me confirmer son bon ou mauvais comportement, cela serait sympa. A bientôt. GEA 6.13.lua
- 12 330 réponses
-
- 2
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Tu devrais essayer ainsi : {"Dates", {"Global", "DateVacOn_Format}}, 30, ...
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Je pense que l'usage des noms avec les instantanés ne fonctionne pas. Je vais quand même essayer de voir cela demain.
- 12 330 réponses
-
- 1
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Je t'aide en te donnant un exemple : function getDate(date, nbJour) local d, m, y = date:match("(%d+).(%d+).(%d+)") local mydate = os.time{year=y, month=m, day=(d+nbJour), hour=0}; return os.date("%d/%m/%Y", mydate) end print(getDate("17/06/2020", -2)) -- resultat : 15/06/2020
- 12 330 réponses
-
- 1
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@971jmd Il est possible que tout ne fonctionne pas, cette version est une ébauche plus ou moins fonctionnelle comme annoncé. En revanche, ce code est dangereux à mon avis GEA.add({"Value", "Salle de bain", 1}, 30, "", { {"TurnOff", "Salle de bain"}, {"Repeat"} }) Ce code ne fonctionne QUE si la valeur de ta "Salle de bain" est de 1 alors que la plus part des modules peuvent te retourner une valeur entre 1 et 100, je mettrait à la place {"TurnOn", "Salle de bain"} au lieu de {"Value", "Salle de bain", 1} et le {"Repeat"} ne sert à rien. Pour le "SceneActivation", en effet, cela ne fonctionnera jamais, le code de GEA contient une erreur. Il y a cette ligne dans le code getValue=function(id, value) return tonumber(fibaro:getValue(GEA.findScenarioId(id), "sceneActivation")) == tonumber(value) end qui contient un GEA.findScenarioId(id) ce qui est faux et devrait être GEA.findDeviceId(id)
- 12 330 réponses
-
- 2
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@Ghoosti Malheureusement MyDateDiff ne retourne pas la date, il retourne juste vrai ou faux.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
L'idée de la 6.12 est de permettre d'abandonner les ID si vous le souhaiter et d'utiliser le nom des modules. Supprimer juste la table des id ne va faire que de planter le code. Si je reprend ton exemple id["Plafond"] = 74 tu as probablement quelque part dans ton code GEA.add(.........., ...., ...., {"TurnOn", id["Plafond"]} Ce qui revient a écrire GEA.add(.........., ...., ...., {"TurnOn", 74} GEA 6.12 te permet d'utiliser le nom du module au lieu de son ID, donc si le nom de ton module Plafond (74) est "Lampe Plafond", avec la 6.12 tu pourrais écrire ainsi : GEA.add(.........., ...., ...., {"TurnOn", "Lampe Plafond"} GEA.add(.........., ...., ...., {"TurnOn", "Lampe Plafond@Cuisine"} -- si tu as plusieurs "Lampe Plafond"
- 12 330 réponses
-
- 1
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Par défaut, il n'y a rien dans GEA. En revanche, tu peux ajouter ton propre code pour le faire, voici un exemple qui va fonctionner ... function setEvents() -- ... GEA.options.mydatediff = {name = "MyDateDiff", getValue=function(nb_jours, date) local d, m, y = date:match("(%d+).(%d+).(%d+)") local diff = tonumber(os.date("%Y%m%d")) - tonumber(y .. m .. d) return diff == nb_jours end} -- ... GEA.add({"MyDateDiff", -1, "02/07/2020"}, 30, "Test MayDateDiff") -- ou GEA.add({"MyDateDiff", -1, {"Global", "VacancesON"}}, 30, "Test MayDateDiff") end ...
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
C'est simple. Soit c'est un nombre et je le prend tel quel, soit c'est autre chose et je vais chercher une variable globale. Je n'ai pas poussé plus loin. Donc pas le choix, c'est une VG :-(
- 12 330 réponses
-
- 1
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
En effet, c'est à toi de voir si tu préfères utiliser le "Nom du module" ou son ID. Il faut être conscient que le lancement de GEA (uniquement le démarrage) sera un tout petit peu plus lent car il va devoir aller chercher les ID par rapport au nom du module. Mais je ne pense pas que tu verras de différence. Perso je préfère lire : {"TurnOn", "Lampe de chevet"} que {"TurnOn", id["LAMPE_CHEVET"]} qui nécessite de connaitre son ID et de le mettre dans le tableau des IDs. Et si j'ai 2 lampes de chevet {"TurnOn", "Lampe de chevet@Chambre du Monstre 1"} Cela permet de lire et d'écrire plus naturellement nos codes. Après, il ne faut pas s'amuser à renommer les modules :-)
- 12 330 réponses
-
- 1
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Voilà, pour tous les courageux
- 12 330 réponses
-
- 4
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Je vois que je n'ai jamais envoyé la 6.12 de manière officielle. Vu que je ne m'en occupe quasiment plus, je vais la mettre à disposition cet après-midi sur le forum. Surtout qu'il y avait quand même quelques corrections/améliorations : -- Correction création variables globales (firmeware 4.55) -- Correction bug sur incrémentation d'une propriété -- Ajout contrôle des valeurs négatives -- Isolation des triggers sur les labels -- Correction des dates sans année -- Réintégration de la variable SuspendreGEA -- La durée peut maintenant être contenu dans une VG ex : GEA.add(..., 30, "", ...) ou GEA.add(..., "MaVG", "", ...) -- Ajout NotStarted pour retrocompatibilité avec la version 5.x -- VirtualDevice choix du numéro du bouton ou de son id ou de son nom -- Possibilité de remplacer l'ID par le nom du module {"Value", "Plafonnier", 30} au lieu de {"Value", 150, 30} -- le nom du module peut être agrémenté 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".
- 12 330 réponses
-
- 3
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Donc un 1 GEA en 6.12 et l'autre en 6.xxx
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Puréeeeeee, j'avais même oublié qu'avec la 6.12 ou pouvait utiliser une Variable Globale comme durée En revanche, ce qui me surprend c'est les lignes que tu me montres car ce ne sont pas celles de la 6.12 mais d'une vieille version. Tu n'aurais pas 2 GEA qui tournent ? Les bonnes lignes sont celle-ci : if (not GEA.auto and entry.getDuration()>=0) then return entry.id end if (GEA.auto and entry.getDuration()<0) then return entry.id end if (GEA.source["type"] == "other") then return entry.id end
- 12 330 réponses
-
- 1
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
C'est quoi ces durées ?
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Alors supprime ta variable GEA_Task6 Et recrée la avec le BON nom ... soit GEA_Tasks6 J'espère que cela va tout corriger.
- 12 330 réponses
-
- 1
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Tu as bien créé la VG GEA_Tasks6 ?
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Supprime la VG GEA_Plugins pour voir.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Pour le 1er problème, il y a un décalage entre GEA et les dernières versions de Figaro. Ils ont fait des changements sur la manière de créer les variables globales. Ils faut donc les créés manuellement. Je ne les ai pas en tête et j'ai rien sous les yeux. Pour le 2eme cas, les notifications Figaro ne fonctionne pas chez moi non plus. J'ai du mettre en place une alternative (pushingbox, free SMS,...) chercher GEA.output dans ce topic tu y trouveras de l'info postée dernièrement. Courage
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Voici le code que j'utilise et qui doit être dans config() de ton GEA GEA.output = function(message) if (message and message ~= "") then fibaro:setGlobal("Notification", message); fibaro:call(105, "pressButton", 2) end end J'utilise un VirtualDevice qui va faire le travail, je ne fait donc que de mettre à jour une variable global et d'appuyer sur le bouton de mon VD. Il n'y a rien d'autre à faire au niveau de GEA. A partir du moment que la fonction GEA.output existe dans la config() elle sera utilisée pour envoyer les messages.