[RTEX] Pi3B : Raspberry Pi OS : Rflink : buster bullseye ou bookworm 32 bits ou 64 bits?

Matériel DIY (Je ne vous mets pas de lien : 2 mois plus tard ils ne sont plus valides)

  • Raspberry 3B + boitier element14 + SSD 128 Giga
  • Dongle aeotec z-Stick gen5+
  • Rflink : clone arduino mega intégrée dans le boitier
    • MEGA 2560 Pro Mini MicroUSB intégré ATmega2560-16AU USB CH340G
      2026-01-25 16-31-42-Arduino-Mega-Pro-Mini-2560
  • Wifinfo 3.0.1 sur ESP32 connecté compteur linky (câble 10 mètres)
  • Z-Wave : Plug NAS-WR01ZE, Thermostat SRT321, Thermostat SCS317
  • Wifi : Radiothermostat CT50
  • Adaptateur pour programmer le SSD
    • Connecté à l’ordinateur il permet de programmer l’image Raspbian avec Rpi Imager
      2026-01-25 16-40-41-Adaptateur-USB-mSata-M2

Logiciel

  • Raspbian buster 32 bits
  • Plugin CloudSyncPro
  • Plugin Jeedom Connect
  • Plugin Mail
  • Plugin Network
  • Plugin Rflink
  • Plugin Script ( .sh et python2 )
  • Plugin Teleinfo
  • Plugin Virtual
  • Plugin Z-Wave

Suite au passage du 1 janvier 2026 : J’ai appliqué le patch temporaire suivant:
1 janvier 2026 : Les scénarios ne se lancent plus : Patch temporaire

J’ai lu avec intérêt le post suivant :
Pi3B+ : Raspberry Pi OS : 32 bits ou 64 bits?

Plugin-Rflink:
Dans tous les cas, il faut récupérer le patch pour le plugin RfLink là:
Rflink non fonctionnel : Procédure d’installation
Lien direct : rflink.txt (4,0 Mo) (à renommer en .zip)

Et appliquer la procédure d’installation décrite en utilisant l’Editeur de Fichier

- 1er Test KO Raspbian Bullseye 64 bits : Problème communication Rflink

  • Ca ne vient pas du plugin Rflink …

  • 1er symptôme: on pert des messages, certains capteurs ne sont même pas actualisés

  • dmesg: WARN::dwc_otg_hcd_urb_dequeue

  • 2ème symptôme: La communication se bloque définitivement: il faut redémarrer jeedom

  • dmesg: ch341-uart ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32

  • C’est curieux on a les mêmes messages que le topic Pi3B+ : Raspberry Pi OS : 32 bits ou 64 bits?

  • En cherchant beaucoup il semblerait qu’il y ait un bug dans le noyau

  • Mais lisant bien la chance est avec nous :smiley: mais pas forcément avec jeedom : Le bug semble ne pas exister sur la version Raspian bullseye 32 bits :joy:

  • Voir l’issue ch341-uart ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32

    • Pas de chance c’est ce chip qui est utilisé dans mon clone arduino mega :frowning_face:

Conclusions Raspbian bullseye 64 bits:

  • Si vous avez un module USB quel qu’il soit et que vous avez des problèmes de communication, exécutez dmesg pour avoir les messages d’erreur
  • A priori, pas de solution avec des options dans /boot/config.txt
    • L’option dtoverlay=dwc2 peut être un contournement mais elle interdit le boot sur SSD

- 2ème Test OK Raspbian Bullseye 32 bits : Rflink OK

- 3ème Test KO Raspbian Bookworm 64 bits : Rflink KO

  • Pour les Plugins : Même procédure que pour la version Bookworm 32 bits
  • Au bout de 10 heures de fonctionnement : Plus de réception avec Rflink
  • dmesg
  • ch341-uart ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
  • Santé de Jeedom (Raspbian Bookworm 64 bits )

- 4ème Test OK Raspbian Bookworm 32 bits : Rflink OK

  • Santé de Jeedom (Raspbian Bookworm 32 bits )

  • On sent que l’on ne va pas arriver à une solution idéale mais plutôt à un compromis: Python2 a disparu

  • Rflink : Appliquer le patch bien sur, relance des dépendances, mise à jour du port: c’est ok

  • Script

    • Dans mon cas particulier, ils sont en Python2 (comme le plugin ZWave)
    • Plusieurs solutions de contournement existent (package de bullseye, …)
    • Alors j’ai demandé de l’aide à l’IA
    • Dans la plupart des cas, si vous n’avez pas la bonne réponse, c’est que vous n’avez pas posé la bonne question ou quelle n’est pas assez précise. Je sais ça fâche mais il faudra s’y faire
    • Meilleure solution temporaire : Compilation depuis les sources
    • INSTALL_DIR=« /usr/local/python2 »
    • PYTHON_VERSION=« 2.7.18 »
    • Et avec un s’il te plait, peux tu me générer un script pour Raspbian Bookworm :smiley:
    • Demander d’ajouter l’installation de pip nécessaire à l’installation d’autres modules
    • Alors il faut être très patient surtout si on valide les optimisations qui permettent de gagner 5 à 7% …
    • Après 1 heure 30 de compilation, python2 est là
    • Ajouter le lien /usr/bin/python2
      • sudo ln -s /usr/local/python2/bin/python2.7 /usr/bin/python2
    • Modifier le lien pour avoir /usr/bin/python pour qu’il lance python2 par défaut (ça c’est la seule modification qui peut casser )
      • sudo ln -sf /usr/bin/python2 /usr/bin/python
    • Pour les programmeurs, ça donne çà
ls -l /usr/bin/python*
lrwxrwxrwx 1 root root      16 22 janv. 11:46 /usr/bin/python -> /usr/bin/python2
lrwxrwxrwx 1 root root      32 22 janv. 11:43 /usr/bin/python2 -> /usr/local/python2/bin/python2.7
lrwxrwxrwx 1 root root      10  9 avril  2023 /usr/bin/python3 -> python3.11
-rwxr-xr-x 1 root root 6618304 28 avril  2025 /usr/bin/python3.11
lrwxrwxrwx 1 root root      35 28 avril  2025 /usr/bin/python3.11-config -> aarch64-linux-gnu-python3.11-config
lrwxrwxrwx 1 root root      17  9 avril  2023 /usr/bin/python3-config -> python3.11-config
  • Voilà tous les scripts en Python2 fonctionnent
  • Il y a peut être une meilleure solution …
  • Si vous avez des scripts en Python3 : ils ne fonctionneront plus (J’ai cru comprendre que ça dépend de l’extension (.py ou .PY) et de la première ligne (#!/usr/bin/env python3) : je n’ai pas testé )

- CloudSyncPro

  • Le problème ne vient pas du plugin mais du réseau : L’installation des dépendances (rpi-clone) boucle car c’est trop long
    • Message d’alerte Attention : l’installation des dépendances a dépassé le temps maximum autorisé : 0min
  • Dans le plugin le temps d’installation maximum des dépendances étant mis à zéro, c’est le temps par défaut du core qui est utilisé et celui-ci est trop court pour la RPI3B et le débit du réseau
  • Contournement :
    • Soit ‹ Désactiver la Gestion automatique › des dépendances et cliquer sur ‹ Relancer ›
    • Soit modifier avec l’Editeur de fichier le temps dans le fichier html/plugins/cloudsyncpro/plugin_info/info.json pour mettre 30 minutes
      • Remplacer "maxDependancyInstallTime" : 0,
      • Par "maxDependancyInstallTime" : 30,
      • P.S. cette modification sera supprimée lors de la prochaine mise à jour du plugin

- Jeedom Connect

- Mail, Network, Teleinfo, Virtual

  • Relancer l’installation des dépendances si ce n’est pas fait automatiquement

  • Zwave (openzwave)

    • Il faudra migrer sous ZWaveJS et voir la charge cpu/mémoire (mais plus tard)

- 5ème Test : Migration ZwaveJS : Plus tard quand il fera chaud et que je n’aurai pas besoin du chauffage

donc dans le fichier de post install mettre

sudo NODE_OPTIONS="--max_old_space_size=2048" npm run build

Compatibilité Bookworm : Janvier 2026 C’est là:

Compatibilité des plugins avec Debian 12 - Bookworm, php 8, python 3.11

En attendant, çà donne çà et pas de modif tant qu’il fait froid

Raspbian Bookworm 32 bits :

  • Le test est en cours : Il faut attendre pour voir si la réception Rflink ne se bloque pas !!!
  • Après 12 heures de fonctionnement, Rflink est toujours OK
  • dmesg : Pas d’erreur de communication
  • 2 jours plus tard : Rflink fonctionne toujours
  • dmesg : Pas d’erreur de communication

Bonjour,

Conclusions pour la migration vers Bullseye ou Bookworm avec Rflink

  • Finalement c’est Bookworm mais Bullseye fonctionne aussi (mais j’ai testé plus longtemps sur Bookworm)

  • Avant toute migration il faut faire une sauvegarde et la télécharger sur son ordinateur personnel et la conserver !!! et notez la version de debian de cette sauvegarde

  • Pourquoi ? : @ngrataloup : on ne peut pas forcément restaurer une sauvegarde sur une version de debian antérieure !!!

  • Si cela est possible prendre un nouveau support (SD SSD). cela vous permettra de revenir à la version précédente en mettant l’ancien support

  • Prendre absolument une version Raspbian 32 bits

    • Les versions 64 bits ont des incompatibilités avec certains modules usb serial (ch340/ch341) qui peuvent entraîner un arrêt définitif des communications (reboot obligatoire)
    • Et puis la mémoire, c’est pas comme si avec une raspberry 3B on en avait en trop (Avec la même configuration et les mêmes plugins : 32 bits : 62% libre - 64 bits : 46% libre)
  • Appliquer le patch Rflink : le lien et la procédure sont donnés ci-dessus

  • J’ai configuré heartbeat à 5 avec relance du démon

  • Configurer le port (qui peut avoir changé)

    • Perso, je débranche l’usb du rflink puis je le rebranche, puis avec l’écran et clavier ou en ssh (putty ou un autre), dmesg : on obtient tout de suite le device de Rflink (si ce n’est pas le cas, peut-être un problème de driver ?)
[   13.289788] usbcore: registered new interface driver usbserial_generic
[   13.289846] usbserial: USB Serial support registered for generic
[   13.306028] usbcore: registered new interface driver ch341
[   13.306125] usbserial: USB Serial support registered for ch341-uart
[   13.308922] ch341 1-1.5:1.0: ch341-uart converter detected
[   13.311742] usb 1-1.5: ch341-uart converter now attached to ttyUSB0

  • Re-lancer l’installation des dépendances
    • Analyse / Logs : section rflink_packages : Les logs d’installation des dépendances
  • Vérification : Analyse / Logs : section rflink_node : vous devriez voir les messages reçus

Annexes :

  • Logs d’installation des dépendances :
0000|+ echo '*******************Begin of package installation******************'
0001|*******************Begin of package installation******************
0002|+ touch /tmp/jeedom_install_in_progress_rflink
0003|+ echo 1
0004|+ echo 2
0005|+ sudo chmod +x /var/www/html/core/class/../../resources/install_nodejs.sh
0006|+ sudo /var/www/html/core/class/../../resources/install_nodejs.sh
0007|Atteint :1 http://raspbian.raspberrypi.com/raspbian bookworm InRelease
0008|Atteint :2 http://archive.raspberrypi.com/debian bookworm InRelease
0009|Atteint :3 https://deb.nodesource.com/node_22.x nodistro InRelease
0010|Lecture des listes de paquets…
0011|W: http://raspbian.raspberrypi.com/raspbian/dists/bookworm/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
0012|Lecture des listes de paquets…
0013|Construction de l'arbre des dépendances…
0014|Lecture des informations d'état…
0015|lsb-release est déjà la version la plus récente (12.0-1).
0016|build-essential est déjà la version la plus récente (12.9).
0017|apt-utils est déjà la version la plus récente (2.6.1).
0018|git est déjà la version la plus récente (1:2.39.5-0+deb12u3).
0019|0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
0020|[Check Version NodeJS actuelle : v22.15.0 : [  OK  ]
0021|[Check Prefix : /usr and sudo prefix : /usr and www-data prefix : /usr : [  OK  ]
0022|Clean npm cache
0023|npm warn using --force Recommended protections disabled.
0024|+ echo 3
0025|+ sudo chmod +x /var/www/html/core/class/../../resources/install_nodejs.sh
0026|+ sudo /var/www/html/core/class/../../resources/install_nodejs.sh
0027|Atteint :1 http://archive.raspberrypi.com/debian bookworm InRelease
0028|Atteint :2 http://raspbian.raspberrypi.com/raspbian bookworm InRelease
0029|Atteint :3 https://deb.nodesource.com/node_22.x nodistro InRelease
0030|Lecture des listes de paquets…
0031|W: http://raspbian.raspberrypi.com/raspbian/dists/bookworm/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
0032|Lecture des listes de paquets…
0033|Construction de l'arbre des dépendances…
0034|Lecture des informations d'état…
0035|lsb-release est déjà la version la plus récente (12.0-1).
0036|build-essential est déjà la version la plus récente (12.9).
0037|apt-utils est déjà la version la plus récente (2.6.1).
0038|git est déjà la version la plus récente (1:2.39.5-0+deb12u3).
0039|0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
0040|[Check Version NodeJS actuelle : v22.15.0 : [  OK  ]
0041|[Check Prefix : /usr and sudo prefix : /usr and www-data prefix : /usr : [  OK  ]
0042|Clean npm cache
0043|npm warn using --force Recommended protections disabled.
0044|+ echo 4
0045|+ sudo chmod +x /var/www/html/core/class/../../resources/install_composer.sh
0046|+ sudo /var/www/html/core/class/../../resources/install_composer.sh
0047|Begin installation of composer
0048|--2026-01-27 16:40:59--  https://getcomposer.org/installer
0049|Résolution de getcomposer.org (getcomposer.org)… 2001:41d0:304:300::18ef, 57.128.19.244
0050|Connexion à getcomposer.org (getcomposer.org)|2001:41d0:304:300::18ef|:443… connecté.
0051|requête HTTP transmise, en attente de la réponse… 200 OK
0052|Taille : 59524 (58K) [application/octet-stream]
0053|Sauvegarde en : « composer-setup.php »
0054|0K .......... .......... .......... .......... .......... 86% 2,86M 0s
0055|50K ........                                              100% 35,0M=0,02s
0056|2026-01-27 16:41:04 (3,28 MB/s) — « composer-setup.php » sauvegardé [59524/59524]
0057|All settings correct for using Composer
0058|Downloading...
0059|Composer (version 2.9.4) successfully installed to: /var/www/composer.phar
0060|Use it: php composer.phar
0061|End installation of composer
0062|+ echo 5
0063|+ cd /var/www/html/core/class/../../plugins/rflink/resources
0064|+ rm -rf node_modules
0065|+ sudo NODE_OPTIONS=--dns-result-order=ipv4first npm install
0066|added 44 packages, and audited 45 packages in 8s
0067|20 packages are looking for funding
0068|run `npm fund` for details
0069|found 0 vulnerabilities
0070|+ sudo chown -R www-data:www-data node_modules package.json package-lock.json rflink rflink.js rflink.js.old update_firmware.sh
0071|+ echo 6
0072|+ php /var/www/html/core/class/../php/jeecli.php plugin dependancy_end rflink
0073|+ echo 7
0074|+ rm /tmp/jeedom_install_in_progress_rflink
0075|+ echo '*******************End of package installation******************'
0076|*******************End of package installation******************
  • Logs des messages reçus:
14038|[2026-01-29T10:27:16.780Z]  INFO  Données RFLink reçues: 20;FD;X10Sensor;ID=090205;VOLT=0039;
14039|[2026-01-29T10:27:16.780Z]  INFO  processRFLinkData | type: 20 |trimmedData : 20;FD;X10Sensor;ID=090205;VOLT=0039;
14040|[2026-01-29T10:27:16.781Z]  INFO  processRFLinkData | sendToJeedom
14041|[2026-01-29T10:27:16.831Z]  INFO  Données envoyées à Jeedom:
14042|[2026-01-29T10:27:16.832Z]  INFO  	- url : http://127.0.0.1:80/plugins/rflink/core/api/rflink.php?apikey=iU67TDmW9YqVpEv1LFZx7SMZaCcNFRIuJPMgDRLF5CKQQWmEv4mEpQfl2AV13Q90&messagetype=saveValue&type=rflink
14043|[2026-01-29T10:27:16.832Z]  INFO  	- data : 20;FD;X10Sensor;ID=090205;VOLT=0039;...
14044|[2026-01-29T10:27:16.832Z]  INFO  		-> Resultat requete : 200
14045|[2026-01-29T10:27:26.191Z]  INFO  Données RFLink reçues: 20;FE;Oregon BTH;ID=5A01;TEMP=00be;HUM=54;HSTATUS=0;BARO=03a3;BFORECAST=1;BAT=OK;
14046|[2026-01-29T10:27:26.192Z]  INFO  processRFLinkData | type: 20 |trimmedData : 20;FE;Oregon BTH;ID=5A01;TEMP=00be;HUM=54;HSTATUS=0;BARO=03a3;BFORECAST=1;BAT=OK;
14047|[2026-01-29T10:27:26.192Z]  INFO  processRFLinkData | sendToJeedom
14048|[2026-01-29T10:27:26.304Z]  INFO  Données envoyées à Jeedom:
14049|[2026-01-29T10:27:26.304Z]  INFO  	- url : http://127.0.0.1:80/plugins/rflink/core/api/rflink.php?apikey=iU67TDmW9YqVpEv1LFZx7SMZaCcNFRIuJPMgDRLF5CKQQWmEv4mEpQfl2AV13Q90&messagetype=saveValue&type=rflink
14050|[2026-01-29T10:27:26.304Z]  INFO  	- data : 20;FE;Oregon BTH;ID=5A01;TEMP=00be;HUM=54;HSTATUS=...
14051|[2026-01-29T10:27:26.304Z]  INFO  		-> Resultat requete : 200
14052|[2026-01-29T10:27:41.205Z]  INFO  Données RFLink reçues: 20;FF;OWL_CM180;ID=003C;WATT=0243;KWATT=028e179a;
14053|[2026-01-29T10:27:41.206Z]  INFO  processRFLinkData | type: 20 |trimmedData : 20;FF;OWL_CM180;ID=003C;WATT=0243;KWATT=028e179a;
14054|[2026-01-29T10:27:41.206Z]  INFO  processRFLinkData | sendToJeedom
14055|[2026-01-29T10:27:41.354Z]  INFO  Données envoyées à Jeedom:
14056|[2026-01-29T10:27:41.354Z]  INFO  	- url : http://127.0.0.1:80/plugins/rflink/core/api/rflink.php?apikey=iU67TDmW9YqVpEv1LFZx7SMZaCcNFRIuJPMgDRLF5CKQQWmEv4mEpQfl2AV13Q90&messagetype=saveValue&type=rflink
14057|[2026-01-29T10:27:41.354Z]  INFO  	- data : 20;FF;OWL_CM180;ID=003C;WATT=0243;KWATT=028e179a;...
14058|[2026-01-29T10:27:41.354Z]  INFO  		-> Resultat requete : 200
14059|[2026-01-29T10:28:00.893Z]  INFO  Données RFLink reçues: 20;00;Oregon Temp;ID=DD10;TEMP=800a;BAT=OK;
14060|[2026-01-29T10:28:00.894Z]  INFO  processRFLinkData | type: 20 |trimmedData : 20;00;Oregon Temp;ID=DD10;TEMP=800a;BAT=OK;
14061|[2026-01-29T10:28:00.894Z]  INFO  processRFLinkData | sendToJeedom
14062|[2026-01-29T10:28:00.956Z]  INFO  Données envoyées à Jeedom:
14063|[2026-01-29T10:28:00.957Z]  INFO  	- url : http://127.0.0.1:80/plugins/rflink/core/api/rflink.php?apikey=iU67TDmW9YqVpEv1LFZx7SMZaCcNFRIuJPMgDRLF5CKQQWmEv4mEpQfl2AV13Q90&messagetype=saveValue&type=rflink
14064|[2026-01-29T10:28:00.957Z]  INFO  	- data : 20;00;Oregon Temp;ID=DD10;TEMP=800a;BAT=OK;...
14065|[2026-01-29T10:28:00.957Z]  INFO  		-> Resultat requete : 200

Je ne serai pas aussi exhaustif (toute version de debian vers toute autre version de debian anterieure) mais je sais juste que la restauration d’ une save de Jeedom faite sur DEB12, NE FONCTIONNERA PLUS si on la restaure sur DEB11
cherchez : « Your Composer dependencies require a PHP version » « 8.2.0 » dans le community, vous aurez plein de retours

C’est le seul cas de pb de restau que je connaisse !

Norbert

Bonjour,

Merci pour cette précision, c’est pour ça que je suis resté évasif en mettant pas forcément et que j’ai insisté sur le fait qu’il faut absolument conserver sa sauvegarde de départ avant la migration

Merci pour cette précision