Erreur avec la librairie pytapo pour une caméra TP-link C200

Bonjour,

Je me permet de vous écrire car je ne trouve pas dans les autres post la solution à mon problème avec la librairie pytapo et les scripts pour déplacé la caméra.

Pour informations voici le retour de la commande python3 -m pip list | grep tapo : pytapo 3.2.18
Et voici le script utilisé pour lancer le déplacement de la caméra vers une position déjà identifié (trouvé sur le forum et testé depuis un VM linux WSL2 sur le PC) :

#!/usr/bin/env python3

from pytapo import Tapo
import sys
  
user="xxxx"
password="xxxx"
host="xxxx"

def  preselect(s) :
    tapo2=Tapo(host, user, password)
    res=tapo2.setPreset(s)
    
preselect(str(sys.argv[1]))

Le message d’erreur que j’ai quand je lance la commande « python3 /var/www/html/plugins/script/data/Position.PY 2 » ou « /var/www/html/plugins/script/data/Position.PY 2 » est le suivant :

Traceback (most recent call last):
  File "/var/www/html/plugins/script/data/Position.PY", line 3, in 
    from pytapo import Tapo
  File "/usr/local/lib/python3.7/dist-packages/pytapo/__init__.py", line 12, in 
    from .media_stream.session import HttpMediaSession
  File "/usr/local/lib/python3.7/dist-packages/pytapo/media_stream/session.py", line 13, in 
    from pytapo.media_stream._utils import (
  File "/usr/local/lib/python3.7/dist-packages/pytapo/media_stream/_utils.py", line 45
    if i := b.find(sep, start_index) != -1:
          ^
SyntaxError: invalid syntax

Le script à parfaitement fonctionné depuis la VM linux et je ne comprendpas l’erreur remonté dans jeedom.

Salut

Possiblement le problème de reconnaissanxe python 2 vs 3 de jeedom script. Voir Script en python3

Antoine

Bonjour,

Je pense qu’ici ce n’est pas (encore) le problème python2 vs python3 dans jeedom vu que le script est testé en ligne de commande et pas dans jeedom.
Ca sera peut-être un problème après, faudrait la page santé pour ça (à priori un buster puisque python3.7?)

Le problème est une syntaxe non reconnue.
Probablement un script fait pour du python3.9 ou 3.11 et donc syntaxe non reconnue sous 3.7
Quelle était la version dans votre autre vm?

Bonjour @Mips,

Je suis sur une box Jeedom Atlas à jour.

Je fais les test en ligne de commande en passant par Réglages > Système > Configuration > OS/DB > Administration Système

Effectivement je suis en version 3.7.3 dans la box Jeedom et en 3.9.12 sur ma VM linux.

Savez vous si l’update de python sur la box Jeedom est posible sans impact ?

Je recommande fortement de ne pas faire cela, d’autant plus sur une box officielle.
Le risque de compromettre l’installation et le fonctionnement d’autres plugins est non-négligeable.

Sur une installation DIY, en fonction des plugins installés je vous aurais suggéré de réinstaller un debian11 mais sur atlas impossible:

  • soit vous contactez le support pour savoir quand ils pourront fournir une image debian11 pour l’atlas
  • soit vous devez trouver une autre solution que ce script/librairie (probablement à faire dans tous les cas)

edit: debian11 => python3.9

Merci pour la réponse, je vais voir avec le support de Jeedom si ils l’ont dans leur roadmap.

Bonjour à tous, j’ai trouvé la solution pour piloter nos caméra TP-link C200 depuis une box jeedom.
Attention ! Il faut installer manuellement la librairie pytapo depuis Réglages > Système > Configuration > OS/DB > Administration Système et comme il est dit dans l’interface, les opérations sont risquées, vous pouvez perdre l’accès à votre système et à Jeedom Atlas en cas de mauvaise manipulation. L’équipe Jeedom Atlas se réserve le droit de refuser toute demande de support en cas de mauvaise manipulation.

J’ai instalé la version 2.0 (je ne suis pas aller plus loin dans mes tests pour le moment) et elle est compatible avec la version de python des jeedoms atlas.

Au besoin la ligne de commande pour l’installation est la suivante :

sudo python3 -m pip install pytapo==2.0

1 « J'aime »

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