From 01e61f5eff19c480bf322a974674dffc7a84c6f9 Mon Sep 17 00:00:00 2001 From: Charlymd Date: Wed, 26 Aug 2020 09:06:42 +0200 Subject: [PATCH] ajout de la fonction de calcul du checksum --- teleinfo.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/teleinfo.py b/teleinfo.py index 87467a7..bb29f5b 100644 --- a/teleinfo.py +++ b/teleinfo.py @@ -73,6 +73,16 @@ def add_measures(measures, time_measure): client.write_points(points) +def calc_checksum(group): + # Calcul le caractere de controle d'une ligne de trame linky + # seule l'etiquette et la donnée de chaque ligne doivent etre envoyés en parametre group + data_unicode = 0 + for data in group: + data_unicode += ord(data) + sum_unicode = (data_unicode & 63) + 32 + sum = chr(sum_unicode) + return sum + def main(): with serial.Serial(port='/dev/ttyS0', baudrate=1200, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE,