Rafraichissement desktop pour une action de type "Liste" dans un virtuel

Je galère un peu avec les actions de type « Liste » dans un virtuel.
Je souhaite en effet asservir un action de ce type à une autre du même type dans un autre virtuel.
-Lecture de la valeur sélectionnée dans le virtuel « maître »
-Pousser cette valeur dans x virtuels esclaves

je le fais en en bloc code PHP dans un scénario, et la valeur est bien poussée, mais je constate que le visuel n’est pas mis à jour sur le desktop (sauf à recharger la page desktop). C’est embêtant car on ne peut pas contrôler visuellement le changement ce qui peut amener à des erreurs de manips.

j’ai testé aussi en scénario bloc « action » de ce genre et c’est le même problème :

Un refresh simple du widget sur le desktop (bouton en haut à droite avec la double flèche) est sans effet.

Ya-t-il un moyen de forcer la mise à jour sur le desktop par une commande bien sentie en PHP ? Autre idée ? Pour les développeurs pouvez vous envisager de modifier ce comportement pour une mise à jour automatique ?

Merci de vos inputs!

Bonsoir.

Et l’action refrech initiée depuis le scénario que vous utilisez déjà sur votre virtuel, elle devrait suffire.

Je procède ainsi et cela fonctionne bien.

@Fabrice,
Merci de ta réponse.
Peux-tu préciser sur quoi faut-il faire le refresh ?
Peux-tu me donner un exemple de commande qui ferait le job ?
J’ai testé sur l’eqLogic ($virt est un string du genre « Chambre Parents »)

eqLogic::byString("#[Chauffage][".$virt."]#")->refresh();

ca ne résoud pas le problème.

Alors moi, je n’utilise pas de bloc code, car le Refrech est une commande qui existe sur les virtuels.

Dans le scénario, je sélectionne une action, mon virtuel, la commande Rafraîchir, exemple :

#[Localisation][Fabrice][Rafraichir]#

Hum… j’avais déjà testé cela et je viens de le refaire, cela ne fonctionne pas chez moi… mes « Liste » n’affichent pas la valeur poussée, bien que la valeur sélectée en cours soit bien updatée…

@Fabrice, Quelle version de Jeedom as-tu ? (j’ai testé en 4.1.19 et 4.1.20)

Quelqu’un a-t-il une idée pour résoudre ce problème ?
Un autre widget « économie de place » pourrait-il faire le même travail sans ce pb ?

Merci !

Je n’utilise QUE des Widgets Core avec Jeedom v4.1.20

merci Fabrice.

J’ai trouvé le problème…c’est les widgets liste :
Liste_Thyer et Liste_classique (sur le repository) que je voulais utiliser pour qq chose de plus joli que celui du Core, qui ne gèrent pas le refresh…

Celui du Core fonctionne effectivement comme attendu !
Quelqu’un connait-il un widget Liste joli et fonctionnel ?

Voilà j’ai modifié le code de ces deux widgets pour intégrer la mise à jour de la commande comme c’est fait dans le widget Action-Liste du Core.
Ca fonctionne comme attendu désormais.
Pour le widget Liste_Classique, cela donne :

<div style="min-width: 100px; height: 50px;" class="cmd cmd-widget reportModeHidden" data-type="action" data-subtype="select" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" >
	<center>
    <div class='cmdName' id="cmdName#id#" style="font-weight:bold;font-size:14px;#hideCmdName#;margin-bottom: 5px">#name_display#</div>
	<select class="selectCmd" style="color:#000; background-color: #0000ff; border-radius:5px; width:150px;">#listValue#</select>
	</center>

  <script>
    $(".cmd[data-cmd_uid=#uid#] .selectCmd").on('change', function () {
      jeedom.cmd.execute({id: '#id#', value: {select: $(this).value()}})
    })

    jeedom.cmd.update['#id#'] = function(_options) {
      $(".cmd[data-cmd_uid=#uid#] .selectCmd").val(_options.display_value)
    }
  </script>
</div>

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.