Move from thread to rel dispatcher
This commit is contained in:
@@ -3,7 +3,7 @@ import json
|
||||
import threading
|
||||
import websocket
|
||||
import time
|
||||
import rel
|
||||
# import rel
|
||||
import datetime
|
||||
|
||||
data = "username=1202283%40uad.ac.uk&password=24e76d8e4&grant_type=password"
|
||||
@@ -32,6 +32,7 @@ class Tevolve:
|
||||
self.latest_message = ""
|
||||
self.time_token_start = 0
|
||||
|
||||
|
||||
setmode = ""
|
||||
setTemperature = ""
|
||||
sid = ""
|
||||
@@ -42,7 +43,7 @@ class Tevolve:
|
||||
|
||||
|
||||
|
||||
def token_manager(self, event):
|
||||
def token_manager(self, event, mqtt_manager):
|
||||
|
||||
while 1:
|
||||
|
||||
@@ -58,6 +59,10 @@ class Tevolve:
|
||||
self.token_primary = x.json()["access_token"]
|
||||
self.time_token_start = time.time()
|
||||
print("GOT TOKEN")
|
||||
try:
|
||||
self.r.join()
|
||||
except Exception as e:
|
||||
self.r = threading.Thread(target=self.create_websocket).start()
|
||||
|
||||
event.set()
|
||||
else:
|
||||
@@ -266,7 +271,7 @@ class Tevolve:
|
||||
pass
|
||||
|
||||
|
||||
def create_websocket(self, mqtt_connection):
|
||||
def create_websocket(self):
|
||||
|
||||
global start_time
|
||||
global end_time
|
||||
@@ -284,13 +289,15 @@ class Tevolve:
|
||||
a = json.loads(message[20:])
|
||||
if a[0] == "update":
|
||||
self.last_update = a[1]
|
||||
mqtt_connection.update_homeassistant_entity(self.last_update)
|
||||
self.update_homeassistant_entity(self.last_update)
|
||||
|
||||
|
||||
def on_open(ws):
|
||||
start_time = datetime.datetime.now()
|
||||
|
||||
try:
|
||||
self.post_websocket()
|
||||
websocket_url = "wss://api-tevolve.termoweb.net/socket.io/?token=" + self.token_primary + \
|
||||
"&dev_id=" + str(self.dev_id) + "&EIO=3&transport=websocket&sid=" + self.sid + ""
|
||||
print("postwebsocket")
|
||||
|
||||
print("websocket (run)")
|
||||
@@ -314,19 +321,19 @@ class Tevolve:
|
||||
|
||||
def on_close(ws, close_status_code, close_msg):
|
||||
print("WEB SOCKET ClOSED")
|
||||
global end_time
|
||||
end_time = datetime.datetime.now()
|
||||
print("starttime: " + str(start_time))
|
||||
print("endtime: " + str(end_time))
|
||||
breakpoint()
|
||||
|
||||
# mqtt_connection.publish_heater()
|
||||
time.sleep(2)
|
||||
try:
|
||||
self.post_websocket()
|
||||
# self.create_websocket(mqtt_connection)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
# global end_time
|
||||
# end_time = datetime.datetime.now()
|
||||
# print("starttime: " + str(start_time))
|
||||
# print("endtime: " + str(end_time))
|
||||
# breakpoint()
|
||||
#
|
||||
# # mqtt_connection.publish_heater()
|
||||
# time.sleep(2)
|
||||
# try:
|
||||
# self.post_websocket()
|
||||
# # self.create_websocket(mqtt_connection)
|
||||
# except Exception as e:
|
||||
# print(e)
|
||||
def on_error(ws, err):
|
||||
print("WEB SOCKET ERROR")
|
||||
breakpoint()
|
||||
@@ -369,8 +376,8 @@ class Tevolve:
|
||||
# ws.on_error = on_error
|
||||
# ws.on_reconnect = on_reconnect
|
||||
|
||||
ws.run_forever(dispatcher=rel, ping_interval=10, ping_payload='42/api/v2/socket_io,["message","ping"]', reconnect=5)
|
||||
rel.signal(2, rel.abort)
|
||||
rel.dispatch()
|
||||
# r = threading.Thread(target=run)
|
||||
# r.start()
|
||||
ws.run_forever(ping_interval=10, ping_payload='42/api/v2/socket_io,["message","ping"]')
|
||||
# rel.signal(2, rel.abort)
|
||||
# rel.dispatch()
|
||||
self.r = threading.Thread(target=run)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user