Aller au contenu

Création de Label en code LUA


Messages recommandés

Posté(e) (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é par MAM78
Posté(e)

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.

Posté(e)

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.

 

 

Posté(e)

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.

Posté(e)

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 ?

Posté(e)

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

Posté(e) (modifié)

C'est ce que j'ai fait, mais ce n'est pas très esthétique ;) waf

Modifié par MAM78
Posté(e) (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é par jjacques68
Posté(e)

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...

 

×
×
  • Créer...