Message d'erreur : Too few arguments to function lgthinq - Help Devs

Bonjour,

Le froid arrivant j’ai remis ma PAC en route et j’ai eu la surprise de ne plus rien trouver lorsque j’accède au plugin Lgthiq si ce n’est ce message d’erreur : Too few arguments to function lgthinq::__construct(), 0 passed and exactly 2 expected

J’ai tenté de réinstaller le plugin, mon jeedom est à jour (4.3.9), je suis sur RPI3, j’accède à la configuration du plugin via la gestion des plugs mais rien de significatif dans les logs si ce n’est ce même message. J’ai relancé une installation des dépendances sans succès, refait la config du plug sans succès non plus. Une idée du problème et de la solution pour y remédier ?

Bonne fin de dimanche à tous,

6co

0987|[2022-11-06 16:16:51]DEBUG : Restart daemon, id=$result
0988|[2022-11-06 16:17:03]DEBUG : refresh LG data for all devices
0989|[2022-11-06 16:17:03]ERROR : Erreur sur la fonction cron du plugin : Too few arguments to function lgthinq::__construct(), 0 passed and exactly 2 expected
0990|[2022-11-06 16:18:03]DEBUG : refresh LG data for all devices
0991|[2022-11-06 16:18:03]ERROR : Erreur sur la fonction cron du plugin : Too few arguments to function lgthinq::__construct(), 0 passed and exactly 2 expected
0992|[2022-11-06 16:19:04]DEBUG : refresh LG data for all devices
0993|[2022-11-06 16:19:04]ERROR : Erreur sur la fonction cron du plugin : Too few arguments to function lgthinq::__construct(), 0 passed and exactly 2 expected
0994|[2022-11-06 16:20:07]DEBUG : refresh LG data for all devices
0995|[2022-11-06 16:20:07]ERROR : Erreur sur la fonction cron du plugin : Too few arguments to function lgthinq::__construct(), 0 passed and exactly 2 expected
0996|[2022-11-06 16:21:04]DEBUG : refresh LG data for all devices
0997|[2022-11-06 16:21:04]ERROR : Erreur sur la fonction cron du plugin : Too few arguments to function lgthinq::__construct(), 0 passed and exactly 2 expected
0998|[2022-11-06 16:22:05]DEBUG : refresh LG data for all devices
0999|[2022-11-06 16:22:05]ERROR : Erreur sur la fonction cron du plugin : Too few arguments to function lgthinq::__construct(), 0 passed and exactly 2 expected

Bonjour,

J’ai le même problème depuis la montée du core en 4.3

1 « J'aime »

Bonjour à tous,

Ce problème étant si je ne m’abuse commun à plusieurs plugins, est-ce qu’une âme charitable ou un développeur aurait la gentillesse de nous dire ce que nous pourrions modifier dans le code pour résoudre cette erreur ?

A votre bon coeur… et avec tous nos remerciements,

6co

Bonjour,

Je ne pense pas qu’il soit commun à plusieurs plugins, pourquoi dites vous cela?

Au contraire sans avoir vu le code ce message veut dire à priori que le dev de ce plugin a codé un constructeur spécifique sur son plugin, déjà ca c’est à faire uniquement sous certaines conditions sous peine de tout casser, et de plus que ce constructeur attend 2 arguments obligatoires ce qui est totalement exclus.

Mais je répète: je n’ai pas vu le code donc à confirmer.

1 « J'aime »

Bonjour Mips, après échange avec d’autres utilisateurs j’avais cru comprendre que c’était le cas, d’où mes réserves dans ma demande.

On va patienter gentiment en espérant que @pifou nous résolve tout cela…

Très bonne soirée,

6co

Bonjour,

Alors, je confirme le diagnostic :slight_smile: par contre je ne comprends pas la sentence (totalement exclus?) car… ça marchait très bien « avant » et de plus, je n’arrive pas à le reproduire chez moi :confused:
Mon constructeur est « private » donc je m’assure qu’il n’est pas appelé par ailleurs, et je l’utilise bien avec ses 2 arguments. Le seul écart que je vois, c’est l’utilisation de l’appel static lgthqin::getAPI() au lieu de self::getAPI() mais alors si c’est ça, je ne vois pas comment ça pouvait marcher « avant » … :smiley:

à tout hasard @6co et @didierlambert vous pouvez me montrer la page santé ?

Parce que la plupart du temps c’est le core qui va créé ton eqLogic et il ne passera pas les arguments attendu.
Le constructeur de base (de eqLogic) n’attend aucun argument.

ca je ne sais pas dire…

Hello @pifou, voici ma page santé.

Hello
Apparemment la version beta du plugin a pas mal évolué, @6co @didierlambert pouvez-vous la tester pour voir si elle est fonctionnelle svp ? A minima elle devrait corriger ce bug (puisqu’il n’y a plus de constructeur dans cette version) à vérifier donc qu’elle ne contient pas de régression majeure par ailleurs :slight_smile: Merci!

