Bonjour à tous
Bien que plus débutant sous Jeedom, je le suis toujours avec Linux et encore plus avec le plugin script.
Je tourne en Debian 10.7 (installation de la semaine dernière) sur un NUC processeur Intel dédié à Jeedom et Jeedom 4.1.18
Je voudrais exécuter un script trouvé sur le forum Jeedom pour activer ou désactiver des caméras Eufycam. J’ai suivi les étapes d’installation, mais je bute sur l’exécution des scripts fournis avec le plugin script.
Voici un des scripts que je voudrais exécuter. Ils nécessitent à priori python 3.7.
import asyncio
import logging
import os
from aiohttp import ClientSession
from eufy_security import async_login
from eufy_security.types import GuardMode
logging.basicConfig(level=logging.DEBUG)
EUFY_EMAIL = "#monEmail#"
EUFY_PASSWORD = "#monMotDePasse#"
async def main() -> None:
"""Create the aiohttp session and run the example."""
async with ClientSession() as websession:
# Create an API client:
api = await async_login(EUFY_EMAIL, EUFY_PASSWORD, websession)
for station in api.stations.values():
print("------------------")
print(f"Station Name: {station.name}")
print(f"Serial Number: {station.serial}")
print(f"Station params: {station.params}")
print(f"Station type: {station.device_type}")
async with station.connect() as session:
await station.set_guard_mode(GuardMode.AWAY, session)
await asyncio.sleep(10)
asyncio.get_event_loop().run_until_complete(main())
Bien qu’ayant regardé la doc et un peu partout, et fait des essais en fonction de ce que j’ai trouvé à gauche à droite, je n’arrive pas à exécuter le script sans message d’erreur.
J’ai créé une commande de type script : script, type : Action, défaut, et ensuite j’ai essayé différentes formules dans « Requête »
Tout d’abord j’ai juste essayé : /home/eufy/Absent.py
Mais j’ai un message sur la ligne 15, async def main() → None:
Comme j’ai lu que par défaut Jeedom exécutait python en version 2, j’ai essayé de rajouter dans mon script à la première ligne :
!#/usr/bin/env python3.7
Mais j’ai le même message à la ligne 16 (normal j’en ai rajouté une).
Le tuto que j’ai suivi dit de mettre :
/usr/local/bin/python3.7 /home/Eufy/absent.py
Mais là j’ai le message non trouvé et effectivement je n’ai pas python3.7 à cet emplacement.
Une recherche Find sur ce nom me donne python 3.7 à ces emplacements.
/etc/python3.7
/usr/lib/python3.7
/usr/share/binfmts/python3.7
/usr/share/doc/python3.7
/usr/share/lintian/overrides/python3.7
/usr/local/lib/python3.7
/usr/bin/python3.7
/usr/include/python3.7
Je les ai essayés un par un sans succès, tant sur la 1ère ligne du script que dans la requête elle-même.
Pourtant, à ce que j’ai lu, python 3.7 est bien installé par défaut avec Debian 10.
Comme je ne sais pas du tout si le problème que j’ai vient de mon installation de python, de mon incapacité à l’utiliser correctement, ou à utiliser le plugin script, ou bien du script lui même, je ne sais plus quoi essayer ni comment…
Est-ce que python devrait obligatoirement se trouver dans /usr/local/bin/python3.7 ?
Est-ce que je dois créer ma commande autrement ?
Merci d’avance pour l’aide que vous pourrez m’apporter.