Supporting SwitchBot Types

Python-Switchbot-BLE: A Python library for interfacing with Switchbot devices over Bluetooth Low Energy (BLE) Copyright (C) 2023 Benjamin Carlson

enum switchbot_api.bot_types.SwitchBotCommand(value)[source]

Generally known UUIDS for the SwitchBot (Bot)

Valid values are as follows:

COMM_SERVICE_UUID = <SwitchBotCommand.COMM_SERVICE_UUID: 'cba20d00-224d-11e6-9fb8-0002a5d5c51b'>
REQ_CHAR_UUID = <SwitchBotCommand.REQ_CHAR_UUID: 'cba20002-224d-11e6-9fb8-0002a5d5c51b'>
RESP_CHAR_UUID = <SwitchBotCommand.RESP_CHAR_UUID: 'cba20003-224d-11e6-9fb8-0002a5d5c51b'>
SERVICE_CHANGED_CHAR_UUID = <SwitchBotCommand.SERVICE_CHANGED_CHAR_UUID: '00002a05-0000-1000-8000-00805f9b34fb'>
CLIENT_CHAR_CONFIG_UUID = <SwitchBotCommand.CLIENT_CHAR_CONFIG_UUID: '00002902-0000-1000-8000-00805f9b34fb'>
GENERIC_ATTRIB_PROFILE_UUID = <SwitchBotCommand.GENERIC_ATTRIB_PROFILE_UUID: '00001801-0000-1000-8000-00805f9b34fb'>
enum switchbot_api.bot_types.SwitchBotReqType(value)[source]

The type of request to send to the SwitchBot

Valid values are as follows:

COMMAND = <SwitchBotReqType.COMMAND: 1>
GET_BASIC_INFO = <SwitchBotReqType.GET_BASIC_INFO: 2>
SET_BASIC_INFO = <SwitchBotReqType.SET_BASIC_INFO: 3>
SET_PASSWORD = <SwitchBotReqType.SET_PASSWORD: 7>
GET_TIME_MGMT_INFO = <SwitchBotReqType.GET_TIME_MGMT_INFO: 8>
SET_TIME_MGMT_INFO = <SwitchBotReqType.SET_TIME_MGMT_INFO: 9>
EXTENDED_COMMAND = <SwitchBotReqType.EXTENDED_COMMAND: 15>
CLEAR_PASSWORD = <SwitchBotReqType.CLEAR_PASSWORD: 23>
enum switchbot_api.bot_types.SwitchBotAction(value)[source]

The action to execute on a COMMAND request

Valid values are as follows:

PRESS = <SwitchBotAction.PRESS: 0>

Press

ON = <SwitchBotAction.ON: 1>

Turn on

OFF = <SwitchBotAction.OFF: 2>

Turn off

PUSH_STOP = <SwitchBotAction.PUSH_STOP: 3>

Push and leave

BACK = <SwitchBotAction.BACK: 4>

Pull and leave

enum switchbot_api.bot_types.SwitchBotMode(value)[source]

The type of mode to enable for the SwitchBot

Valid values are as follows:

ONE_STATE = <SwitchBotMode.ONE_STATE: 0>

Single action state

ON_OFF_STATE = <SwitchBotMode.ON_OFF_STATE: 1>

On/Off state

enum switchbot_api.bot_types.TimeManagementInfoSubCommand(value)[source]

The subcommand to send to the SwitchBot for time management

Valid values are as follows:

DEVICE_TIME = <TimeManagementInfoSubCommand.DEVICE_TIME: 1>
ALARM_COUNT = <TimeManagementInfoSubCommand.ALARM_COUNT: 2>
ALARM_INFO = <TimeManagementInfoSubCommand.ALARM_INFO: 3>
enum switchbot_api.bot_types.SwitchBotGroup(value)[source]

The group that the device belongs to

Valid values are as follows:

GROUP_A = <SwitchBotGroup.GROUP_A: 0>
GROUP_B = <SwitchBotGroup.GROUP_B: 1>
GROUP_C = <SwitchBotGroup.GROUP_C: 2>
GROUP_D = <SwitchBotGroup.GROUP_D: 3>
enum switchbot_api.bot_types.SwitchBotDeviceType(value)[source]

The type of device that the SwitchBot is

Valid values are as follows:

BOT = <SwitchBotDeviceType.BOT: 72>
WO_BUTTON = <SwitchBotDeviceType.WO_BUTTON: 66>
DOOR_LOCK = <SwitchBotDeviceType.DOOR_LOCK: 111>
HUB_ADD = <SwitchBotDeviceType.HUB_ADD: 76>
HUB = <SwitchBotDeviceType.HUB: 108>
HUB_PLUS_ADD = <SwitchBotDeviceType.HUB_PLUS_ADD: 80>
HUB_PLUS = <SwitchBotDeviceType.HUB_PLUS: 112>
FAN_ADD = <SwitchBotDeviceType.FAN_ADD: 70>
FAN = <SwitchBotDeviceType.FAN: 102>
METER_ADD = <SwitchBotDeviceType.METER_ADD: 116>
METER = <SwitchBotDeviceType.METER: 84>
MINI_ADD = <SwitchBotDeviceType.MINI_ADD: 77>
MINI = <SwitchBotDeviceType.MINI: 109>
CURTAIN_PAIR = <SwitchBotDeviceType.CURTAIN_PAIR: 67>
CURTAIN = <SwitchBotDeviceType.CURTAIN: 99>
CONTACT_SENSOR_PAIR = <SwitchBotDeviceType.CONTACT_SENSOR_PAIR: 68>
CONTACT_SENSOR = <SwitchBotDeviceType.CONTACT_SENSOR: 100>
MOTION_SENSOR_PAIR = <SwitchBotDeviceType.MOTION_SENSOR_PAIR: 83>
MOTION_SENSOR = <SwitchBotDeviceType.MOTION_SENSOR: 115>
enum switchbot_api.bot_types.SwitchBotRespStatus(value)[source]

The status of the response from the SwitchBot

Valid values are as follows:

UNKNOWN = <SwitchBotRespStatus.UNKNOWN: 0>
OK = <SwitchBotRespStatus.OK: 1>
ERROR = <SwitchBotRespStatus.ERROR: 2>
BUSY = <SwitchBotRespStatus.BUSY: 3>
COMM_VERSION_NOT_SUPPORTED = <SwitchBotRespStatus.COMM_VERSION_NOT_SUPPORTED: 4>
COMMAND_NOT_SUPPORTED = <SwitchBotRespStatus.COMMAND_NOT_SUPPORTED: 5>
LOW_BATTERY = <SwitchBotRespStatus.LOW_BATTERY: 6>
ENC_WRONG_PASSWORD = <SwitchBotRespStatus.ENC_WRONG_PASSWORD: 7>
DEV_UNENCRYPTED = <SwitchBotRespStatus.DEV_UNENCRYPTED: 8>
PASSWORD_ERROR = <SwitchBotRespStatus.PASSWORD_ERROR: 9>
ENC_METHOD_NOT_SUPPORTED = <SwitchBotRespStatus.ENC_METHOD_NOT_SUPPORTED: 10>
NO_NEARBY_MESH_DEVICE = <SwitchBotRespStatus.NO_NEARBY_MESH_DEVICE: 11>
FAILED_NETWORK_CONNECTION = <SwitchBotRespStatus.FAILED_NETWORK_CONNECTION: 12>
switchbot_api.bot_types.f_bytes(data: bytearray) str[source]

Formats byte array to readable hex string

Parameters

data (bytearray) – The data to format

Returns

Space seperated hex string

Return type

str