Synchronisation des velux ne se fait pas

Bonjour

Suite au changement d’un moteur de volet, j’ai réinitialisé mon boitier KLF200. Tout fonctionne correctement dans l’interface Velux.
J’ai également mis à jour le plugin KLF200 dont une version vient de sortir.
Lorsque j’essaie de synchroniser le boitier KLF200 avec Jeedom en utilisant la fonction prévue dans le plugin klf200, il me dit que la synchronisation a été réalisée mais ce n’est pas le cas. Je ne trouve pas mon nouveau moteur.

J’ai trouvé un post correspondant qui dit que la synchro s’est faite après redémarrage de la box. Ce que j’ai fait mais aucun changement.

Merci de vos retours d’expérience
@lunarok si tu passes par là, ça m’aiderait bien car je suis au bout de mes tests

Bonsoir,
Il y a peut-être des infos intéressantes dans les logs…

Merci pour la piste. La synchronisation ne montre pas de problème mais ça ouvre une réflexion : les équipements existants ne sont pas mis à jour.
Dans mon cas, c’est un moteur de volet qui a été changé mais l’équipement existe déjà dans ma configuration Jeedom. Le supprimer pour permettre une re-création automatique, nécessiterait que je retouche de touts mes scénarios et virtuels qui font appel à cet équipement.
Je pense à 2 alternatives :

  • Trouver dans la base de données l’identifiant Velux de l’équipement existant et le remplacer par le nouveau. Là j’aurai besoin d’aide !
  • Créer un virtuel à l’image de l’équipement, dans les scénarios et virtuels remplacer les commandes de l’équipement par les commandes du virtuel puis supprimer l’équipement et refaire le job inverse. Gros bouleau et risques d’erreurs.

On a toujours pas les logs avec ça…

Sinon cf. outil « Remplacer » du core qui est là pour ce genre de cas (remplacement d’un équipement par un autre)

@mips Les logs sont chers :wink: j’ose pas demander les logs en mode débug, ça va coûter un bras :face_with_peeking_eye:
@Franck_jeedom, vérifier aussi via mqtt explorer ce qui arrive pour s’assurer que ton nouveau volet remonte bien et sous quel.nom

Ce plugin utilise mqtt?

… Non, j’ai confondu avec plugin-vlx2mqtt :shushing_face:
( Mais je n’aurai pas confondu avec les logs :sweat_smile:)

Voici le log lorsque je demande une synchronisation des équipements.
Tout semble bien se passer sauf que le retour correspond aux équipements existants pas aux nouveaux équipements (ils portent des noms différents)
Par exemple « Volet-Cinéma », il s’appelle maintenant « Volet-Cinéma-N » dans le KLF200. Dans le log on le retrouve avec l’identifiant « id »: 12 sous le nom « Volet-Cinéma »
Dans Jeedom, après synchronisation voici ce que cela donne, ancien nom et identifiant 17 (l’ancien identifiant) :

