:return: str
        """
        json_dict = self.to_json_basic()
        json_dict["dark"] = self.dark
        json_dict["light"] = self.light
        json_dict["motion1"] = self.motion1
        json_dict["light_motion1"] = self.light_motion1
        json_dict["motion2"] = self.motion2
        json_dict["light_motion2"] = self.light_motion2
        json_dict["lowtempalarm"] = self.low_temp_alarm
        json_dict["hightempalarm"] = self.high_temp_alarm
        json_dict["lightvalue"] = self.light_value
        return json.dumps(json_dict)


register_command(COMMAND_CODE, ModuleStatusMessage)
register_command(COMMAND_CODE, ModuleStatusMessage2, "VMB8PBU")
register_command(COMMAND_CODE, ModuleStatusMessage2, "VMB6PBN")
register_command(COMMAND_CODE, ModuleStatusMessage2, "VMB2PBN")
register_command(COMMAND_CODE, ModuleStatusMessage2, "VMB6PBB")
register_command(COMMAND_CODE, ModuleStatusMessage2, "VMBGP1")
register_command(COMMAND_CODE, ModuleStatusMessage2, "VMBEL1")
register_command(COMMAND_CODE, ModuleStatusMessage2, "VMBGP1-2")
register_command(COMMAND_CODE, ModuleStatusMessage2, "VMBGP2")
register_command(COMMAND_CODE, ModuleStatusMessage2, "VMBEL2")
register_command(COMMAND_CODE, ModuleStatusMessage2, "VMBGP2-2")
register_command(COMMAND_CODE, ModuleStatusMessage2, "VMBGP4")
register_command(COMMAND_CODE, ModuleStatusMessage2, "VMBEL4")
register_command(COMMAND_CODE, ModuleStatusMessage2, "VMBGP4-2")
register_command(COMMAND_CODE, ModuleStatusMessage2, "VMBGPO")
register_command(COMMAND_CODE, ModuleStatusMessage2, "SUB_VMBGPO")
        return self.disable_inhibit_forced == CHANNEL_FORCED_ON

    def is_disabled(self):
        """
        :return: bool
        """
        return self.disable_inhibit_forced == CHANNEL_DISABLED

    def cur_dimmer_state(self):
        """
        :return: int
        """
        return self.dimmer_state

    def data_to_binary(self):
        """
        :return: bytes
        """
        return (bytes([
            COMMAND_CODE,
            self.channels_to_byte([self.channel]),
            self.disable_inhibit_forced,
            self.dimmer_state,
            self.led_status,
        ]) + struct.pack(">L", self.delay_time)[-3:])


register_command(COMMAND_CODE, DimmerChannelStatusMessage, "VMB4DC")
register_command(COMMAND_CODE, DimmerChannelStatusMessage, "VMBDMI")
register_command(COMMAND_CODE, DimmerChannelStatusMessage, "VMBDMI-R")
                                                    byteorder="big",
                                                    signed=False)

    def to_json(self):
        """
        :return: str
        """
        json_dict = self.to_json_basic()
        json_dict["channels"] = self.dimmer_channels
        json_dict["state"] = self.dimmer_state
        json_dict["transitiontime"] = self.dimmer_transitiontime
        return json.dumps(json_dict)

    def data_to_binary(self):
        """
        :return: bytes
        """
        return (bytes([
            COMMAND_CODE,
            self.channels_to_byte(self.dimmer_channels),
            self.dimmer_state,
        ]) + self.dimmer_transitiontime.to_bytes(
            2, byteorder="big", signed=False))


register_command(COMMAND_CODE, SetDimmerMessage, "VMBDME")
register_command(COMMAND_CODE, SetDimmerMessage, "VMB4DC")
register_command(COMMAND_CODE, SetDimmerMessage, "VMBDMI")
register_command(COMMAND_CODE, SetDimmerMessage, "VMBDMI-R")
register_command(COMMAND_CODE, SetDimmerMessage, "VMB1LED")
        return self.cur

    def populate(self, priority, address, rtr, data):
        """
        data bytes (high + low)
            1 + 2   = current temp
            3 + 4   = min temp
            5 + 6   = max temp
        :return: None
        """
        assert isinstance(data, bytes)
        self.needs_no_rtr(rtr)
        self.needs_data(data, 6)
        self.set_attributes(priority, address, rtr)
        self.cur = (((data[0] << 8) | data[1]) / 32) * 0.0625
        self.min = (((data[2] << 8) | data[3]) / 32) * 0.0625
        self.max = (((data[4] << 8) | data[5]) / 32) * 0.0625

    def to_json(self):
        """
        :return: str
        """
        json_dict = self.to_json_basic()
        json_dict["cur"] = self.cur
        json_dict["min"] = self.min
        json_dict["max"] = self.max
        return json.dumps(json_dict)


register_command(COMMAND_CODE, SensorTemperatureMessage)
Exemple #5
0
    """
    send by:
    received by: VMB2BL
    """

    def populate(self, priority, address, rtr, data):
        """
        :return: None
        """
        assert isinstance(data, bytes)
        self.needs_low_priority(priority)
        self.needs_no_rtr(rtr)
        self.needs_data(data, 1)
        self.set_attributes(priority, address, rtr)
        tmp = (data[0] >> 1) & 0x03
        self.channels = self.byte_to_channels(tmp)

    def data_to_binary(self):
        """
        :return: bytes
        """
        tmp = 0x00
        if 1 in self.channels:
            tmp += 0x03
        if 2 in self.channels:
            tmp += 0x0C
        return bytes([COMMAND_CODE, tmp])


register_command(COMMAND_CODE, ChannelNameRequestMessage)
class SlowBlinkingLedMessage(Message):
    """
    send by: VMB4RYLD
    received by: VMB6IN
    """

    def __init__(self, address=None):
        Message.__init__(self)
        self.leds = []
        self.set_defaults(address)

    def populate(self, priority, address, rtr, data):
        """
        :return: None
        """
        assert isinstance(data, bytes)
        self.needs_low_priority(priority)
        self.needs_no_rtr(rtr)
        self.needs_data(data, 1)
        self.set_attributes(priority, address, rtr)
        self.leds = self.byte_to_channels(data[0])

    def data_to_binary(self):
        """
        :return: bytes
        """
        return bytes([COMMAND_CODE, self.channels_to_byte(self.leds)])


register_command(COMMAND_CODE, SlowBlinkingLedMessage)
Exemple #7
0
    received by:
    """
    def populate(self, priority, address, rtr, data):
        """
        :return: None
        """
        assert isinstance(data, bytes)
        self.needs_low_priority(priority)
        self.needs_no_rtr(rtr)
        self.needs_data(data, 5)
        self.set_attributes(priority, address, rtr)
        self.channel = (data[0] >> 1) & 0x03
        self.name = "".join([chr(x) for x in data[1:]])


