Plugin-teleo (pour compteur Veolia)

Tout d’abord, merci pour tout cet échange et l’aide que tu apportes.

J’ai investigué du coté des log geckodriver. Ca ne me semble pas venir de ce coté car il semble bien se lancer et s’arreter:

jeedom@Domo:/tmp/teleo$ cat geckodriver.log
1610622044495 mozrunner::runner INFO Running command: « /usr/bin/firefox » « -marionette » « -headless » « –no-sandbox » « -headless » « -foreground » « -no-remote » « -profile » « /tmp/rust_mozprofilePefDU0 »
*** You are running in headless mode.
1610622046075 Marionette INFO Listening on port 45325
1610622046106 Marionette WARN TLS certificate errors will be ignored for this session
1610622117421 Marionette INFO Stopped listening on port 45325
1610622117942 mozrunner::runner INFO Running command: « /usr/bin/firefox » « -marionette » « -headless » « –no-sandbox » « -headless » « -foreground » « -no-remote » « -profile » « /tmp/rust_mozprofilePcZHOu »
*** You are running in headless mode.
1610622119537 Marionette INFO Listening on port 33331
1610622119546 Marionette WARN TLS certificate errors will be ignored for this session
1610622191412 Marionette INFO Stopped listening on port 33331

Je vais regarder en amont, coté authentification, et si je ne vois rien je procéderai à une désinstall/réinstall du plugin.

Bonjour.

Je suis sur la dernière beta.
J’ai fait les mises à jours à chaque fois qu’elles étaient disponibles.
Il y a un soucis sur les calculs des conso.
Les résultats de la commande index semblent bons.

Je te mets les graphiques qui montrent bien le problème.
En bleu, c’est la variation de la commande Index qui devrait coller à la consommation du jour normalement.
2 jours ne collent pas. (confirmé sur le site Veolia également)
Le 15 : 173 L en réel, 946 L sur la commande Conso Jour.

log plugin teleo.txt (100,7 Ko)

Hello,

je vois dans les logs, qu’il manquait 2 jours d’index, la dernière version (celle d’hier) a importé les données manquantes :

[2021-01-16 19:50:39][INFO] : [Virtuel][Plugin Veolia ] Enregistrement mesure manquante :  Cmd = 27966 Date = 2021-01-10 23:55:00 => Mesure = 586531
[2021-01-16 19:50:39][INFO] : [Virtuel][Plugin Veolia ] Enregistrement mesure manquante :  Cmd = 27966 Date = 2021-01-11 23:55:00 => Mesure = 586703

Mais apparemment çà a modifié la date de dernière collecte et donc le calcul à été fait sur 4 jours (du 11 à 15)

[2021-01-16 22:50:34][WARNING] : [Virtuel][Plugin Veolia ] Le dernier index collecté date du 2021-01-11 23:55:00. La consommation quotidienne sera calculée sur 4 jours.
[2021-01-16 22:50:34][DEBUG] : [Virtuel][Plugin Veolia ] Commande = consod Récupération valeur index entre le 2021-01-11 23:55:00 et le 2021-01-15 23:55:00 Min = 586703.00 et Max = 587649.00
[2021-01-16 22:50:34][INFO] : [Virtuel][Plugin Veolia ] Enregistrement mesure :  Cmd = 27970 Date = 2021-01-15 23:55:00 => Mesure = 946

Je vais corriger çà

Tu peux créer un scénario avec ce bloc code et me donner le résultat :

$cmd = cmd::byId(27966);
$cmdId = $cmd->getId();

$dateBegin = date('Y-m-d 23:55:00', strtotime('2020-12-31'));		
$dateEnd = date("Y-m-d 23:55:00", strtotime('2021-01-14'));
$all = history::all($cmdId, $dateBegin, $dateEnd);
$scenario->setLog('count = ' . count($all));

for($i = 0; $i < count($all); $i++) {
  $scenario->setLog('date valeur histo = ' . $all[$i]->getDatetime());
}

$scenario->setLog('last date valeur histo = ' . $all[count($all) - 1]->getDatetime());


------------------------------------
[2021-01-17 09:33:55][SCENARIO] Start : Scenario lance manuellement.
[2021-01-17 09:33:55][SCENARIO] Exécution du sous-élément de type [action] : code
[2021-01-17 09:33:55][SCENARIO] Exécution d'un bloc code
[2021-01-17 09:33:55][SCENARIO] count = 13
[2021-01-17 09:33:55][SCENARIO] date valeur histo = 2021-01-02 23:55:00
[2021-01-17 09:33:55][SCENARIO] date valeur histo = 2021-01-03 23:55:00
[2021-01-17 09:33:55][SCENARIO] date valeur histo = 2021-01-04 23:55:00
[2021-01-17 09:33:55][SCENARIO] date valeur histo = 2021-01-05 23:55:00
[2021-01-17 09:33:55][SCENARIO] date valeur histo = 2021-01-06 23:55:00
[2021-01-17 09:33:55][SCENARIO] date valeur histo = 2021-01-07 23:55:00
[2021-01-17 09:33:55][SCENARIO] date valeur histo = 2021-01-08 23:55:00
[2021-01-17 09:33:55][SCENARIO] date valeur histo = 2021-01-09 23:55:00
[2021-01-17 09:33:55][SCENARIO] date valeur histo = 2021-01-10 23:55:00
[2021-01-17 09:33:55][SCENARIO] date valeur histo = 2021-01-11 23:55:00
[2021-01-17 09:33:55][SCENARIO] date valeur histo = 2021-01-12 23:55:00
[2021-01-17 09:33:55][SCENARIO] date valeur histo = 2021-01-13 23:55:00
[2021-01-17 09:33:55][SCENARIO] date valeur histo = 2021-01-14 23:55:00
[2021-01-17 09:33:55][SCENARIO] last date valeur histo = 2021-01-14 23:55:00
[2021-01-17 09:33:55][SCENARIO] Fin correcte du scénario

