„cozylife-light.py“ hinzufügen

This commit is contained in:
2022-10-10 14:37:17 +00:00
parent 60139c674d
commit 3461be1963
+51
View File
@@ -0,0 +1,51 @@
# CozyLife WiFi LED strip
# code derived from https://github.com/cozylife/hass_cozylife_local_pull/blob/master/custom_components/hass_cozylife_local_pull/tcp_client.py#L134
import socket, time, json, sys
TCP_IP = '192.168.178.81'
TCP_PORT = 5555
BUFFER_SIZE = 1024
if str(sys.argv[1]) == 'off':
payload = {'1': 0}
else:
payload = {'1': 255, '2': 0}
# brightness 1 - 1000 (CozyLife nutzt nur 1-400)
payload['4'] = int(sys.argv[1])
# hs_color https://www.home-assistant.io/integrations/light/#service-lightturn_on
payload['5'] = int(sys.argv[2])
payload['6'] = int(sys.argv[3]) * 10
# weiß 0 0
# rot 0 100
# grün 120 100
# blau 240 100
# gelb 60 100
# orange 24 100
# colortemp
#payload['3'] = 900
message = {
'pv': 0,
'cmd': 3,
'sn': str(int(round(time.time() * 1000))),
'msg': {
'attr': [int(item) for item in payload.keys()],
'data': payload,
}
}
payload_str = json.dumps(message, separators=(',', ':',))
message_bytes = bytes(payload_str + "\r\n", encoding='utf8')
#MESSAGE = '{"pv":0,"cmd":2,"sn":"' + str(int(round(time.time() * 1000))) + '","msg":{"attr":[0]}}' + "\r\n"
#print MESSAGE
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))
s.send(message_bytes)
data = s.recv(BUFFER_SIZE)
s.close()
print(data)