Initial commit
This commit is contained in:
60
device_dsmr.py
Normal file
60
device_dsmr.py
Normal file
@@ -0,0 +1,60 @@
|
||||
from homie.device_base import Device_Base
|
||||
from homie.node.node_base import Node_Base
|
||||
|
||||
|
||||
|
||||
from settings import Settings
|
||||
|
||||
import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
SETTINGS = Settings()
|
||||
|
||||
TRANSLATED_MQTT_SETTINGS = {
|
||||
'MQTT_BROKER': SETTINGS.mqtt_host,
|
||||
'MQTT_PORT': SETTINGS.mqtt_port,
|
||||
'MQTT_USERNAME' : SETTINGS.mqtt_username,
|
||||
'MQTT_PASSWORD' : SETTINGS.mqtt_password,
|
||||
'MQTT_CLIENT_ID' : SETTINGS.hostname,
|
||||
'MQTT_SHARE_CLIENT': False,
|
||||
}
|
||||
|
||||
TRANSLATED_HOMIE_SETTINGS = {
|
||||
'topic' : SETTINGS.homie_topic,
|
||||
'fw_name' : SETTINGS.homie_fw_name,
|
||||
'fw_version' : SETTINGS.homie_fw_version,
|
||||
'update_interval' : SETTINGS.homie_update_interval,
|
||||
}
|
||||
|
||||
class Device_DSMR(Device_Base):
|
||||
def __init__(self, device_id=None, name=None, homie_settings=TRANSLATED_HOMIE_SETTINSG, mqtt_settings=TRANSLATED_MQTT_SETTINGS):
|
||||
|
||||
super().__init__(device_id, name, homie_settings, mqtt_settings)
|
||||
|
||||
node = Node_Base(self, "gasmeter", "Gasmeter", "status")
|
||||
self.add_node(node)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
self.start()
|
||||
|
||||
|
||||
def register_status_properties(self, node):
|
||||
super(Device_Temperature_Humidity_Battery, self).register_status_properties(
|
||||
node
|
||||
)
|
||||
|
||||
self.battery = Property_Battery(node)
|
||||
node.add_property(self.battery)
|
||||
|
||||
def update_battery(self, battery):
|
||||
logger.info("Updated Battery {}".format(battery))
|
||||
self.battery.value = battery
|
||||
|
||||
|
||||
|
||||
/Ene5\T210-D ESMR5.0
|
||||
|
||||
Reference in New Issue
Block a user