From 24f4bafb7fde1c2cccc886f52635bc08e80b6fa0 Mon Sep 17 00:00:00 2001 From: quoije Date: Tue, 18 Oct 2022 22:45:18 -0400 Subject: [PATCH] dogshit --- HA-SS_Sync.py | 74 ++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 59 insertions(+), 15 deletions(-) diff --git a/HA-SS_Sync.py b/HA-SS_Sync.py index 0ac5ea0..d5ecb1f 100644 --- a/HA-SS_Sync.py +++ b/HA-SS_Sync.py @@ -1,8 +1,13 @@ +from xml.sax import handler from requests import get from requests import post -import json -# Reference +from json import loads +from time import sleep +from requests import Session, post + # https://github.com/slattery-mark/SteelSeries-CKL-App +# author: slattery-mark +# modified by quoije haAddress = "192.168.0.42" haLight = "light.sb50_l4" @@ -12,13 +17,15 @@ haHeaders = { "content-type": "application/json", } haResponse = get(haUrl, headers=haHeaders) -haData = json.loads(haResponse.text) +haData = loads(haResponse.text) haLightColor = haData['attributes']['rgb_color'] gsAddress = "http://127.0.0.1:50786" gsGame = "HA_LIGHT_SYNC" +gsEvent = "SYNC" def registerGame(): """Registers this application to Engine.""" + print("[+] registerGame()") endpoint = f'{gsAddress}/game_metadata' payload = { "game" : gsGame, @@ -28,18 +35,55 @@ def registerGame(): r = post(endpoint, json=payload) print(r.text) +def removeGameEvent(): + """Removes a lighting event from Engine.""" + print("[+] removeGameEvent()") + endpoint = f'{gsAddress}/remove_game_event' + payload = { + "game" : gsGame, + "event" : gsEvent + } + post(endpoint, json=payload) -def sendGameEvent(): +def bindGameEvent(): + """Binds a lighting event to Engine.""" + print("[+] bindGameEvent()") + endpoint = f'{gsAddress}/register_game_event' + payload = { + "game" : gsGame, + "event": gsEvent, + "handlers" : + { + "device-type": "rgb-zoned-device", + "zone": "two", + "color": {"red": 0, "green": 255, "blue": 0}, + "mode": "color" + } + } + post(endpoint, json=payload) + +def sendGameEvent(event, kill_switch): """Sends a lighting event/frame to Engine.""" - endpoint = f'{gsAddress}/game_event' - payload = {"game": gsGame, - "event": "SYNC", - "handlers": [{ - "device-type": "keyboard", - "zone": "all", - "color": {"red": haLightColor[0],"green": haLightColor[1],"blue": haLightColor[2]} - }]} - r = post(endpoint, json=payload) - print(r.text) + print("[+] sendGameEvent(kill_switch)") -sendGameEvent() + if event == "init": + print("ayyy") + elif event == gsEvent: + endpoint = f'{gsAddress}/game_event' + payload = { + "game": gsGame, + "event": gsEvent, + "data": { + "value" : 50 + } + } + with Session() as s: + while kill_switch == 0: + print("[+] loopyloop") + s.post(endpoint, json=payload) + if kill_switch == 1: break + sleep(0.01) + + +bindGameEvent() +sendGameEvent(gsEvent, 0)