Comment est géré par JEEDOM le status des dépendances?

Bonjour à tous,

J’ai besoin d’un coup de mains : J’utilise depuis bientôt 8 ans des interrupteurs EDISIO avec la clé EDISIO USB de l’époque sur un jeedom 4.3.22 tournant sur un raspberry pi 3 lui aussi d’époque. J’avais un peu galéré pour faire fonctionner EDISIO sur jeedom v4 au moment de la migration v3 vers v4.

Je migre maintenant vers une VM Synology dont voici la configuration :

  • L’hôte : un DS220+, DSM 7.2.1-69057 update 3, 18 Go ram.
  • La VM : legacy, 1 CPU, 4Go ram, 10 GO HD, USB2 ou USB3 (c’est indifféren) avec debian 11 uptodate.

J’ai 3 clé USB :

  • une rfxcom, qui a fonctionné directement,
  • une aeotec z-stick gen5 (z-wave), qui a nécessité de passer en z-wave JS avec l’option soft-reset décochée (quelle vitesse maintenant !)
  • une EDISIO que je ne peu pas faire fonctionner.

J’ai obtenu mon meilleur résultat en téléchargeant sur github le plugin EDISIO en version beta. Avec cette version :

  • la construction des dépendances est okay,
  • le lancement est OK, moyennant 2 corrections de bugs python (j’ai jamais fait de python, mais du C il y a bien longtemps…). De mémoire la beta EDISIO inclus un fichier jeedom obsolète (que j’ai remplacer par celui du plugin blea) et un décodage de trame jeedom obsolète (idem).
    Donc tout est au vert, les traces en mode débug sont bonnes, le device USB est bien ouvert, la déclaration des devices EDISIO arrive bien au démon et le passage en mode inclusion, et la sortie sont OK.
    Le seul problème est que le démon ne reçoit jamais rien de la clé. J’ai essayé les choses suivantes avec toujours le même symptôme :
  • la clé EDISIO branché sur un hub sur ds220+ en configurant usb2 ou 3 (VM)
  • la clé EDISIO directement branché sur le ds220+ en configurant usb2 ou 3 (VM),
  • la clé EDISIO branché sur un raspberry pi 3 sous debian 12 64 bits avec usbip jusqu’à la VM en configurant usb2 ou 3 (VM).
    Je ne sais donc pas si le problème est dans le démon EDISIO ou dans le « système »…

Du coup j’ai installé le github « stable ». Mais, même en modifiant le script d’installation des packages systèmes lancé par la reconstruction des dépendances, les dépendances restent NOK. Je n’ai pas essayer de lancer le démon depuis une console pour voir s’il démarre et s’il arrive a lire des data sur la clé USB …

Pas de panique, j’ai repris ma clé EDISIO que j’ai mis sur mon vieux raspberry jeedom avec un jeelink et tout fonctionne.

Mais si quelqu’un peut m’aider a terminer cette migration vers synology ce serait cool :slight_smile:

Bonjour,

J’ai tout lu et j’arrive pas vraiment à comprendre la question

  • Titre « horrible » qui veut rien dire… un sujet est sensé resumer la demande
  • aucune info concrète: log? Page santé jeedom? Page de config?
  • manque l’étiquette du plugin pour savoir de quoi on parle

Ca serait sympa d’appliquer ce qui est indiqué ici:

1 « J'aime »

Bonjour,

le plugin-edisio est obsolete depuis 2021.
Toutefois Il est accessible depuis Jeedom,

via le Market :

  • Plugins > Gestion des plugins > Market
    Saisir « &certification=Obsolète » dans le champ « Rechercher » (le tout sans les guillemets).

ou bien via Github (GitHub - jeedom/plugin-edisio) :

  • Plugins > Gestion des plugins > Plugins
    Type de source : Github
    ID logique du plugin : edisio
    Utilisateur ou organisation du dépôt : jeedom
    Nom du dépôt : plugin-edisio
    Branche : master

Pour l’installation d’un plugin depuis github jeedom, plus de détails ici : [RTEX] migration d'une Smart ZWave avec plugin-openzwave vers une Atlas avec ZStick5 et plugin-zwavejs

