Call to undefined function yaml_parse_file() sur box jeedup

Bonjour,
je voudrais utiliser ma clef Conbee II sur ma jeedup + Jeedom 4.3.32.
La clef est connectee sur un port USB de la box sans cable d’extension et semble reconnue: (la clef est neuve et sort de sa boite) → 3e ligne:

$ lsusb
Bus 002 Device 002: ID 05e3:0620 Genesys Logic, Inc.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 008: ID 1cf1:0030 Dresden Elektronik
Bus 001 Device 003: ID 0d8c:0014 C-Media Electronics, Inc. Audio Adapter (Unitek Y-247A)
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

J’essaye de suivre ce guide: 💢 Installation JeeZigbee / MQTT /JMQTT

J’ai configure mqtt manager:

Puis le plugin JeeZigbee:

→ il ne demarre pas.

Le log de z2m :

[2024-01-18 23:06:24][ERROR] : Attention je pense qu'il y a un soucis avec le démon que j'ai relancé plus de 3 fois consécutivement
[2024-01-18 23:06:24][INFO] : Arrêt du démon z2m
[2024-01-18 23:06:25][ERROR] : Erreur sur la fonction deamon_start du plugin : Call to undefined function yaml_parse_file()

Comme conseillé sur Supported Adapters | Zigbee2MQTT , j’ai insere les lignes suivantes dans /opt/zigbee2mqtt/data/configuration.yaml :

serial:
  adapter: deconz

Mais le plugin ne demarre pas… que faire?
Merci,
Yvan

Bonjour,

Ca ne sert à rien. La configuration de zigbee2mqtt avec le Plugin jeezigbee n’est pas dans ce répertoire.

Mettre le port du contrôleur sur /dev/serial/by-id de dresden_elektronik.

Pour l’erreur yaml, il manque probablement le paquet apt php yaml, ou la configuration ou extensions php est incorrecte pour la prise en compte de la lib yaml (ce qui est possible si la Jeedup a une particularité de configuration).

akenad :slight_smile:

Bonjour,

Il faut lire le log et chercher sur community l’erreur qu’on trouve, à priori aucun lien avec la config (excepté que le plugin ne la lit même pas) et déjà solutionné: Résultats de recherche pour « Call to undefined function yaml_parse_file() » - Communauté Jeedom

=> relancer les dépendances, montrer le log, redémarrer jeedom.

Merci pour l’aide rapide. J’avais deja fait a peu pres tout cela mais je l’ai refait au cas ou.
J’avais bien vu ce post Call to undefined function yaml_parse_file() - #4 par Tonio16 grace auquel d’ailleurs j’avais trouve le tuto.

Le package php-yaml est a jour.

Reading package lists...
Building dependency tree...
Reading state information...
php-yaml is already the newest version (2.2.3-2+0~20231125.35+debian10~1.gbp22e23d).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Suite conseil @akenad , j’ai mis la bonne valeur pour « Port du controleur » (ok, j’avais rate cette etape mais j avais compris que « auto » devait fonctionner)

  • Relance des dependances → log:
+ echo '*******************Begin of package installation******************'
*******************Begin of package installation******************
+ touch /tmp/jeedom_install_in_progress_z2m
+ echo 1
+ echo 2
+ sudo chmod +x /var/www/html/core/class/../../plugins/z2m/resources/pre-install.sh
+ sudo /var/www/html/core/class/../../plugins/z2m/resources/pre-install.sh
Launch pre-install of z2m dependancy
+ echo 3
+ sudo chmod +x /var/www/html/core/class/../../plugins/z2m/resources/post-install.sh
+ sudo /var/www/html/core/class/../../plugins/z2m/resources/post-install.sh
+ echo Launch post-install of z2m dependancy
Launch post-install of z2m dependancy
+ realpath /var/www/html/core/class/../../plugins/z2m/resources/post-install.sh
+ dirname /var/www/html/plugins/z2m/resources/post-install.sh
+ BASEDIR=/var/www/html/plugins/z2m/resources
+ [ -d /var/www/html/plugins/z2m/resources/zigbee2mqtt ]
+ rm -rf /var/www/html/plugins/z2m/resources/zigbee2mqtt
+ mkdir /var/www/html/plugins/z2m/resources/zigbee2mqtt
+ git clone --depth 1 https://github.com/Koenkk/zigbee2mqtt.git /var/www/html/plugins/z2m/resources/zigbee2mqtt
Cloning into '/var/www/html/plugins/z2m/resources/zigbee2mqtt'...
+ cd /var/www/html/plugins/z2m/resources/zigbee2mqtt
+ [ -f /var/www/html/plugins/z2m/resources/../data/wanted_z2m_version ]
+ npm ci

added 806 packages, and audited 807 packages in 32s

92 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
+ npm run build

> zigbee2mqtt@1.35.1 build
> tsc && node index.js writehash

+ chown www-data:www-data -R /var/www/html/plugins/z2m/resources/zigbee2mqtt
+ echo 4
+ php /var/www/html/core/class/../php/jeecli.php plugin dependancy_end z2m
+ rm /tmp/jeedom_install_in_progress_z2m
+ echo '*******************End of package installation******************'
*******************End of package installation******************

  • Redemarrage jeedom
  • Relance le demon → log:

