J’ai ajouté une nouvelle commande un peu spéciale à mon plugin Eufy:
Il s’agit de l’URL vers le snapshot de la caméra que je génère dans un rép temporaire du plugin sur réception d’un event.
Ca fonctionne mais mon widget ne recharge pas l’image sur le dashboard ce qui est normal car la valeur de l’URL ne change jamais. Je voudrais donc forcer Jeedom à rafraichir cette valeur (et maj valueDate/collectDate).
Voila mon code actuel:
public static function sendEvent($cmd, $value) {
if (is_object($cmd))
if (($cmd->getLogicalId() == 'picture') ||
($cmd->execCmd() != $cmd->formatValue($value))) {
$cmd->event($value, null);
return true;
}
return false;
}
J’ai essayé $cmd->refresh() mais sans effet. Comment faire?
Merci!
Il faut faire varier l’URL en y mettant par exemple le timestamp de l’image pour que le navigateur charge l’image.
Je le fais dans le plugin meteofrance sur les cartes de vigilance:
Ça ne changera rien d’activer cela.
Cette commande info sera effectivement rafraîchie et ensuite ? Elle sera utilisée par exemple dans un élément IMG et le navigateur utilisera celle qu’il a en cache car l’URL est la même…
@mips tout a fait
La solution de @jpty fonctionne mais c’est un workaround
Il faudrait peut-être ajouter une primitive au core pour ces cas la…un nouveau type de données image?
Si on pouvait stocker directement les images en binaire dans la commande au lieu de les écrire sur le disque ca éviterait d’avoir recours à ce hack…cf mon post plus haut