register_command(COMMAND_CODE, ChannelNamePart2Message)
register_command(COMMAND_CODE, ChannelNamePart2Message2, "VMBGP1")
register_command(COMMAND_CODE, ChannelNamePart2Message2, "VMBEL1")
register_command(COMMAND_CODE, ChannelNamePart2Message2, "VMBGP1-2")
register_command(COMMAND_CODE, ChannelNamePart2Message2, "VMBGP2")
register_command(COMMAND_CODE, ChannelNamePart2Message2, "VMBEL2")
register_command(COMMAND_CODE, ChannelNamePart2Message2, "VMBGP2-2")
register_command(COMMAND_CODE, ChannelNamePart2Message2, "VMBGP4")
register_command(COMMAND_CODE, ChannelNamePart2Message2, "VMBEL4")
register_command(COMMAND_CODE, ChannelNamePart2Message2, "VMBGP4-2")
register_command(COMMAND_CODE, ChannelNamePart2Message2, "VMBGPO")
register_command(COMMAND_CODE, ChannelNamePart2Message2, "VMBGPOD")
register_command(COMMAND_CODE, ChannelNamePart2Message2, "VMBELO")
register_command(COMMAND_CODE, ChannelNamePart2Message2, "VMBGP4PIR")
register_command(COMMAND_CODE, ChannelNamePart2Message2, "VMBDMI")
register_command(COMMAND_CODE, ChannelNamePart2Message2, "VMBDMI-R")
Exemple #8
0
        self.needs_no_rtr(rtr)
        self.needs_data(data, 7)
        self.set_attributes(priority, address, rtr)
        self.channel = (data[0] & 0x03) + 1
        self.pulses = (data[0] >> 2) * 100
        self.counter = (data[1] << 24) + (data[2] << 16) + (
            data[3] << 8) + data[4]
        self.delay = (data[5] << 8) + data[6]

    def to_json(self):
        """
        :return: str
        """
        json_dict = self.to_json_basic()
        json_dict["pulses"] = self.pulses
        json_dict["counter"] = self.counter
        json_dict["kwh"] = self.kwh
        json_dict["delay"] = self.delay
        json_dict["watt"] = self.watt
        json_dict["channel"] = self.channel
        return json.dumps(json_dict)

    def get_channels(self):
        """
        :return: list
        """
        return self.channel


