This commit is contained in:
2025-11-14 20:00:07 +00:00
parent 261e3dd27f
commit ec5ffa2e1b
2 changed files with 49 additions and 26 deletions

View File

@@ -6,7 +6,6 @@ import time
host = "192.168.0.100" host = "192.168.0.100"
if __name__ == "__main__": if __name__ == "__main__":

View File

@@ -94,15 +94,18 @@ class Tevolve:
def get_sid(self): def get_sid(self):
url = "https://api-tevolve.termoweb.net/socket.io/?token=" + self.token_primary + "&dev_id=" + str(self.dev_id) + "&EIO" \ try:
"=3&transport=polling" url = "https://api-tevolve.termoweb.net/socket.io/?token=" + self.token_primary + "&dev_id=" + str(self.dev_id) + "&EIO" \
response = requests.request("GET", url) "=3&transport=polling"
response = requests.request("GET", url)
if response.status_code == 200: if response.status_code == 200:
self.sid = json.loads(response.text[5:])["sid"] self.sid = json.loads(response.text[5:])["sid"]
else: # else:
self.token_primary = "" # self.token_primary = ""
# Tevolve.token_manager() # Tevolve.token_manager()
except Exception as e:
raise e
def get_devices(self): def get_devices(self):
@@ -124,23 +127,30 @@ class Tevolve:
def post_websocket(self): def post_websocket(self):
# Tevolve.token_manager() # Tevolve.token_manager()
# Tevolve.get_sid()
try:
self.get_sid()
url = "https://api-tevolve.termoweb.net/socket.io/?token=" + self.token_primary + "&dev_id=" + str(self.dev_id) + "&EIO" \ url = "https://api-tevolve.termoweb.net/socket.io/?token=" + self.token_primary + "&dev_id=" + str(self.dev_id) + "&EIO" \
"=3&transport=polling&t=Ntb6xXn" \ "=3&transport=polling&t=Ntb6xXn" \
"&sid=" + self.sid "&sid=" + self.sid
payload = "401:40/api/v2/socket_io?token=" + self.token_primary + "&dev_id=" + str(self.dev_id) payload = "401:40/api/v2/socket_io?token=" + self.token_primary + "&dev_id=" + str(self.dev_id)
headers = { headers = {
'Cookie': "io=" + self.sid, 'Cookie': "io=" + self.sid,
'Content-Type': 'text/plain', 'Content-Type': 'text/plain',
'Connection': 'keep-alive' 'Connection': 'keep-alive'
} }
r = requests.request("POST", url, headers=headers, data=payload)
print("post_websocket " + str(r.status_code))
except Exception as e:
raise e
requests.request("POST", url, headers=headers, data=payload)
def set_mode(self, heater_id, mode): def set_mode(self, heater_id, mode):
@@ -263,6 +273,13 @@ class Tevolve:
def on_open(ws): def on_open(ws):
try:
self.post_websocket()
# self.create_websocket(mqtt_connection)
except Exception as e:
print(e)
ws.close()
def run(): def run():
print("websocket (run)") print("websocket (run)")
counter = 0 counter = 0
@@ -282,21 +299,28 @@ class Tevolve:
def on_close(ws, close_status_code, close_msg): def on_close(ws, close_status_code, close_msg):
print("WEB SOCKET ClOSED") print("WEB SOCKET ClOSED")
mqtt_connection.publish_heater() # mqtt_connection.publish_heater()
time.sleep(2) time.sleep(2)
self.post_websocket() print("post websocket")
self.create_websocket(mqtt_connection) try:
self.post_websocket()
self.create_websocket(mqtt_connection)
except Exception as e:
print(e)
def on_error(ws, err): def on_error(ws, err):
print("WEB SOCKET ERROR") print("WEB SOCKET ERROR")
# self.post_websocket() # self.post_websocket()
# self.create_websocket(mqtt_connection) # self.create_websocket(mqtt_connection
def on_reconnect(ws):
print("Reconnect")
ws = websocket.WebSocketApp(websocket_url) ws = websocket.WebSocketApp(websocket_url)
websocket.enableTrace(False) websocket.enableTrace(False)
ws.on_message = on_message ws.on_message = on_message
ws.on_open = on_open ws.on_open = on_open
ws.on_close = on_close ws.on_close = on_close
ws.on_error = on_error # ws.on_error = on_error
ws.run_forever(ping_interval=10, ping_payload='42/api/v2/socket_io,["message","ping"]') ws.run_forever(ping_interval=10, ping_payload='42/api/v2/socket_io,["message","ping"]', reconnect=5)