32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
import echo_controller.switch as Switch
|
|
import echo_controller.sensor as Sensor
|
|
import echo_controller.blinds as Blinds
|
|
import echo_controller.air_conditioner as AirConditioner
|
|
import echo_controller.led_strip as LedStrip
|
|
|
|
class Controller:
|
|
|
|
# These are all the device types with actions
|
|
device_action_controls = {
|
|
'switch' : Switch.Switch.handle_action,
|
|
'sensor' : Sensor.Sensor.handle_action,
|
|
'blinds' : Blinds.Blinds.handle_action,
|
|
'airconditioner' : AirConditioner.AirConditioner.handle_action,
|
|
'led_strip': LedStrip.LEDStrip.handle_action
|
|
}
|
|
|
|
# These are all the output devices
|
|
device_output_controls = {
|
|
'sensor' : Sensor.Sensor.handle_data,
|
|
'led_strip': LedStrip.LEDStrip.handle_data
|
|
}
|
|
|
|
@staticmethod
|
|
def handle_action(device, action, data = {}):
|
|
device_type = device['type']
|
|
return Controller.device_action_controls[device_type](device, action, data)
|
|
|
|
@staticmethod
|
|
def handle_output_device(device, action, data):
|
|
device_type = device['type']
|
|
return Controller.device_output_controls[device_type](device, action, data) |