register_command(COMMAND_CODE, CounterStatusMessage, "VMB7IN")
    """

    def __init__(self, address=None):
        Message.__init__(self)
        self.start = 0x00
        self.memo_text = ""
        self.set_defaults(address)

    def populate(self, priority, address, rtr, data):
        """
        :return: None
        """
        assert isinstance(data, bytes)
        self.needs_low_priority(priority)
        self.needs_no_rtr(rtr)
        self.needs_data(data, 7)
        self.set_attributes(priority, address, rtr)
        self.start = data[1]
        self.name = "".join([chr(x) for x in data[2:]])

    def data_to_binary(self):
        """
        :return: bytes
        """
        while len(self.memo_text) < 5:
            self.memo_text += chr(0)
        return bytes([COMMAND_CODE, 0x00, self.start]) + bytes(self.memo_text, "utf-8")


register_command(COMMAND_CODE, MemoTextMessage)
Exemple #10
0
class SetLedMessage(Message):
    """
    send by: VMB4RYLD
    received by: VMB6IN
    """
    def __init__(self, address=None):
        Message.__init__(self)
        self.leds = []
        self.set_defaults(address)

    def populate(self, priority, address, rtr, data):
        """
        :return: None
        """
        assert isinstance(data, bytes)
        self.needs_low_priority(priority)
        self.needs_no_rtr(rtr)
        self.needs_data(data, 1)
        self.set_attributes(priority, address, rtr)
        self.leds = self.byte_to_channels(data[0])

    def data_to_binary(self):
        """
        :return: bytes
        """
        return bytes([COMMAND_CODE, self.channels_to_byte(self.leds)])


register_command(COMMAND_CODE, SetLedMessage)
Exemple #11
0
:author: Thomas Delaet <*****@*****.**>
"""
from velbus.message import Message
from velbus.command_registry import register_command

COMMAND_CODE = 0x09


class BusOffMessage(Message):
    """
    send by:
    received by: VMB1USB
    """
    def populate(self, priority, address, rtr, data):
        """
        :return: None
        """
        self.needs_low_priority(priority)
        self.needs_no_rtr(rtr)
        self.set_attributes(priority, address, rtr)
        self.needs_no_data(data)

    def data_to_binary(self):
        """
        :return: bytes
        """
        return bytes([COMMAND_CODE])


register_command(COMMAND_CODE, BusOffMessage)
    """

    def __init__(self, address=None, sleep=0):
        Message.__init__(self)
        self.sleep = sleep
        self.set_defaults(address)

    def populate(self, priority, address, rtr, data):
        """
        :return: None
        """
        self.needs_no_rtr(rtr)
        self.set_attributes(priority, address, rtr)

    def to_json(self):
        """
        :return: str
        """
        json_dict = self.to_json_basic()
        json_dict["sleep_time"] = self.sleep
        return json.dumps(json_dict)

    def data_to_binary(self):
        """
        :return: bytes
        """
        return bytes([COMMAND_CODE, 0x00, 0x00])


register_command(COMMAND_CODE, SwitchToNightMessage)
Exemple #13
0
COMMAND_CODE = 0x0A


class BusActiveMessage(Message):
    """
    send by:
    received by: VMB1USB
    """
    def set_defaults(self, address):
        if address is not None:
            self.set_address(address)
        self.set_high_priority()
        self.set_no_rtr()

    def populate(self, priority, address, rtr, data):
        assert isinstance(data, bytes)
        self.needs_high_priority(priority)
        self.needs_no_rtr(rtr)
        self.set_attributes(priority, address, rtr)
        self.needs_no_data(data)

    def data_to_binary(self):
        """
        :return: bytes
        """
        return bytes([COMMAND_CODE])


register_command(COMMAND_CODE, BusActiveMessage)
    def to_json(self):
        """
        :return: str
        """
        json_dict = self.to_json_basic()
        json_dict["channel"] = self.channel
        json_dict["delay_time"] = self.delay_time
        return json.dumps(json_dict)

    def set_defaults(self, address):
        if address is not None:
            self.set_address(address)
        self.set_high_priority()
        self.set_no_rtr()

    def data_to_binary(self):
        """
        :return: bytes
        """
        if self.channel == 0x01:
            tmp = 0x03
        else:
            tmp = 0x0C
        return bytes([COMMAND_CODE, tmp]) + struct.pack(">L",
                                                        self.delay_time)[-3:]


register_command(COMMAND_CODE, CoverPosMessage, "VMB1BLE")
register_command(COMMAND_CODE, CoverPosMessage, "VMB2BLE")
register_command(COMMAND_CODE, CoverPosMessage, "VMB1BLS")
    """
    def __init__(self, address=None):
        Message.__init__(self)
        self.high_address = 0x00
        self.low_address = 0x00
        self.data = bytes([])
        self.set_defaults(address)

    def populate(self, priority, address, rtr, data):
        """
        :return None
        """
        assert isinstance(data, bytes)
        self.needs_low_priority(priority)
        self.needs_no_rtr(rtr)
        self.needs_data(data, 6)
        self.set_attributes(priority, address, rtr)
        self.high_address = data[0]
        self.low_address = data[1]
        self.data = data[2:]

    def data_to_binary(self):
        """
        :return: bytes
        """
        return bytes([COMMAND_CODE, self.high_address, self.low_address
                      ]) + self.data


