Hello,
Je suis entrain de faire un plugins pour la production et consomation solaire de la maison.
Je suis sur la partie visuel et j’ai un problème de raffraichissement,
en effet dans ma class extends eqLogic, j’ai créé la fonction suivante :
public function toHtml($_version = 'dashboard') {
$replace = $this->preToHtml($_version);
if (!is_array($replace)) {
return $replace;
}
$version = jeedom::versionAlias($_version);
// Liste des commandes à récupérer et remplacer
$commandsToReplace = array(
'fronius_pac',
'home_instant_consomation',
'fronius_powerreal_p_sum',
'fronius_day_energy',
'daily_cumulativeImport',
'daily_cumulativeExport',
'daily_autoconsomation'
);
$replace["#reverseWay#"] = $replace["#animated_solar#"] = "";
// Parcourir les commandes à remplacer
foreach ($commandsToReplace as $commandName) {
$cmd = $this->getCmd(null, $commandName);
if (is_object($cmd) && $cmd->getType() == 'info') {
$commandValue = $cmd->execCmd();
if ($commandName == "fronius_powerreal_p_sum"){
if ($commandValue < 0){
$replace["#reverseWay#"] = "reverse";
$commandValue = abs($commandValue);
}
}
if ($commandName == "fronius_pac" && $commandValue > 0){
$replace["#animated_solar#"] = "animated";
}
$w = $this->convertToReadablePower($commandValue);
$replace["#".$commandName."_unite#"] = $w['unite'];
$replace["#".$commandName."#"] = $w['value'];
} else {
$replace['#' . $commandName . '#'] = 'Valeur indisponible';
}
}
return $this->postToHtml($_version, template_replace($replace, getTemplate('core', $version, 'solar', 'datamanager')));
}
Cela m’affiche bien le template dans le dossier core>template> desktop ou mobile avec les bonne valeurs lorsque je refresh mon dashboard.
Cependant j’ai une cron qui mets à jours les valeurs toutes les minutes, et mon graphique ne s’actualise pas.
Si je change le nom de la fonction toHtml en toHTML_out pour la désactiver et voir mes valeurs, elles sont bien mises à jour toutes les minutes, j’en déduit donc que j’ai un soucis sur la manière dont j’utilise la fonction toHtml.
Si vous avez des idées je suis preneurs !
Si jamais vous voulez voir à quoi ressemble le plugins en css : https://codepen.io/idoExperiences/pen/vYQMQZN
merci à vous !