Recherche DEV pour un nouveau plugin LG SMART

A titre perso, mais aussi pour les autres users, je pense qu’il faut une version la moins intrusive en terme de dépendances, et éviter toutes installations annexes.

Toujours dispo pour des tests si tu as besoin

merci pour ton travail et ton acharnement :slight_smile:

Je ne sais pas ce qui est le moins intrusif: une installation régulière d’un package validé par debian, ou une install bricolée à base d’un script (configure + make + altinstall, le tout est très long) que j’essaye d’automatiser au mieux.

A propos, ça ne concerne que les utilisateurs sous Debian Stretch… est-ce qu’il y a un versionning des box mini / maxi / pro qui permettrait de dire par exemple que mon plugin est compatible Smart à partir de telle version, … ?

Je sais pas te répondre, je vais regarder pour Docker

Edit : Alors je piges pas trop, c’est quoi docker en faite ? certains installent Jeedom sous docker, mais là l’objectif serait d’installer docker mais pas pour y faire tourner jeedom, c’est bien ca ?

L’image officielle des smart est sous stretch, aucune n’est sous buster.
pareil pour mini et pro (la pro c’est pareil que smart avec un peu plus de capacité emmc et p-e ram je ne sais plus)

Et oui, installer un python 3.6 ou 3.7 sous stretch c’est très long (surtout sur un pi, plus rapide sur une grosse vm :wink: ); je sais je l’ai déjà fait pour un plugin parce que je voulais une fonctionnalité qui n’existe qu’à partir de la 3.6.
Sinon l’autre option c’est de rester en 3.5 s’il y a moyen.

pour le reste j’ai donné mon avis déjà :wink:
et effectivement, les jeedom sous docker ca va être costaud d’y faire tourner docker

@Mips pas moyen de rester en python3.5 parce qu’on utilise une lib qui demande 3.6 minimum ( wideq · PyPI )
ça fait 3 fois que je relance mon script d’install pour python3.7 mais ça n’a pas encore marché, si tu l’a déjà fait pour une dépendance de plugin ça m’intéresse? :slight_smile:

@Nemeraud tout à fait, docker ne doit supporter que un simple script python, pas jeedom. Par ailleurs, si qq1 utilise jeedom sous docker (comme c’est mon cas pour les tests) pas de problème, il suffirait d’ajouter un autre container avec le server python ça évitera de se faire des noeuds au cerveau xD

Voici l’extract de mon script d’install (avant ca il y a apt-get update etc) et après j’install les lib python3 dont j’ai besoin avec python3.7 -m pip install ...

Je m’étais inspiré de ceci https://linuxize.com/post/how-to-install-python-3-7-on-debian-9/ notamment;
j’ai viré l’optimisation parce que ca prenait vraiment trop de temps (même sur une vm)

echo "*************"
echo "Python3.7"
echo "*************"
if python3.7 --version 2>&1 | grep 'Python 3.7.'; then
  echo "Already installed"
else
  echo "Install modules using apt-get"
  echo "*****************************"
  apt-get install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev
  echo 30 > ${PROGRESS_FILE}

  echo "get Python 3.7.3"
  echo "*************"
  cd ~
  curl -O https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz
  echo 40 > ${PROGRESS_FILE}

  echo "Unpack the Python 3.7.3 source file"
  echo "***********************************"
  tar -xf Python-3.7.3.tar.xz
  echo 50 > ${PROGRESS_FILE}

  echo "prepare the build"
  echo "*****************"
  cd Python-3.7.3
  ./configure
  echo 60 > ${PROGRESS_FILE}

  echo "build Python 3.7.3"
  echo "******************"
  make
  echo 70 > ${PROGRESS_FILE}

  echo "install Python 3.7.3"
  echo "********************"
  sudo make altinstall
fi

Hello, j’essaie d’avancer un petit peu dans les tests.

J’ai installé buster, du coup je remplis bien les conditions quant aux versions de Python mais malgré cela, les dépendances ne s’installent pas et par conséquent le demon reste en NOK (j’ai téléchargé la dernière version sur le github en dev) et j’ai un message d’erreur quand je clique sur Gateway : « error : Echec de la requête http : http://127.0.0.1:5025/gateway/FR/fr-FR Curl error : Failed to connect to 127.0.0.1 port 5025: Connection refused »

Dans les logs (Lgthinq_srv):
Traceback (most recent call last):
File « /var/www/html/plugins/lgthinq/core/class/…/…/3rparty/wideq/wideqServer.py », line 13, in
from flask import Flask, json, jsonify, request
ModuleNotFoundError: No module named ‹ flask ›

(Lgthinq) :

[2020-06-07 11:35:25][DEBUG] : etat server wideq:[]
[2020-06-07 11:35:25][DEBUG] : missing pip dependancies ()

Tout ça au cas ou ça pourrait aider :slightly_smiling_face:

EDIT : j’ai bien installé également Flask (sudo pip install flask) et Wideq (sudo pip install wideq)

Ha, oui, merci pour les tests :slight_smile: j’ai pas terminé l’install de dépendances pour stretch, du coup j’ai pas pensé à vérifier aussi sur buster, autant pour moi…

A tout hasard pour te débloquer essaye d’installer flask et wided avec « sudo pip3 » car sinon par défaut je crois que ça l’installe uniquement pour python2.

