Skip to content

Commit

Permalink
Removed wrong FAILED status
Browse files Browse the repository at this point in the history
  • Loading branch information
rospogrigio committed Dec 3, 2021
1 parent 76e46a9 commit 93593c0
Showing 1 changed file with 11 additions and 24 deletions.
35 changes: 11 additions & 24 deletions custom_components/airbnk_mqtt/lock_device.py
Original file line number Diff line number Diff line change
Expand Up @@ -206,23 +206,21 @@ def parse_MQTT_message(self, msg):
_LOGGER.debug("Received msg %s", msg)
payload = json.loads(msg)
msg_type = list(payload.keys())[0]
mac_address = self._lockConfig[CONF_MAC_ADDRESS]
if "details" in msg_type.lower() and ("p" and "mac" in payload[msg_type]):
mqtt_advert = payload[msg_type]["p"]
mqtt_mac = payload[msg_type]["mac"]
mac_address = self._lockConfig[CONF_MAC_ADDRESS]
if mac_address is None or mac_address == "":
sn_hex = "".join(
"{:02x}".format(ord(c)) for c in self._lockData["lockSn"]
)
if mqtt_advert[24 : 24 + len(sn_hex)] != sn_hex:
return
self._lockConfig[CONF_MAC_ADDRESS] = mqtt_mac
mac_address = mqtt_mac
self.requestDetails(mqtt_mac)

if (
mqtt_mac == self._lockConfig[CONF_MAC_ADDRESS]
and len(mqtt_advert) == 62
):
if mqtt_mac == mac_address and len(mqtt_advert) == 62:
self.parse_MQTT_advert(mqtt_advert[10:])
time2 = self.last_advert_time
self.last_advert_time = int(round(time.time()))
Expand All @@ -246,33 +244,22 @@ def parse_MQTT_message(self, msg):
callback_func()

if "operation" in msg_type.lower() and ("state" and "MAC" in payload[msg_type]):
if payload[msg_type]["state"] != "DONEWRITE":
_LOGGER.error(
"Failed sending frame: returned %s",
payload[msg_type]["state"],
)
if payload[msg_type]["MAC"] != mac_address:
return
msg_state = payload[msg_type]["state"]
if "FAIL" in msg_state:
_LOGGER.error("Failed sending frame: returned %s", msg_state)
self.curr_state = LOCK_STATE_FAILED
raise Exception(
"Failed sending frame: returned %s",
payload[msg_type]["state"],
)
raise Exception("Failed sending frame: returned %s", msg_state)
return

msg_mac_address = payload[msg_type]["MAC"]
msg_written_payload = payload[msg_type]["write"]
if (
msg_mac_address == self._lockConfig[CONF_MAC_ADDRESS]
and msg_written_payload == self.frame1hex.upper()
):
if msg_written_payload == self.frame1hex.upper():
self.frame1sent = True
self.sendFrame2()

if (
msg_mac_address == self._lockConfig[CONF_MAC_ADDRESS]
and msg_written_payload == self.frame2hex.upper()
):
if msg_written_payload == self.frame2hex.upper():
self.frame2sent = True

for callback_func in self._callbacks:
callback_func()

Expand Down

0 comments on commit 93593c0

Please sign in to comment.