Est-il possible de stopper momentanément sur une période, 20h à 6h par exemple, le rafraîchissement ou l’interrogation de mon onduleur solaredge, car il se met en veille dès qu’il n’y a plus de production, ce qui provoque des erreurs de log inutiles car les commandes ne sont plus accessibles provisoirement.
Pour info, je récupère la commande d’état de mon onduleur (veille ou production)
Merci
Donc j’ai fait dans un premier temps la solution de @Bison puis ta solution
qui me semble un peu moins violente (juste dans le log deux fois le I_statut) et deux erreur comme quoi le demon doit attendre 45’ avant de redémarrer, j’ai modifier le code
en ajoutant un sleep 50.
$_plugin_Id = 'mymodbus';
// charger le plugin
$_plugin = plugin::byId($_plugin_Id);
if (is_object($_plugin)) {
// start deamon ...
$scenario->setLog('démarrage du plugin ' . $_plugin_Id);
// Attendre 50 secondes avant de démarrer le démon
sleep(50);
$_plugin->deamon_start(true);
$scenario->setLog('status daemon du plugin : ' . $_plugin->deamon_info()['state']);
}
En regardant de plus près, je vois que l’équipement est désactivé puis le démon redémarré. C’est inutile. Même s’il s’agit du seul équipement, le démon peut continuer de tourner « à vide » sans avoir besoin d’être arrêté ou redémarré. Le plugin gère l’activation et désactivation des équipements correctement.
Le démon est fait pour lancer un client pymodbus par équipement avec une interface de communication dédiée actif. Chaque client pymodbus est indépendant des autres.
Si plus aucun équipement n’est actif, il n’y a plus de client pymodbus et le démon attend que Jeedom lui envoie une nouvelle configuration avec un équipement actif.
J’ai moyennement compris en quoi ma proposition était plus violente.
Il fait la même chose c’est à dire une désactivation ou activation de l’équipement et redémarre le démon ce qui fait du code et des étapes en plus, qui ne sont pas nécessaires comme l’indique Michel