A set of helpers for implementing Homie IoT Convention
Project description
homie-helpers
Yet another python implementation of Homie Convection
In fact, it's a wrapper around another library Homie4 - just with changed API
Quick start
There are two possible approaches - choose one that suits you more!
Approach 1: setting properties using device object
# Let's create settings first...
SETTINGS = HomieSettings('mqtt.eclipseprojects.io', port=1883, username='...' password='...')
# Callback for 'ison' property
def set_enabled(value):
print('Turning %s' % ('on' if value else 'off'))
# Create Homie object
# At this moment the MQTT messages will be sent!
homie = Homie(SETTINGS, "my-thermometer", nodes=[
Node("status", properties=[
FloatProperty("temperature", unit="C"), # client cannot modify this property
BooleanProperty('ison', set_handler=set_enabled) # client CAN modify this property - will call callback
])
])
homie['temperature'] = 20.0
Approach 2: setting properties using property objects
# Let's create settings first...
SETTINGS = HomieSettings('mqtt.eclipseprojects.io', port=1883, username='...' password='...')
# Callback for 'ison' property
def set_enabled(value):
print('Turning %s' % ('on' if value else 'off'))
property_temperature = FloatProperty("temperature", unit="C"), # client cannot modify this property
property_ison = BooleanProperty('ison', set_handler=set_enabled) # client CAN modify this property - will call callback
# Create Homie object
# At this moment the MQTT messages will be sent!
homie = Homie(SETTINGS, "my-thermometer", nodes=[
Node("status", properties=[property_temperature, property_ison])
property_temperature.value = 20.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
homie-helpers-0.0.5.tar.gz
(7.5 kB
view hashes)
Built Distribution
Close
Hashes for homie_helpers-0.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5ba8d39f9dd7c820430744772609405aecc76eec9896b3f3955b8ef5ace3802 |
|
MD5 | b09845e6df89c200ff25b6629001a2de |
|
BLAKE2b-256 | 040b9b387170e337b8e6e37ea8f810d81df20d5061322ae95df2dfe7e8d72fa0 |