PitInfo: décallage de 2h dans le relevé de traces oO
-
Bonjour,
Après avoir reçu mon module PitInfo.. un peu galéré pour le mettre en place (surtout dû au fait que j'ai un Raspberry Pi 0w et Raspbian), j'ai maintenant des soucis dans le traitement des infos remontées.
Avant de commencer à décrire mon système, je me suis demandé si l'ordre de branchement des cables L1/L2 dans le module PitInfo avait de l'importance? (j'ai tâché de brancher les fils en identifiant la résistance d'entrée sur le PitInfo pour en déduire quelque chose - mais peut être qu'indiquer sur la carte les entrées L1/L2 ne serait pas un mal)
Pour info, j'ai un Linky.
Je reçois correctement les trames.
Je les envoie (sans horodatage) par la suite en MQTT à une seconde machine, qui héberge une instance mosquitto.
En //, un process écoute toutes les valeurs remontées et les copie (en appliquant un horodatage) dans un Elasticsearch.
En //, un autre process écoute ces mêmes valeurs et les copie (en appliquant un horodatage) dans un mongoDB.J'ai donc 2 vues d'historique qui proviennent de 2 sources différentes..
- Un dans kibana/grafana
- Un autre dans une page web "fait main"
Bref, c'est une installation que j'ai depuis plusieurs années et qui fonctionne très bien.
https://github.com/sylvek/domotikJ'ai, enfin, un module CC128 (http://www.currentcost.com/product-cc128.html) qui collecte la donnée de puissance. J'ai donc un point de comparaison.
Et c'est là que ça coince.. Quand je compare mes traces du CC128 et celles fournies par "PAPP", j'ai similairement la même trace mais avec un décallage de 2h oO
Le code python lisant les données du Linky sont minimalistes (pas de thread etc) -> https://github.com/sylvek/domotik/blob/master/raspberrypi/domotik/mosquitto_pub/linky.py
Et comme j'enregistre les données dans Elasticsearch/Mongodb de la même manière que ce soit pour le linky que le cc128, je me dis que mon décalage provient de la lecture des données.
Je vous donne un exemple … en vert le CC128, en jaune le Linky => https://ibb.co/iR8vDz
Les courbes sont trop similaires pour être accidentelles, mais Linky lit les données 2h en retard..
Comment fonctionne le Linky en lecture? est-ce que je lis trop lentement et cela entraine un retard? (mais apparemment ce retard est constant). Est-ce que le Linky garde en mémoire les trames et il faut toutes les consommer? (si oui, comment vider la mémoire?)
J'avoue être un peu perdu.
-
j'ai corrigé mon problème en ré-écrivant mon script python. ser.readLine() est à éviter.
https://github.com/sylvek/domotik/commit/388fbeac5ccc7d857cab12666ce60a6f5c0bb942