MAM78 Posté(e) le 10 juillet 2017 Signaler Partager Posté(e) le 10 juillet 2017 (modifié) Est-il possible de créer/supprimer en code LUA des labels et des boutons dans un VD ? Dans le même registre, est-il possible de modifier en LUA le texte (situé à gauche) d'un label d'un VD ? (je ne parle pas de sa valeur) Modifié le 10 juillet 2017 par MAM78 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lazer Posté(e) le 11 juillet 2017 Signaler Partager Posté(e) le 11 juillet 2017 Il existait il y a longtemps sur le fofo officiel un VD d'une télécommande (Samsung je crois) qui découvrait l'équipement et se mettait à jour tout seul. Le principe : - le VD charge son propre JSON via l'API - ajoute au JSON les label et boutons dont tu as besoin - encore le nouveau JSON, puis sauvegarde le tout via l'API, ce qui aura pour effet de redémarrer le VD Je ne sais pas si ça fonctionne toujours en v4 (le fait qu'un VD puisse se modifier lui-même), sinon au pire tu passes par une Scène, là c'est sûr qu'elle aura le droit de modifier un autre VD. Tout se passe par l'API, et vu que c'est ce que fait l'interface Web quand l'utilisateur fait les opérations manuellement, on peut donc tout programmer. Si tu as un doute sur l'API pour enregistrer un VD, regarde mon Watchdog. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 12 juillet 2017 Signaler Partager Posté(e) le 12 juillet 2017 Le seul soucis avec ce genre de truc, c'est que même si tu arrives modifier ton VD, tu seras obligé de rafraîchir manuellement ta page web. Pour l'application Fibaro, il faudra quitter puis re-lancer. Il n'y aura aucun mise à jour automatique du VD. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lazer Posté(e) le 12 juillet 2017 Signaler Partager Posté(e) le 12 juillet 2017 Exact ! En fait, dans l'exemple de la télécommande Samsung, le VD s'auto modifie une seule fois, lors de la première installation. Il est certain que ce n'est pas trop exploitable pour faire des modifs récurrentes en live. Lien vers le commentaire Partager sur d’autres sites More sharing options...
MAM78 Posté(e) le 14 juillet 2017 Auteur Signaler Partager Posté(e) le 14 juillet 2017 Merci pour l'info. Effectivement, je recherche une solution qui fait ça de manière dynamique (en temps réel). Dommage, j'aurais bien aimé utiliser cette fonctionnalité pour ajouter/supprimer des boutons sur mon VD permettant de visualiser le prochain itinéraire SNCF. Voir RAPT, Bus, mixte ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lazer Posté(e) le 14 juillet 2017 Signaler Partager Posté(e) le 14 juillet 2017 Pour cela, il faut faire comme les VD existants (Evénements est un bon exemple) : plein de labels vides, que tu remplies dynamiquement ce n'est pas parfait, car ça fera un VD avec pas mal de lignes vides la plupart du temps Lien vers le commentaire Partager sur d’autres sites More sharing options...
MAM78 Posté(e) le 14 juillet 2017 Auteur Signaler Partager Posté(e) le 14 juillet 2017 (modifié) C'est ce que j'ai fait, mais ce n'est pas très esthétique waf Modifié le 14 juillet 2017 par MAM78 Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 16 juillet 2017 Signaler Partager Posté(e) le 16 juillet 2017 (modifié) Hello !! Dans la même idée, j'ai 12 VD qu'il faut que je modifie. Ils ont les 12 actuellement la même structure (label, code lua des boutons, mainLoop, ...) Il faudrait que j'ajoute des boutons et label sur les 12 !! C'est possible de faire cela en lua en une seule fois ? quand je lis les infos des VD dans la documentation API, ça semble faisable ! Mais par où commencer ? Modifié le 16 juillet 2017 par jjacques68 Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 16 juillet 2017 Signaler Partager Posté(e) le 16 juillet 2017 j'essaye de le faire via une scène en voulant dupliquer le code du mainLoop du device1 vers le mainLoop du device2 : local device1 = api.get("/devices/353") local device2 = api.get("/devices/368") local code1 = device1.properties.mainLoop device2.properties.mainLoop = code1 api.put("/devices/368", device2) mais il se passe rien. code1 récupère bien le contenu de la mainLoop de device1 (si je fais un print, ça l'affiche correctement). mais après, l'appliquer au device2, ça fonctionne pas. étrange car j'utilise le même système pour jouer avec les panneaux de chauffage et ça marche très bien... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés