1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
"""Constants for the Barrier Operator CC."""
from __future__ import annotations
from enum import IntEnum
NO_POSITION_SUFFIX = "(no position)"
WINDOW_COVERING_LEVEL_CHANGE_DOWN_PROPERTY = "levelChangeDown"
WINDOW_COVERING_LEVEL_CHANGE_UP_PROPERTY = "levelChangeUp"
class WindowCoveringPropertyKey(IntEnum):
"""Enum of all known Window Covering CC property keys."""
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/cc/src/lib/_Types.ts#L1588
OUTBOUND_LEFT_NO_POSITION = 0
OUTBOUND_LEFT = 1
OUTBOUND_RIGHT_NO_POSITION = 2
OUTBOUND_RIGHT = 3
INBOUND_LEFT_NO_POSITION = 4
INBOUND_LEFT = 5
INBOUND_RIGHT_NO_POSITION = 6
INBOUND_RIGHT = 7
INBOUND_LEFT_RIGHT_NO_POSITION = 8
INBOUND_LEFT_RIGHT = 9
VERTICAL_SLATS_ANGLE_NO_POSITION = 10
VERTICAL_SLATS_ANGLE = 11
OUTBOUND_BOTTOM_NO_POSITION = 12
OUTBOUND_BOTTOM = 13
OUTBOUND_TOP_NO_POSITION = 14
OUTBOUND_TOP = 15
INBOUND_BOTTOM_NO_POSITION = 16
INBOUND_BOTTOM = 17
INBOUND_TOP_NO_POSITION = 18
INBOUND_TOP = 19
INBOUND_TOP_BOTTOM_NO_POSITION = 20
INBOUND_TOP_BOTTOM = 21
HORIZONTAL_SLATS_ANGLE_NO_POSITION = 22
HORIZONTAL_SLATS_ANGLE = 23
NO_POSITION_PROPERTY_KEYS = {
WindowCoveringPropertyKey.OUTBOUND_LEFT_NO_POSITION,
WindowCoveringPropertyKey.OUTBOUND_RIGHT_NO_POSITION,
WindowCoveringPropertyKey.INBOUND_LEFT_NO_POSITION,
WindowCoveringPropertyKey.INBOUND_RIGHT_NO_POSITION,
WindowCoveringPropertyKey.INBOUND_LEFT_RIGHT_NO_POSITION,
WindowCoveringPropertyKey.VERTICAL_SLATS_ANGLE_NO_POSITION,
WindowCoveringPropertyKey.OUTBOUND_BOTTOM_NO_POSITION,
WindowCoveringPropertyKey.OUTBOUND_TOP_NO_POSITION,
WindowCoveringPropertyKey.INBOUND_BOTTOM_NO_POSITION,
WindowCoveringPropertyKey.INBOUND_TOP_NO_POSITION,
WindowCoveringPropertyKey.INBOUND_TOP_BOTTOM_NO_POSITION,
WindowCoveringPropertyKey.HORIZONTAL_SLATS_ANGLE_NO_POSITION,
}
class SlatStates(IntEnum):
"""Enum with all (known/used) Z-Wave Slat States."""
CLOSED_1 = 0
OPEN = 50
CLOSED_2 = 99
|