register_command(COMMAND_CODE, MemoryDataBlockMessage)
    def populate(self, priority, address, rtr, data):
        """
        :return: None
        """
        assert isinstance(data, bytes)
        self.needs_low_priority(priority)
        self.needs_no_rtr(rtr)
        # self.needs_data(data, 6)
        self.set_attributes(priority, address, rtr)
        self.module_type = data[0]
        (self.serial, ) = struct.unpack(">L", bytes([0, 0, data[1], data[2]]))
        self.sub_address_1 = data[3]
        self.sub_address_2 = data[4]
        self.sub_address_3 = data[5]
        self.sub_address_4 = data[6]

    def to_json(self):
        """
        :return: str
        """
        json_dict = self.to_json_basic()
        json_dict["sub_1"] = self.sub_address_1
        json_dict["sub_2"] = self.sub_address_2
        json_dict["sub_3"] = self.sub_address_3
        json_dict["sub_4"] = self.sub_address_4
        return json.dumps(json_dict)


register_command(COMMAND_CODE, ModuleSubTypeMessage)
        self.dimmer_transitiontime = int.from_bytes(
            data[[2, 3]], byteorder="big", signed=False
        )

    def to_json(self):
        """
        :return: str
        """
        json_dict = self.to_json_basic()
        json_dict["channels"] = self.dimmer_channels
        json_dict["transitiontime"] = self.dimmer_transitiontime
        return json.dumps(json_dict)

    def data_to_binary(self):
        """
        :return: bytes
        """
        return (
            bytes(
                [
                    COMMAND_CODE,
                    self.channels_to_byte(self.dimmer_channels),
                    0,
                ]
            )
            + self.dimmer_transitiontime.to_bytes(2, byteorder="big", signed=False)
        )


register_command(COMMAND_CODE, RestoreDimmerMessage)
        self.status = data[2] >> ((self.channel - 1) * 2)

    def to_json(self):
        """
        :return: str
        """
        json_dict = self.to_json_basic()
        json_dict["channel"] = self.channel
        json_dict["timeout"] = self.timeout
        json_dict["status"] = DSTATUS[self.status]
        return json.dumps(json_dict)

    def is_up(self):
        """
        :return: bool
        """
        return self.status == 0x01

    def is_down(self):
        """
        :return: bool
        """
        return self.status == 0x02


register_command(COMMAND_CODE, BlindStatusNgMessage, "VMB1BLE")
register_command(COMMAND_CODE, BlindStatusNgMessage, "VMB2BLE")
register_command(COMMAND_CODE, BlindStatusNgMessage, "VMB1BLS")
register_command(COMMAND_CODE, BlindStatusMessage, "VMB1BL")
register_command(COMMAND_CODE, BlindStatusMessage, "VMB2BL")
    """
    send by:
    received by: VMB4RYLD
    """
    def __init__(self, address=None):
        Message.__init__(self)
        self.set_defaults(address)

    def populate(self, priority, address, rtr, data):
        """
        :return: None
        """
        self.needs_no_rtr(rtr)
        self.set_attributes(priority, address, rtr)

    def to_json(self):
        """
        :return: str
        """
        json_dict = self.to_json_basic()
        return json.dumps(json_dict)

    def data_to_binary(self):
        """
        :return: bytes
        """
        return bytes([COMMAND_CODE, 0xAA])


register_command(COMMAND_CODE, TempSetHeatingMessage)
Exemple #20
0
        """
        json_dict = self.to_json_basic()
        json_dict["channel"] = self.channel
        json_dict["delay_time"] = self.delay_time
        return json.dumps(json_dict)

    def set_defaults(self, address):
        if address is not None:
            self.set_address(address)
        self.set_high_priority()
        self.set_no_rtr()

    def data_to_binary(self):
        """
        :return: bytes
        """
        if self.channel == 0x01:
            tmp = 0x03
        else:
            tmp = 0x0C

        return bytes([COMMAND_CODE, tmp]) + struct.pack(">L",
                                                        self.delay_time)[-3:]


register_command(COMMAND_CODE, CoverOffMessage2, "VMB1BL")
register_command(COMMAND_CODE, CoverOffMessage2, "VMB2BL")
register_command(COMMAND_CODE, CoverOffMessage, "VMB1BLE")
register_command(COMMAND_CODE, CoverOffMessage, "VMB2BLE")
register_command(COMMAND_CODE, CoverOffMessage, "VMB1BLS")
    def populate(self, priority, address, rtr, data):
        """
        :return: None
        """
        assert isinstance(data, bytes)
        self.needs_high_priority(priority)
        self.needs_no_rtr(rtr)
        self.needs_data(data, 1)
        self.set_attributes(priority, address, rtr)
        self.relay_channels = self.byte_to_channels(data[0])

    def to_json(self):
        """
        :return: str
        """
        json_dict = self.to_json_basic()
        json_dict["channels"] = self.relay_channels
        return json.dumps(json_dict)

    def data_to_binary(self):
        """
        :return: bytes
        """
        return bytes(
            [COMMAND_CODE,
             self.channels_to_byte(self.relay_channels)])


register_command(COMMAND_CODE, SwitchRelayOnMessage)
Exemple #22
0
"""
from velbus.message import Message
from velbus.command_registry import register_command

COMMAND_CODE = 0xD9


class BusErrorStatusRequestMessage(Message):
    """
    send by:
    received by: VMB6IN, VMB4RYLD
    """
    def populate(self, priority, address, rtr, data):
        """
        :return: None
        """
        assert isinstance(data, bytes)
        self.needs_low_priority(priority)
        self.needs_no_rtr(rtr)
        self.needs_no_data(data)
        self.set_attributes(priority, address, rtr)

    def data_to_binary(self):
        """
        :return: bytes
        """
        return bytes([COMMAND_CODE])


register_command(COMMAND_CODE, BusErrorStatusRequestMessage)
        if (self.status >> (self.channel - 1)) & 1 != 0:
            return True
        else:
            return False

    def has_interval_timer_on(self):
        """
        :return: bool
        """
        return self.status == INTERVAL_TIMER_ON

    def data_to_binary(self):
        """
        :return: bytes
        """
        return (
            bytes(
                [
                    COMMAND_CODE,
                    self.channels_to_byte([self.channel]),
                    self.disable_inhibit_forced,
                    self.status,
                    self.led_status,
                ]
            )
            + struct.pack(">L", self.delay_time)[-3:]
        )


register_command(COMMAND_CODE, RelayStatusMessage)
Exemple #24
0
        self.led_slow_blinking = []
        self.led_fast_blinking = []
        self.set_defaults(address)

    def populate(self, priority, address, rtr, data):
        """
        :return: None
        """
        assert isinstance(data, bytes)
        self.needs_low_priority(priority)
        self.needs_no_rtr(rtr)
        self.needs_data(data, 3)
        self.set_attributes(priority, address, rtr)
        self.led_on = self.byte_to_channels(data[0])
        self.led_slow_blinking = self.byte_to_channels(data[1])
        self.led_fast_blinking = self.byte_to_channels(data[2])

    def data_to_binary(self):
        """
        :return: bytes
        """
        return bytes([
            COMMAND_CODE,
            self.channels_to_byte(self.led_on),
            self.channels_to_byte(self.led_slow_blinking),
            self.channels_to_byte(self.led_fast_blinking),
        ])


