Bonjour,
En effet, je n’ai pas le message « Failed to connect to localhost port 9123: Connection refused » dans mes logs.
Dans mon cas,quand cela ne fonctionne pas, j’ai juste le message « Connecting to KLF 200 », alors que lorsque cela fonctionne, j’ai ce même message « Connecting to KLF 200 » mais suivi du message « Connected to: KLF 200: Software version: 0.2.0.0.71.0, hardware version: 6, protocol version: 3.14 ».
Je n’ai pas pensé à faire un netstat au moment ou j’ai eu le problème pour voir si la connection TCP était toujours établie.
En revanche, j’ai testé la chose suivante aujourd’hui :
J’ai fait un netstat (plusieurs fois de suite) pour vérifier l’état de la connexion => Aucune connexion établie
J’ai demandé la fermeture du volet et je vois bien une connection TCP qui s’établie établie entre Jeedom et le KLF sur le port 51200.
root@jeedom:~# netstat | grep ##ip_KLF##
tcp 0 0 ##IP_Jeedom##:36750 ##ip_KLF##:51200 ESTABLISHED
Et cette connexion disparaît au bout d’un certain temps. Il faudrait que je vérifie le temps exacte.
Peut être que je n’ai pas bien compris comment fonctionne le plugin mais d’après ce que je peux voir, le daemon du plugin tourne en local sur le port 9123 « Send http://localhost:9123/devices » puis une connexion est faite sur le port 51200 vers le KLF qui est en écoute sur ce port. Est-ce bien cela ?
Du coup, je me demande comment la vérification du statut du volet toutes les minutes fonctionne ?
On voit dans les logs toutes les minutes un refresh du statut :
[2020-01-26 20:25:17][DEBUG] : Send http://localhost:9123/devices
[2020-01-26 20:25:17][DEBUG] : Result {"result": "ok", "devices": [{"type": "RollerShutter", "id": 0, "position": 99, "name": "ChambreVolet"}]}
[2020-01-26 20:25:17][DEBUG] : Update ChambreVolet at 99%
Mais comment cela est -il possible si la connexion vers le KLF200 n’est pas établie ?
Du coup, j’ai testé en envoyant une commande directement depuis la télécommande et le statut n’est pas remonté vers Jeedom. Mais bon, le test n’est peut être pas valide comme la commande est envoyée directement au Kux sans passer par le KLF200, ca peut paraître normal.
Je vais me baser sur ton bloc code pour essayer de détecter le message « Connecting to KLF 200 » non suivi du message « Connecting to KLF 200 » mais suivi du message « Connected to: KLF 200: Software version: 0.2.0.0.71.0, hardware version: 6, protocol version: 3.14 » et pour le redémarrage du daemon, je le ferai avec Jeelink.
Tu peux utiliser Jeelink en local sur ton Jeedom « Master ». Du coup, tu peux gérer tout les daemon directement via des commandes.
Je suis tombé sur ce post ou l’auteur de PyVLX indique que le KLF ne peut gérer que 2 connexions maximum et qu’au bout d’un certains nombre de tentative, les connexions ne sont plus possibles à cause du Handshake SSL qui tombe en timeout. Peut être que nous tombons sur ce ce cas. @Lunarok, un avis ?
Velux KLF200 interface connection issues
Concernant les mises à jour du firmware, je ne vois rien non plus pour le faire en automatique dans l’interface du KLF. D’après la version de mes logs, je dois être en 3.14 et la release notes donne ceci :