diff --git a/examples/sht30_sensor_node.py b/examples/sht30_sensor_node.py new file mode 100644 index 0000000..fc83d6d --- /dev/null +++ b/examples/sht30_sensor_node.py @@ -0,0 +1,25 @@ + +__version__ = 21 +__app__ = 'sensor_node' + + +DEPENDENCIES = [ + ('lib/sht30.py', 'https://raw.githubusercontent.com/rsc1975/micropython-sht30/3b2ec7c46c9d63e37432009002ec1149da341ac7/sht30.py') +] + + +async def run(mqtt, name): + + interval_sub = mqtt.subscribe('home/config/sensor_node/measurement_interval', cls=int) + location_sub = mqtt.subscribe('config/location', local=True) + from sht30 import SHT30 + sensor = SHT30() + temperature, humidity = sensor.measure() + location = await location_sub.wait_for_value() + sensor_topic = 'home/sensors/{}/{}' + mqtt.publish(sensor_topic.format(location, 'temperature'), + b'{:.2f}'.format(temperature), qos=1, retain=True) + mqtt.publish(sensor_topic.format(location, 'humidity'), + b'{}'.format(humidity), qos=1, retain=True) + + return await interval_sub.wait_for_value()