J’avoue ne pas comprendre, la même requête hier à retournée 2021-01-11 23:55:00 au lieu de 2021-01-14 23:55:00 comme aujourd’hui :thinking:

Tu es en quelle version de Jeedom ?

(j’ai ouvert une discussion sur le sujet pour voir s’il y a pas un bug ou autre : Question sur la fonction history::all)

Ok, je viens de pousser une correction pour le pb d’index mal calculé.

Pour en revenir à ton observation:

  • Il y avait bien un pb sur le calcul de la conso du 15/01
  • Par contre la conso du 12/01 est correcte (par rapport aux données connues à ce moment là) car il n’y avait pas de donnée d’index pour le 10 et le 11/01, donc le calcul du 12/01 s’est fait entre la valeur du 09/01 et celle du 12/01. La réinjection des indexes manquants ne recalcule pas les conso des périodes passées

Pour info, après investigation avec Aegis - que je remercie -, il s’avère que mon soucis était causé par la présence d’un caractère spécial dans mon mot de passe qui perturbait la transmission du mot de passe au script python (le mot de passe était tronqué). Pour éviter cela, dans la version d’hier, Aegis a encapsulé le mot de passe par des simples quotes lors de l’appel du script python. Donc désormais, les caractères spéciaux ne devraient plus poser soucis.

1 « J'aime »

La version est disponible dans la branche bêta et je pousserais cette correction et d’autres (en collaboration avec @naboleo) dans la branche master demain

Merci à toi également @fguyader pour ce debug à 4 mains :+1:t2:

1 « J'aime »

Bonjour,
Je suis en train de regarder pour installer le plugin mais en fonction des façon de l’installer j’ai toujours un message : Plugin introuvable : Teleo.
Je le vois dans mes plungins mais lorsque je clique dessus, j’ai le message que juste au dessus.

J’ai essayé de le télécharger et le mettre dans le répertoire Plugins. (J’ai mis les droits de l’utilisateur www-data et fait un chmod 777 également)
En essayant d’uploader le plugin par la méthode Fichier de Jeedom, j’ai le même résultat.
J’ai également essayé avec la fonctione Github, mais là, je ne suis pas sur des informations que j’ai renseigné.
Avez vous une idée, car là je sèche un peu.
D’avance merci.

Hello,

Supprime le répertoire teleo que tu as créé.

Le plus simple est vraiment de passer par Github (Il faut l’autoriser dans la configuration Jeedom) :

Dans la Gestions Plugins, appuyer sur + et remplir les champs comme ci-dessous (en respectant Majuscule/minuscule) :

1 « J'aime »

Super, je te remercie Aegis.
Ca fonctionne parfaitement.
Je n’avais pas mis les bonnes infos dans la partie Github et c’était la 1ere fois que j’installer un plugin de cette manière :wink:

Un peu plus haut dans le poste, snoopyfb a posté un widget sympa ressemblant à celui d’un lynky mais indiqué Véolia eau. Savez vous ou je peux trouver ce widget?
Un grand merci pour le plugin.

1 « J'aime »

Hello,

Super ! Pour le widget, coche la case Template de widget dans l’équipement :slight_smile:

Non mais c’est génial cette case à cocher!!!
Félicitations vraiment.
Pas de config dans les commandes, c’est très pratique. Il faut juste aimé celui fournit par le dev, en l’occurrence, pour moi, c’est parfait.
Merci encore Aegis.

1 « J'aime »

Félicitation pour ce super plugin qui s’installe super facilement.
par contre j’ai une petite question pour être cohérent avec l’affichage de ma conso depuis le 1er janvier (plug-in installé le 20 Janvier) :

  • y a t-il possibilité de faire un paramétrage pour demander les infos de conso depuis le 1er Janvier 2021 ou les ajouter manuellement dans jeedom ?

Hello. Merci pour ton retour.

Il y a plusieurs possibilités : le plus important est d’injecter la valeur d’index au 31/12/2020 car il sera utilisé pour le calcul de l’année et du mois de janvier. Ça tu peux le faire avec un scénario et le bloc code suivant :

$cmd = cmd::byId(id);
$cmd->addHistoryValue( valeur,   $_datetime = '2020-12-31 23:55:00') ;

Remplace id par la valeur de l’ID de la commande d’index, et valeur par la valeur de l’index au 31/12/2020. Demain la consommation du mois et de l’année seront correctes

Tu peux réutiliser le code précédent pour d’autres valeurs.

Sinon il y a une solution pour injecter les valeurs d’index (le plugin injecte déjà 14j d’index) mais uniquement elles, les consommations jours et hebo passées ne seront pas recalculées.

Un grand merci pour ta réactivité.
je viens de créer le scenario pour remonter les index du 31, du 1 et du 2 janvier pour tester. Si c’est ok je remonterai avec cette méthode l’enregistrement des index jusqu’au 20 Janvier, date à laquelle les relevés ont commencés via ton plugin

Sinon petites questions, on est d’accord que la conso du jour est en faite la conso de la veille et que la conso hebdomadaire est la conso de la semaine passée et pas la conso de la semaine en court ?

Oui la conso du jour est celle de la veille.

Les consos pour les périodes Hebdo Mois et Année : si tu es le premier jour de la semaine, du mois ou de l’année : la valeur récupérée étant celle de la veille, elle correspond à la semaine, le mois ou l’année passés, sinon ce sont les valeurs de la période en cours jusqu’à J-1

Donc demain tu auras la première valeur de la semaine en cours :upside_down_face:

merci pour l’explication, claire et logique :slight_smile: