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 class Node_Gasmeter(Node_Base): def __init__( self, device, id="gasmeter", name="Gas meter", type_="state", retain=True, qos=1, state_values=None, set_state=None, ): assert state_values assert set_state super().__init__(device, id, name, type_, retain, qos) self.add_property( Property_Volume( self, "volume", "Volume", data_format=state_values, set_value=set_state ) ) def update_volume(self, volume): self.get_property("volume").value = volume