def raw_command(dev: mirobo.Plug, cmd, parameters): """Run a raw command.""" params = [] # type: Any if parameters: params = ast.literal_eval(parameters) click.echo("Sending cmd %s with params %s" % (cmd, params)) click.echo(dev.raw_command(cmd, params))
def status(dev: mirobo.Plug): """Returns the state information.""" res = dev.status() if not res: return # bail out click.echo(click.style("Power: %s" % res.power, bold=True)) click.echo("Temperature: %s %%" % res.temperature) click.echo("Current: %s %%" % res.current)
def async_setup_platform(hass, config, async_add_devices, discovery_info=None): """Set up the switch from config.""" from mirobo import Plug, DeviceException host = config.get(CONF_HOST) name = config.get(CONF_NAME) token = config.get(CONF_TOKEN) _LOGGER.info("Initializing with host %s (token %s...)", host, token[:5]) try: plug = Plug(host, token) device_info = plug.info() _LOGGER.info("%s %s %s initialized", device_info.raw['model'], device_info.raw['fw_ver'], device_info.raw['hw_ver']) xiaomi_plug_switch = XiaomiPlugSwitch(name, plug, device_info) except DeviceException: raise PlatformNotReady async_add_devices([xiaomi_plug_switch], update_before_add=True)
def off(dev: mirobo.Plug): """Power off.""" click.echo("Power off: %s" % dev.off())
def on(dev: mirobo.Plug): """Power on.""" click.echo("Power on: %s" % dev.on())