# Path: mysensors/validation.py
# _LOGGER = logging.getLogger(__name__)
# def is_version(value):
# def safe_is_version(value):
# def is_battery_level(value):
# def is_heartbeat(value):
# 
# Path: mysensors/handler.py
# HANDLERS = Registry()


from enum import IntEnum
from mysensors.validation import is_version, percent_int
from .handler import HANDLERS
import voluptuous as vol
    I_SKETCH_VERSION = 12
    # Used by OTA firmware updates. Request for node to reboot.
    I_REBOOT = 13
    # Send by gateway to controller when startup is complete
    I_GATEWAY_READY = 14


class Stream(BaseConst):
    """MySensors stream sub-types."""

    # Request new FW, payload contains current FW details
    ST_FIRMWARE_CONFIG_REQUEST = 0
    # New FW details to initiate OTA FW update
    ST_FIRMWARE_CONFIG_RESPONSE = 1
    ST_FIRMWARE_REQUEST = 2  # Request FW block
    ST_FIRMWARE_RESPONSE = 3  # Response FW block
    ST_SOUND = 4  # Sound
    ST_IMAGE = 5  # Image


VALID_MESSAGE_TYPES = {
    MessageType.presentation: list(Presentation),
    MessageType.set: list(SetReq),
    MessageType.req: list(SetReq),
    MessageType.internal: list(Internal),
    MessageType.stream: list(Stream),
}

VALID_PRESENTATION = {member: str for member in list(Presentation)}
VALID_PRESENTATION.update(

# Path: mysensors/validation.py
# _LOGGER = logging.getLogger(__name__)
# def is_version(value):
# def safe_is_version(value):
# def is_battery_level(value):
# def is_heartbeat(value):
# 
# Path: mysensors/handler.py
# HANDLERS = Registry()


# Path: mysensors/const_14.py
from enum import IntEnum
from mysensors.validation import is_version, percent_int
from .handler import HANDLERS
import voluptuous as vol

    I_SKETCH_VERSION = 12
    # Used by OTA firmware updates. Request for node to reboot.
    I_REBOOT = 13
    # Send by gateway to controller when startup is complete
    I_GATEWAY_READY = 14


class Stream(BaseConst):
    """MySensors stream sub-types."""

    # Request new FW, payload contains current FW details
    ST_FIRMWARE_CONFIG_REQUEST = 0
    # New FW details to initiate OTA FW update
    ST_FIRMWARE_CONFIG_RESPONSE = 1
    ST_FIRMWARE_REQUEST = 2  # Request FW block
    ST_FIRMWARE_RESPONSE = 3  # Response FW block
    ST_SOUND = 4  # Sound
    ST_IMAGE = 5  # Image


VALID_MESSAGE_TYPES = {
    MessageType.presentation: list(Presentation),
    MessageType.set: list(SetReq),
    MessageType.req: list(SetReq),
    MessageType.internal: list(Internal),
    MessageType.stream: list(Stream),
}

VALID_PRESENTATION = {member: str for member in list(Presentation)}
VALID_PRESENTATION.update(

    {Presentation.S_ARDUINO_NODE: is_version, Presentation.S_ARDUINO_RELAY: is_version}