Hello Pifou, beta installée, toujours le même message d’erreur quand j’essaie d’accéder via le menu plugins :confused:

bonjour à tous
un grid merci d’avance à PIFOU :blush:
voici mon petit problème :smiling_face_with_tear:
j’étais sur la version stable et j’avais ce PB:


je suis en version core 4.3 et donc Pifou m’a conseillé de passer en beta :yum:
mais j’ai un nouveau problème:

le demon ne passe pas en ok et j’ai se message en rouge
je suis un grand débutant en domotique donc je plaide votre indulgence.
que faut il faire :hot_face: ?
encore merci à tous
cordialement

Salut,
Testé depuis le market en beta et depuis ton git, j’ai toujours le même message d’erreur.
Je vais déjà creuser pour voir pourquoi wideq ne s’installe plus.

[2022-11-30 13:31:22]INFO : missing wideq lib dependancy (5 )
[2022-11-30 13:31:26]INFO : missing wideq lib dependancy (5 )
[2022-11-30 13:31:34]INFO : missing wideq lib dependancy (5 )
[2022-11-30 13:31:35]INFO : missing wideq lib dependancy (5 )
[2022-11-30 13:31:35]INFO : missing wideq lib dependancy (5 )
[2022-11-30 13:32:08]ERROR : Erreur sur la fonction cron du plugin : Too few arguments to function lgthinq::__construct(), 0 passed and exactly 2 expected
[2022-11-30 13:33:04]ERROR : Erreur sur la fonction cron du plugin : Too few arguments to function lgthinq::__construct(), 0 passed and exactly 2 expected
[2022-11-30 13:33:10]INFO : Lancement démon LgThinq : python3 /var/www/html/plugins/lgthinq/resources/wideq/srv.py --port 5025 --key 79mftpEbLBV07UOYHHH8uDVujAMNYgBD --ip http://192.168.0.3 >> /var/www/html/core/class/../../log/lgthinq_srv 2>&1 & echo $!; => pid= 15425
[2022-11-30 13:33:13]ERROR : ping (err 7): Echec de la requête http : http://127.0.0.1:5025/ping Curl error : Failed to connect to 127.0.0.1 port 5025: Connection refused
[2022-11-30 13:33:15]INFO : Démon LgThinq démarré
[2022-11-30 13:34:05]ERROR : Erreur sur la fonction cron du plugin : Too few arguments to function lgthinq::__construct(), 0 passed and exactly 2 expected
[2022-11-30 13:35:07]ERROR : Erreur sur la fonction cron du plugin : Too few arguments to function lgthinq::__construct(), 0 passed and exactly 2 expected
[2022-11-30 13:36:04]ERROR : Erreur sur la fonction cron du plugin : Too few arguments to function lgthinq::__construct(), 0 passed and exactly 2 expected
1 « J'aime »

problème de droits sur certains fichiers, correction par :

sudo chown -R www-data:www-data lgthinq/

drwxrwxr-x 2 www-data www-data   4096 nov.  30 13:28 daemon
drwxrwxr-x 2 www-data www-data   4096 nov.  30 13:28 devices
-rwxrwxr-x 1 www-data www-data   3440 nov.  30 13:29 install_apt.sh
-rwxrwxr-x 1 www-data www-data 180323 nov.  30 13:29 lgIcon.gif
-rwxrwxr-x 1 www-data www-data  92555 nov.  30 13:29 lgIcon.jpg
-rwxrwxr-x 1 www-data www-data  75454 nov.  30 13:29 lg_icon.png
-rwxrwxr-x 1 www-data www-data  25748 nov.  30 13:29 lgthinq_icon.png
-rw-r--r-- 1 root     root          8 nov.  30 13:31 python.cmd
-rwxrwxr-x 1 www-data www-data     80 nov.  30 13:29 requirements.txt
drwxr-xr-x 8 www-data www-data   4096 nov.  30 13:33 wideq


-rwxr-xr-x 1 www-data www-data  9309 nov.  30 13:31 example.py
-rw-r--r-- 1 www-data www-data  8874 nov.  30 13:31 lgthinq.py
-rw-r--r-- 1 www-data www-data  1075 nov.  30 13:31 LICENSE
drwxr-xr-x 2 root     root      4096 nov.  30 13:33 __pycache__
-rw-r--r-- 1 www-data www-data 24445 nov.  30 13:31 pyJeedom.py
-rw-r--r-- 1 www-data www-data   526 nov.  30 13:31 pyproject.toml
-rw-r--r-- 1 www-data www-data  4028 nov.  30 13:31 README.md
-rw-r--r-- 1 www-data www-data    24 nov.  30 13:31 requirements.txt
-rw-r--r-- 1 www-data www-data  4317 nov.  30 13:31 srv.py
drwxr-xr-x 3 www-data www-data  4096 nov.  30 13:31 tests
-rw-r--r-- 1 www-data www-data   540 nov.  30 13:31 testSrv.py
-rw-r--r-- 1 www-data www-data   540 nov.  30 13:31 tox.ini
drwxr-xr-x 3 www-data www-data  4096 nov.  30 13:33 wideq

