Archived
1
0
Fork 0

make backup of hue script

This commit is contained in:
Lukas Winkler 2018-08-05 20:15:20 +02:00
commit c955b1a12a
Signed by: lukas
GPG key ID: 54DE4D798D244853
2 changed files with 73 additions and 0 deletions

32
dash.py Normal file
View file

@ -0,0 +1,32 @@
import socket
import struct
import binascii
from lights import lights
# Written by Bob Steinbeiser (https://medium.com/@xtalker)
rawSocket = socket.socket(socket.AF_PACKET, socket.SOCK_RAW,
socket.htons(0x0003))
MAC = '50f5da0efe74'
while True:
packet = rawSocket.recvfrom(2048)
ethernet_header = packet[0][0:14]
ethernet_detailed = struct.unpack('!6s6s2s', ethernet_header)
# skip non-ARP packets
ethertype = ethernet_detailed[2]
if ethertype != '\x08\x06':
continue
arp_header = packet[0][14:42]
arp_detailed = struct.unpack('2s2s1s1s2s6s4s6s4s', arp_header)
source_mac = binascii.hexlify(arp_detailed[5])
dest_ip = socket.inet_ntoa(arp_detailed[8])
print(source_mac)
if source_mac == MAC:
print "Dash button pressed!, IP = " + dest_ip
lights()

41
lights.py Normal file
View file

@ -0,0 +1,41 @@
#!/usr/bin/python
import time
from phue import Bridge
b = Bridge('192.168.0.13')
TRANSITIONTIME = 1 * 10
WHITETEMP = 350 # 154 -- 500
WHITEBRIGHT = 255
b.connect()
def lights():
initial_lights = b.get_light()
lights = b.get_light_objects("id")
gang = b.get_group(2, 'lights')
for light_id in gang:
l = lights[int(light_id)]
l.transitiontime = TRANSITIONTIME
l.on = True
l.colortemp = WHITETEMP
time.sleep(TRANSITIONTIME / 10)
for light_id in gang:
l = lights[int(light_id)]
l.transitiontime = TRANSITIONTIME
l.brightness = WHITEBRIGHT
time.sleep(180)
for l in b.get_light_objects():
light_id = str(l.light_id)
old_light = initial_lights[light_id]["state"]
l.transitiontime = TRANSITIONTIME
l.xy = old_light["xy"]
l.brightness = old_light["bri"]
l.on = old_light["on"]