Data Models

Devices

wyze_sdk.models.devices.base

class wyze_sdk.models.devices.base.Device(*, binding_ts: Optional[int] = None, binding_user_nickname: Optional[str] = None, conn_state: Optional[int] = None, conn_state_ts: Optional[int] = None, enr: Optional[str] = None, event_master_switch: Optional[int] = None, firmware_ver: Optional[str] = None, first_activation_ts: Optional[int] = None, first_binding_ts: Optional[int] = None, hardware_ver: Optional[str] = None, is_in_auto: Optional[int] = None, mac: Optional[str] = None, nickname: Optional[str] = None, parent_device_mac: Optional[str] = None, parent_device_enr: Optional[str] = None, product_model: Optional[str] = None, product_model_logo_url: Optional[str] = None, product_type: Optional[str] = None, push_switch: Optional[int] = None, timezone_gmt_offset: Optional[float] = None, timezone_name: Optional[str] = None, user_role: Optional[int] = None, type: Optional[str] = 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 product: wyze_sdk.models.devices.base.Product
property push_switch: bool
classmethod remove_model_prefix(text: str, model: str) str
property timezone: wyze_sdk.models.devices.base.Timezone
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

class wyze_sdk.models.devices.base.Product(*, type: Optional[str] = None, model: Optional[str] = None, logo_url: Optional[str] = None)

The product information for a Wyze-branded device.

attributes = {'logo_url', 'model', 'type'}
property logo_url: str
property model: str
property type: str
class wyze_sdk.models.devices.base.Timezone(*, offset: Optional[str] = None, name: Optional[str] = None)

The timezone data associated with a device.

property name: str
property offset: float

wyze_sdk.models.devices.bulbs

class wyze_sdk.models.devices.bulbs.Bulb(*, 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: str
property color_temp: int
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 parse(device: Union[dict, wyze_sdk.models.devices.bulbs.Bulb]) Optional[wyze_sdk.models.devices.bulbs.Bulb]
property power_loss_recovery: bool
property product: wyze_sdk.models.devices.base.Product
property push_switch: bool
classmethod remove_model_prefix(text: str, model: str) str
property rssi: str
property ssid: str
property switch_state: wyze_sdk.models.devices.base.DeviceProp
property timezone: wyze_sdk.models.devices.base.Timezone
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.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 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 parse(device: Union[dict, wyze_sdk.models.devices.bulbs.Bulb]) Optional[wyze_sdk.models.devices.bulbs.Bulb]
property power_loss_recovery: bool
property product: wyze_sdk.models.devices.base.Product
classmethod props() dict[str, wyze_sdk.models.PropDef]
property push_switch: bool
classmethod remove_model_prefix(text: str, model: str) str
property rssi: str
property ssid: str
property switch_state: wyze_sdk.models.devices.base.DeviceProp
property timezone: wyze_sdk.models.devices.base.Timezone
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

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 product: wyze_sdk.models.devices.base.Product
property push_switch: bool
classmethod remove_model_prefix(text: str, model: str) str
property timezone: wyze_sdk.models.devices.base.Timezone
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: Optional[Sequence[dict]] = 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
property latest_events: Sequence[wyze_sdk.models.events.Event]
logger = <Logger wyze_sdk.models.devices.base (WARNING)>
property mac: str
property motion_state: bool
property nickname: str
property parent_device: dict
property product: wyze_sdk.models.devices.base.Product
property push_switch: bool
classmethod remove_model_prefix(text: str, model: str) str
property rssi: str
property ssid: str
property switch_state: wyze_sdk.models.devices.base.DeviceProp
property temperature: float
property timezone: wyze_sdk.models.devices.base.Timezone
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.locks

class wyze_sdk.models.devices.locks.Lock(parent: Optional[str] = None, record_count: Optional[int] = 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: bool
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 product: wyze_sdk.models.devices.base.Product
property push_switch: bool
property record_count: int
classmethod remove_model_prefix(text: str, model: str) str
property timezone: wyze_sdk.models.devices.base.Timezone
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 = ('Local', 1)
MANUAL = ('Manual', 5)
NFC = ('NFC', 7)
REMOTE = ('Remote', 9)
describe()
classmethod parse(code: int) Optional[wyze_sdk.models.devices.locks.LockEventSource]
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) Optional[wyze_sdk.models.devices.locks.LockEventType]
class wyze_sdk.models.devices.locks.LockGateway(*, rssi: Optional[int] = None, ssid: Optional[str] = None, locks: Optional[Sequence[dict]] = 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
property locks: Sequence[wyze_sdk.models.devices.locks.Lock]
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 product: wyze_sdk.models.devices.base.Product
property push_switch: bool
classmethod remove_model_prefix(text: str, model: str) str
property rssi: str
property ssid: str
property timezone: wyze_sdk.models.devices.base.Timezone
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.LockLeftOpenTime(value)

See: ford_open_alarm_time

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) Optional[wyze_sdk.models.devices.locks.LockLeftOpenTime]
class wyze_sdk.models.devices.locks.LockRecord(*, type: Optional[Union[int, wyze_sdk.models.devices.locks.LockEventType]] = None, details: Optional[Union[dict, wyze_sdk.models.devices.locks.LockRecordDetail]] = None, priority: Optional[int] = None, processed: Optional[int] = None, time: Optional[datetime.datetime] = None, user_id: Optional[str] = None, uuid: Optional[str] = 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: wyze_sdk.models.devices.locks.LockEventType
validate_json() None
Raises

WyzeObjectFormationError – if the object was not valid

class wyze_sdk.models.devices.locks.LockRecordDetail(*, id: Optional[int] = None, avatar: Optional[str] = None, email: Optional[str] = None, left_open_time: Optional[Union[int, wyze_sdk.models.devices.locks.LockLeftOpenTime]] = None, receiver_name: Optional[str] = None, role: Optional[str] = None, sender_name: Optional[str] = None, source: Optional[Union[int, wyze_sdk.models.devices.locks.LockEventSource]] = None, source_name: Optional[str] = None, sourceid: Optional[int] = None, time: Optional[datetime.datetime] = 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

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
classmethod parse(device: Union[dict, wyze_sdk.models.devices.plugs.Plug]) Optional[wyze_sdk.models.devices.plugs.Plug]
property photosensitive_switch: bool
property product: wyze_sdk.models.devices.base.Product
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: wyze_sdk.models.devices.base.DeviceProp
property timezone: wyze_sdk.models.devices.base.Timezone
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
classmethod parse(device: Union[dict, wyze_sdk.models.devices.plugs.Plug]) Optional[wyze_sdk.models.devices.plugs.Plug]
property product: wyze_sdk.models.devices.base.Product
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: wyze_sdk.models.devices.base.DeviceProp
property timezone: wyze_sdk.models.devices.base.Timezone
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

wyze_sdk.models.devices.scales

class wyze_sdk.models.devices.scales.Scale(unit: Optional[str] = None, goal_weight: Optional[wyze_sdk.models.devices.scales.UserGoalWeight] = None, latest_records: Optional[Sequence[wyze_sdk.models.devices.scales.ScaleRecord]] = 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: wyze_sdk.models.devices.scales.UserGoalWeight
property hardware_version: str
property ip: str
property is_online: bool
property latest_records: Sequence[wyze_sdk.models.devices.scales.ScaleRecord]
logger = <Logger wyze_sdk.models.devices.base (WARNING)>
property mac: str
property nickname: str
property parent_device: dict
property product: wyze_sdk.models.devices.base.Product
property push_switch: bool
classmethod remove_model_prefix(text: str, model: str) str
property rssi: str
property ssid: str
property timezone: wyze_sdk.models.devices.base.Timezone
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: Optional[str] = None, age: Optional[int] = None, bmi: Optional[float] = None, bmr: Optional[float] = None, body_fat: Optional[float] = None, body_type: Optional[int] = None, body_vfr: Optional[float] = None, body_water: Optional[float] = None, bone_mineral: Optional[float] = None, device_id: Optional[str] = None, family_member_id: Optional[str] = None, gender: Optional[int] = None, height: Optional[float] = None, impedance: Optional[Sequence[int]] = None, mac: Optional[str] = None, measure_ts: Optional[int] = None, measure_type: Optional[int] = None, metabolic_age: Optional[int] = None, muscle: Optional[float] = None, occupation: Optional[int] = None, protein: Optional[float] = None, timezone: Optional[str] = None, user_id: Optional[int] = None, weight: Optional[float] = 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: Optional[str] = None, created: Optional[datetime.datetime] = None, current_weight: Optional[float] = None, goal_weight: Optional[float] = None, family_member_id: Optional[str] = None, updated: Optional[datetime.datetime] = None, user_id: Optional[int] = 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 product: wyze_sdk.models.devices.base.Product
property push_switch: bool
classmethod remove_model_prefix(text: str, model: str) str
property rssi: str
property ssid: str
property switch_state: wyze_sdk.models.devices.base.DeviceProp
property timezone: wyze_sdk.models.devices.base.Timezone
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 product: wyze_sdk.models.devices.base.Product
property push_switch: bool
classmethod remove_model_prefix(text: str, model: str) str
property rssi: str
property ssid: str
property switch_state: wyze_sdk.models.devices.base.DeviceProp
property timezone: wyze_sdk.models.devices.base.Timezone
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.thermostats

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 cooling_setpoint: int
property current_scenario: wyze_sdk.models.devices.thermostats.ThermostatScenarioType
classmethod device_info_props() dict[str, wyze_sdk.models.PropDef]
property enr: str
property fan_mode: wyze_sdk.models.devices.thermostats.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: bool
logger = <Logger wyze_sdk.models.devices.base (WARNING)>
property mac: str
property nickname: str
property parent_device: dict
property product: wyze_sdk.models.devices.base.Product
classmethod props() dict[str, wyze_sdk.models.PropDef]
property push_switch: bool
classmethod remove_model_prefix(text: str, model: str) str
property rssi: str
property ssid: str
property system_mode: wyze_sdk.models.devices.thermostats.ThermostatSystemMode
property temperature: float
property temperature_unit: str
property timezone: wyze_sdk.models.devices.base.Timezone
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.ThermostatFanMode(value)

See: com.wyze.earth.common.widget.EarthHomeControls

AUTO = ('Auto', 'auto')
CYCLE = ('Cycle', 'circ')
ON = ('On', 'on')
describe()
classmethod parse(code: str) Optional[wyze_sdk.models.devices.thermostats.ThermostatFanMode]
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) Optional[wyze_sdk.models.devices.thermostats.ThermostatScenarioType]
class wyze_sdk.models.devices.thermostats.ThermostatSystemMode(value)

See: com.wyze.earth.common.widget.EarthHomeControls

AUTO = ('Auto', 'auto')
COOL = ('Cool', 'cool')
HEAT = ('Heat', 'heat')
OFF = ('Off', 'off')
describe()
classmethod parse(code: str) Optional[wyze_sdk.models.devices.thermostats.ThermostatSystemMode]

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: wyze_sdk.models.devices.vacuums.VacuumSuctionLevel
property current_map: wyze_sdk.models.devices.vacuums.VacuumMap
property current_position: wyze_sdk.models.devices.vacuums.VacuumMapPoint
classmethod device_info_props() dict[str, wyze_sdk.models.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_online: bool
logger = <Logger wyze_sdk.models.devices.base (WARNING)>
property mac: str
property mode: wyze_sdk.models.devices.vacuums.VacuumMode
property nickname: str
property parent_device: dict
property product: wyze_sdk.models.devices.base.Product
classmethod props() dict[str, wyze_sdk.models.PropDef]
property push_switch: bool
classmethod remove_model_prefix(text: str, model: str) str
property rooms: Sequence[wyze_sdk.models.devices.vacuums.VacuumMapRoom]
property rssi: str
property ssid: str
property timezone: wyze_sdk.models.devices.base.Timezone
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.VacuumMap(*, id: Optional[int] = None, name: Optional[str] = None, created: Optional[datetime.datetime] = None, updated: Optional[datetime.datetime] = None, blob: Optional[dict] = 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: Optional[wyze_sdk.models.devices.vacuums.VacuumMapPoint]
property created: datetime.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
property navigation_points: Optional[Sequence[wyze_sdk.models.devices.vacuums.VacuumMapNavigationPoint]]
parse_blob(blob: str) dict
property rooms: Optional[Sequence[wyze_sdk.models.devices.vacuums.VacuumMapRoom]]
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.datetime
validate_json() None
Raises

WyzeObjectFormationError – if the object was not valid

class wyze_sdk.models.devices.vacuums.VacuumMapNavigationPoint(*, id: Optional[int] = None, status: Optional[int] = None, point_type: Optional[int] = None, coordinates: Optional[wyze_sdk.models.devices.vacuums.VacuumMapPoint] = None, **others: dict)
property attributes: Set[str]

Provide a set of attributes of this object that will make up its JSON structure

property coordinates: wyze_sdk.models.devices.vacuums.VacuumMapPoint
get_non_null_attributes() dict

Construct a dictionary out of non-null keys (from attributes property) present on this object.

property id: int
property point_type: int
property status: int
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.VacuumMapPoint(*, x: Optional[float] = None, y: Optional[float] = None, phi: Optional[float] = 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: Optional[str] = None, name: Optional[str] = None, clean_state: Optional[int] = None, room_clean: Optional[int] = None, name_position: Optional[wyze_sdk.models.devices.vacuums.VacuumMapPoint] = 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
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: wyze_sdk.models.devices.vacuums.VacuumMapPoint
property room_clean: int
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)

An enumeration.

BREAK_POINT = ('break point', [11, 33, 39])
FULL_FINISH_SWEEPING_ON_WAY_CHARGE = ('full finish sweeping on way charge', [10, 12, 26, 32, 38])
IDLE = ('idle', [0, 14, 29, 35, 40])
ON_WAY_CHARGE = ('on way charge', 5)
PAUSE = ('pause', [4, 9, 27, 31, 37])
SWEEPING = ('sweeping', [1, 7, 25, 30, 36])
describe() str
classmethod parse(code: int) Optional[wyze_sdk.models.devices.vacuums.VacuumMode]
class wyze_sdk.models.devices.vacuums.VacuumSuctionLevel(value)

An enumeration.

QUIET = ('Quiet', 1)
STANDARD = ('Standard', 2)
STRONG = ('Strong', 3)
describe() str
classmethod parse(code: Union[str, int]) Optional[wyze_sdk.models.devices.vacuums.VacuumSuctionLevel]
class wyze_sdk.models.devices.vacuums.VacuumSweepRecord(*, created: Optional[datetime.datetime] = None, started: Optional[datetime.datetime] = None, clean_type: Optional[int] = None, clean_time: Optional[int] = None, clean_size: Optional[int] = None, model: Optional[str] = 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.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.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

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) Optional[wyze_sdk.models.events.AiEventType]
class wyze_sdk.models.events.Event(*, device_mac: Optional[str] = None, event_id: Optional[int] = None, event_ts: Optional[datetime.datetime] = None, event_category: Optional[int] = None, event_params: Optional[dict] = None, event_value: Optional[str] = None, file_list: Optional[Sequence[dict]] = None, tag_list: Optional[Sequence[int]] = None, read_state: Optional[int] = None, **others: dict)

A Wyze event.

See: com.wyze.platformkit.model.WpkEventData

property alarm_type: Sequence[wyze_sdk.models.events.EventFile]
property attributes: Set[str]

Provide a set of attributes of this object that will make up its JSON structure

property files: Sequence[wyze_sdk.models.events.EventFile]
get_non_null_attributes() dict

Construct a dictionary out of non-null keys (from attributes property) present on this object.

property tags: Sequence[wyze_sdk.models.events.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) Optional[wyze_sdk.models.events.EventAlarmType]
class wyze_sdk.models.events.EventFile(*, file_id: Optional[str] = None, type: Optional[int] = None, status: Optional[int] = None, url: Optional[str] = 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: wyze_sdk.models.events.EventFileType
validate_json() None
Raises

WyzeObjectFormationError – if the object was not valid

class wyze_sdk.models.events.EventFileType(value)

See: com.wyze.event.utils.WyzeEventPlayerHelper

IMAGE = ('Image', 1)
VIDEO = ('Video', 2)
describe()
classmethod parse(code: int) Optional[wyze_sdk.models.events.EventFileType]