-
Compteur de contenus
2 506 -
Inscription
-
Dernière visite
-
Jours gagnés
28
Tout ce qui a été posté par MAM78
-
J'y ai bien pensé mais lorsque le type == "property" il n'y a que 2 sous valeurs possibles : deviceID: numéro d’ID du module propertyName: nom de la propriété Pour deviceID je ne vois pas trop utilités dans la mesure ou la ligne qui sera déclenchée contiendra déjà une condition avec ce deviceID. Sauf peut-être si la condition concerne plusieurs deviceID, dans ce cas cela peut être utile de savoir lequel. EDIT : est-ce qu'il possible dans GEA de tester en une fois plusieurs ID de module comment par exemple : Dans cas effectivement il serait utile de pouvoir vérifier quel deviceID a déclenché la condition GEA.add( {"Label", {72, 73, 74}, "lblXXX", "ZZZZ"}, , "", {ACTIONS} )
- 12 447 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Si c'était bien le but, mais après réflexion je me suis dit que ce serait plus utile de pouvoir mettre le RegEx en paramètre de la fonction afin de pouvoir créer les filtres que l'on veux J'ai néanmoins eu quelques soucis avec les Emoji puisque certain intègre des caractères accentués, du coup je suis obligé de supprimé les caractères les caractères accentués du coup je suis obligé de tester de la façon suivante : Présent devient Prsent dans mon test. Cf. exemple ci-dessous. GEA.add({{"LabelRegEx", id["VD_HomeMode_Manager"], "lblGaby", "[a-zA-Z0-9.-]", "Prsent"} ,{"Trigger", "lblGaby"}} ,-1, "Gaby arrive de la maison") Super, je vais tester ça. Si c'est bon, il sera possible d'utiliser une fonction RegEx indépendamment de la source de donnée (Label, VG, Données récupérées via une API, ...)
- 12 447 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Merci. J'ai testé et ça fonctionne également tout comme ma suggestion qui était sur la même base. Ce sera peut-être effectivement plus simplement intégrable en réutilisant la fonction existante "Trigger". J'ai néanmoins adapté la fonction afin d'évite de devoir renseigner "ui." et ".device" dans le paramètre de la fonction et ne garder que le nom du label. Voici le code modifié. GEA.options.trigger = { name = "Trigger", getValue=function(value) if (not value)then if (GEA.source.type == "autostart") then return "autostart" elseif (GEA.source.type == "global") then return "Global["..GEA.source.name.."]" elseif (GEA.source.type == "property") then return "Property[" ..GEA.source.deviceID .."]" elseif (GEA.source.type == "event") then return "Event["..GEA.source.event.data.deviceId.."]" end elseif (value) then if (GEA.source.type == "property") then return GEA.source.propertyName:gsub("ui.", ""):gsub(".value", "") == value end end return "other" end }
- 12 447 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Nouvelle application mobile pour smartphone Fibaro Home Center / Yubii Home Center
MAM78 a répondu à un(e) sujet de fredokl dans Applications Smartphones et Tablettes
Ah oui effectivement si c'est une solution à tiroirs. L'addition risque d'être salée -
Essay de modifier ton slider manuellement (via l'application ou sur ta console HC2) et il devrait tout seul revenir sur 21.
- 12 447 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Nouvelle application mobile pour smartphone Fibaro Home Center / Yubii Home Center
MAM78 a répondu à un(e) sujet de fredokl dans Applications Smartphones et Tablettes
Et il en manque plein d'autres Toi tu vas te faire des copains -
Je viens de faire le test et ça fonctionne très bien. Mais il faut mettre en place une condition de déclenchement : par exemple une vérification tous les jours à 4h00 du matin. Si tu es sur IE ou Safari pense à bien réactualiser la page. La modification apparaît bien en chiffre, mais le slider lui ne bouge pas tant que tu n'a pas réactualisé ta page. Sur l'application c'est bon.
- 12 447 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
c'est donc bien cela qu'il te faut : GEA.add({"Slider!", 305, "3", 21},-1, "",{"Slider",305, "3", 21}) Bien évidement, il faut ajouter les conditions horaires.
- 12 447 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Tient nous avons les mêmes idées
- 12 447 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Nouvelle application mobile pour smartphone Fibaro Home Center / Yubii Home Center
MAM78 a répondu à un(e) sujet de fredokl dans Applications Smartphones et Tablettes
300 euros d'écarts avec la HC2 ce n'est pas si énorme que ça, s'il y a moins de bug, plus de fonctionnalité et plus protocoles ? -
Tout dépend de ce que tu cherches à faire. Il faudrait que tu nous indiques fonctionnellement ce que tu veux faire (dans quelles circonstances)
- 12 447 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
oui puisqu'il faut déclarer dans l'entête de GEA ton label pour qu'il soit considéré comme un déclencheur de GEA. 305 ui.nonlabel.value -- remplace nomlabel par ton nom du Slider et si tu veux que la modification se fasse immédiatement suite au changement de la valeur de ton slider, il faut modifier ta ligne de la façon suivante : GEA.add({"Slider!", 305, "3", 21}, , "",{"Slider",305, "3", 21}) Mettre -1 à la place de 30 qui permet d'indique qu'il s'agit d'un déclenchement immédiat suite à une modification d'un élément de ton Virual Device. 30 c'est pour un déclenchement 30 secondes après avoir fait la modification (avec une valeur différente de 21)
- 12 447 réponses
-
- 1
-
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Je suppose qu'il n'est pas possible : d'imbriquer 2 conditions du genre ? {"RegEx" {"Label", id["VD_HomeMode_Manager"], "lblMichel"}, "[a-zA-Z0-9.-], "Absent"} La fonction Label récupère la valeur lblMichel qui après est traitée par la fonction RegEx pour nettoyer la valeur restituée. ou d'utiliser la valeur restituée dans une première condition pour la tester dans une deuxième, du genre ? {"Label", id["VD_HomeMode_Manager"], "lblMichel"}, {"RegEx", #valeur#, "[a-zA-Z0-9.-], "Absent"}
- 12 447 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Si je peux abuser de ton temps, j'ai la question suivante : Est-ce qu'il est déjà possible avec GEA d'appliquer une nettoyage de la valeur restituée par la condition "Label" par l'utilisation d'un RegEx. Comme tu peux le voir dans mon VD Home Manager dans les labels, j'ai des emoji pour faire plus jolie et les rendre plus explicite. mais dans GEA pour tester la valeur des labels, il est préférable de supprimer ces caractères. N'ayant pas trouvé comment, j'ai créé la fonction suivante qui fait le nécessaire : GEA.options.labelregex = {name="LabelRegEx", math=true, optimize = true, depends = {"label"}, control =function(id, property, RegEx, condition) if condition == nil or RegEx == nill then return false, "Check option StringToAlpha condition or ReGex" else return true end end, getValue=function(id, property, RegEx, condition, case) local newvalue = "" for word in string.gmatch(GEA.options.label.getValue(id, property), RegEx) do newvalue = newvalue..word end if case ~= nil then if string.upper(case) == "UPPERCASE" then newvalue = string.upper(newvalue) elseif string.upper(case) == "LOWERCASE" then newvalue = string.lower(newvalue) end end return condition==newvalue end, } Je l'utilise de la façon suivante : GEA.add({{"LabelRegEx", id["VD_HomeMode_Manager"], "lblGaby", "[a-zA-Z0-9.-]", "Absent"} ,{"TriggerPropertyName", "lblGaby"}} ,-1, "Gaby quitte la maison") Il est également possible de mettre tout en majuscule ou minuscule si l'on ajoute "UPPERCASE" ou "LOWERCASE" en dernier paramètre qui lui est optionnel.
- 12 447 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Je confirme que ça ne fonctionne pas comme je le souhaite (Seule la ligne pour laquelle le label a été modifié doit s'exécuter). Je ne sais pas s'il faut parler d'un bug ou d'une fonctionnalité non prévue. Mais quoi qu'il en soit ma proposition de fonction TriggerPropertyName elle fonctionne quid de son intégration dans une prochaine version ou de la correction s'il est considéré qu'il s'agit d'un bug.
- 12 447 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Je pense que j'ai du mal à me faire comprendre. Il faut un VD dans lequel il y a au moins 2 labels. Crée 2 lignes dans GEA avec pour chacune des labels différents. Fait en sorte que la condition soit déjà vraie pour l'une des 2 lignes. Puis modifie le 2ème label pour que la deuxième condition de la deuxième ligne soit également également vrai, tu constateras que les 2 actions seront exécutées alors que tu n'auras modifié qu'un seul des label.
- 12 447 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Comme évoqué précédemment, tu n'as pas renseigné le nom de la variable globale et sa valeur à tester dans la partie condition.
- 12 447 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Merci @pepite J'ai bien essayé ta proposition, mais elle ne fonctionne pas. Je l'ai même modifiée puisqu'il me semble que la syntaxe devrait être la suivante : il manquait "ui." et ".value" GEA.add({"Property", id["VD_HomeMode_Manager"], "ui.lblGaby.value", "X Présent"},-1, "Gaby arrive de la maison") Comme exposé précédemment à chaque modification d'un des labels, les autres conditions sont évaluées et si elle sont vraies elles exécutes les actions alors qu'il n'y a pas eu modification des autres label. Il faut donc identifier à chaque passage quel est le label qui a été modifié. c'est également ce que j'avais indiqué ci-dessus
- 12 447 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Il y a beaucoup de choses qui ne vont pas dans ta ligne ci-dessous : Il manque le nom de ta variable globale ici (en rouge) qui est en condition. cf. Syntaxe : {"Global", <nom variable>, <valeur>} Il manque la valeur de ta variable globale tu veux tester (en vert). cf. Syntaxe : {"Global", <nom variable>, <valeur>} Il manque le mot qui détermine l'action que tu veux réaliser (en violet) "Label" ou "Slider" selon la syntaxes suivante : {"Slider", <id_vd>, <id_label>, <valeur>} ou {"Label", <id_vd>, <id_label>, <valeur>} Si tu veux un déclenchement automatique selon un changement de valeur de la variable globale, il faut mette -1 (en bleu) à la place de ton nombre 30. Soit une fois corrigé, ça devrait donner ça : GEA.add({"Global", "xxxx", "yyyy"}, -1, "",{"Label", id["VD_HEOS_SDB_P"], "slider", 21}) en supposant que "slider" correspond au nom du label du VD dont l'id est VD_HEOS_SDB_P que tu as préalablement déclaré dans la partie function setEvents() ainsi que la variable Global dans l'entête de GEA après : --[[ %% autostart %% properties Je t'invite à étudier la documentation des fonctions GEA rédigée par @pepite et rappelée à la fin du tutoriel de @Steven ici :
- 12 447 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Après quelques recherches et analyse du code GEA, je pense que cette fonctionnalité n'est pas disponible en l'état dans GEA 6.11. J'espère ne pas me tromper sur mon analyse Je même surpris d'être le premier à rencontrer cette situation. J'ai donc entrepris de voir comment ajouter cette fonctionnalité à GEA et qui est toutefois relativement simple à mettre en oeuvre Rappel de mon PB exposé précédemment. Lorsque l'on déclenche des actions GEA selon les états de plusieurs label d'un même VD et qu'on les utilises comme conditions. A chaque execution de GEA du fait d'un changement d'un des labels, l'ensemble des conditions utilisant ce VD sont vérifiées (même si les autres labels n'ont pas été modifié) et si ces conditions pour sont vrais alors les actions associées sont exécutées. Ce qui peut être gênant lorsque si l'on veut déclencher seulement les conditions liées aux labels qui ont changé de valeur et pas les autres. C'est exactement mon cas exposé dans l'exemple ci-dessus. Fonctionnellement ce n'est pas parce que Michel vient d'arriver à la maison que pour autant Gaby vient également d'arriver ou de partir de la maison. J'espère avoir été clair. Cf. l'image de mon VD ci-dessous. Pour traité ces cas de figures : je passe par l'utilisation de la propriété propertyName de la fonction fibaro:getSourceTrigger() qui retourne la nom du label qui a déclenché (trigger) le lancement de la scène GEA. et donc l'ajout de la nouvelle fonction GEA ci-dessous. Il convient de l'ajouter dans la liste des fonctions renseignées dans la partie : function config() GEA.options.triggerpropertyname = { name = "TriggerPropertyName",getValue=function() if (GEA.source.type == "property") then return GEA.source.propertyName:gsub("ui.", ""):gsub(".value", "") end return "other" end} Dès lors, vous pouvez ajouter dans vos conditions une condition additionnelle qui va tester quel est le label qui à déclencher GEA. CQFD Voici quelques lignes d'exemples d'utilisation : GEA.add({{"Label", id["VD_HomeMode_Manager"], "lblMichel", "X Présent"} ,{"TriggerPropertyName", "lblMichel"}} ,-1, "Michel arrive de la maison") GEA.add({{"Label", id["VD_HomeMode_Manager"], "lblMichel", "Y Absent"} ,{"TriggerPropertyName", "lblMichel"}} ,-1, "Michel quitte la maison") GEA.add({{"Label", id["VD_HomeMode_Manager"], "lblGaby", "X Présent"} ,{"TriggerPropertyName", "lblGaby"}} ,-1, "Gaby arrive de la maison") GEA.add({{"Label", id["VD_HomeMode_Manager"], "lblGaby", "Y Absent"} ,{"TriggerPropertyName", "lblGaby"}} ,-1, "Gaby quitte la maison") Peut-être que @Steven trouvera cette nouvelle fonction pertinente et l'intégrera dans les fonctions de base dans une future version de GEA peut-être la 6.12 ?
- 12 447 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Je comprends bien ta réaction à ma sollicitation, désolé celle-ci t'a agacée. Je patienterais le temps qu'il faudra ou j'essayerais de trouver par moi-même la solution qu'évidement je partagerais comme à mon habitude. Voir MP sur le sujet.
- 12 447 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Oui
-
Panneau de chauffage fait planter la HC2
MAM78 a répondu à un(e) sujet de jjacques68 dans Chauffage et Energie
au moins tu n'aurais plus de plantage de ta box. Et c'est relativement simple à mettre en oeuvre, notamment dans un usage par hysteresis. Si tu as besoin d'un coup de main. Pas de PB -
Pour identifier votre arrivée et départ de la maison vous pouvez également utiliser l'application Synology DS CAM disponible sur iOS et Android pour sa solution Surveillance Station. Elle permet de connaitre les entrées et sorties de la maison. Cette info est exploitable directement sur votre NAS et elle peut être interceptée avec une règle d'action qui va envoyer en local (sans passer par le Cloud/Internet) une requête sur votre HC2 via une commande de type : http://<HC2 ip address>/api/callAction?deviceID=XXX&name=pressButton&arg1=2 Voilà une solution compatible pour les 2 mondes iOS et Android sans faire circuler sur internet vos mots de passe (comme par exemple avec IFTTT).
-
Hello @Steven, @pepite vous êtes en vacances ?
- 12 447 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
