30 lines
825 B
Python
30 lines
825 B
Python
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)
|