Bonjour,
Désolé si je répète quelque chose d’existant mais je n’ai pas trouvé la solution à mon soucis.
Je suis en train de faire un design pour ma tablette. Au lieu de créer autant de virtuel qu’il y a d’infos à afficher, j’ai essayé la solution suivante:
J’ai un fichier .js avec le code que je link en début des éléments html que j’ajoute au design, pas de soucis. Dans le code js j’ai fait la fonction suivante:
function PutValueCmdId($Container,$CmdId,$Unite,$NameImg,$Height,$Width,$Convert) {
$("#"+ $Container)[0].setAttribute("data-cmd_id", $CmdId);
jeedom.cmd.update[$CmdId] = function(_options){
jeedom.cmd.execute({ // Récupération de la valeur
id: $CmdId,
success: function($Result) {
//Si il y a une image
($NameImg) ? SetImage($Container,$NameImg,$Height,$Width): null;
//Si il faut convertir la valeur heure (733 -> 07:33)
($Convert) ? $Result=ConvertHoursFormat($Result): null;
//Si il y a une unitée
($Unite) ? $("#"+ $Container).append(" " + $Result + "<font size='4'> " + $Unite ):
//Si pas d'unité
$("#"+ $Container).append(" " + $Result)}
});
} //jeedom.cmd.update
jeedom.cmd.update[$CmdId]();
} //Fin function PutValueCmdId
Ceci me permet d’avoir seulement des lignes d’appel afin d’afficher une value à l’endroit désiré su mon design, exemple:
PutValueCmdId(« TempExterieurSud »,952,« °C »,« boussole_sud30_30.png »,30,30); //Température extérieure SUD
PutValueCmdId(« TempExterieurEst »,102,« °C »,« boussole_est30_30.png »,30,30); //Température extérieure EST
PutValueCmdId(« VitesseVent »,140,« km/h »,« vent30_56.png »,30,30); //Vitesse du vent
PutValueCmdId(« PressionBaro »,141,« kPa »,« pression30_30.png »,30,30); //pression barométrique
PutValueCmdId(« Humidity »,139,"%",« humidity30_30.png »,30,30); //Humidité
Déjà à ce stade les valeurs affichées ne se mettent pas à jour toutes seules mais seulement lors d’un rafraichissement complet de la page. J’ai trouvé des sujets sur ce thème mais je n’ai pas réussi à reproduire quelque chose de fonctionnel de mon côté avec ma fonction… Pourriez-vous m’aidez svp?
L’autre chose est que je désire mettre en forme les valeurs retournées par le plugin « prevision meteo ». Ce dernier n’a pas de numéro de commande id afin de récupérer une valeur. Donc pour ce cas je passe par un virtuel, qui me crée une commande id. J’essaie en vain de récupérer la valeur d’une commande id afin de la passer en variable dans mon script mais je ne trouve pas la solution. J’aimerais récupérer la valeur, la passer dans une variable du script et en faire ce que je veux après. J’ai essayé sur le même principe que mon script précédent:
//En dur:
jeedom.cmd.update[1310] = function($Resultat){
var $Value= $Resultat.display_value;
console.log("Ma valeur: " + $Value);
} //jeedom.cmd.update
Tant bien que mal j’arrive au pire à récupérer ma valeur dans la function($Resultat) mais il m’est impossible de l’assigner à une variable js. J’ai essayé un return $Value mais cela ne fonctionne pas.
Il y aurait-il une bonne âme pour me guider svp?
Merci beaucoup et une belle journée à tous!