Installation dépendance KLF200

Il faut peut-être tester en ajoutant un équipement dessus alors…

Hello, j’ai fais un reset usine et la dernière MAJ firmeware (même si mon klf était avec le dernier firmware…)

Et :

Et avec le plugin ?

J’ai un blème de droit dans l’installe des deps :

Je vais corriger et vous reviens:

0000|********************************************************
0001|19/07/2022 12:57:31 Installation des dépendances
0002|********************************************************
0003|Hit:1 http://deb.debian.org/debian bullseye InRelease
0004|Hit:2 http://deb.debian.org/debian bullseye-updates InRelease
0005|Hit:3 http://security.debian.org/debian-security bullseye-security InRelease
0006|Hit:4 http://archive.raspberrypi.org/debian bullseye InRelease
0007|Hit:5 https://download.docker.com/linux/debian bullseye InRelease
0008|Hit:6 https://deb.nodesource.com/node_16.x bullseye InRelease
0009|Reading package lists...
0010|Installation des dépendances apt
0011|Reading package lists...
0012|Building dependency tree...
0013|Reading state information...
0014|python3-venv is already the newest version (3.9.2-3).
0015|0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
0016|WARNING: The directory '/var/www/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
0017|Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
0018|Requirement already satisfied: pyvlx in /var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages (0.2.20)
0019|Requirement already satisfied: PyYAML in /var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages (from pyvlx) (5.4.1)
0020|WARNING: The directory '/var/www/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
0021|Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
0022|Requirement already satisfied: aiohttp==3.7.4.post0 in /var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages (3.7.4.post0)
0023|Requirement already satisfied: typing-extensions>=3.6.5 in /var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages (from aiohttp==3.7.4.post0) (4.3.0)
0024|Requirement already satisfied: attrs>=17.3.0 in /var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages (from aiohttp==3.7.4.post0) (21.4.0)
0025|Requirement already satisfied: multidict<7.0,>=4.5 in /var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages (from aiohttp==3.7.4.post0) (6.0.2)
0026|Requirement already satisfied: async-timeout<4.0,>=3.0 in /var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages (from aiohttp==3.7.4.post0) (3.0.1)
0027|Requirement already satisfied: yarl<2.0,>=1.0 in /var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages (from aiohttp==3.7.4.post0) (1.7.2)
0028|Requirement already satisfied: chardet<5.0,>=2.0 in /var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages (from aiohttp==3.7.4.post0) (4.0.0)
0029|Requirement already satisfied: idna>=2.0 in /var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages (from yarl<2.0,>=1.0->aiohttp==3.7.4.post0) (3.3)
0030|WARNING: The directory '/var/www/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
0031|Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
0032|Collecting PyYAML==5.4.1
0033|Downloading PyYAML-5.4.1-cp39-cp39-manylinux2014_aarch64.whl (788 kB)
0034|Installing collected packages: PyYAML
0035|Attempting uninstall: PyYAML
0036|Found existing installation: PyYAML 5.4.1
0037|Uninstalling PyYAML-5.4.1:
0038|Successfully uninstalled PyYAML-5.4.1
0039|Successfully installed PyYAML-5.4.1
0040|WARNING: The directory '/var/www/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
0041|Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
0042|Requirement already satisfied: bottle in /var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages (0.12.21)
0043|********************************************************
0044|19/07/2022 12:57:58 Installation terminée
0045|********************************************************

Pas mieux avec le plugin :

0476|File "/var/www/html/plugins/klf200/resources/klf200d.py", line 269, in 
0477|LOOP.run_until_complete(init_pyvlx_connection(LOOP))
0478|File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
0479|return future.result()
0480|File "/var/www/html/plugins/klf200/resources/klf200d.py", line 22, in init_pyvlx_connection
0481|await pyvlx.load_nodes()
0482|File "/var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages/pyvlx/pyvlx.py", line 78, in load_nodes
0483|await self.nodes.load(node_id)
0484|File "/var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages/pyvlx/nodes.py", line 69, in load
0485|await self._load_all_nodes()
0486|File "/var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages/pyvlx/nodes.py", line 85, in _load_all_nodes
0487|await get_all_nodes_information.do_api_call()
0488|File "/var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages/pyvlx/api/api_event.py", line 21, in do_api_call
0489|await self.send_frame()
0490|File "/var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages/pyvlx/api/api_event.py", line 33, in send_frame
0491|await self.pyvlx.send_frame(self.request_frame())
0492|File "/var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages/pyvlx/pyvlx.py", line 66, in send_frame
0493|await self.connect()
0494|File "/var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages/pyvlx/pyvlx.py", line 56, in connect
0495|await house_status_monitor_enable(pyvlx=self)
0496|File "/var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages/pyvlx/api/house_status_monitor.py", line 57, in house_status_monitor_enable
0497|raise PyVLXException("Unable enable house status monitor.")
0498|pyvlx.exception.PyVLXException: 
0499|[2022-07-19 14:16:43]ERROR : KLF200 has been restarted after found not responding

