Aller au contenu

sumsum

Membres confirmés
  • Compteur de contenus

    57
  • Inscription

  • Dernière visite

Tout ce qui a été posté par sumsum

  1. sumsum

    Support Gea

    @jojo Il faut deux lignes car il faut changer le statut de profile à Away une fois qu'il était à Home GEA.add( {"Or", {"Value", 188, false}, {"Value", 202, false} }, 30, "Bernard, Nathalie ou les deux sont absents changé à Away", {{"Profile", "Away"}, {"Portable", Phone_Bernard}}) GEA.add( {{"Value", 188, true}, {"Value", 202, true}, }, 30, "Bernard, Nathalie sont présents changé à Home", {{"Profile", "Home"}, {"Portable", Phone_Bernard}}) PS je n'ai pas testé, mais ça devrait couvrir tes besoins
  2. sumsum

    Support Gea

    @Domodial j'essaie de simplifier ton besoin pour limiter le nombre de conditions et donc de lignes. Comme @jojo je suis pour la simplicité. Si je lis les commentaires que tu as mis dans ton code, j'y vois des conditions qui s'annulent. Par exemple le changement de l'état de la box: Condition 1: Si je suis absent, change le mode de la box à 2 (AWAY), s'il ne détecte pas mon smartphone Condition 2: Si je suis présent (true), passe le mode HC3 à 1 (HOME) Condition 3: Si Nathalie est absent, change le mode de la box à 2 (AWAY), s'il ne détecte pas son smartphone Condition 4: Si Nathalie est présent (true), passe le mode HC3 à 1 (HOME) Comme vous êtes 2 il faut impérativement inclure les deux variables dans les conditions, sinon, la condition 1 et 2 sera annulée par la 3 ou la 4 et c'est là que la table dont je parlais plus haut prend tout son sens. Nathalie 0 = absente 1 = Présente Bernard 0 = absent 1 = Présent Etat Box 2 = AWAY 1 = HOME Etat Lumière 0 = éteinte 1 = allumée 0 0 2 0 0 1 1 0 1 0 1 0 1 1 1 1 Vérifie/confirme ou modifie la table ci-dessus pour que tes conditions et tes actions correspondent à ce que tu veux que GEA fasse. En lisant tes commentaires dans ton code et analysant ton code, les deux ne correspondent pas. Comme dit plus haut, si tu travailles aux conditions de Nathalie et de Bernard ligne par ligne, tu ne couvriras pas le cas de Bernard et Nathalie présents les deux ou absents les deux. PS dans tes actions de pilotage de ta lampe tu mets "Value+". Value+ est prévu pour tester une valeur plus grande que... dans les conditions. Pour les actions, c'est "Value" qu'il faut employer. Une fois ta table confirmée il restera à créer les lignes GEA qui engloberont tes conditions et tes actions. Redis-moi et je t'assiste pour les créer, cela te permet d'avoir le strict nécessaire de lignes et des actions qui correspondent exactement à ce que tu souhaites.
  3. sumsum

    Support Gea

    Pour ce type de réflexions, rien ne vaut la création d'une table de vérité, employée lorsqu'on simplifie des fonctions avec l'algèbre booleen. Par exemple: A = Bernard B = Nathalie A peut prendre les valeurs suivantes: Bernard Présent = 1 Bernard Absent = 0 B peut prendre les valeurs suivantes: Nathalie Présente = 1 Nathalie Absente = 0 La création de la table de vérité permet d'envisager tous les cas de figure. Le nombre de variables d'entrées ne se limite pas qu'a 2. Dans ton exemple, la table pour XOR (OU exclusif) ressemble à cela: En passant par cette approche, tu définis clairement la fonction puis il ne te reste plus qu'à employer la bonne fonction ET, OU, OU Exclusif, etc... L'exemple ci dessus provient d'un exemple créé par Didier Müller qui a publié le document complet sous https://www.apprendre-en-ligne.net/info/logique/logique.pdf Cette approche permet de gagner beaucoup de temps et d'éviter d'omettre des conditions.
  4. sumsum

    rajout de module impossible

    Même problème avec version 4.540 impossible d'ajouter ou supprimer un module. Effectué un restore, avec reboot et cela fonctionne
  5. sumsum

    HC2 - 4.510 - Stable - 02/08/2018

    J'ai testé cette solution et ça résout les API not found, mais surtout ça résout les latences d'exécution des instructions à déclenchement instantané. Voir mon post dans le topic Support GEA
  6. sumsum

    Support Gea

    J'ai implémenté la ligne mentionnée ci-dessus et mes problèmes de latences sur l'exécution d'instruction à déclenchement instantanés ont disparu. Donc le message d'erreur "API not found" semblait ne pas perturber le fonctionnement de GEA, comme mentionné dans plusieurs posts, par contre il ralentissait de manière très aléatoire les instructions à déclenchement instantanés. Avez-vous constaté la même chose @ymarchive et @fredokl ? Merci @oldelvis @pepite @Felig Ma box est en version 4.511B et GEA est en version 6.07 (incluant les modifs proposées)
  7. sumsum

    Support Gea

    Idem chez moi que @oldelvis, @ymarchive et @fredokl La latence est parfois de plus de 30 à 40 secondes. Ce sont surtout les déclenchements instantanés qui posent problèmes. Bizarrement, c'est comme si toutes les instructions se stockaient dans un buffer et qu'elles s'exécutent d'un coup. Le problème existe depuis la FW 4.510 Je suis passé à al FW 4.511B mais aucune amélioration. EDIT: Résolu voir mon post plus bas
  8. sumsum

    HC2 - 4.510 - Stable - 02/08/2018

    idem ici, lenteurs, fonctionnement aléatoire. Rien ne se passe pour 1 minute, puis toutes les actions qui auraient dû se dérouler s'exécutent à la suite, comme s'il y avait un stack d'instruction qui se vide.
  9. sumsum

    Support Gea

    @schwinny de mémoire les déclarations des ID "999 value" dans l'entête doivent être placés juste après %% properties et avant %% events. Après %% globals, tu déclare les variables globales. Dans des posts précédents j'avais demandé de l'aide pour des fonctionnements erronés ou aléatoires des déclenchements instantanés et en supprimant des lignes vides entre les déclarations, le problème avait disparu! Les déclarations dans l'entêtes sont sensibles au niveau de la syntaxe et ils n'y a pas de message d'erreur. Voici la syntaxe. J'ai rajouté %% events qui manquait. PS: Es-tu sûr que tu as autant de modules qui sont employés dans une instruction GEA avec déclenchement instantané -1 ? On ne déclare que les ID des modules qui sont employés dans une ligne GEA avec -1 --[[ %% autostart %% properties 8 value 60 value 74 value 65 value 13 value 18 value 70 value 317 value 85 value 265 value 23 value 92 value 236 value 97 value 209 value 311 value 291 value 241 value 188 value 176 value 182 value 259 value 253 value 165 value 272 value 313 value 293 value 243 value 190 value 178 value 184 value 261 value 255 value 167 value 274 value 312 value 292 value 242 value 189 value 177 value 183 value 260 value 254 value 166 value 273 value 238 value 279 value 287 value 52 value 43 value 42 value 44 value 357 value 324 value 327 value 330 value 78 value 26 value 30 value 82 value 303 value 337 value 345 value 259 value %% events %% globals TimeOfDay PresentState CycleLaveVaisselle CycleLaveLinge --]]
  10. sumsum

    Velux Active with Netatmo

    J'ai passé commande du kit de base aujourd'hui, pour faire des tests. Dès que je reçois le matériel je vous tiens au courant.
  11. sumsum

    Velux Active with Netatmo

    J'ai voulu passer commande, mais le produit est épuisé. J'attends un délai du revendeur.
  12. sumsum

    Support Gea

    @Steven @pepite @971jmd merci pour vos suggestions. J'ai trouvé ce qui provoque le problème en me penchant de manière systématique sur mon code et en réussissant à provoquer l'erreur. Mon extrait de code problèmatique: GEA.add({"Or", {"Value+", id["OEIL_SALON_FENETRE_GAUCHE"],LuminositeMaxSalon}, {"Value+", id["OEIL_SALON_FENETRE_DROITE"],LuminositeMaxSalon}}, 2*60, "Il y a TROP de luminosité, la valeur mesurée est de #value[1]# et #value[2]# fermeture des stores", {{"Days", "Weekend"}, {"Time", "08:30", "18:00"}, {"Close", {id["STORE_GAUCHE"],id["STORE_MILIEU"],id["STORE_DROITE"]},90}} ) c'est la syntaxe #value[1]# et #value[2]#qui pose problèmes. Si je remplace par #value# le code fonctionne et il n'y a plus de message d'erreur. Mon extrait de code qui fonctionne: GEA.add({"Or", {"Value+", id["OEIL_SALON_FENETRE_GAUCHE"],LuminositeMaxSalon}, {"Value+", id["OEIL_SALON_FENETRE_DROITE"],LuminositeMaxSalon}}, 2*60, "Il y a TROP de luminosité, la valeur mesurée est de #value# fermeture des stores", {{"Days", "Weekend"}, {"Time", "08:30", "18:00"}, {"Close", {id["STORE_GAUCHE"],id["STORE_MILIEU"],id["STORE_DROITE"]},90}} ) Par contre le message récupéré sur mon téléphone mobile est le suivant: "Il y a TROP de luminosité, la valeur mesurée est de true fermeture des stores" Je suis satisfait que mon code re-fonctionne et ne plante plus avec cette modification. Par contre je ne sais pas quelle syntaxe mettre si je veux indiquer la valeur en lux de mes deux détecteurs. Si quelqu'un a une idée je suis preneur.
  13. sumsum

    Support Gea

    @pepite non je n'ai pas essayé car malheureusement ce problème n'est pas permanent. Une fois que j'ai ce message d'erreur, tous les timers ne réagissent plus. Le seul moyen que j'ai trouvé pour m'en sortir, c'est de redémarrer ma HC2.
  14. sumsum

    Support Gea

    @Steven et @pepite Désolé, je n'avais pas beaucoup de temps ce matin en partant. Ci-dessous les quelques lignes où j'ai une durée d'une minute. (est-ce bien celles-ci que vous voulez voir ?) GEA.add({id["DETECTEUR_PORTE_ENTREE"]}, -1,"Ouverture porte entrée à #time# le #date#",{"turnOn", id["LUMIERE_ENTREE"],1*60}) GEA.add({id["DETECTEUR_PORTE_CAVE"]}, -1,"Ouverture porte cave à #time# le #date#",{"turnOn", {id["LUMIERE_ESCALIER_CAVE_BAS"],id["LUMIERE_PORTE_ENTREE_EXT"]},1*60}) GEA.add({id["DETECTEUR_PORTE_ARM_GAUCHE"]}, -1,"",{"turnOn", id["LUMIERE_ENTREE"],1*60}) GEA.add({id["DETECTEUR_PORTE_ARM_DROITE"]}, -1,"",{"turnOn", id["LUMIERE_ENTREE"],1*60}) GEA.add({"Or", {"Value+", id["OEIL_SALON_FENETRE_GAUCHE"],LuminositeMaxSalon}, {"Value+", id["OEIL_SALON_FENETRE_DROITE"],LuminositeMaxSalon}}, 1*60, "Il y a trop de luminosité au salon, #value[1]# et #value[2]# lux, extinction des lumières", {"turnOff", id["SALON_ECLAIRAGE_PLAFOND"]}) GEA.add({{"Value", id["OEIL_MEUBLE_SDB"], 0},{"Value", id["OEIL_COULOIR_DRESSING"],0}}, 2*30, "", {"turnOff", id["STRIP_LED_MEUBLE_SDB"]})
  15. sumsum

    Support Gea

    Merci @971jmd dans ta proposition Tu supprimes le "Or" et tu passes par une variable globale. Quel est le but ? Le code fonctionne, c'est simplement que subitement j'ai un message d'erreur timer que je n'arrive pas à identifier. A partir de ce moment là, la plupart des lignes qui contiennent un temps ne fonctionnent plus. Je dois donc redémarrer le HC2
  16. sumsum

    Support Gea

    Salut @Steven et Salut @pepite Je vous joins l'entier de mon code. Il y a des lignes en commentaires car en phase de remise en état après des travaux importants chez moi. 23.06.2018 -> J'ai supprimé l'entier de mon code pour alléger le forum.
  17. sumsum

    Support Gea

    Bonjour, Vous avez déjà eu le message d'erreur [error] timer handler failed with error ? J'ai beau analyser, je ne sais pas où chercher. L'erreur suit le code qui pilote la descente des stores à lamelles en cas de luminosité trop importante. GEA.add({"Or", {"Value+", id["OEIL_SALON_FENETRE_GAUCHE"],LuminositeMaxSalon}, {"Value+", id["OEIL_SALON_FENETRE_DROITE"],LuminositeMaxSalon}}, 2*60, "Il y a TROP de luminosité, la valeur mesurée est de #value[1]# et #value[2]#", {{"Days", "Weekend"}, {"Time", "08:30", "18:00"}, {"Close", {id["STORE_GAUCHE"],id["STORE_MILIEU"],id["STORE_DROITE"]},90}} )
  18. sumsum

    Fibaro Button - Fgpb-101

    Ok pris note mais comme ça tu ne pourras pas comparer ton logfile avec d'autres ;-) donc définir si c'est mécanique ou pas. Your choice
  19. sumsum

    Fibaro Button - Fgpb-101

    Les miens fonctionnent de manière aléatoires aussi. J'en ai déjà renvoyés, qui m'ont été remplacés, mais ce n'est pas mieux. @Lazer comment tu récupères le logfile ? ça m'intéresse d'y jeter un coup d'oeil.
  20. sumsum

    Eco-Devices Live & Day Reporter (Hp/hc)

    Bonjour, Un grand merci pour ce tuto qui m'a permis de piloter un boiler triphasé via un triac pilotable 0-10V. Je publierai sous-peu mon tutoriel complet. Mon code fonctionne parfaitement, mais j'aurai besoin de l'expertise des pros pour optimiser une boucle de moyenne glissante calculée sur les 5 dernières valeurs de consommation. Si vous avez le temps, je suis preneur, je me disais que de travailler avec json serait sûrement plus efficace, mais je ne maîtrise pas assez le json. Création des variables globales: createGlobalIfNotExists("Consommation_Instantanee_0","0") -- Variable pour stocker conso instantanée t0 createGlobalIfNotExists("Consommation_Instantanee_1","0") -- Variable pour stocker conso instantanée t-1 createGlobalIfNotExists("Consommation_Instantanee_2","0") -- Variable pour stocker conso instantanée t-2 createGlobalIfNotExists("Consommation_Instantanee_3","0") -- Variable pour stocker conso instantanée t-3 createGlobalIfNotExists("Consommation_Instantanee_4","0") -- Variable pour stocker conso instantanée t-4 createGlobalIfNotExists("Consommation_Instantanee_5","0") -- Variable pour stocker conso instantanée t-5 createGlobalIfNotExists("Consommation_Instantanee_Compteur_Moyenne","0") -- Variable pour stocker t afin de calculer la moyenne de consommation Appel de la fonction: -- --------------------------------------------------------- -- Calcule la moyenne glissante sur les 5 dernières mesures -- de consomation pour permettre de founir une consigne plus -- stable au triac pilotant le boiler -- --------------------------------------------------------- ConsoInstantanee = CalculMoyenneGlissanteConsoInstantanee(ConsoInstantaneeBrute) debug(ConsoInstantanee, "fuchsia") Fonction: --------------------------------------------------------- -- CalculMoyenneGlissanteConsoInstantanee(ValeurInstantanee) -- Fonction pour calculer une moyenne glissante sur les 5 -- dernières mesures de consommation. -- Ceci permet de calculer une consigne de pilotage du triac -- lissée et évite les pics d'appels de courant. -- Comme la mesure s'effectue toutes les 2 secondes, la moyenne -- de consomation Instantanée est donc de 5 mesures en 10 secondes. -- Les valeurs de consommation sont stockées dans 5 variables globales -- La ValeurTemps également. -- On retourne la valeur Moyenne de la consommation sur 5 mesures -- Formatée avec 2 chiffres après la virgule. --------------------------------------------------------- function CalculMoyenneGlissanteConsoInstantanee(ValeurInstantanee) local ValeurTemps local NomVariableGlobale = {"Consommation_Instantanee_0", "Consommation_Instantanee_1", "Consommation_Instantanee_2", "Consommation_Instantanee_3", "Consommation_Instantanee_4", "Consommation_Instantanee_5"} local ValeurTempsCalculVar = 1 local ValeurMoyenneConsommation = 0 ValeurTemps = fibaro:getGlobalValue("Consommation_Instantanee_Compteur_Moyenne") ValeurTemps = tonumber(ValeurTemps) if ValeurTemps <= 5 then ValeurTemps = ValeurTemps + 1 else ValeurTemps = 1 end fibaro:setGlobal(NomVariableGlobale[ValeurTemps], ValeurInstantanee) debug("NomVariableConteneur"..NomVariableGlobale[ValeurTemps]) debug("ValeurTemps"..tostring(ValeurTemps)) fibaro:setGlobal("Consommation_Instantanee_Compteur_Moyenne", ValeurTemps) while ValeurTempsCalculVar<= 5 do ValeurMoyenneConsommation = ValeurMoyenneConsommation + fibaro:getGlobal(NomVariableGlobale[ValeurTempsCalculVar]) debug(ValeurTempsCalculVar, "red") debug(ValeurMoyenneConsommation, "red") ValeurTempsCalculVar = ValeurTempsCalculVar + 1 end return(tonumber(string.format("%.2f",ValeurMoyenneConsommation/5))) end Merci aux Dieux du forum, @Gazous @Did @pepite @Steven et les autres pour vos suggestions d'optimisation
  21. sumsum

    comment conserver la conso électrique

    J'ai le même message d'erreur avec ma BD sur Synology. D'après mes recherches, il manque le driver PDO. Je n'ai pas encore réussi à résoudre le problème, car je ne sais pas comment modifier le fichier php.ini de mon Synology. voici un exemple de résolution du problème sur Synology: https://forum.synology.com/enu/viewtopic.php?t=116995 En lançant un fichier info.php contenant l'instruction <?php // Affiche toutes les informations, comme le ferait INFO_ALL phpinfo(); ?> On constate qu'il n'y a pas de driver PDO.
  22. sumsum

    Support Gea

    @pepite @Sakkhho Effectivement, sans la majuscule et sans l'espace, on récupère l'événement! La fonction ci-dessus donne le feedback de quelle touche a été appuyée. Il me semble que certaines touches ne donnent pas de résultat à par la ligne continue. Je testerai et j'enverrai le debug dès que j'ai un moment. J'ai une semaine hyper chargée au niveau boulot. Merci pour l'aide!
  23. sumsum

    Support Gea

    @Sakkhho @pepite Je voulais avoir tous les événements regroupés au même endroit. Avec ma télécommande je donne l'ordre de remonter les stores ou d'incliner les lamelles. Avec le Button, je change la couleur d'un bandeau LED dans ma salle de bains, cela permet de sélectionner des couleurs pré-réglées en fonction du mood. Voilà l'idée. Il est clair qu'avec un scène séparée c'est aussi faisable, mais du coup tout n'est pas au même endroit et comme j'ai vu que GEA traitait l'instruction GEA.add({"CentralSceneEvent", Je me suis dit autant l'employer. Quel est l'avis des experts ?
  24. sumsum

    Support Gea

    @pepite J'avais déjà essayé sans le 1 dans events, mais sans succès. C'est comme si GEA ne voit pas l'évent généré par la télécommande. Je viens te tester avec une télécommande FGKF-601 Mais sans succès. Quels modèles de télécommandes ont déjà été testées avec GEA 6.xx ? (pour savoir si c'est du début ou si c'est une erreur d'application chez moi)
  25. sumsum

    Support Gea

    @pepite Merci pour ces deux infos. Mon GEA fonctionne impeccable du coup. Pourquoi ne pas spécifier dans l'installation de GEA qu'il faut modifier le nombre d'instances et les mettre aux max c.à.d. 10 Question supplémentaire y a-t-il déjà eu des tests avec le Button FGPB-101 (type champignon) j'ai tenté de l'implémenter dans une ligne GEA mais sans succès. Voici ma syntaxe: %% Events 621 CentralSceneEvent 1 Et dans le code, les lignes de test suivantes selon un post antérieur: GEA.add({"CentralSceneEvent", 621, 1, "Pressed"}, -1, "Appuyé") GEA.add({"CentralSceneEvent", 621, 1, "Pressed"},-1, "Care") GEA.add({"CentralSceneEvent", 621, 1, "Pressed2"},-1, "Care 2 clik") GEA.add({"CentralSceneEvent", 621, 1, "Pressed3"},-1, "Care 3 clik") GEA.add({"CentralSceneEvent", 621, 1, "HeldDown"},-1, "Care HeldDown") GEA.add({"CentralSceneEvent", 621, 1, "Released"},-1, "Care Released") Mais rien ne se passe, même avec debug = true, je ne vois pas d'action de mon button. Pour être sûr que le button fonctionne et que HC2 voit les événements du button, j'ai créé une scène séparée qui fonctionne parfaitement.
×