MQTT doesn't autodiscover properly
This commit is contained in:
5
gauge.py
5
gauge.py
@@ -24,6 +24,7 @@ Additional config.json fields:
|
|||||||
import network
|
import network
|
||||||
import utime
|
import utime
|
||||||
import ujson
|
import ujson
|
||||||
|
import gc
|
||||||
from umqtt.robust import MQTTClient
|
from umqtt.robust import MQTTClient
|
||||||
from machine import UART
|
from machine import UART
|
||||||
|
|
||||||
@@ -804,10 +805,11 @@ def check_mqtt():
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
def _discovery_pause(client, count=2, delay_ms=10):
|
def _discovery_pause(client, count=5, delay_ms=25):
|
||||||
for _ in range(count):
|
for _ in range(count):
|
||||||
client.check_msg()
|
client.check_msg()
|
||||||
utime.sleep_ms(delay_ms)
|
utime.sleep_ms(delay_ms)
|
||||||
|
gc.collect()
|
||||||
|
|
||||||
|
|
||||||
def publish_discovery(client):
|
def publish_discovery(client):
|
||||||
@@ -823,6 +825,7 @@ def publish_discovery(client):
|
|||||||
f"homeassistant/switch/{MQTT_CLIENT_ID}_g{i}_status_green/config",
|
f"homeassistant/switch/{MQTT_CLIENT_ID}_g{i}_status_green/config",
|
||||||
]:
|
]:
|
||||||
client.publish(old_t, b"", retain=True)
|
client.publish(old_t, b"", retain=True)
|
||||||
|
_discovery_pause(client, count=2, delay_ms=15)
|
||||||
|
|
||||||
for i, g in enumerate(gauges):
|
for i, g in enumerate(gauges):
|
||||||
gt = gauge_topics[i]
|
gt = gauge_topics[i]
|
||||||
|
|||||||
Reference in New Issue
Block a user