[2024-01-19 22:45:06][ERROR] : Attention je pense qu'il y a un soucis avec le démon que j'ai relancé plus de 3 fois consécutivement
[2024-01-19 22:45:06][INFO] : Arrêt du démon z2m
[2024-01-19 22:45:07][ERROR] : Erreur sur la fonction deamon_start du plugin : Call to undefined function yaml_parse_file()
[2024-01-19 22:45:16][ERROR] : Erreur sur la fonction deamon_start du plugin : Vous devez attendre au moins 45 secondes entre deux lancements du démon. Dernier lancement : 2024-01-19 22:45:06

Le probleme persiste.

Merci pour tout conseil supplementaire,

Yvan

Bonjour
Avez-vous vérifié le firmware de la clé ?

Pourquoi avoir fait cela? C’est le plugin qui gère cela pour vous, si vous voulez faire la gestion par vous même, il faut installer zigbee2mqtt et utiliser un plugin mqtt générique. Vous mélangez les usages, amha.

Antoine

Bonjour,

Pourrais-tu fournir la page santé ?

akenad :slight_smile:

Bonjour, voici la page sante

L’erreur RFXcom est normale, je n’ai pas rebranché la clef RFXcom sur la box.
En ce qui concerne le firmware de la clef Conbee II, je n’y ai pas touché, la clef sort de sa boite.
J’ai suivi cette page Supported Adapters | Zigbee2MQTT qui m’a induit en erreur pour configuration.yaml , comme explique clairement ci-dessus, et comme plusieurs personnes ont explique que ca n etait pas la peine sur Jeedom (et je n’ai visiblement pas edite le bon fichier). Cette page parle aussi du firmware:

Warning: Conbee 2 firmware versions newer than 0x26580700 will result in an unstable network with devices dropping randomly, see Issue 9554

ce qui n’incite pas forcement a flasher la clef avec la derniere version. Je flashe donc la clef avec la version anterieure (0x26570700):

PS C:\Users\pointuri\AppData\Local\Programs\deCONZ\bin> .\GCFFlasher.exe -d COM3 -t 60 -f .\deCONZ_ConBeeII_0x26570700.bin.GCF
read file success: .\deCONZ_ConBeeII_0x26570700.bin.GCF (160892 bytes)
flash firmware
connect \\.\COM3, baudrate 115200
command UART reset done
connect \\.\COM3, baudrate 115200
query bootloader id V1
bootloader detected (60)
bootloader synced: unlock! READY
 100% uploading #############################################################
done, wait validation...
firmware successful written

Je rebranche la clef sur la box, lsusb → la clef est bien detectee, relance des dependances → statut dependances ok, redemarrage box, relance du demon → fail. Meme erreur =

[2024-01-20 11:01:55]ERROR : Erreur sur la fonction deamon_start du plugin : Call to undefined function yaml_parse_file()

Meme page de sante:

Merci,
Yvan

Pouvez-vous également montrer ce qu’il y a dans la section « Extensions php » de la page santé?

et vu l’erreur, vous pouvez faire toute ce que vous voulez avec le firmware, la clé, les configs etc, ca ne changera rien tant que cette première erreur n’est pas résolue

edit: ah je vois que c’est une jeedup… le problème est certainement là (c’est pour ca qu’il faut systématiquement fournir la page santé pour chaque demande)
je suppose que l’extension yaml est installé mais pas pour toutes les versions php (ou pas pour le mode interactif ou que sais-je)
c’est toujours le même problème avec les jeedup, le setup du système et de php est foireux

le mieux je pense est de réinstaller proprement la box, il y a des posts sur community qui explique comment

edit2: voir Adresse IP introuvable - #55 par HermioneG
ou Jeedom non démarré suite install Z2m MQTT
ou Problème redémarrage Jeedom suite mise à jour - #13 par arnaudsh

Merci, j ai corrige l’installation de php et l’extension yaml n’etait probablement pas installee non plus.
Je note que ceci est en effet certainement du a la configuration particuliere de jeedup.

Vous pouvez marquer ce sujet comme resole (plutot que doublon, mon probleme etait different).

Solution: verifier installation php (7.4.33 dans mon cas), installation yaml et declaration de l’extension dans /etc/php/7.4/cli/php.ini → extension=yaml.so (pas fait automatiquement lors de l’installation du package).

Merci a tous pour votre aide!

Yvan

Tu es en Debian Buster 10.13 qui a normalement php 7.3 et pourtant tu es en php 7.4 (apporté normalement par Debian 11 Bullseye).

extension=yaml.so dans /etc/php/7.4/cli/php.ini a résolu ton problème
mais à noter toutefois que j’ai un Rock Pi4B+ (base de l’Atlas) en Bullseye,
et que le plugin jeezigbee fonctionne (php yaml OK) sans qu’il y ait extension=yaml.so dans /etc/php/7.4/cli/php.ini
A méditer.

dommage que tu n’aies pas fourni une copie écran de la section « Extensions php » de la page santé avant ta modification.

akenad :slight_smile:

Il suffit de cocher solution sous le message qui est pour toi la solution.

En effet, j ai 5 versions de php installees en parallele. Je ne sais pas comment j en suis arrive la, j ai mis a jour la box et peut etre que ca a installe 2 php8 a ce moment la, et il y a aussi 3 php7. Je pense que la plupart etaient installees par defaut. Comme la 7.4 etait installee, je l ai selectionnee comme version par defaut (je crois que c etait la 7.3 qui etait pre-configuree), ayant lu sur la page de mqtt que je risquais d avoir un probleme de compatibilite entre mqtt et php8 quand j essayais de resoudre mon probleme.

J ai regarde la page Sante → php, il n y avait pas « yaml » dessus ni avant ni apres la manip. Mais yaml apparait quand je fais php -m sur la console (depuis jeedom ou en ssh).

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