This commit is contained in:
quoije
2022-10-18 22:45:18 -04:00
parent faafac7a0b
commit 24f4bafb7f
+59 -15
View File
@@ -1,8 +1,13 @@
from xml.sax import handler
from requests import get from requests import get
from requests import post from requests import post
import json from json import loads
# Reference from time import sleep
from requests import Session, post
# https://github.com/slattery-mark/SteelSeries-CKL-App # https://github.com/slattery-mark/SteelSeries-CKL-App
# author: slattery-mark
# modified by quoije
haAddress = "192.168.0.42" haAddress = "192.168.0.42"
haLight = "light.sb50_l4" haLight = "light.sb50_l4"
@@ -12,13 +17,15 @@ haHeaders = {
"content-type": "application/json", "content-type": "application/json",
} }
haResponse = get(haUrl, headers=haHeaders) haResponse = get(haUrl, headers=haHeaders)
haData = json.loads(haResponse.text) haData = loads(haResponse.text)
haLightColor = haData['attributes']['rgb_color'] haLightColor = haData['attributes']['rgb_color']
gsAddress = "http://127.0.0.1:50786" gsAddress = "http://127.0.0.1:50786"
gsGame = "HA_LIGHT_SYNC" gsGame = "HA_LIGHT_SYNC"
gsEvent = "SYNC"
def registerGame(): def registerGame():
"""Registers this application to Engine.""" """Registers this application to Engine."""
print("[+] registerGame()")
endpoint = f'{gsAddress}/game_metadata' endpoint = f'{gsAddress}/game_metadata'
payload = { payload = {
"game" : gsGame, "game" : gsGame,
@@ -28,18 +35,55 @@ def registerGame():
r = post(endpoint, json=payload) r = post(endpoint, json=payload)
print(r.text) 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.""" """Sends a lighting event/frame to Engine."""
endpoint = f'{gsAddress}/game_event' print("[+] sendGameEvent(kill_switch)")
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)
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)