mqttmanager.status = 0 elif mqttmanager.status==status.getStatusCode("OPEN"): #open state lock.calibrate_open() mqttmanager.publish("esys/dadada/status", status.getStatusCode("OPEN")) #2 mqttmanager.status = 0 currentStatus = status.getStatusCode("OPEN") #OPEN utime.sleep_ms(300) mqttmanager.client.check_msg() alarm = Alarm() alarm_on = False while(True): if mqttmanager.alarm_status==1 and (currentStatus==status.getStatusCode("OPEN") or currentStatus==status.getStatusCode("CLOSED")): alarm.beep() if not wifi_conn.station.active(): wifi_conn.connect() # update MQTT broker when door changes state nextState = lock.get_status() if currentStatus != nextState: currentStatus = nextState # save the current door state mqttmanager.publish("esys/dadada/status", currentStatus) #update mqtt mqttmanager.client.check_msg() utime.sleep_ms(300)