progress
This commit is contained in:
		@@ -6,6 +6,7 @@ class SSH(object):
 | 
			
		||||
    ##-----------------------------------------------------------------------------------##
 | 
			
		||||
    def __init__(self, devices):
 | 
			
		||||
    ##-----------------------------------------------------------------------------------##
 | 
			
		||||
        self.devices = {}
 | 
			
		||||
        for device in devices:
 | 
			
		||||
            self.devices[device] = {}
 | 
			
		||||
            self.devices[device]['user'] = devices[device]['user']
 | 
			
		||||
@@ -25,6 +26,30 @@ class SSH(object):
 | 
			
		||||
        if(command=="upgrade"):
 | 
			
		||||
            self.upgrade(device)
 | 
			
		||||
 | 
			
		||||
    ##-----------------------------------------------------------------------------------##
 | 
			
		||||
    def config(self):
 | 
			
		||||
    ##-----------------------------------------------------------------------------------##
 | 
			
		||||
        config = {
 | 
			
		||||
            "device" : {
 | 
			
		||||
                "name" : "",
 | 
			
		||||
                "ip" : "",
 | 
			
		||||
                "user" : ""
 | 
			
		||||
            },
 | 
			
		||||
            "shutdown" : {
 | 
			
		||||
                "device" : "name",
 | 
			
		||||
                "state" : "button"
 | 
			
		||||
            },
 | 
			
		||||
            "reboot" : {
 | 
			
		||||
                "device" : "name",
 | 
			
		||||
                "state" : "button"
 | 
			
		||||
            },
 | 
			
		||||
            "upgrade" : {
 | 
			
		||||
                "device" : "name",
 | 
			
		||||
                "state" : "button"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return config
 | 
			
		||||
 | 
			
		||||
    ##-----------------------------------------------------------------------------------##
 | 
			
		||||
    def shutdown(self, device):
 | 
			
		||||
    ##-----------------------------------------------------------------------------------##
 | 
			
		||||
 
 | 
			
		||||
@@ -7,9 +7,23 @@ class WOL(object):
 | 
			
		||||
    def __init__(self, devices):
 | 
			
		||||
    ##-----------------------------------------------------------------------------------##
 | 
			
		||||
        count = 0
 | 
			
		||||
        self.devices= {}
 | 
			
		||||
        for device in devices:
 | 
			
		||||
            self.devices[device] = devices[device]['mac']
 | 
			
		||||
 | 
			
		||||
    ##-----------------------------------------------------------------------------------##
 | 
			
		||||
    def config(self):
 | 
			
		||||
    ##-----------------------------------------------------------------------------------##
 | 
			
		||||
        config = {
 | 
			
		||||
            "device" : {
 | 
			
		||||
                "name" : "",
 | 
			
		||||
                "mac" : ""
 | 
			
		||||
            },
 | 
			
		||||
            "wake" : {
 | 
			
		||||
                "device" : "name",
 | 
			
		||||
                "state" : "button"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return config
 | 
			
		||||
    ##-----------------------------------------------------------------------------------##
 | 
			
		||||
    def wakeDevice(self, device):
 | 
			
		||||
    ##-----------------------------------------------------------------------------------##
 | 
			
		||||
 
 | 
			
		||||
@@ -26,6 +26,81 @@ class Yeelight(object):
 | 
			
		||||
            except:
 | 
			
		||||
                print(bulb + " ist in keiner Gruppe")
 | 
			
		||||
 | 
			
		||||
    ##-----------------------------------------------------------------------------------##
 | 
			
		||||
    def config(self):
 | 
			
		||||
    ##-----------------------------------------------------------------------------------##
 | 
			
		||||
        config = {
 | 
			
		||||
            "rgb" : {
 | 
			
		||||
                "device" : {
 | 
			
		||||
                    "name" : "",
 | 
			
		||||
                    "ip" : "",
 | 
			
		||||
                    "type" : "rgb"
 | 
			
		||||
                },
 | 
			
		||||
                "power" : {
 | 
			
		||||
                    "device" : "name",
 | 
			
		||||
                    "state" : "switch"
 | 
			
		||||
                },
 | 
			
		||||
                "brightness" : {
 | 
			
		||||
                    "device" : "name",
 | 
			
		||||
                    "state" : "dimmer"
 | 
			
		||||
                },
 | 
			
		||||
                "temperature" : {
 | 
			
		||||
                    "device" : "name",
 | 
			
		||||
                    "state" : "dimmer"
 | 
			
		||||
                },
 | 
			
		||||
                "color" : {
 | 
			
		||||
                    "device" : "name",
 | 
			
		||||
                    "r" : "dimmer",
 | 
			
		||||
                    "g" : "dimmer",
 | 
			
		||||
                    "b" : "dimmer"
 | 
			
		||||
                }
 | 
			
		||||
            },
 | 
			
		||||
            "white" : {
 | 
			
		||||
                "device" : {
 | 
			
		||||
                    "name": "",
 | 
			
		||||
                    "ip" : "",
 | 
			
		||||
                    "type" : "white"
 | 
			
		||||
                },
 | 
			
		||||
                "power" : {
 | 
			
		||||
                    "device" : "name",
 | 
			
		||||
                    "state" : "switch"
 | 
			
		||||
                },
 | 
			
		||||
                "brightness" : {
 | 
			
		||||
                    "device" : "name",
 | 
			
		||||
                    "state" : "dimmer"
 | 
			
		||||
                },
 | 
			
		||||
                "temperature" : {
 | 
			
		||||
                    "device" : "name",
 | 
			
		||||
                    "state" : "dimmer"
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return config
 | 
			
		||||
 | 
			
		||||
    ##-----------------------------------------------------------------------------------##
 | 
			
		||||
    def state(self):
 | 
			
		||||
    ##-----------------------------------------------------------------------------------##
 | 
			
		||||
        state = {}
 | 
			
		||||
        for bulb in self.bulbs:
 | 
			
		||||
            state[bulb] = {}
 | 
			
		||||
            try:
 | 
			
		||||
                properties = self.bulbs[bulb].get_properties()
 | 
			
		||||
            except:
 | 
			
		||||
                state[bulb]['offline'] = True
 | 
			
		||||
            finally:
 | 
			
		||||
                state[bulb]['offline'] = False
 | 
			
		||||
                state[bulb]['power'] = properties['power']
 | 
			
		||||
                state[bulb]['brightness'] = properties['bright']
 | 
			
		||||
                state[bulb]['temperature'] = properties['ct']
 | 
			
		||||
                state[bulb]['color'] = properties['rgb']
 | 
			
		||||
                state[bulb]['groups'] = {}
 | 
			
		||||
                for group in self.groups:
 | 
			
		||||
                    if(bulb in self.groups[group]):
 | 
			
		||||
                        state[bulb]['groups'][group] = ""
 | 
			
		||||
                #r, g, b = tuple(int(properties['rgb'][i:i+2], 16) for i in (0, 2 ,4))
 | 
			
		||||
                #print("r:" + str(r) + " g: " + str(g) + " b: " + str(b))
 | 
			
		||||
        return state
 | 
			
		||||
 | 
			
		||||
    ##-----------------------------------------------------------------------------------##
 | 
			
		||||
    def command(self, data):
 | 
			
		||||
    ##-----------------------------------------------------------------------------------##
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user