Sur github il y a une correction qui n’est pas sur le market : Plugin Edisio obsolete sur le market - #32 par damanujan

lesquelles ?

lesquels ?

laquelle ?

Ton problème pourrait venir du fait qu’à ma connaissance le plugin-edisio utilisait des paquets python2 (python-serial python-requests python-pyudev)
alors que par défaut Debian 11 n’a pas python2.

akenad :slight_smile:

Bonjour Akenad,

D’abord un grand merci pour l’accès au plugin obsolète ! Je ne l’avais pas trouvé et ce n’est pas faute d’avoir chercher…

Ensuite, tu décris exactement le problème : « Ton problème pourrait venir du fait qu’à ma connaissance le plugin-edisio utilisait des paquets python2 (python-serial python-requests python-pyudev)
alors que par défaut Debian 11 n’a pas python2. »

Enfin, la version EDISIO-beta sur github inclut déjà des modifications pour le passage de py2 à py3 faites par Loic. Il n’a visiblement pas eu le temps de finir et c’est cette version que j’ai modifié pour la faire fonctionner. Enfin à un détail prêt : le file-descriptor du device USB de la clé EDISIO est muet (un détail génant :slight_smile: ).

Bonjour MIPS,

Merci d’avoir pris le temps de me lire.
J’ai corrigé le titre, c’etait nécessaire :slight_smile:

Mes 2 questions sont :

  • Quels peuvent-être les causes d’un file-descriptor de device USB muet ?
  • Comment est géré par JEEDOM le status des dépendances ?
    J’ai lu un article de Loic à ce sujet, mais il concernait une évolution déclarative faite dans le core. Le plugin EDISIO n’est pas concerné, il est trop vieux.

Pour le reste, lire les traces et modifier le code, je suis autonome. Je reverserais le code à la communauté si j’arrive à stabiliser le plugin.

Ce n’est pas le core dans ce cas ci probablement (puisque vieux plugin) mais le plugin via la fonction dependency_info de la class du plugin

1 « J'aime »

Bonjour,
Il y a une erreur dans la fonction dependancy_info du plugin en beta:

	public static function dependancy_info() {
		$return = array();
		$return['progress_file'] = jeedom::getTmpFolder('edisio') . '/dependance';
		if (exec(system::getCmdSudo() . system::get('cmd_check') . '-E "python3\-serial|python3\-request|python3\-pyudev" | wc -l') >= 3) {
			$return['state'] = 'ok';
		} else {
			$return['state'] = 'nok';
		}
		return $return;
	}

Le package python3-request n’existe pas. python3-requests existe. Avec le s à la fin de request.

Le shell script d’install des dépendances est correct:

apt-get install -y python3-serial python3-requests python3-pyudev
1 « J'aime »

je n’en doutais pas vu le retour ici mais je n’avais pas regardé

edit: ca sera fixé en beta demain

Bonjour jpty,

As-tu réussi a faire fonctionner ce plugin edisio beta ?
Merci pas avance de ta réponse.

Bonjour,
Je ne l’utilise pas.
Je suis juste intervenu pour signaler le s manquant à python-requests dans la fonction qui calcule si les dépendances sont correctement installées.
S’il ne fonctionne toujours pas après la correction faite par Mips fin janvier, passez le plugin en debug, utilisez le plugin quelques temps puis fournissez ses logs ainsi que les logs de l’install des dépendances et la page Santé de votre Jeedom.

Merci pour l’info :slight_smile:

Bonjour à tous,

Pour ceux que ça intéresse, j’ai réussi à faire fonctionner le plugin Edisio dans sa version obsolète du market sur un Jeedom 4.3.23 installé « en ligne de commande » sur un debian 10.
Comme ce n’est pas la configuration recommandée par l’équipe Jeedom, j’ai mis ça sur une petite VM avec un Jeelink pour remonter les devices Edisio sur mon Jeedom principal qui lui est sur une debian 11 comme recommandé par l’équipe Jeedom.

Domotiquez bien ! :slight_smile: