Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
 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)
Ejemplo n.º 6
0
 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)
Ejemplo n.º 7
0
 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)
Ejemplo n.º 8
0
 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)
Ejemplo n.º 9
0
 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)
Ejemplo n.º 10
0
 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"]))
Ejemplo n.º 11
0
 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)
Ejemplo n.º 12
0
 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)
Ejemplo n.º 13
0
 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)
Ejemplo n.º 14
0
 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)
Ejemplo n.º 15
0
 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)
Ejemplo n.º 16
0
    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))
Ejemplo n.º 17
0
 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)
Ejemplo n.º 18
0
 def list_devices(self, **kwargs):
     request.send(client=self,
                  payload=payloads.place(place_id=self.place_id,
                                         method="ListDevices"))
Ejemplo n.º 19
0
 def list_persons(self, **kwargs):
     request.send(client=self,
                  payload=payloads.place(place_id=self.place_id,
                                         method="ListPersons"))
Ejemplo n.º 20
0
 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"))
Ejemplo n.º 21
0
 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)