Plugin Shelly - possibilité de configurer timeout?

Hello,

Quelqu’un serait-il capable de me dire si on peut configurer le timeout lors des interaction avec les modules Shelly, dans le plugin du même nom ?

Dans mon cas, j’utilise des Shelly Duo (ampoules connectées Shelly)

Et quand j’éteins l’ampoule électriquement (donc sans passer par le relais du module) il se passe un certain temps (~45 sec) avant que l’info « online » du module Shelly ne passe à 0.
Ca me parait normal, car le relais a été coupé « brutalement », il n’a donc pas le temps de communiquer une quelconque informations de status → il est éteint.

Je suppose que le temps de prise en compte de l’info vient du fait que le plugin Shelly émet une requête vers l’API du module et qu’il doit certainement attendre que celle ci tombe en timeout. Après le timeout il considère alors que le module est down et donc passe l’info online du module à « 0 ».

Tout ça n’est que supposition et je dis peut-être des bêtises. J’aimerai bien avoir confirmation et si ce que je dis tiens la route; est-ce qu’il serait possible de configurer:

  • la valeur de timeout pour les requêtes du plugin vers les modules Shelly
  • la fréquence d’interrogation du status des module sShelly, par le pugin ? (sauf si c’est pas le plugin qui décide mais qu’il ne va chercher l’info que quand Jeedom lui demande par exemple suite à une action utilisateur)

J’éspère que c’est à peu près clair.
N’hésitez pas à me demander plus d’infos.

Bonne journée à tous

Bon après avoir gratté un peu il semblerait que le plugin Shelly fasse un ping pour vérifier le status des modules: (ce que je trouve très bien pensé ^^ )

C’est cette fonction qui semble responsable de le faire:

 public function pingHost() {
                if ($this->getConfiguration('virtual','') == '1') {
                        return false;
                }
                exec(system::getCmdSudo() . "ping -c1 " . $this->getConfiguration('addr'), $output, $return_var);
                $result = ($return_var == 0) ? true : false;
                return $result;
        }

Il semblerait que cette fonction soit utilisée dans deux cas:
loadWebhook:

        public function loadWebhook() {
                if ($this->pingHost() == false) {
                        log::add('shelly', 'debug', 'Offline Shelly : ' . $this->getName());
                        return;
                }
[...]

Et refresh:

        public function refresh() {
                if ($this->getConfiguration('cloud') != 1) {
                        if ($this->pingHost() == false) {
                                log::add('shelly', 'debug', 'Offline Shelly : ' . $this->getName());
                                $this->checkAndUpdateCmd('online', 0);
                                return;
                        }
                        $this->checkAndUpdateCmd('online', 1);
[...]

J’en déduis que le plugin Shelly est tributaire d’une action dans Jeedom pour déclencher un rafraichissement du status d’un module Shelly.

Si j’ai tout suivi, la deuxième fonction « refresh » est déclenchée lorsqu’on rafraichit par exemple le widget d’un module. En effet ça se met à jour très rapidement après.

Du coup ma nouvelle question est: serait-il possible d’ajouter une option pour configurer un rafraichissement automatique et régulier des modules ?

Pour que ça soit pas trop consommateur, j’imagine que le mieux serait de proposer l’option dans les modules. Comme ça on ne l’active pas de façon générique mais au cas par cas sur les modules sur lesquels ça vaut le coup.

De plus, pour que chacun puisse faire ce qu’il veut je pense qu’une option pour configurer la fréquence de refresh serait utile.

Voilà, est-ce que quelqu’un pourrait me dire ce qu’il en pense ?

Merci d’avance
Bon week-end à tous