From 281fa3343615035e1983d5efe894a364323be14a Mon Sep 17 00:00:00 2001 From: gjkoolen <111087716+gjkoolen@users.noreply.github.com> Date: Sun, 19 Oct 2025 21:21:04 +0200 Subject: [PATCH] New Proxmox IP addres Aangepaste IP adres (voor Proxmox) en renewed jwt token,. Dit is de huidige werkende versie op de RPi. --- docs/Glucosemeter Project Logboek.docx | Bin 44924 -> 45159 bytes src/GlucoseCheck.py | 18 ++++++++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/docs/Glucosemeter Project Logboek.docx b/docs/Glucosemeter Project Logboek.docx index a9a0d8759f0cdd804be4923a39ee1fe796dd1918..66c47760fcf7d797496ddb55138c19548286262d 100644 GIT binary patch delta 19235 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 PDNYVrufleE4ajf+#AF>b delta 18881 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 a{Aaxq*e2w_5Ja)bW3ufA6}AVfL4p83GLzf@ diff --git a/src/GlucoseCheck.py b/src/GlucoseCheck.py index 03d845a..2bbb5b0 100644 --- a/src/GlucoseCheck.py +++ b/src/GlucoseCheck.py @@ -5,8 +5,8 @@ from datetime import datetime from collections import deque ##### Mqtt vars ##### -broker_address = "192.168.1.250" -broker_port = 1883 +broker_address = "192.168.1.160" +broker_port = 1883 recieve_topic = "telegrambot/in/glucose/gj" send_topic = "telegrambot/out/gj" brokercreds = ["hass","Bruk#5"] @@ -14,11 +14,12 @@ brokercreds = ["hass","Bruk#5"] ##### Variables ##### # API JWT token, Account-Id and Patient_Id -jwt_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImM1ZGVhZGZiLTNlZDYtMTFlYS1hZjZmLTAyNDJhYzExMDAwYSIsImZpcnN0TmFtZSI6IkdlcnRqYW4iLCJsYXN0TmFtZSI6Iktvb2xlbiIsImNvdW50cnkiOiJOTCIsInJlZ2lvbiI6ImV1Iiwicm9sZSI6InBhdGllbnQiLCJzIjoibGx1LmFuZHJvaWQiLCJzaWQiOiIxNjE5NmZkMy1mMmEzLTQ0MWMtOGEwZi03Y2Y2YjAyODQwZjYiLCJleHAiOjE3Njk1ODY1NjgsImlhdCI6MTc1NDAzNDU2OCwianRpIjoiNWQwZjI4NTctZmI2My00ZDlhLWE4MDAtZjVhNWNhMjg4MzZiIn0.4GupiVfdhIlavbMTTNQcy8UMeAvwnsSzdmfvQMVcoV8" +jwt_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImM1ZGVhZGZiLTNlZDYtMTFlYS1hZjZmLTAyNDJhYzExMDAwYSIsImZpcnN0TmFtZSI6IkdlcnRqYW4iLCJsYXN0TmFtZSI6Iktvb2xlbiIsImNvdW50cnkiOiJOTCIsInJlZ2lvbiI6ImV1Iiwicm9sZSI6InBhdGllbnQiLCJlbWFpbCI6Imdqa29vbGVuQGdtYWlsLmNvbSIsInMiOiJsbHUuYW5kcm9pZCIsInNpZCI6IjkzYTZmMmU2LWRjNDQtNDA0Mi04YjBiLTcxMGQ3MzAyMzMyNSIsInRhc2tUeXBlIjoidG91IiwiZXhwIjoxNzYwMTkzMDM2LCJpYXQiOjE3NjAxODk0MzYsImp0aSI6ImU0NTRlYzljLTE2ZTMtNDQwMy05YjYyLTc0NjAxZTkzNDFjOSJ9.hiyrVjE2kWvBr2DjtPojdTDtkqNrPI57HubXYl4Kko0" Account_ID = "dad20d62aeef891d94bda411af269900180cb7b84a0ce51d60b52463339935b1" Patient_ID = "c5deadfb-3ed6-11ea-af6f-0242ac11000a" # API endpoint for login -url = f"https://api-eu.libreview.io/llu/connections/{Patient_ID}/graph" +#url = f"https://api-eu.libreview.io/llu/connections/{Patient_ID}/graph" +url = f"https://libreview-proxy.onrender.com/eu/auth/continue/tou" # Headers headers = { @@ -75,10 +76,11 @@ def main(url_main, headers_main): while True: try: # Send the Get request + print(f"connecting to Libreview server, address: {url_main} with headers {headers_main}") response = requests.get(url_main, headers=headers_main) # json=payload if response.status_code == 200: # If request has succeeded data = response.json() - + gluc_value = glucose_value(data) print(f"current level: {gluc_value}") @@ -86,7 +88,7 @@ def main(url_main, headers_main): gluc_buffer.append(gluc_value) old_value = list(gluc_buffer)[0] print(f"old level: {old_value}") - gluc_slope = (gluc_value-old_value)* 60 / 30 # slope is gluc_level per hour (normalized) + gluc_slope = (gluc_value-old_value)* 60 / 30 # slope is gluc_level per hour (normalized) print(f"slope: {gluc_slope}") print(f"time.time: {time.time()}") @@ -103,7 +105,7 @@ def main(url_main, headers_main): (gluc_slope > limits_table[last_bolus_type][int(hours_since_last_bolus)][1])): print("Hey joh check je glucosepeil !") Mqtt.publish(send_topic, f"Hey joh check peil ! (lastbolus -{round(hours_since_last_bolus, 1)})") - + else: # Request has failed print(f"❌ Error: Could not connect to server: {response.status_code}") @@ -157,7 +159,7 @@ def on_message(client, userdata, msg): #This runs everytime a mqtt message Mqtt = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2) #Creates a mqqt object Mqtt.on_connect = on_connect #Create callback on connect -Mqtt.on_message = on_message #Create callback on message +Mqtt.on_message = on_message #Create callback on message Mqtt.username_pw_set(brokercreds[0], password=brokercreds[1]) #Set User and Password Mqtt.connect(broker_address, broker_port, 60) #Set Connection settings