Ha mince j’y avais pas pensé à celle-là… merci d’avoir remonté ce problème! Du coup, ça marche maintenant ?

@6co @REDFOX44 vous pouvez aussi vérifier / corriger ce problème de droit du coup ?
Pour corriger, il y a un bouton " Rétablissement des droits des dossiers et fichiers" dans le menu Réglages / Système / Configuration / OS/DB qui devrait faire l’affaire :slight_smile:
Ensuite, relancer l’installation des dépendances, puis arrêt / relance du démon, testez validez ?

Hello @pifou, de mon côté pas de problème de droits mais j’ai quand même effectué les manips comme demandé, résultat toujours identique.

[2022-11-30 16:11:21]INFO : Démon LgThinq démarré
[2022-11-30 16:11:21]DEBUG : Redémarrage du démon, id: 24895
[2022-11-30 16:12:04]DEBUG : Mise à jour des informations de tous les appareils LG
[2022-11-30 16:12:04]ERROR : Erreur sur la fonction cron du plugin : Too few arguments to function lgthinq::__construct(), 0 passed and exactly 2 expected
[2022-11-30 16:13:03]DEBUG : Mise à jour des informations de tous les appareils LG
[2022-11-30 16:13:03]ERROR : Erreur sur la fonction cron du plugin : Too few arguments to function lgthinq::__construct(), 0 passed and exactly 2 expected
[2022-11-30 16:14:03]DEBUG : Mise à jour des informations de tous les appareils LG
[2022-11-30 16:14:03]ERROR : Erreur sur la fonction cron du plugin : Too few arguments to function lgthinq::__construct(), 0 passed and exactly 2 expected

Ok un bug est également ouvert sur le github du plugin je met le lien ici pour info:

Pouvez-vous me donner le résultat du check des packages python chez vous svp:
pip3 list -o
Pour une raison inconnue un package - Flask - s’installe avec une ancienne version v1 au lieu de v2.

Hello @pifou, voici le résultat de la commande chez moi :

Package            Version   Latest    Type
------------------ --------- --------- -----
asn1crypto         0.24.0    1.5.1     wheel
certifi            2022.9.14 2022.9.24 wheel
chardet            3.0.4     5.0.0     wheel
croniter           1.3.5     1.3.8     wheel
cryptography       37.0.4    38.0.4    sdist
dataclasses-json   0.5.2     0.5.7     wheel
distro-info        0.21      1.0       wheel
entrypoints        0.3       0.4       wheel
Flask              1.0.2     2.2.2     wheel
h11                0.13.0    0.14.0    wheel
html5lib           1.0.1     1.1       wheel
idna               2.6       3.4       wheel
importlib-metadata 4.12.0    5.1.0     wheel
keyring            17.1.1    23.11.0   wheel
keyrings.alt       3.1.1     4.2.0     wheel
lxml               4.3.2     4.9.1     wheel
marshmallow        3.17.0    3.19.0    wheel
oauthlib           3.2.0     3.2.2     wheel
protobuf           4.21.4    4.21.10   wheel
pycryptodome       3.15.0    3.16.0    wheel
pycurl             7.43.0.2  7.45.1    wheel
PyGObject          3.30.4    3.42.2    sdist
pytz               2022.1    2022.6    wheel
pyudev             0.23.2    0.24.0    wheel
pyxdg              0.25      0.28      wheel
requests           2.21.0    2.28.1    wheel
requests-oauthlib  1.0.0     1.3.1     wheel
requests-toolbelt  0.8.0     0.10.1    wheel
SecretStorage      2.3.1     3.3.3     wheel
selenium           4.4.3     4.6.1     wheel
setuptools         63.2.0    65.6.3    wheel
ssh-import-id      5.7       5.11      wheel
tqdm               4.64.0    4.64.1    wheel
trio               0.21.0    0.22.0    wheel
typing_extensions  4.3.0     4.4.0     wheel
typing-inspect     0.7.1     0.8.0     wheel
tzdata             2022.1    2022.7    wheel
urllib3            1.26.12   1.26.13   wheel
websocket-client   1.3.3     1.4.2     wheel
wheel              0.32.3    0.38.4    wheel
zeroconf           0.38.7    0.39.4    wheel
zipp               3.8.1     3.11.0    wheel

Bonjour,

J’ai corrigé sur beta hier soir, je passerais en stable ce week-end.

J’ai maintenant cette erreur lors de la création des équipements.

Echec de la requête http : http://127.0.0.1:5025/ls Curl error : "'function' object has no attribute 'api_root'"

Hello, j’ai résolu ce souci en choisissant la version Wideq Lib : thinq2 dans le paramétrage du plugin.