32 lines
795 B
Python
32 lines
795 B
Python
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
|