register_command(COMMAND_CODE, UpdateLedStatusMessage)
    received by: VMB4RYLD
    """
    def __init__(self, address=None, sleep=0):
        Message.__init__(self)
        self.sleep = sleep
        self.set_defaults(address)

    def populate(self, priority, address, rtr, data):
        """
        :return: None
        """
        self.needs_no_rtr(rtr)
        self.set_attributes(priority, address, rtr)

    def to_json(self):
        """
        :return: str
        """
        json_dict = self.to_json_basic()
        json_dict["sleep_time"] = self.sleep
        return json.dumps(json_dict)

    def data_to_binary(self):
        """
        :return: bytes
        """
        return bytes([COMMAND_CODE, 0x00, 0x00])


register_command(COMMAND_CODE, SwitchToComfortMessage)
    def to_json(self):
        """
        :return: str
        """
        json_dict = self.to_json_basic()
        json_dict["closed_channels"] = self.closed
        json_dict["opened_channels"] = self.opened
        json_dict["closed_long_channels"] = self.closed_long
        return json.dumps(json_dict)

    def get_channels(self):
        """
        :return: list
        """
        return self.closed + self.opened

    def data_to_binary(self):
        """
        :return: bytes
        """
        return bytes([
            COMMAND_CODE,
            self.channels_to_byte(self.closed),
            self.channels_to_byte(self.opened),
            self.channels_to_byte(self.closed_long),
        ])


register_command(COMMAND_CODE, PushButtonStatusMessage)
Exemple #27
0
        return self.dimmer_mode == MODE_SLOW

    def is_slow_on(self):
        """
        :return: bool
        """
        return self.dimmer_mode == MODE_SLOW_ON

    def is_slow_off(self):
        """
        :return: bool
        """
        return self.dimmer_mode == MODE_SLOW_OFF

    def cur_dimmer_state(self):
        """
        :return: int
        """
        return self.dimmer_state

    def data_to_binary(self):
        """
        :return: bytes
        """
        return (bytes([
            COMMAND_CODE, self.dimmer_mode, self.dimmer_state, self.led_status
        ]) + struct.pack(">L", self.delay_time)[-3:])


register_command(COMMAND_CODE, DimmerStatusMessage, "VMBDME")
Exemple #28
0
    received by: VMB4RYLD
    """
    def __init__(self, address=None, sleep=0):
        Message.__init__(self)
        self.sleep = sleep
        self.set_defaults(address)

    def populate(self, priority, address, rtr, data):
        """
        :return: None
        """
        self.needs_no_rtr(rtr)
        self.set_attributes(priority, address, rtr)

    def to_json(self):
        """
        :return: str
        """
        json_dict = self.to_json_basic()
        json_dict["sleep_time"] = self.sleep
        return json.dumps(json_dict)

    def data_to_binary(self):
        """
        :return: bytes
        """
        return bytes([COMMAND_CODE, 0x00, 0x00])


register_command(COMMAND_CODE, SwitchToDayMessage)
Exemple #29
0
        json_dict = self.to_json_basic()
        json_dict["channel"] = self.channel
        json_dict["slider_state"] = self.slider_state
        json_dict["slider_long_pressed"] = self.slider_long_pressed
        return json.dumps(json_dict)

    def cur_slider_state(self):
        """
        :return: int
        """
        return self.slider_state

    def data_to_binary(self):
        """
        :return: bytes
        """
        return bytes(
            [
                COMMAND_CODE,
                self.channels_to_byte([self.channel]),
                self.slider_state,
                self.slider_long_pressed,
            ]
        )


register_command(COMMAND_CODE, SliderStatusMessage, "VMBDME")
register_command(COMMAND_CODE, SliderStatusMessage, "VMB4DC")
register_command(COMMAND_CODE, SliderStatusMessage, "VMBDMI")
register_command(COMMAND_CODE, SliderStatusMessage, "VMBDMI-R")
Exemple #30
0
"""
from velbus.message import Message
from velbus.command_registry import register_command

COMMAND_CODE = 0x0C


class ReceiveReadyMessage(Message):
    """
    send by:
    received by: VMB1USB
    """

    def populate(self, priority, address, rtr, data):
        """
        :return: None
        """
        # self.needs_low_priority(priority)
        self.needs_no_rtr(rtr)
        self.needs_no_data(data)
        self.set_attributes(priority, address, rtr)

    def data_to_binary(self):
        """
        :return: bytes
        """
        return bytes([COMMAND_CODE])


register_command(COMMAND_CODE, ReceiveReadyMessage)