Page 3 sur 5

Re: Protocol SIA des alarmes

Publié : 29 août 2022, 10:26
par supeve
Hello,
J'ai trouvé une doc très intéressante sur systemd https://www.pragmaticlinux.com/2020/08/ ... g-systemd/


Si j'ai tout bien compris, le répertoire /systemd/system est root, donc mon SIA_Server.service ne peut pas s’exécuter automatiquement en user pi. (D'ailleurs, quand je le démarre manuellement, il me demande le mots de pass.

Je pense que ce qui c'est passé (Je travail sur le pi à distance en ssh) :
1- je ne pouvais pas copier SIA_Server.service de mon PC vers mon pi rep /etc/systemd/system
2- donc je l'ai copier vers /home/pi (par défaut il a eu les permission user pi)
3- je l'ai ensuite déplacé de /home/pi vers /etc/systemd/system

A priori, 2 solution :
Soit - mettre SIA_Server.service en root
Soit - autorisé le service à fonctionner en user pi, à priori il suffit de rajouter User=pi dans le SIA_Server.service.

Je teste ça plus tard.

Re: Protocol SIA des alarmes

Publié : 29 août 2022, 19:42
par supeve
Bon , c'est un echec.
Aucune des 2 solutions ne fonctionnent.

Contenu de mon SIA_Server.service :

Code : Tout sélectionner

[Unit]
Description=SIA Server Service

[Service]
Type=simple
ExecStart=/home/pi/SIA_Server.py
Restart=on-failure
RestartSec=10
#WatchdogSec=60
J'ai bien fait le :

Code : Tout sélectionner

systemctl enable SIA_Server.service

Après reboot du pi, le service est inactif.

Si je fait

Code : Tout sélectionner

systemctl start SIA_Server.service
Il me demande le mots de passe, et tout fonctionne.

Permission de SIA_Server.service

Code : Tout sélectionner

-rwxr-xr-x 1 root root  144 août  29 19:28 SIA_Server.service
J'ai du rater un truc, mais la je ne vois pas.

Re: Protocol SIA des alarmes

Publié : 29 août 2022, 20:23
par oeildefeu
Tu as fait le

Code : Tout sélectionner

systemctl enable SIA_Server.service
en root ?
ou sinon fais le avec sudo :

Code : Tout sélectionner

sudo systemctl enable SIA_Server.service

Re: Protocol SIA des alarmes

Publié : 29 août 2022, 21:02
par supeve
Oui oui, je l'ai fait.
Mais pas en root.
Je test demain en root, là le PC est éteint.

Re: Protocol SIA des alarmes

Publié : 30 août 2022, 17:45
par supeve
Hello,

J'ai fait un test (comme ca pour voir) avant de faire le "enable" en sudo.
Pour lister tous les services quelque soit leurs états :

Code : Tout sélectionner

systemctl list-unit-files --type service -all
J'ai "SIA_Server.service" marqué comme "static"



Je fait

Code : Tout sélectionner

sudo systemctl enable SIA_Server.service
Il ne me demande pas de mots de passe (bizzare), dans le terminal il m'affiche :

Code : Tout sélectionner

The unit files have no installation config (WantedBy=, RequiredBy=, Also=,
Alias= settings in the [Install] section, and DefaultInstance= for template
units). This means they are not meant to be enabled using systemctl.
 
Possible reasons for having this kind of units are:
• A unit may be statically enabled by being symlinked from another unit's
  .wants/ or .requires/ directory.
• A unit's purpose may be to act as a helper for some other unit which has
  a requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,
  D-Bus, udev, scripted systemctl call, ...).
• In case of template units, the unit is meant to be enabled with some
  instance name specified.
On dirait bien que c'est pas bon.



Je fait

Code : Tout sélectionner

sudo systemctl enable SIA_Server.service
La il me demande 2 fois le mot de passe, mais j'avais pas fait gaffe, j'ai le même genre de résultat dans le terminal.

Le message en traduction :
Les fichiers unitaires n'ont pas de configuration d'installation (WantedBy=, RequiredBy=, Also=,
Alias= paramètres dans la section [Installer], et DefaultInstance= pour le modèle
unité). Cela signifie qu'ils ne sont pas destinés à être activés à l'aide de systemctl.

Les raisons possibles d'avoir ce type d'unités sont:
• Une unité peut être activée statiquement en étant liée symboliquement à partir d'une autre unité
.et / ou .nécessite le répertoire/.
• Le but d'une unité peut être d'agir en tant qu'assistant pour une autre unité qui a
une dépendance d'exigence sur elle.
• Une unité peut être démarrée en cas de besoin via une activation (socket, chemin, minuterie,
D-Bus, udev, appel systemctl scripté,...).
• Dans le cas d'unités de modèle, l'unité est destinée à être activée avec certains
nom de l'instance spécifié.


Je vais enquêter la dessus, une rapide recherche sur le net me dit que je ne suis le seul.
Au pire, je vais voir si je ne peut-pas le démarrer automatiquement avec les outils de l'interface graphique.

Re: Protocol SIA des alarmes

Publié : 30 août 2022, 18:55
par oeildefeu
J'ai regardé de mon coté, le contenu de mon .service est bien celui que j'ai mis dans mon premier post
Je me demande si un petit

Code : Tout sélectionner

sudo systemctl daemon-reload
ne resoudrait pas en partie ton souci :-|
pour que systemctl découvre bien ce service.

Pour éviter l'erreur rajoute dans le fichier .service:

Code : Tout sélectionner

[Install]
WantedBy=multi-user.target
(j'ai modifié mon post pour prendre ça en compte)

Re: Protocol SIA des alarmes

Publié : 31 août 2022, 09:51
par supeve
Merci. Je regarde ca ce soir.

Hors Sujet:
ici, dans le userguide french version page 43, tu as une procédure pour les somfyRTS avec un RFXCOM.
http://www.rfxcom.com/downloads.htm

Re: Protocol SIA des alarmes

Publié : 31 août 2022, 18:18
par supeve
:)
Et bien bravo. Ca marche.
Je suis passé en enable!
Et après reboot il est bien actif.

Merci !

Re: Protocol SIA des alarmes

Publié : 31 août 2022, 18:48
par oeildefeu
Cool :)
Pour le hors sujet, oui effectivement mais qu'avec un 433E ... J'ai le normal 😬 pas le E

Re: Protocol SIA des alarmes

Publié : 04 oct. 2022, 19:27
par supeve
Bon, après un mois, ca marche impec.
Merci à toi.

Je passe le sujet en résolu.