[2025-05-07 09:55:04] DEBUG  : Result {"result": "ok", "devices": [{"id": 0, "name": "Volet-Buanderie", "type": "RollerShutter", "position": 0}, {"id": 1, "name": "Fenetre-Buanderie", "type": "Window", "position": 100}, {"id": 2, "name": "Fenetre-Tom", "type": "Window", "position": 100}, {"id": 3, "name": "Fenetre-Rose", "type": "Window", "position": 100}, {"id": 4, "name": "Volet-Rose", "type": "RollerShutter", "position": 0}, {"id": 5, "name": "Store-Rose", "type": "RollerShutter", "position": 0}, {"id": 6, "name": "Volet-Tom", "type": "RollerShutter", "position": 0}, {"id": 7, "name": "Store-Tom", "type": "RollerShutter", "position": 0}, {"id": 8, "name": "Volet-SDB", "type": "RollerShutter", "position": 20}, {"id": 9, "name": "Fenetre-SDB", "type": "Window", "position": 100}, {"id": 10, "name": "Volet-Bureau", "type": "RollerShutter", "position": 0}, {"id": 11, "name": "Fenetre-Bureau", "type": "Window", "position": 100}, {"id": 12, "name": "Volet-Cin\u00e9ma", "type": "RollerShutter", "position": 100}, {"id": 13, "name": "Volet-Dressing", "type": "RollerShutter", "position": 0}, {"id": 14, "name": "Volet-Escaliers", "type": "RollerShutter", "position": 0}, {"id": 15, "name": "Fenetre-Escaliers", "type": "Window", "position": 100}, {"id": 16, "name": "Fenetre-Cinema", "type": "Window", "position": 100}, {"id": 17, "name": "Fenetre-Dressing", "type": "Window", "position": 100}]}
[2025-05-07 09:55:04] DEBUG  : Update Buanderie (V) at 0%
[2025-05-07 09:55:04] DEBUG  : Update Buanderie (F) at 100%
[2025-05-07 09:55:04] DEBUG  : Update Tom (F) at 100%
[2025-05-07 09:55:04] DEBUG  : Update Rose (F) at 100%
[2025-05-07 09:55:04] DEBUG  : Update Rose (V) at 0%
[2025-05-07 09:55:04] DEBUG  : Update Rose (S) at 0%
[2025-05-07 09:55:04] DEBUG  : Update Tom (V) at 0%
[2025-05-07 09:55:04] DEBUG  : Update Tom (S) at 0%
[2025-05-07 09:55:04] DEBUG  : Update SdB (V) at 20%
[2025-05-07 09:55:04] DEBUG  : Update SdB (F) devient F bureau at 100%
[2025-05-07 09:55:04] DEBUG  : Update Bureau (V) at 0%
[2025-05-07 09:55:04] DEBUG  : Update Bureau (F) devient F SDB at 100%
[2025-05-07 09:55:04] DEBUG  : Update Cinéma (V) devient F Dessing at 100%
[2025-05-07 09:55:04] DEBUG  : Update Dressing (V) -- pas trouvé at 0%
[2025-05-07 09:55:04] DEBUG  : Update Escaliers (V) at 0%
[2025-05-07 09:55:04] DEBUG  : Update Escaliers (F) at 100%
[2025-05-07 09:55:04] DEBUG  : Update Cinema (F) at 100%
[2025-05-07 09:55:04] DEBUG  : Update Dressing (F) - pas trouvé at 100%
[2025-05-07 09:55:20] DEBUG  : Send http://localhost:9123/devices
[2025-05-07 09:55:20] DEBUG  : Result {"result": "ok", "devices": [{"id": 0, "name": "Volet-Buanderie", "type": "RollerShutter", "position": 0}, {"id": 1, "name": "Fenetre-Buanderie", "type": "Window", "position": 100}, {"id": 2, "name": "Fenetre-Tom", "type": "Window", "position": 100}, {"id": 3, "name": "Fenetre-Rose", "type": "Window", "position": 100}, {"id": 4, "name": "Volet-Rose", "type": "RollerShutter", "position": 0}, {"id": 5, "name": "Store-Rose", "type": "RollerShutter", "position": 0}, {"id": 6, "name": "Volet-Tom", "type": "RollerShutter", "position": 0}, {"id": 7, "name": "Store-Tom", "type": "RollerShutter", "position": 0}, {"id": 8, "name": "Volet-SDB", "type": "RollerShutter", "position": 20}, {"id": 9, "name": "Fenetre-SDB", "type": "Window", "position": 100}, {"id": 10, "name": "Volet-Bureau", "type": "RollerShutter", "position": 0}, {"id": 11, "name": "Fenetre-Bureau", "type": "Window", "position": 100}, {"id": 12, "name": "Volet-Cin\u00e9ma", "type": "RollerShutter", "position": 100}, {"id": 13, "name": "Volet-Dressing", "type": "RollerShutter", "position": 0}, {"id": 14, "name": "Volet-Escaliers", "type": "RollerShutter", "position": 0}, {"id": 15, "name": "Fenetre-Escaliers", "type": "Window", "position": 100}, {"id": 16, "name": "Fenetre-Cinema", "type": "Window", "position": 100}, {"id": 17, "name": "Fenetre-Dressing", "type": "Window", "position": 100}]}

