-
Compteur de contenus
57 -
Inscription
-
Dernière visite
sumsum's Achievements
-
@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
- 12 330 réponses
-
- 1
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@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.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
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.
- 12 330 réponses
-
- 2
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
sumsum a commencé à suivre Dragoniacs
-
sumsum a commencé à suivre HC2 - 4.510 - Stable - 02/08/2018 et 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
-
@MAM78 Je continue les tests Lorsque j'actionne un bouton du VD, "Arrêt cameras" ou "Snapshot", en général la fonction s'exécute correctement pour 2 des 4 caméras. Lorsque je regarde le débug de plus près, je constate que l'adresse IP de l'instruction API est ":0". As-tu déjà rencontré ce cas de figure ? Voici un extrait du débug:
-
@MAM78 je propose une modif pour faciliter l'obtention des Cam_ID en une seule fois, sans bug dans la boucle principale du VD. Dans l'entête on rajoute une variable SetupMode qui est à true lors de l'installation du VD. Dans ce cas la boucle n'essaie pas d'exécuter la récupération de l'état des caméras, mais on exécute quelques lignes de code qui affichent dans la fenêtre de débug et dans les labels des caméras du VD, les numéros d'ID des caméras trouvées dans Surveillance Station. Une fois les valeurs récupérées, on remplace les ID_CAM_xx par les Cam_ID récupérés dans la code de la boucle principale du VD. On change la variable SetupMode à faux et la boucle du VD s'exécute normalement. Voici un exemple de l'affichage des ID affichés dans les labels, ayant mis la variable SetupMode à true. Je peux te fournir le code modifié
-
Voici la ligne 517 de mon code En y regardant de plus près, j'ai rajouté une ligne de DEBUG pour obtenir l'ID de la cam local Cam_Name = jsonTable.data.cameras[i].name local Cam_ID = jsonTable.data.cameras[i].id local Cam_VD_Id = "" --- Code inséré ---- self:message("white", "Caméra ID : "..Cam_ID) --- Fin Code inséré --- cameras = cameras..Cam_ID if i < nbcameras then cameras = cameras .."," end Du coup en cliquant sur le bouton "Déboguer" de la boucle principale du VD principal, juste avant le message d'erreur de la plantée du code, j'obtiens le Cam_ID. Je remplace le ID_CAM_xx par le Cam_ID récupéré dans le débug, je sauve et je recommence l'opération jusqu'à obtenir le Cam_ID de chacune de mes caméras. A mon avis il faut revoir la procédure pour affecter les Cam_ID ce n'est pas viable de cette manière. PS: Il y a plusieurs erreurs d'anglais dans les textes débug du code dans cette zone. Voici les textes modifiés: if Cam_VD_Id ~= nil and Cam_VD_Id ~= "" then if debug then self:message("green", "Found VD ID : "..Cam_VD_Id.." for Camera ID "..Cam_ID..', Name '..Cam_Name) end else self:message("purple", "VD ID not found for Camera ID "..Cam_ID..', Name '..Cam_Name.." in the table List_CAM in then Users parameters") end
-
Il n'y a rien d'affiché sur mon VD Général, j'imagine que c'est lié au message d'erreur dans mon debug
-
Super module, merci ! Je teste actuellement avec 4 caméras. J'ai la même question que @DoR.Technique et je ne sais pas où trouver les ID caméras. J'ai installé le VD principal et un VD par caméra. Je m'imaginais qu'on trouve les ID dans le debug. Voici la copie écran que je trouve dans le debug:
-
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
-
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)
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
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
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
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.
-
@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 --]]
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
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.