Nouveau plugin PeugeotCars (& autres véhicules électrique-Hybride PSA): recherche Beta-testeurs

ça marche merci encore pour tout ce travail

Bonsoir,

Je ne comprends pas impossible de d’installer les dépendance. Est-ce que quelqu’un a eu se souci ?

Merci

Bonsoir @NamtuO,

Tu pourrais m’envoyer le log dédié à l’installation des dépendances en message privé ?
Le fichier doit s’appeler « peugeotcars_update ».

Lelas

Merci pour ton retour, je t’envoie ça.

BASEDIR: /var/www/html/plugins/peugeotcars/core/class/../../resources

Installation des dépendances

=============

STEP1:Upadate

=============

======================================

STEP2:Installation python3 version 3.7

======================================

Python 3.7.3

===============================================

STEP3:Installation pip3 version pour python 3.7

===============================================

WARNING: Value for scheme.platlib does not match. Please report this to <https://github.com/pypa/pip/issues/9617>

distutils: /usr/local/lib/python3.7/dist-packages

sysconfig: /usr/lib/python3.7/site-packages

WARNING: Value for scheme.purelib does not match. Please report this to <https://github.com/pypa/pip/issues/9617>

distutils: /usr/local/lib/python3.7/dist-packages

sysconfig: /usr/lib/python3.7/site-packages

WARNING: Value for scheme.headers does not match. Please report this to <https://github.com/pypa/pip/issues/9617>

distutils: /usr/local/include/python3.7/UNKNOWN

sysconfig: /usr/include/python3.7m

WARNING: Value for scheme.scripts does not match. Please report this to <https://github.com/pypa/pip/issues/9617>

distutils: /usr/local/bin

sysconfig: /usr/bin

