Data Models¶
Devices¶
wyze_sdk.models.devices.base¶
- class wyze_sdk.models.devices.base.Device(*, binding_ts: int | None = None, binding_user_nickname: str | None = None, conn_state: int | None = None, conn_state_ts: int | None = None, enr: str | None = None, event_master_switch: int | None = None, firmware_ver: str | None = None, first_activation_ts: int | None = None, first_binding_ts: int | None = None, hardware_ver: str | None = None, is_in_auto: int | None = None, mac: str | None = None, nickname: str | None = None, parent_device_mac: str | None = None, parent_device_enr: str | None = None, product_model: str | None = None, product_model_logo_url: str | None = None, product_type: str | None = None, push_switch: int | None = None, timezone_gmt_offset: float | None = None, timezone_name: str | None = None, user_role: int | None = None, type: str | None = None, **others: dict)¶
- attributes = {'binding_ts', 'binding_user_nickname', 'conn_state', 'conn_state_ts', 'enr', 'event_master_switch', 'firmware_ver', 'first_activation_ts', 'first_binding_ts', 'hardware_ver', 'is_in_auto', 'mac', 'nickname', 'p2p_id', 'p2p_type', 'parent_device_enr', 'parent_device_mac', 'product_model', 'product_type', 'push_switch', 'timezone_gmt_offset', 'timezone_name', 'type', 'user_role'}¶
- property enr: str¶
- property firmware_version: str¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property hardware_version: str¶
- property is_online: bool¶
- logger = <Logger wyze_sdk.models.devices.base (WARNING)>¶
- property mac: str¶
- property nickname: str¶
- property parent_device: dict¶
- property push_switch: bool¶
- classmethod remove_model_prefix(text: str, model: str) str ¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- property type: str¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
wyze_sdk.models.devices.bulbs¶
- class wyze_sdk.models.devices.bulbs.BaseBulb(*, type: str = <class 'type'>, **others: dict)¶
- property attributes: Set[str]¶
WLAP19 bulbs (non-mesh, non-color) use the switch_state property to indicate whethere they are on or off. Newer bulbs appear to use some of the same PIDs but also have open_close_state and power_switch.
- property away_mode: bool¶
- property brightness: int¶
- property color_temp: int¶
- property control_mode: LightControlMode | None¶
- property delay_off: bool¶
- property enr: str¶
- property firmware_version: str¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property hardware_version: str¶
- property has_location: bool¶
- property ip: str¶
- property is_on: bool¶
- property is_online: bool¶
- logger = <Logger wyze_sdk.models.devices.base (WARNING)>¶
- property mac: str¶
- property nickname: str¶
- property parent_device: dict¶
- property power_loss_recovery: bool¶
- property power_loss_recovery_mode: LightPowerLossRecoveryMode | None¶
- property push_switch: bool¶
- classmethod remove_model_prefix(text: str, model: str) str ¶
- property rssi: str¶
- property ssid: str¶
- property sun_match: bool¶
- property supports_sun_match: bool¶
- property supports_timer: bool¶
- property switch_state: DeviceProp¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- type = 'Light'¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.bulbs.Bulb(*, type: str = <class 'type'>, **others: dict)¶
- property attributes: Set[str]¶
WLAP19 bulbs (non-mesh, non-color) use the switch_state property to indicate whethere they are on or off. Newer bulbs appear to use some of the same PIDs but also have open_close_state and power_switch.
- property away_mode: bool¶
- property brightness: int¶
- property color_temp: int¶
- property control_mode: LightControlMode | None¶
- property delay_off: bool¶
- property enr: str¶
- property firmware_version: str¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property hardware_version: str¶
- property has_location: bool¶
- property ip: str¶
- property is_on: bool¶
- property is_online: bool¶
- logger = <Logger wyze_sdk.models.devices.base (WARNING)>¶
- property mac: str¶
- property nickname: str¶
- property parent_device: dict¶
- property power_loss_recovery: bool¶
- property power_loss_recovery_mode: LightPowerLossRecoveryMode | None¶
- property push_switch: bool¶
- classmethod remove_model_prefix(text: str, model: str) str ¶
- property rssi: str¶
- property ssid: str¶
- property sun_match: bool¶
- property supports_sun_match: bool¶
- property supports_timer: bool¶
- property switch_state: DeviceProp¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- type = 'Light'¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.bulbs.LightStrip(**others: dict)¶
- property attributes: Set[str]¶
WLAP19 bulbs (non-mesh, non-color) use the switch_state property to indicate whethere they are on or off. Newer bulbs appear to use some of the same PIDs but also have open_close_state and power_switch.
- property auto_color: bool¶
- property away_mode: bool¶
- property brightness: int¶
- property color: str¶
- property color_palette: str¶
- property color_temp: int¶
- property control_mode: LightControlMode | None¶
- property delay_off: bool¶
- property effect_model: LightVisualEffectModel¶
- property effect_run_type: LightVisualEffectRunType¶
- property enr: str¶
- property firmware_version: str¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property hardware_version: str¶
- property has_location: bool¶
- property ip: str¶
- property is_on: bool¶
- property is_online: bool¶
- logger = <Logger wyze_sdk.models.devices.base (WARNING)>¶
- property mac: str¶
- property music_aes_key: str¶
- property music_mode: bool¶
- property music_port: str¶
- property nickname: str¶
- property parent_device: dict¶
- property power_loss_recovery: bool¶
- property power_loss_recovery_mode: LightPowerLossRecoveryMode | None¶
- property push_switch: bool¶
- classmethod remove_model_prefix(text: str, model: str) str ¶
- property rssi: str¶
- property sensitivity: int¶
- property speed: int¶
- property ssid: str¶
- property subsection: Sequence[str] | None¶
- property sun_match: bool¶
- property supports_music: bool¶
- property supports_sun_match: bool¶
- property supports_timer: bool¶
- property switch_state: DeviceProp¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- type = 'LightStrip'¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.bulbs.MeshBulb(**others: dict)¶
- property attributes: Set[str]¶
WLAP19 bulbs (non-mesh, non-color) use the switch_state property to indicate whethere they are on or off. Newer bulbs appear to use some of the same PIDs but also have open_close_state and power_switch.
- property away_mode: bool¶
- property brightness: int¶
- property color: str¶
- property color_temp: int¶
- property control_mode: LightControlMode | None¶
- property delay_off: bool¶
- property enr: str¶
- property firmware_version: str¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property hardware_version: str¶
- property has_location: bool¶
- property ip: str¶
- property is_on: bool¶
- property is_online: bool¶
- logger = <Logger wyze_sdk.models.devices.base (WARNING)>¶
- property mac: str¶
- property nickname: str¶
- property parent_device: dict¶
- property power_loss_recovery: bool¶
- property power_loss_recovery_mode: LightPowerLossRecoveryMode | None¶
- property push_switch: bool¶
- classmethod remove_model_prefix(text: str, model: str) str ¶
- property rssi: str¶
- property ssid: str¶
- property sun_match: bool¶
- property supports_sun_match: bool¶
- property supports_timer: bool¶
- property switch_state: DeviceProp¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- type = 'MeshLight'¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.bulbs.WhiteBulb(**others: dict)¶
- property attributes: Set[str]¶
WLAP19 bulbs (non-mesh, non-color) use the switch_state property to indicate whethere they are on or off. Newer bulbs appear to use some of the same PIDs but also have open_close_state and power_switch.
- property away_mode: bool¶
- property brightness: int¶
- property color_temp: int¶
- property control_mode: LightControlMode | None¶
- property delay_off: bool¶
- property enr: str¶
- property firmware_version: str¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property hardware_version: str¶
- property has_location: bool¶
- property ip: str¶
- property is_on: bool¶
- property is_online: bool¶
- logger = <Logger wyze_sdk.models.devices.base (WARNING)>¶
- property mac: str¶
- property nickname: str¶
- property parent_device: dict¶
- property power_loss_recovery: bool¶
- property power_loss_recovery_mode: LightPowerLossRecoveryMode | None¶
- property push_switch: bool¶
- classmethod remove_model_prefix(text: str, model: str) str ¶
- property rssi: str¶
- property ssid: str¶
- property sun_match: bool¶
- property supports_sun_match: bool¶
- property supports_timer: bool¶
- property switch_state: DeviceProp¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- type = 'Light'¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
wyze_sdk.models.devices.cameras¶
- class wyze_sdk.models.devices.cameras.BaseStation(**others: dict)¶
- property attributes: Set[str]¶
set() -> new empty set object set(iterable) -> new set object
Build an unordered collection of unique elements.
- property enr: str¶
- property firmware_version: str¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property hardware_version: str¶
- property ip: str¶
- property is_online: bool¶
- logger = <Logger wyze_sdk.models.devices.base (WARNING)>¶
- property mac: str¶
- property nickname: str¶
- property parent_device: dict¶
- property push_switch: bool¶
- classmethod remove_model_prefix(text: str, model: str) str ¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- type = 'BaseStation'¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.cameras.Camera(*, event_list: Sequence[dict] | None = None, **others: dict)¶
- property attributes: Set[str]¶
set() -> new empty set object set(iterable) -> new set object
Build an unordered collection of unique elements.
- property enr: str¶
- property firmware_version: str¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property hardware_version: str¶
- property has_motion: bool¶
- property humidity: float¶
- property ip: str¶
- property is_audio_alarm: bool¶
- property is_co_alarm: bool¶
- property is_motion_alarm: bool¶
- property is_on: bool¶
- property is_online: bool¶
- property is_smoke_alarm: bool¶
- logger = <Logger wyze_sdk.models.devices.base (WARNING)>¶
- property mac: str¶
- property motion_state: bool¶
- property nickname: str¶
- property parent_device: dict¶
- property push_switch: bool¶
- classmethod remove_model_prefix(text: str, model: str) str ¶
- property rssi: str¶
- property ssid: str¶
- property switch_state: DeviceProp¶
- property temperature: float¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- type = 'Camera'¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- property voltage: int¶
wyze_sdk.models.devices.lights¶
- class wyze_sdk.models.devices.lights.Light(*, type: str = 'Light', **others: dict)¶
- property attributes: Set[str]¶
WLAP19 bulbs (non-mesh, non-color) use the switch_state property to indicate whethere they are on or off. Newer bulbs appear to use some of the same PIDs but also have open_close_state and power_switch.
- property away_mode: bool¶
- property brightness: int¶
- property color_temp: int¶
- property control_mode: LightControlMode | None¶
- property delay_off: bool¶
- property enr: str¶
- property firmware_version: str¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property hardware_version: str¶
- property has_location: bool¶
- property ip: str¶
- property is_on: bool¶
- property is_online: bool¶
- logger = <Logger wyze_sdk.models.devices.base (WARNING)>¶
- property mac: str¶
- property nickname: str¶
- property parent_device: dict¶
- property power_loss_recovery: bool¶
- property power_loss_recovery_mode: LightPowerLossRecoveryMode | None¶
- property push_switch: bool¶
- classmethod remove_model_prefix(text: str, model: str) str ¶
- property rssi: str¶
- property ssid: str¶
- property sun_match: bool¶
- property supports_sun_match: bool¶
- property supports_timer: bool¶
- property switch_state: DeviceProp¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- type = 'Light'¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.lights.LightControlMode(value)¶
See: com.hualai.wyze.rgblight.device.h.B and com.hualai.wyze.lslight.device.f
- COLOR = ('Color', 1)¶
- FRAGMENTED = ('Fragmented', 3)¶
- TEMPERATURE = ('Temperature', 2)¶
- describe()¶
- classmethod parse(code: int) LightControlMode | None ¶
- class wyze_sdk.models.devices.lights.LightPowerLossRecoveryMode(value)¶
An enumeration.
- POWER_ON = ('Turn the light on', 0)¶
- RESTORE_PREVIOUS_STATE = ('Maintain previous state', 1)¶
- describe()¶
- classmethod parse(code: int) LightPowerLossRecoveryMode | None ¶
- class wyze_sdk.models.devices.lights.LightVisualEffect(*, model: LightVisualEffectModel, rhythm: str = '0', music_mode: bool = False, sensitivity: int = 100, speed: int = 8, auto_color: bool = False, color_palette: str = '2961AF,B5267A,91FF6A', run_type: LightVisualEffectRunType | None = None)¶
A customizable visual/sound effect for lights.
Visual effects comprise the pre-defined scene model, optional scene run instructions, and additional configurable properties.
An example of this is the water effect, which has a fixed model, a single scene run type for the “direction” of the effect, and options like auto- color, music mode, etc.
- attributes = {'auto_color', 'color_palette', 'mode', 'model', 'rhythm', 'run_type', 'sensitivity', 'speed'}¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- to_json()¶
- to_plist() Sequence[DeviceProp] ¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.lights.LightVisualEffectModel(value)¶
A preset light/sound effect model for lights.
See: com.wyze.commonlight.strip.model.DynamicModelBean
- COLORFUL = ('5', 'Color Focus', [LightVisualEffectRunType.DIRECTION_LEFT, LightVisualEffectRunType.DIRECTION_DISPERSIVE, LightVisualEffectRunType.DIRECTION_GATHERED])¶
- GRADUAL_CHANGE = ('1', 'Shadow')¶
- JUMP = ('2', 'Leap')¶
- MARQUEE = ('4', 'Marquee', [LightVisualEffectRunType.DIRECTION_LEFT, LightVisualEffectRunType.DIRECTION_DISPERSIVE, LightVisualEffectRunType.DIRECTION_GATHERED])¶
- METEOR = ('8', 'Shooting Star', [LightVisualEffectRunType.DIRECTION_LEFT, LightVisualEffectRunType.DIRECTION_DISPERSIVE, LightVisualEffectRunType.DIRECTION_GATHERED])¶
- RUNNING_WATER = ('6', 'Water', [LightVisualEffectRunType.DIRECTION_LEFT, LightVisualEffectRunType.DIRECTION_DISPERSIVE, LightVisualEffectRunType.DIRECTION_GATHERED])¶
- SEA_WAVE = ('7', 'Sea Wave', [LightVisualEffectRunType.DIRECTION_LEFT, LightVisualEffectRunType.DIRECTION_DISPERSIVE, LightVisualEffectRunType.DIRECTION_GATHERED])¶
- STARSHINE = ('9', 'Starlight', [LightVisualEffectRunType.DIRECTION_LEFT, LightVisualEffectRunType.DIRECTION_DISPERSIVE, LightVisualEffectRunType.DIRECTION_GATHERED])¶
- TWINKLE = ('3', 'Flicker')¶
- describe()¶
- classmethod parse(id: str) LightVisualEffectModel | None ¶
- to_json()¶
- class wyze_sdk.models.devices.lights.LightVisualEffectRunType(value)¶
Additional visual effect run instructions for lights.
See: com.wyze.commonlight.strip.model.DynamicTypeBean
- DIRECTION_DISPERSIVE = ('1', 'Dispersive [<-->]')¶
- DIRECTION_GATHERED = ('2', 'Gathered [-><-]')¶
- DIRECTION_LEFT = ('0', 'Left [ -> ]')¶
- describe()¶
- classmethod directions() Sequence[LightVisualEffectRunType] ¶
- classmethod parse(id: str) LightVisualEffectRunType | None ¶
- to_json()¶
wyze_sdk.models.devices.locks¶
- class wyze_sdk.models.devices.locks.Lock(parent: str | None = None, door_sensor: int | bool | None = None, auto_lock_time: int | bool | LockLeftOpenTime | None = None, trash_mode: int | bool | None = None, auto_unlock: int | bool | None = None, keypad: LockKeypad | None = None, ajar_alarm: int | bool | None = None, left_open_time: int | bool | LockLeftOpenTime | None = None, open_volume: int | LockVolumeLevel | None = None, record_count: int | None = None, **others: dict)¶
- property attributes: Set[str]¶
set() -> new empty set object set(iterable) -> new set object
Build an unordered collection of unique elements.
- property enr: str¶
- property firmware_version: str¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property hardware_version: str¶
- property is_locked: bool¶
- property is_online: bool¶
- property is_open: bool¶
- property lock_state: DeviceProp¶
- logger = <Logger wyze_sdk.models.devices.base (WARNING)>¶
- property mac: str¶
- property nickname: str¶
- property open_close_state: bool¶
- property parent: str¶
- property parent_device: dict¶
- classmethod parse_uuid(mac: str) str ¶
- property push_switch: bool¶
- property record_count: int¶
- classmethod remove_model_prefix(text: str, model: str) str ¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- type = 'Lock'¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- property voltage: int¶
- class wyze_sdk.models.devices.locks.LockEventSource(value)¶
See: ford_lock_history_source
- AUTO = ('Auto', 8)¶
- FINGERPRINT = ('Fingerprint', 3)¶
- INSIDE_BUTTON = ('Inside button', 4)¶
- INSIDE_HOLDER = ('Inside holder', 6)¶
- KEYPAD = ('Keypad', [2, 102])¶
- LOCAL = ('App', 1)¶
- MANUAL = ('Manual', 5)¶
- NFC = ('NFC', 7)¶
- REMOTE = ('Remote', 9)¶
- describe()¶
- classmethod parse(code: int) LockEventSource | None ¶
- class wyze_sdk.models.devices.locks.LockEventType(value)¶
See: ford_lock_history_event_id
- AUTO_CALIBRATED = ('Auto-calibrated', 2226)¶
- CLOSED = ('Closed', 2215)¶
- JAMMED = ('Jammed', 2221)¶
- KEPT_OPEN = ('Kept open longer than 24 hours', 2224)¶
- LOCKED = ('Locked', 2216)¶
- OPENED = ('Opened', 2214)¶
- OPEN_TOO_LONG = ('Open too long', 2218)¶
- SWUNG_OPEN = ('Swung open', 2223)¶
- TOTALLY_JAMMED = ('Totally jammed', 2222)¶
- TRASH_MODE = ('Trash mode', 2225)¶
- UNLOCKED = ('Unlocked', 2203)¶
- describe()¶
- classmethod parse(code: int) LockEventType | None ¶
- class wyze_sdk.models.devices.locks.LockGateway(*, rssi: int | None = None, ssid: str | None = None, locks: Sequence[dict] | None = None, **others: dict)¶
- property attributes: Set[str]¶
set() -> new empty set object set(iterable) -> new set object
Build an unordered collection of unique elements.
- property enr: str¶
- property firmware_version: str¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property hardware_version: str¶
- property ip: str¶
- property is_online: bool¶
- logger = <Logger wyze_sdk.models.devices.base (WARNING)>¶
- property mac: str¶
- property nickname: str¶
- property parent_device: dict¶
- classmethod parse_uuid(mac: str) str ¶
- property push_switch: bool¶
- classmethod remove_model_prefix(text: str, model: str) str ¶
- property rssi: str¶
- property ssid: str¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- type = 'GateWay'¶
- property uuid: str¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.locks.LockKey(*, id: int | None = None, type: LockKeyType | None = None, time: datetime | None = None, name: str | None = None, description: str | None = None, is_default: int | bool | None = None, notify: int | bool = False, userid: str | None = None, username: str | None = None, permission: dict | LockKeyPermission | None = None, periodicity: dict | LockKeyPeriodicity | None = None, operation: int | LockKeyOperation | None = None, operation_stage: int | LockKeyOperationStage | None = None, permission_state: int | LockKeyState | None = None, pwd_state: int | LockKeyState | None = None, **others: dict)¶
- A lock key. This can be either:
a Bluetooth connection
a password (hash of a numeric code)
a fingerprint
- BLE Actions:
- freeze (1)
permission_state = 5
operation = 4
- unfreeze (2)
permission_state = 2
operation = 5
- update (3)
operation = 3
(set permission)
- Password Actions:
- freeze (1)
pwd_state = 5
operation = 4
operation_stage = 3
- unfreeze (2)
pwd_state = 2
operation = 5
operation_stage = 3
- update (3)
operation = 3
operation_stage = 3
(set permission)
- Fingerprint Actions:
- freeze (1)
fp_state = 5
operation = 4
operation_stage = 3
- unfreeze (2)
fp_state = 2
operation = 5
operation_stage = 3
- update (3)
operation = 3
operation_stage = 3
(set permission)
See: com.yunding.ydbleapi.bean.KeyInfo
- property attributes: Set[str]¶
Provide a set of attributes of this object that will make up its JSON structure
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property is_default: bool¶
- property notify: bool¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.locks.LockKeyOperation(value)¶
See: com.yunding.ydbleapi.bean.LockPasswordInfo.operation
- ADD = ('Add', 1)¶
- DELETE = ('Delete', 2)¶
- FROZEN = ('Freeze', 4)¶
- UNFROZEN = ('Unfreeze', 5)¶
- UPDATE = ('Update', 3)¶
- describe()¶
- classmethod parse(code: int) LockKeyOperation | None ¶
- class wyze_sdk.models.devices.locks.LockKeyOperationStage(value)¶
See: com.yunding.ydbleapi.bean.LockPasswordInfo.operation_stage
- GOING = ('Pending', 1)¶
- INVALID = ('Failure', 2)¶
- SUCCESS = ('Success', 3)¶
- describe()¶
- classmethod parse(code: int) LockKeyOperationStage | None ¶
- class wyze_sdk.models.devices.locks.LockKeyPeriodicity(*, begin: str | int | time | None = None, end: str | int | time | None = None, valid_days: int | Sequence[int] | None = None, **others: dict)¶
A lock key periodicity describing recurring access rules.
See: com.yunding.ydbleapi.bean.PeriodicityInfo
- property attributes: Set[str]¶
Provide a set of attributes of this object that will make up its JSON structure
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- to_json()¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.locks.LockKeyPermission(*, type: LockKeyPermissionType | None = None, begin: int | datetime | None = None, end: int | datetime | None = None, **others: dict)¶
A lock key permission.
See: com.yunding.ydbleapi.bean.YDPermission
- property attributes: Set[str]¶
Provide a set of attributes of this object that will make up its JSON structure
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- to_json()¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.locks.LockKeyPermissionType(value)¶
See: com.yunding.ydbleapi.bean.YDPermission.status
- ALWAYS = ('Always', 1)¶
- DURATION = ('Temporary', 2)¶
- ONCE = ('One-Time', 3)¶
- RECURRING = ('Recurring', 4)¶
- describe()¶
- classmethod parse(code: int) LockKeyPermissionType | None ¶
- to_json()¶
- class wyze_sdk.models.devices.locks.LockKeyState(value)¶
See: com.yunding.ydbleapi.bean.LockPasswordInfo.pwd_state
- FROZENED = ('Frozen', 5)¶
- INIT = ('Init', 1)¶
- IN_USE = ('In use', 2)¶
- OUT_OF_PERMISSION = ('Out of permission', 4)¶
- WILL_USE = ('Will use', 3)¶
- describe()¶
- classmethod parse(code: int) LockKeyState | None ¶
- class wyze_sdk.models.devices.locks.LockKeyType(value)¶
See: com.yunding.ydbleapi.bean.KeyInfo.type
- ACCESS_CODE = ('Access Code', 2)¶
- BLUETOOTH = ('Bluetooth', 1)¶
- FINGERPRINT = ('Fingerprint', 3)¶
- describe()¶
- classmethod parse(code: int) LockKeyType | None ¶
- class wyze_sdk.models.devices.locks.LockKeypad(is_enabled: bool = False, **others: dict)¶
- property attributes: Set[str]¶
set() -> new empty set object set(iterable) -> new set object
Build an unordered collection of unique elements.
- property enr: str¶
- property firmware_version: str¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property hardware_version: str¶
- property is_online: bool¶
- logger = <Logger wyze_sdk.models.devices.base (WARNING)>¶
- property mac: str¶
- property nickname: str¶
- property parent_device: dict¶
- property push_switch: bool¶
- classmethod remove_model_prefix(text: str, model: str) str ¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- type = 'LockKeypad'¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- property voltage: int¶
- class wyze_sdk.models.devices.locks.LockLeftOpenTime(value)¶
See: ford_open_alarm_time
- IMMEDIATE = ('At once', 1)¶
- MIN_1 = ('1 min', 2)¶
- MIN_10 = ('10 min', 4)¶
- MIN_30 = ('30 min', 5)¶
- MIN_5 = ('5 min', 3)¶
- MIN_60 = ('60 min', 6)¶
- describe()¶
- classmethod parse(code: int) LockLeftOpenTime | None ¶
- class wyze_sdk.models.devices.locks.LockRecord(*, type: int | LockEventType | None = None, details: dict | LockRecordDetail | None = None, priority: int | None = None, processed: int | None = None, time: datetime | None = None, user_id: str | None = None, uuid: str | None = None, **others: dict)¶
A lock record.
See: com.yunding.ford.entity.FamilyRecord
- property attributes: Set[str]¶
Provide a set of attributes of this object that will make up its JSON structure
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- property type: LockEventType¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.locks.LockRecordDetail(*, id: int | None = None, avatar: str | None = None, email: str | None = None, left_open_time: int | LockLeftOpenTime | None = None, receiver_name: str | None = None, role: str | None = None, sender_name: str | None = None, source: int | LockEventSource | None = None, source_name: str | None = None, sourceid: int | None = None, time: datetime | None = None, audio_played: int | None = None, **others: dict)¶
A lock record’s details.
See: com.yunding.ford.entity.FamilyRecord.Detail
- property attributes: Set[str]¶
Provide a set of attributes of this object that will make up its JSON structure
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.locks.LockStatusType(value)¶
See: com.yunding.ford.widget.LockStatusWidget
- CONNECTING = ('Connecting', 0)¶
- LOCKED = ('Locked', 1)¶
- LOCKING = ('Locking', 2)¶
- OFFLINE = ('Offline', -1)¶
- UNCALIBRATED = ('Uncalibrated', 5)¶
- UNLOCKED = ('Unlocked', 3)¶
- UNLOCKING = ('Unlocking', 4)¶
- describe()¶
- classmethod parse(code: int) LockStatusType | None ¶
wyze_sdk.models.devices.plugs¶
- class wyze_sdk.models.devices.plugs.OutdoorPlug(**others: dict)¶
- property attributes: Set[str]¶
set() -> new empty set object set(iterable) -> new set object
Build an unordered collection of unique elements.
- property away_mode: bool¶
- property enr: str¶
- property firmware_version: str¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property hardware_version: str¶
- property ip: str¶
- property is_on: bool¶
- property is_online: bool¶
- property is_photosensitive: bool¶
- logger = <Logger wyze_sdk.models.devices.base (WARNING)>¶
- property mac: str¶
- property nickname: str¶
- property parent_device: dict¶
- property photosensitive_switch: bool¶
- property push_switch: bool¶
- classmethod remove_model_prefix(text: str, model: str) str ¶
- property rssi: str¶
- property ssid: str¶
- property status_light: bool¶
- property switch_state: DeviceProp¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- type = 'OutdoorPlug'¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.plugs.Plug(type: str = 'Plug', **others: dict)¶
- property attributes: Set[str]¶
set() -> new empty set object set(iterable) -> new set object
Build an unordered collection of unique elements.
- property away_mode: bool¶
- property enr: str¶
- property firmware_version: str¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property hardware_version: str¶
- property ip: str¶
- property is_on: bool¶
- property is_online: bool¶
- logger = <Logger wyze_sdk.models.devices.base (WARNING)>¶
- property mac: str¶
- property nickname: str¶
- property parent_device: dict¶
- property push_switch: bool¶
- classmethod remove_model_prefix(text: str, model: str) str ¶
- property rssi: str¶
- property ssid: str¶
- property status_light: bool¶
- property switch_state: DeviceProp¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- type = 'Plug'¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.plugs.PlugElectricityConsumptionRecord(*, hourly_data: dict[datetime, int] | None = None, **others: dict)¶
A plug usage record that assumes data represents electricity consumption in watt-hours.
- property attributes: Set[str]¶
Provide a set of attributes of this object that will make up its JSON structure
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- logger = <Logger wyze_sdk.models.devices.plugs (WARNING)>¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- property total_usage: float | None¶
Return the total usage, in kWh.
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.plugs.PlugUsageRecord(*, hourly_data: dict[datetime, int] | None = None, **others: dict)¶
A plug usage record that assumes data represents duration of usage.
- property attributes: Set[str]¶
Provide a set of attributes of this object that will make up its JSON structure
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- logger = <Logger wyze_sdk.models.devices.plugs (WARNING)>¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- property total_usage: float | None¶
Return the total duration of usage, in minutes.
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
wyze_sdk.models.devices.scales¶
- class wyze_sdk.models.devices.scales.Scale(unit: str | None = None, goal_weight: UserGoalWeight | None = None, latest_records: Sequence[ScaleRecord] | None = None, **others: dict)¶
- property attributes: Set[str]¶
set() -> new empty set object set(iterable) -> new set object
Build an unordered collection of unique elements.
- property broadcast: bool¶
- property device_members: Sequence[dict]¶
- property enr: str¶
- property firmware_version: str¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property goal_weight: UserGoalWeight¶
- property hardware_version: str¶
- property ip: str¶
- property is_online: bool¶
- property latest_records: Sequence[ScaleRecord]¶
- logger = <Logger wyze_sdk.models.devices.base (WARNING)>¶
- property mac: str¶
- property nickname: str¶
- property parent_device: dict¶
- property push_switch: bool¶
- classmethod remove_model_prefix(text: str, model: str) str ¶
- property rssi: str¶
- property ssid: str¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- type = 'WyzeScale'¶
- property unit: str¶
- property user_profile: dict¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.scales.ScaleRecord(*, id: str | None = None, age: int | None = None, bmi: float | None = None, bmr: float | None = None, body_fat: float | None = None, body_type: int | None = None, body_vfr: float | None = None, body_water: float | None = None, bone_mineral: float | None = None, device_id: str | None = None, family_member_id: str | None = None, gender: int | None = None, height: float | None = None, impedance: Sequence[int] | None = None, mac: str | None = None, measure_ts: int | None = None, measure_type: int | None = None, metabolic_age: int | None = None, muscle: float | None = None, occupation: int | None = None, protein: float | None = None, timezone: str | None = None, user_id: int | None = None, weight: float | None = None, **others: dict)¶
A scale record.
See: com.wyze.ihealth.bean.GsonHs2sResults.DataBean
- property attributes: Set[str]¶
Provide a set of attributes of this object that will make up its JSON structure
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- property weight¶
- class wyze_sdk.models.devices.scales.UserGoalWeight(*, id: str | None = None, created: datetime | None = None, current_weight: float | None = None, goal_weight: float | None = None, family_member_id: str | None = None, updated: datetime | None = None, user_id: int | None = None, **others: dict)¶
A user goal weight record.
See: com.wyze.ihealth.bean.GsonUserGoalWeight
- property attributes: Set[str]¶
Provide a set of attributes of this object that will make up its JSON structure
- property current_weight¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property goal_weight¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
wyze_sdk.models.devices.sensors¶
- class wyze_sdk.models.devices.sensors.ContactSensor(**others: dict)¶
- property attributes: Set[str]¶
set() -> new empty set object set(iterable) -> new set object
Build an unordered collection of unique elements.
- property enr: str¶
- property firmware_version: str¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property hardware_version: str¶
- property ip: str¶
- property is_on: bool¶
- property is_online: bool¶
- property is_open: bool¶
- logger = <Logger wyze_sdk.models.devices.base (WARNING)>¶
- property mac: str¶
- property nickname: str¶
- property open_close_state: bool¶
- property parent_device: dict¶
- property push_switch: bool¶
- classmethod remove_model_prefix(text: str, model: str) str ¶
- property rssi: str¶
- property ssid: str¶
- property switch_state: DeviceProp¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- type = 'ContactSensor'¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- property voltage: int¶
- class wyze_sdk.models.devices.sensors.MotionSensor(**others: dict)¶
- property attributes: Set[str]¶
set() -> new empty set object set(iterable) -> new set object
Build an unordered collection of unique elements.
- property enr: str¶
- property firmware_version: str¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property hardware_version: str¶
- property has_motion: bool¶
- property ip: str¶
- property is_on: bool¶
- property is_online: bool¶
- logger = <Logger wyze_sdk.models.devices.base (WARNING)>¶
- property mac: str¶
- property motion_state: bool¶
- property nickname: str¶
- property parent_device: dict¶
- property push_switch: bool¶
- classmethod remove_model_prefix(text: str, model: str) str ¶
- property rssi: str¶
- property ssid: str¶
- property switch_state: DeviceProp¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- type = 'MotionSensor'¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- property voltage: int¶
wyze_sdk.models.devices.switches¶
- class wyze_sdk.models.devices.switches.Switch(**others: dict)¶
- property attributes: Set[str]¶
set() -> new empty set object set(iterable) -> new set object
Build an unordered collection of unique elements.
- property enr: str¶
- property firmware_version: str¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property hardware_version: str¶
- property ip: str¶
- property is_on: bool¶
- property is_online: bool¶
- logger = <Logger wyze_sdk.models.devices.base (WARNING)>¶
- property mac: str¶
- property nickname: str¶
- property parent_device: dict¶
- classmethod props() dict[str, PropDef] ¶
- property push_switch: bool¶
- classmethod remove_model_prefix(text: str, model: str) str ¶
- property rssi: str¶
- property ssid: str¶
- property switch_state: DeviceProp¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- type = 'Switch'¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.switches.SwitchTimerAction(*, action: SwitchTimerActionType | str | None = None, time: int | datetime | None = None, **others: dict)¶
A timer action for a switch.
- attributes = {'action', 'time'}¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- to_json()¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
wyze_sdk.models.devices.thermostats¶
- class wyze_sdk.models.devices.thermostats.RoomSensor(*, did: str | None = None, name: str | None = None, model: str | None = None, temperature: float | None = None, humidity: int | None = None, battery: RoomSensorBatteryLevel | None = None, state: RoomSensorStateType | None = None, status: RoomSensorStatusType | None = None, auto_comfort_mode: ThermostatSensorTemplate | None = None, comfort_balance_weight: ThermostatSensorComfortBalanceMode | None = None, temperature_threshold: int | None = None, **others: dict)¶
A room sensor, which can report to a Thermostat.
- property attributes: Set[str]¶
set() -> new empty set object set(iterable) -> new set object
Build an unordered collection of unique elements.
- classmethod device_info_props() Sequence[PropDef] ¶
- property enr: str¶
- property firmware_version: str¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property hardware_version: str¶
- property humidity: float¶
- property is_online: bool¶
- logger = <Logger wyze_sdk.models.devices.thermostats (WARNING)>¶
- property mac: str¶
- property nickname: str¶
- property parent_device: dict¶
- classmethod props() Sequence[PropDef] ¶
- property push_switch: bool¶
- classmethod remove_model_prefix(text: str, model: str) str ¶
- property temperature: float¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- type = 'Room Sensor'¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.thermostats.RoomSensorBatteryLevel(value)¶
See: com.wyze.sensor.activity.setting.SensorBaseDeviceInfoActivity.getBatterySourceId
- LEVEL_0 = ('Empty battery (level 0)', 1)¶
- LEVEL_1 = ('Low battery (level 1)', 2)¶
- LEVEL_2 = ('Half battery (level 2)', 3)¶
- LEVEL_3 = ('Full battery (level 3)', 4)¶
- describe()¶
- classmethod parse(code: int | str) RoomSensorBatteryLevel | None ¶
- class wyze_sdk.models.devices.thermostats.RoomSensorStateType(value)¶
See: com.wyze.earth.model.SensorEntity.connect
- OFFLINE = ('Offline', '')¶
- ONLINE = ('Online', 'connect')¶
- describe()¶
- classmethod parse(code: str) RoomSensorStateType | None ¶
- class wyze_sdk.models.devices.thermostats.RoomSensorStatusType(value)¶
See: com.wyze.earth.model.SensorEntity.up
- AUTO_UP = ('Included in comfort control', 'auto_up')¶
- MANUAL_DOWN = ('Manually excluded from comfort control', 'manual_down')¶
- MANUAL_UP = ('Manually included in comfort control', 'manual_up')¶
- describe()¶
- classmethod parse(code: str) RoomSensorStatusType | None ¶
- class wyze_sdk.models.devices.thermostats.Thermostat(**others: dict)¶
- property attributes: Set[str]¶
set() -> new empty set object set(iterable) -> new set object
Build an unordered collection of unique elements.
- property comfort_balance: ThermostatComfortBalanceMode | None¶
- property cooling_setpoint: int¶
- property current_scenario: ThermostatScenarioType | None¶
- classmethod device_info_props() dict[str, PropDef] ¶
- property enr: str¶
- property fan_mode: ThermostatFanMode¶
- property firmware_version: str¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property hardware_version: str¶
- property heating_setpoint: int¶
- property humidity: float¶
- property ip: str¶
- property is_locked: bool¶
- property is_online: bool¶
- property lock_state: DeviceProp¶
- logger = <Logger wyze_sdk.models.devices.base (WARNING)>¶
- property mac: str¶
- property nickname: str¶
- property parent_device: dict¶
- classmethod props() dict[str, PropDef] ¶
- property push_switch: bool¶
- classmethod remove_model_prefix(text: str, model: str) str ¶
- property rssi: str¶
- classmethod sensor_props() dict[str, PropDef] ¶
- property ssid: str¶
- property system_mode: ThermostatSystemMode¶
- property temperature: float¶
- property temperature_unit: str¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- type = 'Thermostat'¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.thermostats.ThermostatCalibrationSettings(*, heating: float | None = None, cooling: float | None = None, **others: dict)¶
Adjustment model for calibrating temperature and/or humidity.
- attributes = {'cooling', 'heating'}¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.thermostats.ThermostatComfortBalanceMode(value)¶
See: com.wyze.earth.activity.setup.personalization.fragment.PersonalizationPreferencesFragment
- BALANCE = ('Balance comfort and savings', 3)¶
- BETTER_COMFORT = ('Weighted comfort balance', 4)¶
- MAX_COMFORT = ('Maximum comfort', 5)¶
- MAX_SAVINGS = ('Maximum savings', 1)¶
- SUSTAINABILITY = ('Sustainability', 2)¶
- describe()¶
- classmethod parse(code: int | str) ThermostatComfortBalanceMode | None ¶
- class wyze_sdk.models.devices.thermostats.ThermostatFanMode(value)¶
See: com.wyze.earth.common.widget.EarthHomeControls
- AUTO = ('Auto', 'auto')¶
- CYCLE = ('Cycle', 'circ')¶
- ON = ('On', 'on')¶
- describe()¶
- classmethod parse(code: str) ThermostatFanMode | None ¶
- class wyze_sdk.models.devices.thermostats.ThermostatInstallationValue(value)¶
See: com.wyze.earth.common.enums.InstallationEnum
- CWIRE = ('cwire', 1)¶
- HVACSYSTEM = ('hvacsystem', 4)¶
- MOUNTING = ('mounting', 2)¶
- PERSONALIZATION = ('personalization', 5)¶
- PREPARATION = ('preparation', 0)¶
- SYSTEMTEST = ('systemtest', 6)¶
- THERMOSTAT = ('thermostat', 3)¶
- describe()¶
- classmethod parse(code: str) ThermostatInstallationValue | None ¶
- class wyze_sdk.models.devices.thermostats.ThermostatScenarioType(value)¶
See: com.wyze.earth.activity.home.EarthMainActivity
- AWAY = ('Away', 'away')¶
- HOME = ('Home', 'home')¶
- SLEEP = ('Sleep', 'sleep')¶
- describe()¶
- classmethod parse(code: str) ThermostatScenarioType | None ¶
- class wyze_sdk.models.devices.thermostats.ThermostatSensorComfortBalanceMode(value)¶
An enumeration.
- BALANCE = ('Balance comfort and savings', 0)¶
- MAX_COMFORT = ('Maximum comfort', 2)¶
- MAX_SAVINGS = ('Maximum savings', 1)¶
- describe()¶
- classmethod parse(code: int | str) ThermostatSensorComfortBalanceMode | None ¶
- class wyze_sdk.models.devices.thermostats.ThermostatSensorTemplate(value)¶
An enumeration.
- HOME = ('Triggers HOME events', True, False, 1)¶
- HOME_SLEEP = ('Triggers HOME and SLEEP events', True, True, 3)¶
- NONE = ('Does not trigger HOME or SLEEP events', False, False, 0)¶
- SLEEP = ('Triggers SLEEP events', False, True, 2)¶
- describe()¶
- classmethod parse(code: int | str) ThermostatSensorTemplate | None ¶
- class wyze_sdk.models.devices.thermostats.ThermostatSetupItemStatus(value)¶
See: com.wyze.earth.common.enums.SetupItemStatusEnum
- COMPLETE = ('Complete', 3)¶
- DEFAULT = ('Default', 0)¶
- ONGOING = ('Ongoing', 1)¶
- READY = ('Ready', 2)¶
- describe()¶
- classmethod parse(code: str) ThermostatSetupItemStatus | None ¶
wyze_sdk.models.devices.vacuums¶
- class wyze_sdk.models.devices.vacuums.Vacuum(**others: dict)¶
- property attributes: Set[str]¶
set() -> new empty set object set(iterable) -> new set object
Build an unordered collection of unique elements.
- property clean_level: VacuumSuctionLevel¶
- property current_position: VacuumMapPoint¶
- classmethod device_info_props() dict[str, PropDef] ¶
- property enr: str¶
- property firmware_version: str¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property hardware_version: str¶
- property ip: str¶
- property is_charging: bool¶
- property is_online: bool¶
- logger = <Logger wyze_sdk.models.devices.base (WARNING)>¶
- property mac: str¶
- property mode: VacuumMode¶
- property nickname: str¶
- property parent_device: dict¶
- classmethod props() dict[str, PropDef] ¶
- property push_switch: bool¶
- classmethod remove_model_prefix(text: str, model: str) str ¶
- property rooms: Sequence[VacuumMapRoom]¶
- property rssi: str¶
- property ssid: str¶
- property supplies: VacuumSupplies¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- type = 'Vacuum'¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- property voltage: int¶
- class wyze_sdk.models.devices.vacuums.VacuumBoxType(value)¶
See: com.wyze.sweeprobot.common.constant.VenusDeviceModeByAssembly.VenusBoxType
- DUST_BOX = ('Dust', 1)¶
- DUST_WATER_BOX = ('Dust+Water', 3)¶
- WATER_BOX = ('Water', 2)¶
- describe() str ¶
- classmethod parse(code: str | int) VacuumBoxType | None ¶
- class wyze_sdk.models.devices.vacuums.VacuumDeviceControlRequestType(value)¶
See: com.wyze.sweeprobot.common.entity.model.request.VenusDeviceControlRequest
AREA_CLEAN (known as spot cleaning, area cleaning, or virtual room cleaning) is only available in beta firmware (1.6.173) and requires the passing of x,y map points when issuing requests.
- AREA_CLEAN = ('Area Clean', 6)¶
- GLOBAL_SWEEPING = ('Clean', 0)¶
- QUICK_MAPPING = ('Quick Mapping', 7)¶
- RETURN_TO_CHARGING = ('Recharge', 3)¶
- describe() str ¶
- classmethod parse(code: str | int) VacuumDeviceControlRequestType | None ¶
- class wyze_sdk.models.devices.vacuums.VacuumDeviceControlRequestValue(value)¶
See: com.wyze.sweeprobot.common.entity.model.request.VenusDeviceControlRequest
- FALSE_PAUSE = ('False Pause', 3)¶
- PAUSE = ('Pause', 2)¶
- START = ('Start', 1)¶
- STOP = ('Stop', 0)¶
- describe() str ¶
- classmethod parse(code: str | int) VacuumDeviceControlRequestValue | None ¶
- class wyze_sdk.models.devices.vacuums.VacuumFaultCode(value)¶
See: com.wyze.sweeprobot.common.constant.VenusErrorCode
- COLLISION_EXCEPTION = ('Vacuum stuck', 510)¶
- DUST_BOX_NO_EXIST = ('Dustbin not installed', 503)¶
- GET_OUT_OF_TROUBLE_FAILED = ('Wheels stuck', 514)¶
- GO_CHARGE_FAILED = ('Failed to return to the charging station.', 511)¶
- NAVIGATION_FAILED = ('Mapping failed.', 513)¶
- RADAR_OUT_OF_TIME = ('Lidar sensor blocked', 500)¶
- RELOCATE_FAILED = ('Relocation failed', 507)¶
- ROBOT_IN_VIRTUALWALL = ('Vacuum stuck in no-go zone', 567)¶
- ROBOT_NO_DUSTANDWATER_HURRI = ('2-in-1 dustbin with water tank and mop not installed', 530)¶
- ROBOT_NO_DUSTANDWATER_MOP = ('Water tank and mop not installed', 529)¶
- ROBOT_NO_MOP = ('Mop not installed', 522)¶
- ROBOT_NO_WATER = ('Water tank not installed', 521)¶
- ROBOT_NO_WATER_HURRI = ('2-in-1 dustbin with water tank not installed', 531)¶
- SLOPE_START = ('Vacuum not on flat ground', 508)¶
- STOP_POINT_GO_CHARGE_FAILED = ('Failed to return to the charging station.', 512)¶
- WHEEL_LIFT_UP = ('Vacuum not on ground', 501)¶
- describe() str ¶
- classmethod parse(code: str | int) VacuumFaultCode | None ¶
- class wyze_sdk.models.devices.vacuums.VacuumMap(*, id: int | None = None, name: str | None = None, created: datetime | None = None, updated: datetime | None = None, blob: dict | None = None, **others: dict)¶
The protobuf definition for a vacuum map.
- property attributes: Set[str]¶
Provide a set of attributes of this object that will make up its JSON structure
- property charge_station: VacuumMapPoint | None¶
- property created: datetime¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property id: str¶
- property name: str¶
- parse_blob(blob: str) dict ¶
- property rooms: Sequence[VacuumMapRoom] | None¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- property updated: datetime¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
Provide a set of attributes of this object that will make up its JSON structure
Construct a dictionary out of non-null keys (from attributes property) present on this object.
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.vacuums.VacuumMapPoint(*, x: float | None = None, y: float | None = None, phi: float | None = None, **others: dict)¶
- property attributes: Set[str]¶
Provide a set of attributes of this object that will make up its JSON structure
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.vacuums.VacuumMapRoom(*, id: str | None = None, name: str | None = None, clean_state: int | None = None, room_clean: int | None = None, name_position: VacuumMapPoint | None = None, **others: dict)¶
- property attributes: Set[str]¶
Provide a set of attributes of this object that will make up its JSON structure
- property clean_state: int | None¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property id: int¶
- property name: str¶
- property name_position: VacuumMapPoint | None¶
- property room_clean: int | None¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.vacuums.VacuumMapSummary(*, current_map: bool = False, img_url: str | None = None, map_id: int | None = None, user_map_name: str | None = None, **others: dict)¶
A vacuum map summary.
- property attributes: Set[str]¶
Provide a set of attributes of this object that will make up its JSON structure
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property id: int¶
- property img_url: str¶
- property is_current: bool¶
- property latest_points: Sequence[VacuumMapPoint] | None¶
- property name: int¶
- property rooms: Sequence[VacuumMapRoom] | None¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.vacuums.VacuumMode(value)¶
See: com.wyze.sweeprobot.activity.VenusHomeActivity and f0.c
- BREAK_POINT = ('break point', 39)¶
- CLEANING = ('Cleaning', [1, 30, 1101, 1201, 1301, 1401])¶
- DOCKED_NOT_COMPLETE = ('Cleaning will resume after charging', [11, 33, 1104, 1204, 1304, 1404])¶
- FINISHED_RETURNING_TO_CHARGE = ('Cleaning completed. Returning to charge', [10, 32, 1103, 1203, 1303, 1403])¶
- FULL_FINISH_SWEEPING_ON_WAY_CHARGE = ('full finish sweeping on way charge', [12, 26, 38])¶
- IDLE = ('idle', [0, 14, 29, 35, 40])¶
- ON_WAY_CHARGE = ('Returning to charge', 5)¶
- PAUSE = ('Paused', [9, 27, 37])¶
- PAUSED = ('Paused', [4, 31, 1102, 1202, 1302, 1402])¶
- QUICK_MAPPING_COMPLETED_RETURNING_TO_CHARGE = ('Mapping completed. Returning to charge', 47)¶
- QUICK_MAPPING_DOCKED_NOT_COMPLETE = ('Mapping will resume after charging', 48)¶
- QUICK_MAPPING_MAPPING = ('Mapping', 45)¶
- QUICK_MAPPING_PAUSED = ('Mapping paused', 46)¶
- RETURNING_TO_CHARGE = ('Returning to charge', 5)¶
- SWEEPING = ('sweeping', [7, 25, 36])¶
- describe() str ¶
- classmethod parse(code: int) VacuumMode | None ¶
- class wyze_sdk.models.devices.vacuums.VacuumStatus(value)¶
An enumeration.
- CLEANING = ('Cleaning', 2)¶
- DOCKED = ('Docked', 4)¶
- ERROR = ('Error', 7)¶
- MAPPING = ('Mapping', 5)¶
- PAUSED = ('Paused', 6)¶
- RETURNING_TO_CHARGE = ('Returning to charge', 3)¶
- STANDBY = ('Standby', 1)¶
- describe() str ¶
- classmethod parse(code: str | int) VacuumStatus | None ¶
- class wyze_sdk.models.devices.vacuums.VacuumSuctionLevel(value)¶
An enumeration.
- QUIET = ('Quiet', 1)¶
- STANDARD = ('Standard', 2)¶
- STRONG = ('Strong', 3)¶
- describe() str ¶
- classmethod parse(code: str | int) VacuumSuctionLevel | None ¶
- class wyze_sdk.models.devices.vacuums.VacuumSupplies(*, filter: int | None = None, main_brush: int | None = None, side_brush: int | None = None, **others: dict)¶
Vacuum supply levels.
- property attributes: Set[str]¶
Provide a set of attributes of this object that will make up its JSON structure
- property filter: VacuumSupplyLevel¶
The supply levels of the filter.
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property main_brush: VacuumSupplyLevel¶
The supply levels of the main brush.
- property side_brush: VacuumSupplyLevel¶
The supply levels of the side brush.
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.vacuums.VacuumSupplyLevel(*, type: VacuumSupplyType | None = None, usage: int | None = None)¶
The usage information for vacuum supplies.
- attributes = {'remaining', 'type', 'usage'}¶
- property remaining: str¶
- property type: VacuumSupplyType¶
- property usage: str¶
- class wyze_sdk.models.devices.vacuums.VacuumSupplyType(value)¶
An enumeration.
- FILTER = ('Filter', 150)¶
- MAIN_BRUSH = ('Main brush', 300)¶
- SIDE_BRUSH = ('Side brush', 200)¶
- describe() str ¶
- class wyze_sdk.models.devices.vacuums.VacuumSweepRecord(*, created: datetime | None = None, started: datetime | None = None, clean_type: int | None = None, clean_time: int | None = None, clean_size: int | None = None, model: str | None = None, **others: dict)¶
A vacuum sweep record.
- property attributes: Set[str]¶
Provide a set of attributes of this object that will make up its JSON structure
- property clean_size: int¶
The area cleaned during this sweep record (in sq.ft.).
What comes from the API is some number related to m^2, but it’s been multiplied by 100, presumably to send across an integer that can be parsed to a single significant digit?
- property clean_time: int¶
The cleaning time of this sweep record (in minutes).
- property created: datetime¶
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property map_img_big_url: str¶
- property map_img_small_url: str¶
- property model: str¶
- property started: datetime¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.devices.vacuums.VacuumWorkMode(value)¶
See: com.wyze.sweeprobot.common.constant.VenusDeviceModeByAssembly.VenusWorkModeModel
- HURRICANE = ('Vacuum+Mop', 3)¶
- MOP = ('Mop', 2)¶
- VACUUM = ('Vacuum', 1)¶
- describe() str ¶
- classmethod parse(code: str | int) VacuumWorkMode | None ¶
- class wyze_sdk.models.devices.vacuums.VenusDotArg1Message¶
See: com.wyze.sweeprobot.common.constant.VenusDotMessage.VenusDotArg1Message
- Vacuum = 'Vacuum'¶
- class wyze_sdk.models.devices.vacuums.VenusDotArg2Message¶
See: com.wyze.sweeprobot.common.constant.VenusDotMessage.VenusDotArg2Message
- BreakCharging = 'BreakCharging'¶
- BreakRecharge = 'BreakRecharge'¶
- FinishRecharge = 'FinishRecharge'¶
- ManualRecharge = 'ManualRecharge'¶
- SelectRooms = 'SelectRooms'¶
- Spot = 'Spot'¶
- Whole = 'Whole'¶
Events¶
- class wyze_sdk.models.events.AiEventType(value)¶
- See: com.wyze.platformkit.config.AiConfig
com.wyze.event.faceai.WyzeCloudEventFaceAI
- BARKING = ('Dog Barking', 800002)¶
- CAR = ('Car', [])¶
- CAT = ('Cat', [])¶
- CRYING = ('Baby Crying', 800001)¶
- DELIVERY_TRUCK = ('Delivery Truck', [])¶
- DOG = ('Dog', [])¶
- FACE = ('Face', 101001)¶
- MEOWING = ('Cat Meowing', 800003)¶
- NOTHING = ('Nothing', 0)¶
- PACKAGE = ('Package', 104)¶
- PERSON = ('Person', 101)¶
- PET = ('Pet', 103)¶
- SCHOOL_BUS = ('School Bus', [])¶
- VEHICLE = ('Vehicle', 102)¶
- describe()¶
- classmethod parse(code: int) AiEventType | None ¶
- class wyze_sdk.models.events.Event(*, device_mac: str | None = None, event_id: int | None = None, event_ts: datetime | None = None, event_category: int | None = None, event_params: dict | None = None, event_value: str | None = None, file_list: Sequence[dict] | None = None, tag_list: Sequence[int] | None = None, read_state: int | None = None, **others: dict)¶
A Wyze event.
See: com.wyze.platformkit.model.WpkEventData
- property attributes: Set[str]¶
Provide a set of attributes of this object that will make up its JSON structure
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- property tags: Sequence[AiEventType]¶
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid
- class wyze_sdk.models.events.EventAlarmType(value)¶
See: com.HLApi.Obj.EventItem
- CO = ('Carbon Monoxide', 5)¶
- DOORBELL_RANG = ('Doorbell rang', 10)¶
- FACE = ('Face appeared', 12)¶
- MOTION = ('Motion', [1, 6, 7, 13])¶
- OTHER = ('Other', 3)¶
- SCENE = ('Scene action', 11)¶
- SMOKE = ('Smoke', 4)¶
- SOUND = ('Sound', 2)¶
- TRIGGERED = ('Triggered', 8)¶
- describe()¶
- classmethod parse(code: int) EventAlarmType | None ¶
- class wyze_sdk.models.events.EventFile(*, file_id: str | None = None, type: int | None = None, status: int | None = None, url: str | None = None, **others: dict)¶
A file (photo, video) associated with a Wyze event.
See: com.wyze.platformkit.model.WpkEventData
- property attributes: Set[str]¶
Provide a set of attributes of this object that will make up its JSON structure
- get_non_null_attributes() dict ¶
Construct a dictionary out of non-null keys (from attributes property) present on this object.
- to_dict(*args) dict ¶
Extract this object as a JSON-compatible, Wyze-API-valid dictionary.
- Parameters:
args – Any specific formatting args (rare; generally not required)
- Raises:
WyzeObjectFormationError – if the object was not valid
- property type: EventFileType¶
- validate_json() None ¶
- Raises:
WyzeObjectFormationError – if the object was not valid