From a0a0de6a3ce987057f019b059c324e9fd7d7e73e Mon Sep 17 00:00:00 2001 From: Cihan Hasanoglu <cihan.hasanoglu@icloud.com> Date: Sat, 23 Jul 2022 10:56:29 +0200 Subject: [PATCH] adding skript to the repository --- shelly_script.py | 78 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 shelly_script.py diff --git a/shelly_script.py b/shelly_script.py new file mode 100644 index 0000000..a770430 --- /dev/null +++ b/shelly_script.py @@ -0,0 +1,78 @@ +import scrollphathd +import signal +import time +import threading +import json +from scrollphathd.fonts import font5x7 +from scrollphathd.fonts import font3x5 +import paho.mqtt.client as paho + +str_len = 0 +scroll_x = 0 + +scrollphathd.set_brightness(0.5) +scrollphathd.rotate(180) +scrollphathd.clear() + +def on_connect(client, userdata, flags, rc): + print("CONNACK received with code %d." % (rc)) + +def on_subscribe(client, userdata, mid, granted_qos): + str_len = scrollphathd.write_string("Connected", x = 0, y = 0, font=font3x5) + scrollphathd.show() + print("Subscribed: " +str(mid)+" "+ str(granted_qos)) + +def on_message(client, userdata, msg): + scrollphathd.clear() + message= msg.payload + print_msg(msg) + +def print_msg(msg): + print(msg.payload) + current_event = (msg.paload.decode()).split('event":"')[1].split('",')[0] + msg.payload = get_msg(msg.payload.decode())´ + + for i in range(8 * len(str(msg.payload))): + #while check_event(current_event, msg.payload.decode()): + str_len = scrollphathd.write_string(msg.payload, x = 0, y = 0, font=font5x7) + scrollphathd.show() + scrollphathd.scroll(1) + time.sleep(0.02) + i += 1 + + scrollphathd.clear() + scrollphathd.show() + print(msg.topic+" " +str(msg.qos)+" "+str(msg.payload)) + +def check_event(current_event, msg): + event = msg.split('event":"')[1].split('",')[0] + if(current_event != event): + on_message + return False + else: + return True + +def get_msg(msg): + print(msg) + event= msg.split('event":"')[1].split('",')[0] + print(event) + if(event == 'S'): + return "Pause " + if(event == 'SS'): + return "Vorlesung " + if(event == 'L'): + return "Uebung " + else: + return "Undefined " + + +client = paho.Client() +client.on_connect = on_connect +client.on_subscribe = on_subscribe +client.on_message = on_message +client.connect("broker.hivemq.com", 1883) +client.subscribe("hhz/iot/ss22/#", qos=1) +client.loop_forever() + + + -- GitLab