Пример #1
0
    def refresh(self):
        cmd = request_status_command(self.type)
        pkt_builder = packet_builder()
        pkt_builder.set_command(cmd)

        data = pkt_builder.finalize()
        data = self._lan_service.appliance_transparent_send(self.id, data)
        if len(data) > 0:
            self._online = True
            response = appliance_response(data)
            _LOGGER.debug("Decoded Data: {}".format({
                'prompt_tone':
                response.prompt_tone,
                'target_temperature':
                response.target_temperature,
                'indoor_temperature':
                response.indoor_temperature,
                'outdoor_temperature':
                response.outdoor_temperature,
                'operational_mode':
                response.operational_mode,
                'fan_speed':
                response.fan_speed,
                'swing_mode':
                response.swing_mode,
                'eco_mode':
                response.eco_mode,
                'turbo_mode':
                response.turbo_mode
            }))
        else:
            self._online = False
Пример #2
0
    def apply(self):
        self._updating = True
        try:
            cmd = set_command(self.type)
            cmd.prompt_tone = self._prompt_tone
            cmd.power_state = self._power_state
            cmd.target_temperature = self._target_temperature
            cmd.operational_mode = self._operational_mode.value
            cmd.fan_speed = self._fan_speed
            cmd.swing_mode = self._swing_mode.value
            cmd.eco_mode = self._eco_mode
            cmd.turbo_mode = self._turbo_mode
            pkt_builder = packet_builder(self.id)
            #            cmd.night_light = False
            cmd.fahrenheit = self.farenheit_unit
            pkt_builder.set_command(cmd)

            data = pkt_builder.finalize()
            data = self._lan_service.appliance_transparent_send(data)
            _LOGGER.debug("apply - Recieved from {}, {}: {}".format(
                self.ip, self.id, data.hex()))
            if len(data) > 0:
                response = appliance_response(data)
                self._support = True
                if not self._defer_update:
                    self.update(response)
        finally:
            self._updating = False
            self._defer_update = False
Пример #3
0
    def refresh(self):
        cmd = request_status_command(self.type)
        pkt_builder = packet_builder(self.id)
        pkt_builder.set_command(cmd)

        data = pkt_builder.finalize()
        data = self._lan_service.appliance_transparent_send(data)
        _LOGGER.debug("refresh - Recieved from {}, {}: {}".format(
            self.ip, self.id, data.hex()))
        if len(data) > 0:
            self._online = True
            response = appliance_response(data)
            self._defer_update = False
            self._support = True
            if not self._defer_update:
                if data[0xa] == 0xc0:
                    self.update(response)
                if data[0xa] == 0xa1 or data[0xa] == 0xa0:
                    '''only update indoor_temperature and outdoor_temperature'''
                    _LOGGER.debug(
                        "refresh - Special Respone. {}, {}: {}".format(
                            self.ip, self.id, data[0xa:].hex()))
                    pass
                    # self.update_special(response)
                self._defer_update = False
        else:
            self._online = False
Пример #4
0
    def apply(self):
        self._updating = True
        try:
            cmd = set_command(self.type)
            cmd.prompt_tone = self._prompt_tone
            cmd.power_state = self._power_state
            cmd.target_temperature = self._target_temperature
            cmd.operational_mode = self._operational_mode.value
            cmd.fan_speed = self._fan_speed.value
            cmd.swing_mode = self._swing_mode.value
            cmd.eco_mode = self._eco_mode
            cmd.turbo_mode = self._turbo_mode
            #            cmd.temp_unit_f()
            print(f"0x09 byte was {cmd.data[0x09]}")

            pkt_builder = packet_builder(self.id)
            pkt_builder.set_command(cmd)

            data = pkt_builder.finalize()
            data = self._lan_service.appliance_transparent_send(data)
            _LOGGER.debug("apply - Recieved from {}, {}: {}".format(
                self.ip, self.id, data.hex()))
            if len(data) > 0:
                response = appliance_response(data)
                if not self._defer_update:
                    self.update(response)
                    print(f"updated device to:{self}")
        finally:
            self._updating = False
            self._defer_update = False