Log de l’installation de la nouvelle version du plug-in

02/05/2025 11:33:28 Installation des dépendances
********************************************************
Hit:1 http://security.debian.org/debian-security bullseye-security InRelease
Hit:2 http://deb.debian.org/debian bullseye InRelease
Hit:3 http://deb.debian.org/debian bullseye-updates InRelease
Hit:4 http://archive.raspberrypi.org/debian bullseye InRelease
Hit:5 https://deb.nodesource.com/node_20.x nodistro InRelease
Reading package lists...
Installation des dépendances apt
Reading package lists...
Building dependency tree...
Reading state information...
python3-dev is already the newest version (3.9.2-3).
python3-venv is already the newest version (3.9.2-3).
0 upgraded, 0 newly installed, 0 to remove and 13 not upgraded.
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.
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: pyvlx in /var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages (0.2.20)
Requirement already satisfied: PyYAML in /var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages (from pyvlx) (5.4.1)
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.
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
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)
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.12.2)
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) (25.1.0)
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.18.3)
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)
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.1.0)
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)
Requirement already satisfied: propcache>=0.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) (0.2.1)
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.10)
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.
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting PyYAML==5.4.1
Downloading PyYAML-5.4.1-cp39-cp39-manylinux2014_aarch64.whl (788 kB)
Installing collected packages: PyYAML
Attempting uninstall: PyYAML
Found existing installation: PyYAML 5.4.1
Uninstalling PyYAML-5.4.1:
Successfully uninstalled PyYAML-5.4.1
Successfully installed PyYAML-5.4.1
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.
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: bottle in /var/www/html/plugins/klf200/resources/venv/lib/python3.9/site-packages (0.13.2)
********************************************************
02/05/2025 11:34:11 Installation terminée
********************************************************

Un petit effort pour les logs…

saisissez ou collez du code ici

1 « J'aime »

Bonjour

vous dites avoir réinitialisé le boitier KLF
donc etes reparti à zéro alors et donc refait toute la découverte des volets et autre sur le KLF c est bien ca ?
ca date mon install chez un ami du boitier klf mais l adresse ip n a t elle pas changée ou autre, mot de passe ? les log ne sont pas entier dommage

vous pouvez mettre des copie ecran de la config interne du klf

Bonjour

J’ai réinitialisé le boitier et remis la même adresse IP puis j’ai fait une copie d’une de mes télécommande KLF100. En fait, j’avais aussi réinitialisé une partie de la télécommande KL100 puisque j’ai eu un changement de moteur.
Tous cela a eu pour effet de changer les ID de certains éléments Velux, d’où mon besoin de resynchronisation. Pour être plus efficace, je voudrai aller modifier les ID dans la configuration du plugin, cela m’éviterait des problèmes sur mes scénarios et virtuels.
Possible d’accéder aux ID (exemple le 17 ici) ?

Non pas possible je pense
du moins avec mes connaissances

pas lu? pas vu? pas essayé?

Oui, je connais mais je ne veux pas m’embarquer dans ce type de démarche où les risques d’erreur sont importants
J’ai 18 équipements une dizaine de scénarios et plus de 20 virtuels …gros boulot et risques d’erreur.
Ma Dev n’est pas opérationnelle pour faire des tests !

Donc tu ne veux pas utiliser une fonctionnalité officielle du core accessible à un utilisateur car trop risqué mais tu veux chercher comment modifier la db pour arriver à tes fins?

Je pense que répondre « oui » à cette question veut dire que l’on peut arrêter ici.

1 « J'aime »

Une centaines de commandes à modifier, c’est plusieurs jours de modifications et de tests.
Je manipule mes équipements à distance, je ne vais pas prendre à la légère l’ouverture de ma maison.
Changer les ID serait beaucoup moins gourmand en temps et risqué.
Cela étant dit, ça ne répond pas à la question du fonctionnement de la synchronisation avec le plug-in.