-
Compteur de contenus
426 -
Inscription
-
Dernière visite
-
Jours gagnés
18
fel-x a gagné pour la dernière fois le 14 février
fel-x a eu le contenu le plus aimé !
À propos de fel-x
- Date de naissance 11/06/1976
Profile Information
-
Sexe :
Homme
-
Ville :
Bruxelles
-
Intéret :
Fibaro, HomeKit, HomeBridge, Raspberry
-
Box
Home Center 3
-
Version
5.200.8
fel-x's Achievements
-
Pour info c'est une QA "Edenred" qui calcule le nombre de jours ouvrables du mois prochain (via une API publique), et l'antépénultième jour ouvrable du mois en cours. Ce jour-là, une alerte est envoyée en Push pour rappeler de commander un certain nombre de chèques Ederend (= n jours ouvrables du mois suivant) pour le mois suivant. Je ne pense pas que ça intéressera beaucoup de monde.. ou alors quelques rares utilisateurs en Belgique ? J'ignore si la France ou d'autres pays emploient aussi ce système de "chèques-repas" ou un équivalent.
- 12 490 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Tu as parfaitement raison @jojo je pourrais faire tous les calculs dans ma QA et simplement dire à GEA de vérifier une seule variable "aujourd'hui c'est le jour J" ! Mais tu sais comment ça marche... j'ai écrit une QA qui fonctionne.. j'ai plus envie de la modifier ... je cherche à l'exploiter depuis GEA sans la changer... je m'embourbe dans mes idées de contournement pour pas changer ma QA... Au final ça fonctionne et en bonus j'ai appris des trucs ! Si j'étais un programmeur/codeur professionnel je pense que je serais déjà viré pour avoir fait si compliqué alors qu'une solution simple existait Heureusement c'est juste un hobby Mais maintenant que ça fonctionne de façon complexe, je vais trouver un moment pour simplifier ma logique. merci pour cette autre perspective du KISS
- 12 490 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Ha ben zut alors, j'ai loupé ça ! Alors que la syntaxe est ouverte dans ZeroBrane en permanence sur mon ordi et que je plonge dedans sans arrêt Par contre soit tu as raccourci/customisé ta syntaxe, soit tu es dyslexique car chez moi c'est la ligne 1930
- 12 490 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Par curiosité, @Lazer sais-tu m'indiquer le comportement attendu de #value ? Il peut être employé directement dans la règle GEA dès qu'il est "généré" ? Comme par exemple dans une seconde condition ? Je sais qu'on peut l'employer plusieurs fois dans la même règle, mais qu'en est-il s'il y a 2 values générées comme dans ma citation ci-dessus ? Est-ce possible ou il est envisageable d'employer #value1 et #value2 par exemple ? Ou c'est seulement la dernière qui sera reprise par #value ? J'ai fait quelques tests mais avec 2 #value générées dans les conditions, il n'y a ni crash ni exécution de la règle.
- 12 490 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
c'est plus long à programmer, mais ça fonctionne ! Merci @Lazer
- 12 490 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Et maintenant, je voudrais construire une date de toutes pièces, et plutôt que de faire des essais-erreurs, je viens demander si cela est possible ? Je m'explique : il faudrait que la condition d'une règle GEA soit "Dates" La syntaxe de base est claire : GEA.add( {"Dates", "01/01"} , 30, "", {ACTIONS} ) Mais je voudrais que la date soit construite au départ de 2 variables locales (AlertDay, CurrentMonth) appartenant à une QA (941). Par exemple AlertDay = 27 et CurrentMonth = 3 et donc je souhaite la règle suivante : GEA.add( {"Dates", "27/03"} , 30, "", {ACTIONS} ) Est-ce que je peux la générer dynamiquement comme ceci : GEA.add( {{"VariableQuickApp+", 941, "AlertDay", 0}, {"VariableQuickApp+", 941, "CurrentMonth", 0}, {"Dates", "#value#/#value#"}} , 30, "", {ACTIONS} ) Déjà je ne suis pas certain que GEA va récupérer une #value# d'une condition à la suivante, mais en plus je ne sais pas s'il va gérer 2 #value# consécutifs dans la même condition et les distinguer d'office par leur ordre ? Les variables AlertDay et CurrentMonth changent en début de mois dans la QA, et déterminent le jour où une certaine action devra être lancée. AlertDay vaut toujours entre 1 et 31, et CurrentMonth est évidemment toujours le mois en cours (de 1 à 12). Sans doute on pourrait simplifier puisque CurrentMonth est logique à déduire et j'aurais volontiers employé {"Monthly", <num_jour>} comme ceci : GEA.add( {{"VariableQuickApp+", 941, "AlertDay", 0}, {"Monthly", #value#}}, 30, "", {ACTIONS} ) mais "Monthly" ne fonctionne pas comme prévu. Je suis preneur de tout bon conseil
- 12 490 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
merci @Lazer tout devient plus simple avec ton aide Ca fonctionne très bien avec "Global+" c'est le plus simple pour récupérer la valeur de la variable plutôt que de faire appel à une fonction. Et je sais que tu n'aimes/emploies pas trop les Push mais dans mon environnement et pour mon usage c'est super pratique. Et pour le coup je découvre l'action "Test" en bonus.
- 12 490 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Salut, Encore besoin d'un coup de main avec GEA Je voudrais que le debug ou le push affiche une phrase contenant la valeur d'une variable globale. J'essaye d'exploiter "Function" mais sans succès. Peut-être que je ne cherche pas du bon côté ? Par exemple pour avoir un push : "Il y a eu xx passages aujourd'hui" où xx est la valeur (nombre) de la variable globale "PassToday" j'ai essayé plusieurs combinaisons comme: GEA.add ( {CONDITIONS}, 30, "", {"Push", 840, {"Function", function() local pass = fibaro.getGlobalVariable("PassToday") or "?" return "Il y a eu " .. pass .. " passages aujourd'hui" end} } ) Je suis sur la bone piste? C'est possible de lire la variable en temps réel pour l'inclure dans le push ? merci
- 12 490 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
fel-x a commencé à suivre Recherche firmware Home Center Lite et HC3 & HC3L - 5.150.15 - STABLE - 08/11/2023
-
J'ai buté longtemps sur ce problème où dans une liste générée dynamiquement, il faut sélectionner deux fois de suite une option pour que l'updateView du "selectedItem" fonctionne. J'ai fini par trouver une solution, par essais-erreurs et ça fonctionne dans tous les cas chez moi. J'ai converti la valeur en chaine de caractères avec tostring() voici pour le code ci-dessus ma solution: self:updateView("SelectSwing", "selectedItem", tostring(event.values[1])) De là à expliquer pourquoi la "double sélection consécutive" de la même option revient au même... je ne trouve pas ??? Mais bon c'est une solution facile Ca fonctionne chez vous aussi ? En tout cas moi je peux continuer à bosser sur ma prochain QA...
-
@Supermilk As-tu eu des nouvelles du support Fibaro ? J'ai une HCL en parfait état de marche qui repose dans une boite à chaussures... J'imagine que je pourrais en tirer le firmware pour te le partager ?? En plus elle était à jour il y a encore moins de 2 ans PS: si en plus quelqu'un veut la racheter
-
Tiens c'est peut-être une bête idée mais est-il possible/envisageable d'implémenter le * (wildcard) dans GEA? Pour permettre par exemple : GEA.add({{"Dates", "27/**"}, {"Time", "11:30"}}, 0, "message", {"Push", 840}) J'imagine que ça risquerait d'affoler le CPU si on l'emploie mal
- 12 490 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Oui oui j'ai bien la bonne config de base avec GEA.portables = {840} Ceci dit je ne souhaite pas avoir une notification sur mon portable à chaque règle exécutée. Je préfère donc préciser en action vers quel(s) deviceID(s) doivent partir les push. Par exemple ceci fonctionne aussi : {"Push", {840, 716, 717, 718}, "Coucou la famille !"} mais je sais qu'un "Push" tout seul sans aucun argument/paramètre derrière va envoyer vers le {840}
- 12 490 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
oui en effet @Lazer je n'avais pas saisi le sens de ton message. Je suis justement occupé à remplacer tous mes "Monthly" par 12 lignes mensuelles, car de façon définitive aucune ligne "Monthly" ne fonctionne (même sans autre condition). Et là tu viens de me faire percuter. Je préfère une longue ligne pas jolie, mais une optimisation des ressources ! Je vais modifier de ce pas. J'en profite pour signaler que je constate que le message Push est celui qui est dans l'action et pas dans la notification, lorsque j'emploie "Dates" en condition. GEA.add({"Dates", "01/01"}, 30, "message 1", {"Push", 840) -- l'ID 840 (smartphone) ne reçoit rien GEA.add({"Dates", "01/01"}, 30, "message 1", {"Push", 840, "message 2"}) -- l'ID 840 (smartphone) reçoit "message 2" A quoi sert le "message 1" que je pensais retrouver dans le Push et dans le debug, mais que je ne retrouve nulle part ? Ou c'est moi qui fait un truc pas juste ? Parce qu'avec "Time" ou "Days" (ou les deux) en condition, je reçois bien le "message 1 en Push" et n'ai pas besoin d'ajouter un "message 2" GEA.add({{"Time", "13:10"}, {"Days", "All"}}, 30, "message 1", {"Push", 840}) -- l'ID 840 (smartphone) reçoit "message 1"
- 12 490 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Et donc doit-on partir du principe qu'à défaut de pouvoir ajouter une condition "Time", pour l'instant "Monthly" se déclenche une et une seule fois par mois à minuit (entre 00:00:00 et 00:00:31) à la date correspondante ? Par exemple {"Monthly","Samedi"} se déclenchera dès qu'on passera du premier vendredi au premier samedi du mois à minuit.
- 12 490 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Bien vu @jojo C'est pas le plus élégant mais ça contourne le problème. Je n'y avais pas pensé car on réfléchit toujours à prendre le chemin le plus court. Et "Monthly" était une évidence ergonomique... j'espère que @Lazer trouvera un jour le temps de tester. Bref je vais écrire les 12 lignes de ce genre pour toute l'année : GEA.add({{"Dates", "27/01"}, {"Time", "11:30"}}, 30, "message", {"Push", 840}) GEA.add({{"Dates", "27/02"}, {"Time", "11:30"}}, 30, "message", {"Push", 840}) GEA.add({{"Dates", "27/03"}, {"Time", "11:30"}}, 30, "message", {"Push", 840}) ...
- 12 490 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
