Merge pull request #1 from niekproductions/master

Re-subscribe to MQTT topic after reconnect
This commit is contained in:
polyfloyd 2019-10-11 20:12:36 +02:00 committed by GitHub
commit 317d17f78d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -56,18 +56,22 @@ def make_app():
(r'/statejson', StatejsonHandler), (r'/statejson', StatejsonHandler),
]) ])
if __name__ == '__main__':
mqttc = mqtt.Client()
mqttc.connect(MQTT_HOST)
mqttc.loop_start()
def on_message(client, userdata, message): def on_message(client, userdata, message):
global current_state, current_state_change global current_state, current_state_change
if message.topic == 'bitlair/state': if message.topic == 'bitlair/state':
current_state = message.payload == b'open' current_state = message.payload == b'open'
current_state_change = time.time() current_state_change = time.time()
def on_connect(client, userdata, flags, rc):
client.subscribe('bitlair/state', qos=2)
if __name__ == '__main__':
mqttc = mqtt.Client()
mqttc.on_message = on_message mqttc.on_message = on_message
mqttc.subscribe('bitlair/state', qos=2) mqttc.on_connect = on_connect
mqttc.connect(MQTT_HOST)
mqttc.loop_start()
app = make_app() app = make_app()
app.listen(8888) app.listen(8888)