[Python] Protocol SIA des alarmes
Re: Protocol SIA des alarmes
Donc effectivement, j'ai la 2.7 et 3.7
Je vais faire la suite demain soir.
Re: Protocol SIA des alarmes
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-systemdCode : 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)
Code : Tout sélectionner
sudo apt install python3-requestsJe 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.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.
Code : Tout sélectionner
Traceback (most recent call last):
File "SIA_Server.py", line 5, in <module>
import requests
ModuleNotFoundError: No module named 'requests'
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
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.pyJ'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¶m=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¶m=switchlight&idx=64&switchcmd=Off (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0xb55fec70>: Failed to establish a new connection: [Errno 111] Connection refused')).
port 80 _domoticz en https
ports8080 _ domoticz en http
Re: Protocol SIA des alarmes
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
Du coup, j'ai encore une question,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
Puis je l'ai activé : systemctl enable SIA_Server.serviceCode : Tout sélectionner
[Unit] Description=SIA Server Service [Service] Type=simple ExecStart=/home/pi/SIA_Server.py Restart=on-failure RestartSec=10 #WatchdogSec=60
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.pyEn même temps, j’hésite à migrer sous synology/docker, c'est peut-être le moment
Re: Protocol SIA des alarmes
1. d'abord il faut rendre ton script exécutable
Code : Tout sélectionner
chmod +x SIA_Server.pyCode : Tout sélectionner
./SIA_Server.py 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
Merci.
Je fais ça bientôt, les journées sont trop courte.
Re: Protocol SIA des alarmes
Merci.
Code : Tout sélectionner
chmod +x SIA_Server.pyCode : Tout sélectionner
./SIA_Server.py Code : Tout sélectionner
systemctl enable SIA_Server.serviceJe le voit en faisant un :
Code : Tout sélectionner
systemctl status SIA_Server.serviceCode : Tout sélectionner
systemctl start SIA_Server.serviceRe: Protocol SIA des alarmes
Code : Tout sélectionner
-rw-r--r-- 1 pi pi 144 août 27 09:28 SIA_Server.servicele 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.servicele 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.serviceTu sais me dire ce que tu as toi ?
Commande
Code : Tout sélectionner
ls -l