Salut @pifou

Comment ça avance ? Les infos de @Mips ont ou t’aider ?

Si tu as une version a tester, n’hésite pas :wink:

Bonne soirée

Hello Pifou,

Je teste avec pip3 et je te redis ce que ça donne :slightly_smiling_face:

Belle journée,

6co

@Nemeraud oui tout à fait :slight_smile: grâce à @Mips j’ai fait le script de dépendance, ça installe des trucs mais je voudrais le tester sur un stretch avant de te l’envoyer… j’ai donc fait diverses install de container docker pour simuler ça, c’est le seul moyen pour moi de tester.

Pour info aussi c’est possible d’installer le plugin via l’install jeedom / github avec ces infos:
ID logique du plugin = lgthinq
utilisateur = pifou25
nom du dépot = jeedom-lgthinq-plugin
branche = dev

pas de soucis, tu me dis que tu veux que je test, merci @pifou

Hello @Nemeraud @6co @shinjo :slight_smile:

Si vous êtes plour quelques tests … j’ai galéré sur le process de dépendances / relance du serveur LG (c’est peu de le dire :smiley: ) bref, du coup j’espère que cette fois ça sera bon au moins jusque la!

(ne plus utiliser la branche dev merci)
ET, je remet le lien vers la doc pour rappel :slight_smile:

1 « J'aime »

Merci pour ton travail et ta patience :slight_smile:
j’ai mis la nouvelle version

bouton Gateway : 500 : Internal Server Error

[Sun Jun 14 14:38:12.876965 2020] [:error] [pid 13964] [client 192.168.1.26:35370] PHP Parse error:  syntax error, unexpected 'const' (T_CONST), expecting variable (T_VARIABLE) in /var/www/html/plugins/lgthinq/core/class/lgthinq.class.php on line 43, referer: http://192.168.1.15/index.php?v=d&p=plugin&id=lgthinq

le bouton « Lg Account login » ne fait rien chez moi, mais je suis sur un chromebook, je testerais demain depuis un PC

j’ai mis le lien web, bouton Refresh toket = meme erreur de Gateway

Si je vais dans la plugin, Refesh = syntax error, unexpected ‹ | ›, expecting variable (T_VARIABLE)

[Sun Jun 14 14:43:42.301111 2020] [:error] [pid 5722] [client 192.168.1.26:35520] PHP Parse error:  syntax error, unexpected 'const' (T_CONST), expecting variable (T_VARIABLE) in /var/www/html/plugins/lgthinq/core/class/lgthinq.class.php on line 43, referer: http://192.168.1.15/index.php?v=d&p=plugin&id=lgthinq

… arf zut j’avais pas pensé à ça, quelle version de php sur ta smart ? (dans la page santé)

il donne pas la version PHP

|Version Jeedom|4.0.56|Version PHP|7.0.33-0+deb9u5|
|Apache|16|Version OS|Linux jeedom 3.14.79-94 #1 SMP PREEMPT Mon Nov 21 17:13:27 BRST 2016 aarch64 GNU/Linux [9.4]|
|Version database|10.1.26-MariaDB-0+deb9u1|

bon ça va, c’est php 7.0 :slight_smile:
j’ai viré un mot clé private ça devrait mieux marcher en principe, « const » c’est ok en php7 tu peux re-tester stp ?
(je ne m’explique pas pourquoi moi sur php7.3 je n’ai pas eu l’erreur par contre…)

alors

la premier install des dépendances a planté, trop longue

j’ai relancé, OK (6mn)

les différents boutons m’affichent

error : Echec de la requête http : http://127.0.0.1:5025/gateway/FR/fr-FR Curl error : Failed to connect to 127.0.0.1 port 5025: Connection refused

le démon ne se lance pas

tu veux le log install et update ?

Alors 6min c’est pas normal c’est beaucoup trop court… l’install des dépendances sur stretch c’est long mais c’est normal désolé :smiley:

puis oui je veux bien les 2 logs install + update pour voir.

voici les 2 logs

LOG_LG.txt (218,6 Ko)

dans http-error

j’ai ca

warning: commands will be executed using /bin/sh
job 22 at Sun Jun 14 16:34:00 2020
sh: 1: cannot create /var/www/html/core/class/../../log/lgthinq_install: Permission denied
sh: 1: cannot create /var/www/html/core/class/../../log/lgthinq_install: Permission denied
sh: 1: cannot create /var/www/html/core/class/../../log/lgthinq_install: Permission denied
sh: 1: cannot create /var/www/html/core/class/../../log/lgthinq_install: Permission denied
sh: 1: cannot create /var/www/html/core/class/../../log/lgthinq_install: Permission denied
sh: 1: cannot create /var/www/html/core/class/../../log/lgthinq_install: Permission denied
WARNING: You are using pip version 19.2.3, however version 20.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
WARNING: You are using pip version 19.2.3, however version 20.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
WARNING: You are using pip version 19.2.3, however version 20.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
WARNING: You are using pip version 19.2.3, however version 20.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
sh: 1: cannot create /var/www/html/core/class/../../log/lgthinq_install: Permission denied
sh: 1: cannot create /var/www/html/core/class/../../log/lgthinq_install: Permission denied