Aller au contenu

jojo

Membres confirmés
  • Compteur de contenus

    14 555
  • Inscription

  • Dernière visite

  • Jours gagnés

    186

Tout ce qui a été posté par jojo

  1. je n'ai jamais utilisé cette fonction jusqu'à présent, mais j'imagine ceci : Configuration -> localisation : c'est utilisé par Fibaro pour svoir où se trouve ta maison, et donc déterminer la météo locale Panels -> localisation panel : pour définir différents points géographiques et faire des scènes en fonction de quel mobile device se trouve proche que quel point. Effectivement, l'exemple du fer à repasser est un cas très pratique et sà»rement très WAF
  2. oui mprinfo, ce code pourrait fonctionner si mes variables ont toutes les mêmes valeurs autorisées ("Autorisé" et "Interdit'), mais s'il y a d'autres valeurs ('Oui' ou "Non"), ou plus que 2 valeurs, ça ne marche plus. Il faudra quelque chose de plus générique, surtout si je veux le partager : Disons que toi tu utilises des variables avec comme valeurs permises "Permis" et "Non-Permis" (par exple), il faut que ça marche aussi ...
  3. jojo

    Test Icone Utilisée Dans Un Vd

    merci. 1/ ton lien ne fonctionne pas, il pointe vers mon tuto 2/ je te confirme qu'elles ne sont pas obligatoires, elles sont nécessaires pour définir les déclencheurs, maintenant j'en connais 3 sortes --[[ %% autostart => au démarrage de la box ou à la sauvegarde de la scène %% properties => en fct de la valeur d'un device %% globals => en fct de la valeur de variable globales --]]
  4. Merci Moicphil pour cette info. Le lien pour devenir Beta testeur ne fonctionne pas, il ne semble pas complet
  5. je vous le donne en 1000 : la solution au problème de démarrage de la scène avec le redémarrage de la box est venu de qui ? de Steven, bien-sà»r ! II fallait juste mettre un sleep de 10s au démarrage de la scène, histoire de laisser le temps à notre petite box de se réveiller en douceur
  6. jojo

    Test Icone Utilisée Dans Un Vd

    et avec un sleep de 10s c'est bon également. Je peux me perettre d'attendre 10s pour avoir les bonnes icônes après un restart MERCI P.S. je mets à jour le code dans le "tuto"
  7. oui, il n'est pas encore compatible avec la v4.x ...
  8. jojo

    Test Icone Utilisée Dans Un Vd

    j'ai mis un sleep de 1 minutes, et cela semble ok Je fais encore d'autres tests pour confirmer
  9. jojo

    Test Icone Utilisée Dans Un Vd

    et avec le json de VD, qui "prouve" qu'il ne s'agit pas de problème de cache, vu que la currentIcon = 1 { id: 289, name: "Var_Auth_TV", roomID: 15, type: "virtual_device", properties: { deviceIcon: 1, ip: "", port: 0, currentIcon: "1", mainLoop: "", saveLogs: "1", ui.Statut.value: "Interdit",
  10. jojo

    Test Icone Utilisée Dans Un Vd

    voici donc le code de ma scène --[[ %% autostart %% properties %% globals --]] fibaro:debug("Redémarrage box : "..os.date()) fibaro:call(361, "pressButton", "1") fibaro:sleep (10*1000) fibaro:debug("Fin exécution scène : "..os.date()) lorsque je la sauve, elle s'éxécute, et voici le debug [DEBUG] 14:39:29: Redémarrage box : Fri Mar 20 14:39:29 2015 [DEBUG] 14:39:39: Fin exécution scène : Fri Mar 20 14:39:39 2015 puis, je fais un restart de la box, et ... mes icônes ne sont pas mises à jour et le log de la scène montre qu'elle s'est exécutée sans soucis. [DEBUG] 14:44:20: Redémarrage box : Fri Mar 20 14:44:20 2015 [DEBUG] 14:44:30: Fin exécution scène : Fri Mar 20 14:44:30 2015 Les mystères de l'informatique Mais je confirme que si je démarre la SCENE manuellement, elle s'éxécute correctement (comme quand je la sauve)
  11. jojo

    Test Icone Utilisée Dans Un Vd

    oui merci, j'avais déjàmis un fibaro:debug suite àla suggestion de mprinfo, mais je vais encore en rajouter d'autres, comme tu proposes ainsi que des sleeps Bon WE
  12. http://www.domotique-fibaro.fr/index.php/topic/3880-r%C3%A9cup%C3%A9rer-lid-dune-ic%C3%B4ne/
  13. donc cela devrait être un problème chez moi uniquement, et tant mieux si ça marche chez vous. Je ferai avec. Même si "ma" proposition semble complexe (beaucoup de call imbriqués) il me semble qu'elle a l'avantage d'être simple àmaintenir une fois mise en place.
  14. i-magin, Merci pour ta précision. Plein d'espoir àla lecture de ton feedback, j'ai collé le code de la VD_Update dans la scène. Et zut, ça ne fonctionne toujours pas. Je crois avoir compris : on ne pourrait pas faire de pressButton depuis une scène... Je t'este cela ce WE
  15. Pour la HCL, j'avais en son temps fait un tuto pour afficher une icône dans un virtual device une icône en fonction de la valeur d'une variable globale, et de pouvoir modifier sa valeur (également depuis son smartphone), quelle se mette à jour lors d'un restart de la box, etc pour une HCL En passant sous HC2, j'avais gardé le même principe, et pour chaque VD (et donc chaque variable), la main loop tournait en continu pour vérifier que l'icône correspond bien à la valeur de la variable. Ce n'est vraiment pas optimal. Je vais vous expliquer ici la solution que j'ai mise en place pour que la charge sur la box soit moins importante. Merci à Steven, i-magin et mprinfo qui m'ont aidé pour débugger Création des variables Je prendrai dans mon exemple 2 variables globales : Auth_PS3 avec 2 valeurs possibles : "Autorisé" et "Interdit" Auth_TV avec 2 valeurs possibles : "Autorisé" et "Interdit" (mais les valeurs pourraient être différentes que pour la 1° variable, ou avoir plus que 2 valeurs) Modules virtuels Chaque variable a son module virtuel. Il a pour objectif d'afficher une icône différente en fonction de la valeur de la variable. Pour facilement les retrouver, j'ai créé une section "Section Virtuelle" et dedans une pièce "Variables". Chaque VD a le nom suivant : "Var_xxxx" où xxxx est le nom de la variable globale. Dans notre exemple : "Var_Auth_PS3" et "Var_Auth_TV". L'icône par défaut du VD est et doit rester l'horrible cube bleu (facile ainsi de repérer si la VD est à jour) J'ai créé les boutons suivants : Bouton 1 : Autorisé / Interdit Il permet simplement de faire le switch de la valeur de la variable. C'est le bouton par défaut du VD. Il n'y a pas d'icône associée. -- nom de la variable à modifier local variable = "Auth_PS3" if fibaro:getGlobal(variable) == "Interdit" then fibaro:call(fibaro:getSelfId(), "pressButton", "3") else fibaro:call(fibaro:getSelfId(), "pressButton", "4") end Label : Statut afficher en texte la valeur de la variable Bouton3 : Autorisé c'est le bouton qui est appelé pour mettre la variable à "Autorisé" Il contient l'icône qu'on veut voir affichée (comme ça on ne doit pas chercher son ID) fibaro:setGlobal('Auth_PS3', 'Autorisé') fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Statut.value", 'Autorisé') Bouton4 : Interdit c'est le bouton qui est appelé pour mettre la variable à "Interdit" Il contient l'icône qu'on veut voir affichée (comme ça on ne doit pas chercher son ID) fibaro:setGlobal('Auth_PS3', 'Interdit') fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Statut.value", 'Interdit') N.B. l'ID de ce bouton ne peut pas être appelée par le bouton Switch, mais seulement son numéro QUI CHANGE si vous changez l'ordre. C'est débile, mais c'est comme ça … Utilisation On clique sur le bouton principal, et il switch la valeur de la variable On peut utiliser Google Calendar pour lui dire d'appuyer directement sur le bouton "Autorisé" ou "Interdit" Vous devez modifier les scènes qui modifiaient directement la variable, en la faisant appuyer sur le bouton de la VD qui modifie la variable et met à jour l'icône de la VD (car il n'y a plus le mainloop qui contrôle en continu la valeur de la variable) Limitations et solution : Lors du redémarage de la box, ou Lors de la sauvegarde du VD (parce que vous avez fait une petite modif, ou …) L'icône qui est affichée pour le VD, est l'icône par défaut du VD. Le cube bleu, pas cool … Donc pour pallier à ce problème, j'ai créé un VD supplémentaire "Var_Update" Dont voici le code : un GRAND merci à mprinfo qui m'a beaucoup aider pour faire qqch de plus sympa et générique ---------------------------------- -- User Settings ---------------------------------- -- la Table doit avoir la structure suivante : -- 1/ nom de la variable globale entre " -- 2/ ID du VD qui affiche la valeur de la VG -- 3/ n° du premier bouton qui doit être appuyé -- (qui correspond à la première valeur de la variable) -- 4/ n° du dernier bouton qui doit être appuyé -- (qui correspond à la dernière valeur de la variable -- on suppose que tous les boutons se suivent de 1 en 1) -- 5/ valeurs possibles de la variable entre " -- (elles doivent être listées dans l'ordre des boutons de la VD) local Table = {"Auth_PS3", 23, 3, 4, "Autorisé", "Interdit", "Auth_TV", 289, 3, 4, "Autorisé", "Interdit", "Auth_VMCEtage", 290, 3, 4, "Autorisé", "Interdit", "Auth_TerrPar", 291, 3, 4, "Autorisé", "Interdit", "Auth_LumHallNuit", 362, 3, 4, "Autorisé", "Interdit", "ECS", 292, 3, 4, "Oui", "Non", "DayPart", 130, 3, 4, "After SunRise", "After SunSet", "Noel", 363, 3, 4, "Oui", "Non", "Saison", 133, 3, 6, "Printemps", "Eté", "Automne", "Hiver", "Chauffage", 351, 3, 5, "0", "1", "2", "Vacances", 293, 3, 4, "Oui", "Non" } ---------------------------------- -- DO not change bellow this line ---------------------------------- local i = 1 while Table[i] ~= nil do local VG_Nom = tostring(Table[i]) fibaro:debug("----------------------------") fibaro:debug("Nom de la variable Globale = " ..VG_Nom) local VD_id = tostring(Table[i+1]) local Btn_Deb = tonumber(Table[i+2]) local Btn_Fin = tonumber(Table[i+3]) local NbrVal = (Btn_Fin - Btn_Deb) + 1 --Nbr de valeur possibles de la variable fibaro:debug('NbrVal = ' ..NbrVal) i = i + 4 local VG_Val = fibaro:getGlobalValue(VG_Nom) fibaro:debug('Valeur de la variable Globale = ' ..VG_Val) for j = 1,NbrVal do if VG_Val == Table[i+j-1] then fibaro:debug(VG_Nom.. ' = ' ..VG_Val) fibaro:debug("Il faut appuyer sur le bouton : " ..Btn_Deb.. " de la VD_id " ..VD_id) fibaro:call(VD_id, "pressButton", Btn_Deb) end Btn_Deb = Btn_Deb + 1 end -- for i = i + NbrVal end -- while Pour retrouver l'ID du VD, vous avez plusieurs solutions : Le toolkit de Krikroff l'API : http://<IP Box>:<Port Box>/api/virtualDevices vous exportez le VD, et dans l'URL vous voyez ?id=xxx vous éditez le VD, et dans l'URL vous voyez ?vid=xxx Il vérifie la valeur de la variable et appuie sur le bouton correspondant à l'icône. D/Variable. Donc maintenant, quand je vois qu'une des icônes associée à mes variables est l'icone standard, je clique sur le bouton, et tout est remis au carré. Cela évite d'avoir un main loop qui tourne pour chaque variable 99% du temps pour rien. On a donc trouvé une parade à la deuxième limitation ;-) Pour la première limitation (mise à jour après un restart de la box) la solution est facile : Créer une scène qui appelle la VD "Var_Update" / bouton 1 au démarrage de la box. --[[ %% autostart --]] fibaro:sleep (10*1000) fibaro:call(361, "pressButton", "1") où 361 est l'ID du Vd "Var_Update" Merci à Steven qui finalement à trouvé la solution du sleep au début de la scène, ainsi qu'à i-magin et mprinfo pour leurs bonnes idées
  16. jojo

    Test Icone Utilisée Dans Un Vd

    logique ... Si je mets [[%% autostart --]] dans ma scène, j'ai une erreur. C'est plutôt --[[%% autostart --]]. Mais soit, c'est ce que j'ai mis dedans. Et pour être sà»r qu'il n'y avait pas un caractère bizarre, j'ai fait un copier/coller de ton entête du GEA. Et ça ne fonctionne toujours pas... Ou je dois être plus patient attendre 10 min ?
  17. jojo

    Test Icone Utilisée Dans Un Vd

    merci à tous les 3 pour vos idées. @Steven, avec ou sans " pour le bouton 1, ça ne fonctionne pas @i-magin : ça a l'air compliqué comme ça, mais les codes sont simples, et le but est de faire le moins de maintenance possible si on veut changer d'icône, rajouter une variable, ... je vais expliquer en détail la solution quand elle sera au point @mprinfo : j'ai un fibaro:debug dans la scène, et je croyais qu'elle démarrait, car il y avait une ligne dans le débug, mais en fait c'était son démarrage automatique lorsqu'on sauve la scène. Lorsque la box redémarre, la scène ne démarre pas. => est-ce que le --[[%% autostart --]] est également activé lors d'un RESTART de la box ? Il semblerait que non, mais qu'il serait bien activé uniquement lors d'une sauvegarde de la scène
  18. jojo

    Test Icone Utilisée Dans Un Vd

    alors là , je ne comprends PLUS RIEN: le debug de la scène montre qu'elle s'est lancée au démarrage de la HC2 mais le VD n'a pas fait son travail et quand je lance la scène manuellement, ça fonctionne ==> je vais dormir
  19. jojo

    Test Icone Utilisée Dans Un Vd

    oui, mais moi j'ai une femme, des enfants (je ne sais pas toi), mais tout le chauffage de la maison et des douches dessus + lampes + TV + PS3 => je n'ai pas le droit àl'erreur (je me fait déjàassez chambrer comme ça avec ma domotique de m****)
  20. jojo

    Test Icone Utilisée Dans Un Vd

    le plus important, c'est que ça fonctionne chez toi. Ca doit être la v4, et je n'y passerai pas pour ça ! (téméraire, Belge, mais pas encore assez fou) C'est presque prêt. Je partage la solution demain
  21. jojo

    Test Icone Utilisée Dans Un Vd

    ça ne fonctionne pas ! je suis encore en 3.600. Peut-être que le autostart ne fonctionne qu'à partir du v4.x ?
  22. si la réponse fut non sans appel, cela veut probablement dire que cette PAC ne permet pas d'être commandée par un contact sec => ni Nest, ni FGS221 (panneau de chauffage)
  23. jojo

    Test Icone Utilisée Dans Un Vd

    et voici le json de la VD, qui montre que c'est bien le bouton 1 { id: 361, name: "Var_Update", roomID: 15, type: "virtual_device", properties: { deviceIcon: 1124, ip: "", port: 80, currentIcon: "1124", mainLoop: "", saveLogs: "1", rows: [ { type: "button", elements: [ { id: 1, lua: true, waitForResponse: false, caption: "Update Icons", name: "UpdateIcons", empty: false, msg: "local variables = { Auth_PS3 = 23, Auth_TV = 289 } variable = 'Auth_PS3' if fibaro:getGlobal(variable) == 'Autorisé' then fibaro:call(variables[variable], "pressButton", "3") else fibaro:call(variables[variable], "pressButton", "4") end variable = 'Auth_TV' if fibaro:getGlobal(variable) == 'Autorisé' then fibaro:call(variables[variable], "pressButton", "3") else fibaro:call(variables[variable], "pressButton", "4") end", buttonIcon: 1124, favourite: false, main: true
×
×
  • Créer...