homie dsmr first try
This commit is contained in:
@@ -1,10 +1,15 @@
|
||||
import logging
|
||||
|
||||
from dsmr_parser.objects import Telegram
|
||||
from homie.node.node_base import Node_Base
|
||||
|
||||
from homie.node.property.property_enum import Property_Enum
|
||||
from dsmr2mqtt.node.property.property_volume import Property_Volume
|
||||
|
||||
from .property.property_volume import Property_Volume
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class Node_Gasmeter(Node_Base):
|
||||
class Node_GasMeter(Node_Base):
|
||||
def __init__(
|
||||
self,
|
||||
device,
|
||||
@@ -12,20 +17,13 @@ class Node_Gasmeter(Node_Base):
|
||||
name="Gas meter",
|
||||
type_="state",
|
||||
retain=True,
|
||||
qos=1,
|
||||
state_values=None,
|
||||
set_state=None,
|
||||
):
|
||||
assert state_values
|
||||
assert set_state
|
||||
|
||||
qos=1
|
||||
):
|
||||
logger.debug("Configuring gas meter")
|
||||
super().__init__(device, id, name, type_, retain, qos)
|
||||
|
||||
self.add_property(
|
||||
Property_Volume(
|
||||
self, "volume", "Volume", data_format=state_values, set_value=set_state
|
||||
)
|
||||
)
|
||||
self.add_property(Property_Volume(self, "volume", "Volume"))
|
||||
|
||||
def update_volume(self, volume):
|
||||
self.get_property("volume").value = volume
|
||||
def update(self, telegram: Telegram):
|
||||
logger.debug("Updating electricity meter properties")
|
||||
self.get_property("volume").value = float(telegram.HOURLY_GAS_METER_READING.value)
|
||||
|
||||
Reference in New Issue
Block a user