Page 2 sur 5

Re: Protocol SIA des alarmes

Publié : 18 août 2022, 19:07
par supeve
Super merci.
Donc effectivement, j'ai la 2.7 et 3.7
Je vais faire la suite demain soir.

Re: Protocol SIA des alarmes

Publié : 21 août 2022, 18:22
par supeve
Hello, bon c'est le bazar.
C'est pas nouveau je n'arrive jamais du premier coup.

Ca va pas être simple à expliquer puisque je n'y comprend plus rien...

Je vais reprendre du début:
Je suis sur un PI4 avec domoticz 2022.1 (dans sa fenêtre "à propos" j'ai Python3.7.3)
la commande python -V me donne Python3.8.0
python +"touche" tab, version 2.7 + 3.7 + 3.8 + 3.9

Code : Tout sélectionner

sudo apt install python3-systemd
me donne

Code : Tout sélectionner

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
  cups-pk-helper gir1.2-notify-0.7 gir1.2-packagekitglib-1.0 gir1.2-polkit-1.0 gir1.2-secret-1 python3-cairo python3-certifi python3-cookies
  python3-cups python3-idna python3-jwt python3-oauthlib python3-smbc python3-urllib3
Veuillez utiliser « sudo apt autoremove » pour les supprimer.
Les NOUVEAUX paquets suivants seront installés :
  python3-systemd
0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 34,1 ko dans les archives.
Après cette opération, 243 ko d'espace disque supplémentaires seront utilisés.
Réception de :1 http://mirrors.ircam.fr/pub/raspbian/raspbian buster/main armhf python3-systemd armhf 234-2+b1 [34,1 kB]
34,1 ko réceptionnés en 1s (63,1 ko/s)     
Traceback (most recent call last):
  File "/usr/bin/apt-listchanges", line 30, in <module>
    import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
Sélection du paquet python3-systemd précédemment désélectionné.
(Lecture de la base de données... 101707 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../python3-systemd_234-2+b1_armhf.deb ...
Dépaquetage de python3-systemd (234-2+b1) ...
Paramétrage de python3-systemd (234-2+b1) ...
/usr/local/lib/python3.9/subprocess.py:931: RuntimeWarning: line buffering (buffering=1) isn't supported in binary mode, the default buffer si
ze will be used
  self.stdin = io.open(p2cwrite, 'wb', bufsize)
je remarque des erreurs "No module named 'apt_pkg'"

Code : Tout sélectionner

sudo apt install python3-requests
j'ai la meme erreur "No module named 'apt_pkg'"
Je remarque aussi qu'il me propose un "autoremove" que je fait, et encore des erreurs 'apt-pkg'

Sur "sudo pip3 install pysiaalarm" j'ai à la fin

Code : Tout sélectionner

WARNING: You are using pip version 20.2.3; however, version 22.2.2 is available.
You should consider upgrading via the '/usr/bin/python3 -m pip install --upgrade pip' command.
Le warning me propose une commande (que je fait) "/usr/bin/python3 -m pip install --upgrade pip" ca me donne de nouveau des "warning"

Code : Tout sélectionner

Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting pip
  Using cached pip-22.2.2-py3-none-any.whl (2.0 MB)
Installing collected packages: pip
  WARNING: The scripts pip, pip3 and pip3.9 are installed in '/home/pi/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pip-22.2.2
WARNING: You are using pip version 20.2.3; however, version 22.2.2 is available.
You should consider upgrading via the '/usr/bin/python3 -m pip install --upgrade pip' command.
J'ai quand meme tenté de lancer le script, mais sans surprise ca ne fonctionne pas le terminal me donne

Code : Tout sélectionner

Traceback (most recent call last):
  File "SIA_Server.py", line 5, in <module>
    import requests
ModuleNotFoundError: No module named 'requests'
Pour le moment j’arrête là, sinon ca va être pire...
Je soupçonne que mon installation de python n'est pas propre.
Mais pour l'instant, je suis perdu.
Je vais essayer de voir ce que veut dire 'apt_pkg'

J’espère que le message n'est pas trop fouillis, j'essaie d’être précis.

Mais tout de même un grand merci à toi pour l'aide que tu m'a apporté jusqu'ici.

Peut-être il me faut une "machine de test" pour faire mes essais.

Re: Protocol SIA des alarmes

Publié : 22 août 2022, 09:25
par oeildefeu
Salut,
Essaye

Code : Tout sélectionner

sudo apt install --reinstall python3-apt


Bon courage !

Re: Protocol SIA des alarmes

Publié : 22 août 2022, 18:36
par supeve
MERCI.

Ca ne me change pas trop la situation, en fait, j'ai l'impression que quand j'installe systemd ou requests, ca ne me le fait pas dans la python3.9, mais a priori, dans la python3.7

Ca avance quand meme :
Si je lance le script avec

Code : Tout sélectionner

python3.7 SIA_Server.py
Sur l'appli ajax je passe en statut "connecté" (si j'active le "rapport de test periodique)--- rien dans les logs domoticz
J'ai fait une demande de marche/arrêt toujours rien dans les logs domoticz, mais dans le terminal (là ou j'ai lancé le script) j'ai :

Code : Tout sélectionner

Event: ARM : True
Last event: Content: #AAAA|Nri1/CL501]_16:18:43,08-22-2022, Zone: 1, Code: CL, Message: 501, Concerns: User number, Type: Closing Report, Description: System armed, normal, Account: AAAA, Receiver: None, Prefix: L0, Timestamp: 2022-08-22 16:18:43, Length: 003A, Sequence: 0015, CRC: 172F, Calc CRC: 172F, Message type: Closing Report, Encrypted Content: None, Full Message: "SIA-DCS"0015L0#AAAA[#AAAA|Nri1/CL501]_16:18:43,08-22-2022., gave error in user function: HTTPConnectionPool(host='192.168.0.80', port=80): Max retries exceeded with url: /json.htm?type=command&param=switchlight&idx=64&switchcmd=On (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0xb55fe6d0>: Failed to establish a new connection: [Errno 111] Connection refused')).
Event: ARM : False
Last event: Content: #AAAA|Nri1/OP501]_16:19:00,08-22-2022, Zone: 1, Code: OP, Message: 501, Concerns: User number, Type: Opening Report, Description: Account was disarmed, Account: AAAA, Receiver: None, Prefix: L0, Timestamp: 2022-08-22 16:19:00, Length: 003A, Sequence: 0016, CRC: 98D0, Calc CRC: 98D0, Message type: Opening Report, Encrypted Content: None, Full Message: "SIA-DCS"0016L0#AAAA[#AAAA|Nri1/OP501]_16:19:00,08-22-2022., gave error in user function: HTTPConnectionPool(host='192.168.0.80', port=80): Max retries exceeded with url: /json.htm?type=command&param=switchlight&idx=64&switchcmd=Off (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0xb55fec70>: Failed to establish a new connection: [Errno 111] Connection refused')).
Je suppose que dans le script il faudrait que je change le port de domoticz (remplacer 80 par 8080).
port 80 _domoticz en https
ports8080 _ domoticz en http

Re: Protocol SIA des alarmes

Publié : 22 août 2022, 18:59
par supeve
:D
CA MARCHE
Avec le port 8080 j'ai bien la remontée dans domoticz !
Un grand merci à toi, ca ouvre plein de possibilité.
Donc du coup, je ne sais pas trop pourquoi ca n'allais pas, mais laà en python3.7 (et uniquement en 3.7) c'est bon.
Je vais faire un peu plus tard un post récapitulatif, ca peut servir à d'autre.
Merci ;)