Пример #5
0
    def refresh(self):
        cmd = request_status_command(self.type)
        pkt_builder = packet_builder(self.id)
        pkt_builder.set_command(cmd)

        data = pkt_builder.finalize()
        data = self._lan_service.appliance_transparent_send(data)
        response = appliance_response(data)
        self._defer_update = False
        self.update(response)
Пример #6
0
    def refresh(self):
        cmd = request_status_command(self.type)
        pkt_builder = packet_builder(self.id)
        pkt_builder.set_command(cmd)

        data = pkt_builder.finalize()
        data = self._lan_service.appliance_transparent_send(data)
        _LOGGER.debug("refresh - Recieved from {}, {}: {}".format(self.ip, self.id, data.hex()))
        response = appliance_response(data)
        self._defer_update = False
        self.update(response)
Пример #7
0
    def refresh(self):
        cmd = request_status_command(self.type)
        pkt_builder = packet_builder()
        pkt_builder.set_command(cmd)

        data = pkt_builder.finalize()
        data = self._lan_service.appliance_transparent_send(self.id, data)
        response = appliance_response(data)
        print("Decoded Data: {}".format({
            'audible_feedback': response.audible_feedback,
            'target_temperature': response.target_temperature,
            'indoor_temperature': response.indoor_temperature,
            'outdoor_temperature': response.outdoor_temperature,
            'operational_mode': response.operational_mode,
            'fan_speed': response.fan_speed,
            'swing_mode': response.swing_mode,
            'eco_mode': response.eco_mode,
            'turbo_mode': response.turbo_mode
        }))
Пример #8
0
 def _send_cmd(self, cmd):
     pkt_builder = packet_builder(self.id)
     pkt_builder.set_command(cmd)
     data = pkt_builder.finalize()
     _LOGGER.debug("pkt_builder: {}:{} len: {} data: {}".format(
         self.ip, self.port, len(data), data.hex()))
     send_time = time.time()
     if self._protocol_version == 3:
         responses = self._lan_service.appliance_transparent_send_8370(data)
     else:
         responses = self._lan_service.appliance_transparent_send(data)
     _LOGGER.debug(
         "Got responses from {}:{} Version: {} Count: {} Time: {}".format(
             self.ip, self.port, self._protocol_version, len(responses),
             (time.time() - send_time)))
     if len(responses) == 0:
         self._active = False
         self._support = False
     for response in responses:
         self._process_response(response)
Пример #9
0
    def refresh(self):
        cmd = request_status_command(self.type)
        pkt_builder = packet_builder(self.id)
        pkt_builder.set_command(cmd)

        data = pkt_builder.finalize()
        data = self._lan_service.appliance_transparent_send(data)
        _LOGGER.debug("refresh - Recieved from {}, {}: {}".format(
            self.ip, self.id, data.hex()))
        if len(data) > 0:
            response = appliance_response(data)
            self._defer_update = False
            self._support = True
            if data[0xa] != 0xc0:
                _LOGGER.debug(
                    "refresh - Not status(0xc0) respone, defer update. {}, {}: {}"
                    .format(self.ip, self.id, data[0xa:].hex()))
                self._defer_update = True
            if not self._defer_update:
                self.update(response)
                self._defer_update = False
Пример #10
0
    def apply(self):
        self._updating = True
        try:
            cmd = set_command(self.type)
            cmd.audible_feedback = self._audible_feedback
            cmd.power_state = self._power_state
            cmd.target_temperature = self._target_temperature
            cmd.operational_mode = self._operational_mode.value
            cmd.fan_speed = self._fan_speed.value
            cmd.swing_mode = self._swing_mode.value
            cmd.eco_mode = self._eco_mode
            cmd.turbo_mode = self._turbo_mode

            pkt_builder = packet_builder(self.id)
            pkt_builder.set_command(cmd)

            data = pkt_builder.finalize()
            data = self._lan_service.appliance_transparent_send(data)
            response = appliance_response(data)
            if not self._defer_update:
                self.update(response)
        finally:
            self._updating = False
            self._defer_update = False