Toujours sous vlx2mqtt, j’ai un comportement étrange, si j’arrête le container et que je le redémarre j’ai ca en log:

2022-07-19T12:38:17.476573709Z 2022-07-19 12:38:17,476 Starting vlx2mqtt
2022-07-19T12:38:17.476842539Z 2022-07-19 12:38:17,476 DEBUG MODE
2022-07-19T12:38:17.478407187Z 2022-07-19 12:38:17,477 Using selector: EpollSelector
2022-07-19T12:38:17.479655154Z 2022-07-19 12:38:17,479 klf200      : 192.168.1.80
2022-07-19T12:38:17.479834634Z 2022-07-19 12:38:17,479 MQTT broker : 192.168.1.145
2022-07-19T12:38:17.480017706Z 2022-07-19 12:38:17,479   port      : 1883
2022-07-19T12:38:17.480184574Z 2022-07-19 12:38:17,480   login     : jeedom
2022-07-19T12:38:17.480359868Z 2022-07-19 12:38:17,480 MQTT TLS support : False
2022-07-19T12:38:17.480529107Z 2022-07-19 12:38:17,480 statustopic : status
2022-07-19T12:38:17.480727494Z 2022-07-19 12:38:17,480 roottopic : vlx2mqtt
2022-07-19T12:38:32.440896261Z Traceback (most recent call last):
2022-07-19T12:38:32.440995631Z   File "/vlx2mqtt.py", line 255, in 
2022-07-19T12:38:32.441033038Z     LOOP.run_until_complete(main(LOOP))
2022-07-19T12:38:32.441047000Z   File "/usr/local/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
2022-07-19T12:38:32.441063185Z     return future.result()
2022-07-19T12:38:32.441075741Z   File "/vlx2mqtt.py", line 171, in main
2022-07-19T12:38:32.441138147Z     await pyvlx.load_nodes()
2022-07-19T12:38:32.441153869Z   File "/usr/local/lib/python3.9/site-packages/pyvlx/pyvlx.py", line 76, in load_nodes
2022-07-19T12:38:32.441364811Z     await self.nodes.load(node_id)
2022-07-19T12:38:32.441422589Z   File "/usr/local/lib/python3.9/site-packages/pyvlx/nodes.py", line 69, in load
2022-07-19T12:38:32.441503921Z     await self._load_all_nodes()
2022-07-19T12:38:32.441521421Z   File "/usr/local/lib/python3.9/site-packages/pyvlx/nodes.py", line 85, in _load_all_nodes
2022-07-19T12:38:32.441702956Z     await get_all_nodes_information.do_api_call()
2022-07-19T12:38:32.441726159Z   File "/usr/local/lib/python3.9/site-packages/pyvlx/api/api_event.py", line 21, in do_api_call
2022-07-19T12:38:32.441894046Z     await self.send_frame()
2022-07-19T12:38:32.441915379Z   File "/usr/local/lib/python3.9/site-packages/pyvlx/api/api_event.py", line 33, in send_frame
2022-07-19T12:38:32.442066766Z     await self.pyvlx.send_frame(self.request_frame())
2022-07-19T12:38:32.442086488Z   File "/usr/local/lib/python3.9/site-packages/pyvlx/pyvlx.py", line 66, in send_frame
2022-07-19T12:38:32.442252875Z     await self.connect()
2022-07-19T12:38:32.442271875Z   File "/usr/local/lib/python3.9/site-packages/pyvlx/pyvlx.py", line 56, in connect
2022-07-19T12:38:32.442431318Z     await house_status_monitor_enable(pyvlx=self)
2022-07-19T12:38:32.442450910Z   File "/usr/local/lib/python3.9/site-packages/pyvlx/api/house_status_monitor.py", line 56, in house_status_monitor_enable
2022-07-19T12:38:32.442615001Z     raise PyVLXException("Unable enable house status monitor.")
2022-07-19T12:38:32.442660167Z pyvlx.exception.PyVLXException:

Donc pas de connexion et toujours la même erreur PyVLXException("Unable enable house status monitor.")… Sans relancer le container, mais en faisant soit recevoir produits soit recherche de produits sur l’inerface du klf
la connexion se fait :exploding_head:

Log :

2022-07-19T12:40:55.092050700Z 2022-07-19 12:40:55,091 Starting vlx2mqtt
2022-07-19T12:40:55.092374992Z 2022-07-19 12:40:55,091 DEBUG MODE
2022-07-19T12:40:55.095621029Z 2022-07-19 12:40:55,094 Using selector: EpollSelector
2022-07-19T12:40:55.098113074Z 2022-07-19 12:40:55,097 klf200      : 192.168.1.80
2022-07-19T12:40:55.098448959Z 2022-07-19 12:40:55,097 MQTT broker : 192.168.1.145
2022-07-19T12:40:55.098672123Z 2022-07-19 12:40:55,098   port      : 1883
2022-07-19T12:40:55.098978971Z 2022-07-19 12:40:55,098   login     : jeedom
2022-07-19T12:40:55.099303986Z 2022-07-19 12:40:55,098 MQTT TLS support : False
2022-07-19T12:40:55.099609408Z 2022-07-19 12:40:55,099 statustopic : status
2022-07-19T12:40:55.099929367Z 2022-07-19 12:40:55,099 roottopic : vlx2mqtt
2022-07-19T12:41:00.583380985Z 2022-07-19 12:41:00,582 vlx nodes   : 0
2022-07-19T12:41:00.591662962Z 2022-07-19 12:41:00,589 Connected to 192.168.1.145:1883