Re: Protocol SIA des alarmes

Publié : 22 août 2022, 19:11
par supeve
oeildefeu a écrit : 15 août 2022, 10:37 Bonjour,
j'ai créé un /etc/systemd/system/SIA_Server.service

Pensez à changer le chemin si ce n'est pas /home/pi/SIA_Server.py

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
Puis je l'ai activé : systemctl enable SIA_Server.service
Du coup, j'ai encore une question,
Quel est l’intérêt de le mettre en service?
Il y a sûrement une modification à faire si pour moi je suis obligé de le lancer avec la commande

Code : Tout sélectionner

python3.7 SIA_Server.py
Peut être je peut déjà commencer par supprimer les python qui ne me servent plus (les 3.8 et 3.9).
En même temps, j’hésite à migrer sous synology/docker, c'est peut-être le moment

Re: Protocol SIA des alarmes

Publié : 22 août 2022, 19:25
par oeildefeu
Pour le mettre en service, qui se fait en 2 étapes:
1. d'abord il faut rendre ton script exécutable

Code : Tout sélectionner

chmod +x SIA_Server.py
Ensuite pour vérifier que tout est OK tu peux essayer de le lancer en tapant

Code : Tout sélectionner

./SIA_Server.py 
2. faire les étapes que j'ai mises en haut.

L'intérêt est que ça démarre avec le raspberry automatiquement et que si il s'arrête pour une raison X ou Y, il sera automatiquement relancé.

Re: Protocol SIA des alarmes

Publié : 24 août 2022, 18:17
par supeve
Bien reçu.
Merci.
Je fais ça bientôt, les journées sont trop courte.

Re: Protocol SIA des alarmes

Publié : 28 août 2022, 08:29
par supeve
Hello,
Merci. :P


Code : Tout sélectionner

chmod +x SIA_Server.py
Fait.

Code : Tout sélectionner

./SIA_Server.py 
Fait et ca marche. J'ai "la chance" d'avoir un plug un peu loin qui me fait des brèves déconnections env 1sec. Je les reçois dans le "dummy text" mais pas dans l'appli ajax (dans l'appli il faut quelles soient plus longue).

Code : Tout sélectionner

systemctl enable SIA_Server.service
Fait, mais je ne sait pas pourquoi ca ne se lance pas automatiquement au démarrage.
Je le voit en faisant un :

Code : Tout sélectionner

systemctl status SIA_Server.service
Si je fait :

Code : Tout sélectionner

systemctl start SIA_Server.service
La il démarre et fonctionne, mais ne redémarre pas automatiquement après un reboot.

:idea: J'ai tout mis en place à distance "en ssh" je vais voir si il n'y a pas un problème de "droit utilisateur" ou un truc dans le genre. Encore merci !

Re: Protocol SIA des alarmes

Publié : 28 août 2022, 09:40
par supeve
J'ai regardé les permissions dans systemd/system, j'ai :

Code : Tout sélectionner

-rw-r--r-- 1 pi   pi    144 août  27 09:28 SIA_Server.service
D'apres la doc ubuntu https://doc.ubuntu-fr.org/permissions
le propriétaire peu lire et ecrire
le groupe peu lire
le reste du monde peu lire

Je me demande si je ne devrais pas le mettre en :

Code : Tout sélectionner

-rwxr-xr-x 1 pi   pi    144 août  27 09:28 SIA_Server.service
le propriétaire peu lire et ecrire et executer
le groupe peu lire et executer
le reste du monde peu lire et executer



Ou bien tout simplement le mettre en root :

Code : Tout sélectionner

[code]-rw-r--r-- 1 root   root    144 août  27 09:28 SIA_Server.service
[/code]


Tu sais me dire ce que tu as toi ?
Commande

Code : Tout sélectionner

ls -l
dans le repertoire /etc/systemd/system