def set_filterlifespandays(self, **kwargs): days = kwargs["days"] payload = payloads.set_attributes( place_id=self.iris.place_id, device_id=self.iris.devices[kwargs["device"]]["base:id"], namespace=self.namespace, key="filterlifespandays", value=days) request.send(client=self, payload=payload, debug=self.iris.debug)
def unlock_door(self, **kwargs): payload = payloads.set_attributes( place_id=self.iris.place_id, device_id=self.iris.devices[kwargs["device"]]["base:id"], namespace=self.namespace, key="lockstate", value="UNLOCKED", ) request.send(client=self, payload=payload, debug=self.iris.debug)
def set_fanmode(self, **kwargs): mode = kwargs["mode"] payload = payloads.set_attributes( place_id=self.iris.place_id, device_id=self.iris.devices[kwargs["device"]]["base:id"], namespace=self.namespace, key="fanmode", value=mode) request.send(client=self, payload=payload, debug=self.iris.debug)
def init(self, **kwargs): self.ws = websocket.create_connection(self.ws_uri, cookie=cookie) # Get place ID from here result = utils.validate_json(self.ws.recv()) self.get_place_id(result=result) # Set active place. REQUIRED. payload = payloads.set_active_place(place_id=self.place_id) request.send(client=self, payload=payload, debug=self.debug)
def switch_off(self, **kwargs): payload = payloads.set_attributes( place_id=self.iris.place_id, device_id=self.iris.devices[kwargs["device"]]["base:id"], namespace=self.namespace, key="state", value="OFF", ) request.send(client=self, payload=payload, debug=self.iris.debug)
def set_heatsetpoint(self, **kwargs): setpoint = kwargs["setpoint"] payload = payloads.set_attributes( place_id=self.iris.place_id, device_id=self.iris.devices[kwargs["device"]]["base:id"], namespace=self.namespace, key="heatsetpoint", value=utils.farenheit_to_celsius(setpoint), ) request.send(client=self, payload=payload, debug=self.iris.debug)
def set_room(self, **kwargs): setpoint = kwargs["room"] payload = payloads.set_attributes( place_id=self.iris.place_id, device_id=self.iris.devices[kwargs["device"]]["base:id"], namespace=self.namespace, key="room", value=room, ) request.send(client=self, payload=payload, debug=self.iris.debug)
def set_haloalertstate(self, **kwargs): setpoint = kwargs["state"] payload = payloads.set_attributes( place_id=self.iris.place_id, device_id=self.iris.devices[kwargs["device"]]["base:id"], namespace=self.namespace, key="haloalertstate", value=state, ) request.send(client=self, payload=payload, debug=self.iris.debug)
def set_brightness(self, **kwargs): level = kwargs["level"] payload = payloads.set_attributes( place_id=self.iris.place_id, device_id=self.iris.devices[kwargs["device"]]["base:id"], namespace=self.namespace, key="brightness", value=level, ) request.send(client=self, payload=payload, debug=self.iris.debug)
def get_security_answers(self, **kwargs): person_id = self.iris.get_id(type="person", name=kwargs["name"]) if person_id: payload = payloads.person(namespace=self.namespace, person_id=person_id, method="GetSecurityAnswers") request.send(client=self, payload=payload, debug=self.iris.debug) else: self.response = utils.make_response( client=self, success=False, content_key="message", content="User {} not found.".format(kwargs["name"]))
def __service_request(self, **kwargs): content = utils.method_validator(client=self, **kwargs) if self.success: payload = self.__payload(method=content["method"], namespace=content["namespace"]) for k, v in content["attributes"].items(): payload["payload"]["attributes"][k] = v request.send(client=self, namespace=content["namespace"], method=content["method"], payload=payload, debug=self.debug) else: print(self.response)
def list_hubs(self, **kwargs): self.response = {} payload = {} required = [] oneof = [] valid = {} content = utils.process_parameters(opts=kwargs, required=required, oneof=oneof, valid=valid) if isinstance(content, dict): payload = payloads.place( place_id=self.iris.place_id, method="ListHubs", ) request.send(client=self, payload=payload, debug=self.iris.debug)
def __subsystem_request(self, **kwargs): content = utils.method_validator(client=self, **kwargs) if self.success: payload = self.__payload(method=content["method"], namespace=content["namespace"]) payload["headers"]["correlationId"] = db.find_correlation_id( namespace=content["namespace"], method=content["method"]) for k, v in content["attributes"].items(): payload["payload"]["attributes"][k] = v request.send(client=self, namespace=content["namespace"], method=content["method"], payload=payload, debug=self.debug) else: print(self.response)
def __keypad_request(self, **kwargs): namespace = self.namespace method = kwargs["method"] self.response = {} payload = {} required, valid = utils.fetch_parameters(namespace, method, self.iris.validator) content = utils.process_parameters(opts=kwargs, required=required, valid=valid) if isinstance(content, dict): payload = payloads.keypad_method( namespace=namespace, account_id=self.iris.account_id, method=method, ) for k, v in content.items(): payload["payload"]["attributes"][k] = v request.send(client=self, payload=payload, debug=self.iris.debug)
def __hub_request(self, **kwargs): namespace = kwargs["namespace"] method = kwargs["method"] self.response = {} payload = {} required, oneof, valid = utils.fetch_parameters( namespace, method, self.iris.validator) content = utils.process_parameters(opts=kwargs, required=required, oneof=oneof, valid=valid) if isinstance(content, dict): payload = payloads.hub_method( namespace=namespace, hub_address=self.iris.hub_address, method=method, ) for k, v in content.items(): payload["payload"]["attributes"][k] = v request.send(client=self, payload=payload, debug=self.iris.debug)
def __therm_request(self, **kwargs): type = None value = None method = kwargs["method"] self.response = {} payload = {} required, oneof, valid = utils.fetch_parameters( self.namespace, method, self.iris.validator) content = utils.process_parameters(opts=kwargs, required=required, oneof=oneof, valid=valid) if isinstance(content, dict): if "device_name" in content: type = "name" value = content["device_name"] device_address = self.iris.get_address( type="device", name=content["device_name"]) elif "device_id" in content: type = "ID" value = content["device_id"] device_address = self.iris.get_address(type="device", id=content["device_id"]) if device_address: payload = payloads.therm_method( namespace=self.namespace, device_address=device_address, method=method, ) for k, v in content.items(): payload["payload"]["attributes"][k] = v request.send(client=self, payload=payload, debug=self.iris.debug) else: self.response = utils.make_response( client=self, success=False, content="The device with the {} {} does not exist.".format( type, value))
def create_invitation(self, **kwargs): self.response = {} payload = {} required = ["firstName", "lastName", "email"] oneof = [] valid = {"params": ["firstName", "lastName", "email", "relationship"]} content = utils.process_parameters(opts=kwargs, required=required, oneof=oneof, valid=valid) if isinstance(content, dict): payload = payloads.place( place_id=self.iris.place_id, method="CreateInvitation", ) payload["payload"]["attributes"]["firstName"] = content[ "firstName"] payload["payload"]["attributes"]["lastName"] = content["lastName"] payload["payload"]["attributes"]["email"] = content["email"] if "relationship" in content: payload["payload"]["attributes"]["relationship"] = content[ "relationship"] request.send(client=self, payload=payload, debug=self.iris.debug)
def list_devices(self, **kwargs): request.send(client=self, payload=payloads.place(place_id=self.place_id, method="ListDevices"))
def list_persons(self, **kwargs): request.send(client=self, payload=payloads.place(place_id=self.place_id, method="ListPersons"))
def get_hub(self, **kwargs): # sends <class 'iris.core.Iris'> as client request.send(client=self, payload=payloads.place(place_id=self.place_id, method="GetHub"))
def list_persons(self, **kwargs): payload = payloads.place(place_id=self.iris.place_id, method="ListPersons") request.send(client=self, payload=payload, debug=self.iris.debug)