Edit :

Si je fais la même manip sur le plugin j’ai ca en log:

0498|======== Running on http://0.0.0.0:9123 ========
0499|(Press CTRL+C to quit)

Quand t’as ca, connexion établie et tout est ok pour le plugin
Les restarts de containers, relance de daemon etc, attention le KLF aime pas ca et y réagit très mal.
Déjà c’est 1 connexion sur, certains disent 2 mais bon tous les exemples ont l’air de donner que dans la pratique c’est 1 connexion.
Et quand on coupe cette connexion, le KLF est très très très délicat et souvent la session reste ouverte et derrière ben il veut plus rien savoir, obliger de le redémarrer (d’ou les options de reboot dans le plugin)

Donc si vlx2mqtt est déjà connecté, qu’on lance le plugin derrière → KO
Si vlx2mqqt est relancé et se reconnecte → grandes chances que le KLF considère sa session encore ouverte et donc KO
Etc

Donc le test valable, c’est de redémarrer le KLK et lancer le plugin seul. Si là on a la fameuse ligne qu’il écoute sur 9123, c’est ok

Tous les test ont été réalisés en désactivant l’un ou l’autre plugin et en redémarrant le klf

Je reste sur mon idée que ça peut être lié à l’absence d’équipements sur le KLF qui aboutirait à cette erreur lors de la découverte qui est faite par la lib.

Avec la manip comme décrit plus haut sa tient:

Je n’ai malheureusement pas de produits I/O sous la main

Voilà,
j’ai testé en enlevant la dernière ligne car le groupe produit me semblait bizare mais cela ne change rien.

Je pensais qu’en faisant une remise en usine et en mettant que le pluging KLF je n’aurais pas de problème de double version de Python mais non…

Je lis version 3.7 et 3.1

> root@JeedomAtlas:~# whereis python3
> python3: /usr/bin/python3 /usr/bin/python3.7 /usr/bin/python3.7m /usr/lib/python3 /usr/lib/python3.7 /etc/python3 /etc/python3.7 /usr/local/lib/python3.7 /usr/share/python3 /usr/share/man/man1/python3.1.gz
> root@JeedomAtlas:~# which python3
> /usr/bin/python3
> root@JeedomAtlas:~# /usr/bin/python3 --version
> Python 3.7.3

néanmoins suite à l’installation de :

> apt-get -y install python3 python3-pip
j’ai enfin les dépendances installées, le demon démarré !

par contre le statut passe de OK à NOK, j’ai le même début de message raise PyVLXException mais l’argument est différent :
raise PyVLXException(« Unable to retrieve node information »)

klf200 new.txt (31,1 Ko)

Hello,

Lumières couleur cest du rgb I/o?

Si oui test sans ce device

Le ptype29 semble aussi bizarre comme groupe de produit.

C’est la doc par la commande man qui est en 3.1. Elle est aussi en 3.1 sur ma Smart.

1 « J'aime »

Depuis la suppresion du RGB le demon reste Ok…
et dans le scan je trouve mes équipements !!!

Ok donc pour résumer:

Le problème principal était donc l’installation des dépendances qui ne se font pas, @lunarok peux tu pousser une maj du plugin qui inclut dans le rep /var/www/html/plugins/klf200/resources l’install décrit plus haut dans ce post?

AIOHTTP_NO_EXTENSIONS=1 MULTIDICT_NO_EXTENSIONS=1 YARL_NO_EXTENSIONS=1 venv/bin/pip3 install aiohttp==3.7.4.post0

Pour @Kiwane le problème outre les deps venait des devices non supportés en i/o par la lib (le rgb notamment) et le deamon bouclait.
Pour ma part comme la indiqué @Salvialf c’est le fait que je n’ai pas de devices sur le klf qui crée l’erreur.

Plus de 100 postes pour en arriver là… my bad…

@Kiwane peux tu clôturer ce post interminable stp.

Un grand merci à @lunarok, @jpty et @Salvialf

Comme vu je vais ajouter l’installation de python3-dev qui ne l’est pas sur les images Jeedom Atlas. Ca évite ce genre de verrues et permet de profiter des optimisations chez tout le monde.

1 « J'aime »

Voila la seule chose faite suite à la réinitialisation de la box, l’installation de python3-dev
> apt-get -y install python3 python3-pip

Le probléme du demon n’est apparu que par la suite mais rapidement résolu par @Maxcrouz

Merci à tous je clos le sujet. :+1:t2: :+1:t2:

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.