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 .property.property_volume import Property_Volume logger = logging.getLogger(__name__) class Node_GasMeter(Node_Base): def __init__( self, device, id="gasmeter", name="Gas meter", type_="state", retain=True, qos=1 ): logger.debug("Configuring gas meter") super().__init__(device, id, name, type_, retain, qos) self.add_property(Property_Volume(self, "volume", "Volume")) def update(self, telegram: Telegram): logger.debug("Updating electricity meter properties") self.get_property("volume").value = float(telegram.HOURLY_GAS_METER_READING.value)