WARNING: Value for [scheme.data](http://scheme.data/) does not match. Please report this to <https://github.com/pypa/pip/issues/9617>

distutils: /usr/local

sysconfig: /usr

WARNING: Additional context:

user = False

home = None

root = None

prefix = None

Requirement already satisfied: pip in /usr/local/lib/python3.7/dist-packages (21.1)

WARNING: Value for scheme.platlib does not match. Please report this to <https://github.com/pypa/pip/issues/9617>

distutils: /usr/local/lib/python3.7/dist-packages

sysconfig: /usr/lib/python3.7/site-packages

WARNING: Value for scheme.purelib does not match. Please report this to <https://github.com/pypa/pip/issues/9617>

distutils: /usr/local/lib/python3.7/dist-packages

sysconfig: /usr/lib/python3.7/site-packages

WARNING: Value for scheme.headers does not match. Please report this to <https://github.com/pypa/pip/issues/9617>

distutils: /usr/local/include/python3.7/UNKNOWN

sysconfig: /usr/include/python3.7m

WARNING: Value for scheme.scripts does not match. Please report this to <https://github.com/pypa/pip/issues/9617>

distutils: /usr/local/bin

sysconfig: /usr/bin

WARNING: Value for [scheme.data](http://scheme.data/) does not match. Please report this to <https://github.com/pypa/pip/issues/9617>

distutils: /usr/local

sysconfig: /usr

WARNING: Additional context:

user = False

home = None

root = None

prefix = None

WARNING: Running pip as root will break packages and permissions. You should install packages reliably by using venv: https://pip.pypa.io/warnings/venv

pip 21.1 from /usr/local/lib/python3.7/dist-packages/pip (python 3.7)

=============================================

STEP4:Installation des librairies necessaires

=============================================

python_req: /var/www/html/plugins/peugeotcars/core/class/../../resources/../3rdparty/psa_jeedom_daemon/requirements.txt

WARNING: Value for scheme.platlib does not match. Please report this to <https://github.com/pypa/pip/issues/9617>

distutils: /usr/local/lib/python3.7/dist-packages

sysconfig: /usr/lib/python3.7/site-packages

WARNING: Value for scheme.purelib does not match. Please report this to <https://github.com/pypa/pip/issues/9617>

distutils: /usr/local/lib/python3.7/dist-packages

sysconfig: /usr/lib/python3.7/site-packages

WARNING: Value for scheme.headers does not match. Please report this to <https://github.com/pypa/pip/issues/9617>

distutils: /usr/local/include/python3.7/UNKNOWN

sysconfig: /usr/include/python3.7m

WARNING: Value for scheme.scripts does not match. Please report this to <https://github.com/pypa/pip/issues/9617>

distutils: /usr/local/bin

sysconfig: /usr/bin

WARNING: Value for [scheme.data](http://scheme.data/) does not match. Please report this to <https://github.com/pypa/pip/issues/9617>

distutils: /usr/local

sysconfig: /usr

WARNING: Additional context:

user = False

home = None

root = None

prefix = None

Collecting paho-mqtt>=1.5.0

Using cached paho-mqtt-1.5.1.tar.gz (101 kB)

ERROR: Command errored out with exit status 1:

command: /usr/bin/python3 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-1cov53wq/paho-mqtt_7d9376940f124179b48230bad0ef5b29/[setup.py](http://setup.py/)'"'"'; __file__='"'"'/tmp/pip-install-1cov53wq/paho-mqtt_7d9376940f124179b48230bad0ef5b29/[setup.py](http://setup.py/)'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = [f.read](http://f.read/)().replace('"'"'

'"'"', '"'"'

'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-8jx9h9aj

cwd: /tmp/pip-install-1cov53wq/paho-mqtt_7d9376940f124179b48230bad0ef5b29/

Complete output (3 lines):

Traceback (most recent call last):

File "<string>", line 1, in <module>

ModuleNotFoundError: No module named 'setuptools'

----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/32/d3/6dcb8fd14746fcde6a556f932b5de8bea8fedcb85b3a092e0e986372c0e7/paho-mqtt-1.5.1.tar.gz#sha256=9feb068e822be7b3a116324e01fb6028eb1d66412bf98595ae72698965cb1cae (from https://pypi.org/simple/paho-mqtt/). Command errored out with exit status 1: python [setup.py](http://setup.py/) egg_info Check the logs for full command output.

Using cached paho-mqtt-1.5.0.tar.gz (99 kB)

ERROR: Command errored out with exit status 1:

command: /usr/bin/python3 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-1cov53wq/paho-mqtt_7aa8a2d266d245c3ac6258a911000e51/[setup.py](http://setup.py/)'"'"'; __file__='"'"'/tmp/pip-install-1cov53wq/paho-mqtt_7aa8a2d266d245c3ac6258a911000e51/[setup.py](http://setup.py/)'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = [f.read](http://f.read/)().replace('"'"'

'"'"', '"'"'

'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-vgzv0zmt

cwd: /tmp/pip-install-1cov53wq/paho-mqtt_7aa8a2d266d245c3ac6258a911000e51/

Complete output (3 lines):

Traceback (most recent call last):

File "<string>", line 1, in <module>

ModuleNotFoundError: No module named 'setuptools'

----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/59/11/1dd5c70f0f27a88a3a05772cd95f6087ac479fac66d9c7752ee5e16ddbbc/paho-mqtt-1.5.0.tar.gz#sha256=e3d286198baaea195c8b3bc221941d25a3ab0e1507fc1779bdb7473806394be4 (from https://pypi.org/simple/paho-mqtt/). Command errored out with exit status 1: python [setup.py](http://setup.py/) egg_info Check the logs for full command output.

ERROR: Could not find a version that satisfies the requirement paho-mqtt>=1.5.0 (from versions: 0.4.90, 0.4.91, 0.4.92, 0.4.94, 0.9, 0.9.1, 1.0, 1.1, 1.2, 1.2.1, 1.2.2, 1.2.3, 1.3.0, 1.3.1, 1.4.0, 1.5.0, 1.5.1)

ERROR: No matching distribution found for paho-mqtt>=1.5.0

=========================

STEP5:Configuration API

=========================

Traceback (most recent call last):

File "./app_decoder.py", line 7, in <module>

from androguard.core.bytecodes.apk import APK

ModuleNotFoundError: No module named 'androguard'

=======================================

Installation des dépendances terminée !

=======================================

sys.path = [

'/var/www/html/plugins/peugeotcars/3rdparty/psa_jeedom_daemon',

'/usr/lib/[python37.zip](http://python37.zip/)',

'/usr/lib/python3.7',

'/usr/lib/python3.7/lib-dynload',

'/usr/local/lib/python3.7/dist-packages',

'/usr/lib/python3/dist-packages',

]

USER_BASE: '/root/.local' (exists)

USER_SITE: '/root/.local/lib/python3.7/site-packages' (doesn't exist)

ENABLE_USER_SITE: True

Bonjour,
A l’avenir
Merci d’utiliser le code </> pour encadrer vos codes ou logs.
tutoriel cliquez ici
Ou vous pouvez envoyer un message privé à @sheldon-bot démarrer tutoriel avancé pour apprendre à utiliser les menus :wink:

bonne journée

Bonjour, désolé solé je suis un novice !

Bonjour à tous,
j’ai tenté la mise à jour du plugin sur mon jeedom…
J’ai un message :
« L’opération a échoué,
Impossible d’installer le plugin. Le nom du plugin est différent de l’ID ou le plugin n’est pas correctement formé. Veuillez contacter l’auteur. »
Depuis il totalement a disparu de Jeedom, de la liste des plugins et du centre de mises à jour.

Alors j’ai supprimé manuellement le dossier du serveur /var/www/html/plugins/peugeotcars pour tenter une réinstall complète et j’ai suivi la doc, pas mieux …

Help :slight_smile:

bonsoir
au cas ou ta redemarer ton jeedom
fait des ctrl F5

Bonsoir @unterix,

J’ai refait un test d’installation sur une RPI3, après l’avoir entièrement supprimé, et l’installation se passe bien.
Je ne comprend pas ton soucis.
Ton Jeedom est bien en V4 ?
Tu as essayé le reboot du Jeedom comme proposé par Olive ?
Sinon, tu peux essayer une installation « à la main »:

  • Tu télécharges le dossier du plugin depuis Github (branche master), et tu le recopies dans le dossier plugins.

Lelas

Bonjour

j’ai installé sur mon jeedom DIY v4.1.22 le plug-in de la branche master en 0.6 (installé la semaine derniere, mis à jour hier). Pour la première fois depuis l’install du plugin , j’ai voulu recharger la voiture en charge immediate (non différée).

j’ai constaté à partir de l’appli mypeugeot (mise à jour hier en 1.29.2) que la charge s’arretait au bout de quelques minutes, en se mettant en différé. J’ai relancé plusieurs fois la charge en la remettant en immediate, et à chaque fois cela se remettait en différé. puis je me suis souvenu que le plugin en 0.6 permet de configurer la charge en différé. mais sur le plugin, la charge etait positionnée en immediat, pas en différé. En laissant la page du plugin affichée, plus de probleme. Mais en quittant la page, la charge se remet visiblement en différé automatiquement.

Ma question est de savoir s’il est possible de desactiver le pilotage de la charge à partir du plug in, pour avoir uniquement l’affichage de l’etat de la charge mais que le plugin n’envoie pas d’ordre à la voiture. Et pourquoi le plug-in desactive la charge quand la page web est ouverte uniquement ?

Autre petit souci : les trajets remontent bien dans le panel, mais ils ne sont plus visibles dans l’appli (aucun trajet dans l’appli mypeugeot sur avril alors qu’ils y etaient encore il y a quelques jours). Comme si l’appli considérait que les trajets, à partir du moment où ils sont recupérés par le plug-in, doivent être ignorés. Tous les trajets que j’avais dans l’appli n’apparaissent pas non plus dans le panel.

D’autre part : dans les logs du plugin d’aujourd’hui, je vois quelques erreurs python.

Dernier petit point : sur la version mobile jeedom, certaines infos ne s’affichent pas bien, dont l’etat de charge : differé / immediat, etat de charge (met '2" en version mobile).

Mis à part cela, le plugin est tres bien, il permet d’avoir plein d’infos sur la voiture et les trajets, en particulier la conso par trajet en kWh (ce que l’appli n’affiche toujours pas).

merci pour votre aide

Bonsoir @Sly78N,
Merci pour ton retour très complet. Cela permet d’avancer dans le test de ce plugin.

En ce qui concerne la charge immédiate/différée, je sais qu’il faut que je fasse d’autre tests, Olive m’a remonté des soucis également. Je note tes remarques, cela devrait m’aider à corriger.

En ce qui concerne les trajets, il faut savoir qu’il n’y a aucun lien entre les trajets donnés par l’appli et ceux donnés par le plugin.

Ceux de l’appli remontent depuis la voiture vers le téléphone en Bluetooh, et ils restent dans le téléphone. Pour le moment, l’API PSA ne remonte pas ces trajets à l’utilisateur (c’est à dire au plugin)

Le plugin pour sa part reconstitue les trajets réalisés par la voiture en analysant les coordonnées GPS et le statut « véhicule en mouvement », et crée en local sa propre database de points GPS et de trajets.
(dans les fichiers gps.log et trips.log du dossier data du plugin)
C’est pour ça que le plugin peut ajouter les informations de consommation sur les trajets.
Et donc les dépendances que tu as constatées sont probablement liées au hasard et au bon/mauvais fonctionnement de la liaison Appli/voiture en bluetooth.

Dernier point: la version mobile du widget n’est sans doute pas à jour. Il faut que je jette un œil.
Lelas

Merci @Lelas pour ton retour super rapide
en fait pour moi la charge différée / immediate marchait trop bien :slight_smile:
une fois que j’ai compris que l’appli et le plugin entraient en competition pour configurer en même temps ce paramètre. J’ai l’impression que quand on met la charge differée dans le plugin, ca le met bien dans l’appli, mais quand on le remet en immediat dans l’appli, cela n’est pas pris en compte dans le plug-in, comme si le plugin conservait le parametre de son coté et le repoussait à PSA. J’ai regardé les logs où j’ai pu observer le phenomène , comme là :

[2021-04-28 17:35:06][INFO] : Interruption de la charge de la batterie. (Max level=30% & Current level=31%)
[2021-04-28 17:35:06][INFO] : Envoi requete paramètres de chargement => Imm_Diff / Heure = 0 / 22:00
[2021-04-28 17:35:06][INFO] : mqtt_submit: Envoi de la commmande (20) vers le serveur local
2021-04-28 17:35:06,425 :: INFO :: Commande reçue:0x20
2021-04-28 17:35:06,751 :: INFO :: save config change

Pour la version mobile, j’ai pu configurer l’affichage de « immediat/differé » de façon assez proche de la version desktop en mettant « binary switch » au lieu de « defaut » dans les params avancés du widget.

Mais en tout cas déjà un très beau boulot !

bonne soirée

En effet, en ce qui concerne la charge et surveillance de la batterie, l’appli et le plugin peuvent entrer en concurrence car contrairement aux trajets, ces paramètres de charge sont en direct sur le véhicule par l’intermédiaire des serveurs PSA.

Salut @lelas

Quel que retours sur la nouvelle version en stable
Il semble que certains type de commandes soient passées en string
notament les 3 valeurs de gps lat lon alt !
il me semble important de bien mettre les type pour pouvoir les envoyer a influx db
sur tout ce qui est binaire et numérique.
de mémoire on l’avait corrigé sur les versions précédentes.
Par avance merci.
bonne soirée

Bonsoir @olive,

Je suis surpris de ce que tu me dis. Après vérification sur Github, sur la branche master, les 3 champs GPS lat/lon/alt sont bien en type numérique.
Tu es reparti d’une install complète, ou bien une mise à jour par rapport à une version précédente ?
Si c’est une mise à jour, tu as peut être oublié de faire le save de l’équipement ?

Lelas

J’y vais revoir ma copie de suite c’est dans ma stable j’ai écrasé par mise a jour …

autant pour moi mais c’est le titre de la colonne qui m’a perturbé
c’est type et pas sous type …
le sous type étant visible avec roue crantée seulement !

Capture d’écran du 2021-05-04 23-23-16

Bon en tout cas je me retrouve avec des erreurs sur les push de influx
une idée ?

	2021-05-04 23:40:04	cmd	Erreur push influx sur : commande : [3008][3008-HYBRID][Position GPS Lat.] => HTTP Code 400 {"error":"partial write: field type conflict: input field \"gpslat\" on measurement \"3008\" is type float, already exists as type string dropped=1"} 		2
	2021-05-04 23:40:04	cmd	Erreur push influx sur : commande : [3008][3008-HYBRID][Position GPS Lon.] => HTTP Code 400 {"error":"partial write: field type conflict: input field \"gpslon\" on measurement \"3008\" is type float, already exists as type string dropped=1"} 		2
	2021-05-04 23:40:04	cmd	Erreur push influx sur : commande : [3008][3008-HYBRID][Position GPS Alt.] => HTTP Code 400 {"error":"partial write: field type conflict: input field \"gpsalt\" on measurement \"3008\" is type float, already exists as type string dropped=1"} 

Quel que chose plait pas à influx dans le format que l’on lui présente…

Je ne connais pas influx c’est quoi ?

Ton message d’erreur semble indiquer qu’il y a bien une différence de type. Tu peux effacer le champ existant dans influx, pour qu’il le recrée avec le bon type ?

après suppressions des commandes
même motif même punition

	2021-05-05 00:15:04	cmd	Erreur push influx sur : commande : [3008][3008-HYBRID][Position GPS Lon.] => HTTP Code 400 {"error":"partial write: field type conflict: input field \"gpslon\" on measurement \"3008\" is type float, already exists as type string dropped=1"}

je vais faire une tentative de prendre les valeurs dans un virtuel et de balancer le virtuel a influxdb …