Plugin avec Deamon/Dependancy

Bonjour,
Je vais peut être me lancer dans un nouveau plugin qui nécessite Deamon et/ou Dependances.
N’etant pas à l’aise avec linux, sh…
Je me pose plusieurs questions :
-1. différences entre Deamon et Dépendance
-2. Je dois installer un package .deb (deamon?) son démarrage dois etre géré par debian(sudo systemctl enable) ou par le plugin ?
3- comment se contrôle la santé du daemon ?
4- selon le choix de l’utilisateur le plugin dois installer un module/driver pour liberer le UART (comme z-wave) ce module c’est une Dépendance ou Deamon ?
5- y’a t il une contradiction qu’un plugin exécute (sudo apt-get update && sudo apt-get -y upgrade)

Merci

  1. un démon c’est un programme qui va tourner en arrière plan, en dehors du process de jeedom; il peut être écrit dans le langage de ton choix, par exemple: python (facile à gérer sous jeedom/linux, assez répandu), c# sous .net core, même en php (exemple plugin sonos)…
    les dépendances sont les librairies dont ton démon va avoir besoin (des packages python ou autre par exemple)
  2. pour la gestion du démon, ca va dépendre du langage utilisé, regarde le plugin blea par exemple pour un démon en python
  3. via la function deamon_info
  4. c’est une dépendance
  5. apt-get update non, c’est préférable de le faire avant d’installer autre chose
    apt-get -y upgrade j’éviterais, ce n’est pas au plugin à mettre à jour tout le système: tu ignores ce qui est installé et les impactes que cela pourrait avoir.

Si tu veux voir le code d’un plugin simple gérant un démon en python et des dépendances, tu peux regarder le code de #plugin-myaudi, pas sur que le github soit public, je ne sais plus, mais le plugin est gratuit :wink:

Commence dans la class du plugin par les functions dependancy_install, dependancy_info, deamon_info, deamon_start, deamon_stop
tu retrouveras la même structure dans quasi tous les plugins avec démon, mais bon, commencer par zwave ou blea quis ont des « gros » plugin peut être plus compliqué pour s’y retrouver.

4 « J'aime »

Merci pour ces explications,
Donc le module optionnel( selon la config matériel ) qui doit compiler une genre de drivers c’est une dépendance. Vu que ce n’est pas forcément nécessaire je ne sais pas comment gérer ça, peut être le panneau « Dépendances » qui s’affiche en fonction d’un select ou gérer l’installation depuis la page équipement au lieu de la page config-plugin .

Oui ok, gérer cette dépendance via les « dépendances » du plugin ca ne va pas être très adapté (ou alors tu dois l’installer dans tous les cas)
Le faire dans la config de l’équipement est une option tout à fait viable

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