|
|
@ -6,6 +6,7 @@ import time |
|
|
|
from lib.func import * # useful functions |
|
|
|
from lib.func import * # useful functions |
|
|
|
|
|
|
|
|
|
|
|
import config # Configuration for the controller (/config.py <- change this file) |
|
|
|
import config # Configuration for the controller (/config.py <- change this file) |
|
|
|
|
|
|
|
from presets import * # presets for the lights |
|
|
|
|
|
|
|
|
|
|
|
LIGHTS = {} # dictionary of all the lights |
|
|
|
LIGHTS = {} # dictionary of all the lights |
|
|
|
|
|
|
|
|
|
|
@ -82,13 +83,21 @@ class controller: |
|
|
|
for key in LIGHTS: |
|
|
|
for key in LIGHTS: |
|
|
|
controller.switchLight(key) |
|
|
|
controller.switchLight(key) |
|
|
|
|
|
|
|
|
|
|
|
# Light color |
|
|
|
# Light control |
|
|
|
def setLightColor( index:int, r:int, g:int, b:int ): |
|
|
|
def setLightColor( index:int, r:int, g:int, b:int ): |
|
|
|
if( LIGHTS.get(str(index)) ): |
|
|
|
if( LIGHTS.get(str(index)) ): |
|
|
|
loop.run_until_complete( controller.setLightRGB(index, r, g, b) ) |
|
|
|
loop.run_until_complete( controller.setLightRGB(index, r, g, b) ) |
|
|
|
else: |
|
|
|
else: |
|
|
|
print("Error: Light index '" + str(index) + "' out of range") |
|
|
|
print("Error: Light index '" + str(index) + "' out of range") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def setLightBrightness( index:int, b:int ): |
|
|
|
|
|
|
|
if( LIGHTS.get(str(index)) ): |
|
|
|
|
|
|
|
payload = '{"bri":' + str(b) + '}' |
|
|
|
|
|
|
|
APIrequest.put( "/lights/" + str(index) + "/state", payload ) |
|
|
|
|
|
|
|
else: |
|
|
|
|
|
|
|
print("Error: Light index '" + str(index) + "' out of range") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def setAllLightsColor( r:int, g:int, b:int ): |
|
|
|
def setAllLightsColor( r:int, g:int, b:int ): |
|
|
|
for key in LIGHTS: |
|
|
|
for key in LIGHTS: |
|
|
|
controller.setLightColor( key, r, g, b ) |
|
|
|
controller.setLightColor( key, r, g, b ) |
|
|
@ -96,6 +105,18 @@ class controller: |
|
|
|
def Power(isOn: bool=True): # Controlling the power of the lights |
|
|
|
def Power(isOn: bool=True): # Controlling the power of the lights |
|
|
|
loop.run_until_complete( controller.toggleLights(isOn) ) |
|
|
|
loop.run_until_complete( controller.toggleLights(isOn) ) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Presets |
|
|
|
|
|
|
|
def setPreset(index:int, p:str): |
|
|
|
|
|
|
|
if( LIGHTS.get(str(index)) ): |
|
|
|
|
|
|
|
if( PRESETS.get(p) ): |
|
|
|
|
|
|
|
preset = PRESETS[p] |
|
|
|
|
|
|
|
r, g, b = preset["color"] |
|
|
|
|
|
|
|
controller.setLightColor( index, r, g, b ) |
|
|
|
|
|
|
|
else: |
|
|
|
|
|
|
|
print("Error: Unknown preset '" + p + "'") |
|
|
|
|
|
|
|
else: |
|
|
|
|
|
|
|
print("Error: Light index '" + str(index) + "' out of range") |
|
|
|
|
|
|
|
|
|
|
|
# Controller "system" functions |
|
|
|
# Controller "system" functions |
|
|
|
def delay(n: int): |
|
|
|
def delay(n: int): |
|
|
|
time.sleep(n) |
|
|
|
time.sleep(n) |
|
|
@ -110,7 +131,6 @@ class controller: |
|
|
|
def end(): |
|
|
|
def end(): |
|
|
|
loop.close() |
|
|
|
loop.close() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def testReq(): |
|
|
|
def testReq(): |
|
|
|
controller.init() |
|
|
|
controller.init() |
|
|
|
controller.Power(True) |
|
|
|
controller.Power(True) |
|
|
|