MCPcopy Index your code
hub / github.com/SecKatie/ha-wyzeapi

github.com/SecKatie/ha-wyzeapi @v0.1.38

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.38 ↗ · + Follow
405 symbols 1,007 edges 18 files 287 documented · 71% updated 5d agov0.1.38 · 2026-06-22★ 96416 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Buy me a coffee

Home Assistant - Wyze Integration

This is a custom component to allow control of various Wyze devices in Home Assistant using the unofficial API. Please note this mimics the Wyze app and therefore access may be cut off at anytime.

Highlights of what WyzeApi can do

  • Control Wyze Bulbs as lights through HA
  • Control Wyze Plugs as switches through HA
  • Use Wyze Cameras as motion sensors NOTE: Disabled following API usage incident with Wyze
  • Turn on and off Wyze Cameras
  • Lock, unlock, and view status of lock and door for the Wyze Lock

Potential Downsides

  • This is an unofficial implementation of the api and therefore may be disabled or broken at anytime by WyzeLabs
  • ~~It requires two factor authentication to be disabled on your account~~
  • Two Factor Authentication is supported as of version 2021.9.2

Funding

If you like what I have done here and want to help I would recommend that you firstly look into supporting Home Assistant. You can do this by purchasing some swag from their store or paying for a Nabu Casa subscription. None of this could happen without them.

After you have done that if you feel like my work has been valuable to you I welcome your support through BuyMeACoffee or Github Sponsers in the right hand menu.

Installation (HACS) - Highly Recommended

  1. Have HACS installed, this will allow you to easily update
  2. Add https://github.com/SecKatie/ha-wyzeapi as a custom repository as Type: Integration
  3. Click install under "Wyze Bulb and Switch Api Integration" in the Integration tab
  4. Restart HA
  5. Navigate to Integrations in the config interface.
  6. Click ADD INTEGRATION
  7. Search for Wyze Home Assistant Integration NOTE: If Wyze Home Assistant Integration does not appear, hard refresh the browser (ctrl+F5) and search again
  8. Enter your email, password, keyid & apikey when prompted. NOTE: If you do not know how to generate your keyid & apikey, please see the following official Wyze documentation: Creating an API Key
  9. Click SUBMIT and profit!

Usage

  • Entities will show up as light.<friendly name>, switch.<friendly name>, binary_sensor.<friendly name> or lock.<friendly name> for example (light.livingroom_lamp).
  • Instructions for interacting with lights can be found here: https://www.home-assistant.io/integrations/light/
    • Switches: https://www.home-assistant.io/integrations/switch/
    • Camera motion sensors: https://www.home-assistant.io/integrations/binary_sensor/

Contributing

  • For development contributions please join our IRC channel #wyzeapi on Libre.Chat
  • For instructions on intercepting data from the Wyze app see: https://mulliken.net/p/intercepting-pinned-tls-connections-on-android/

Support

If you need help with anything then please connect with the community!

  • Visit us on IRC at librechat in the #wyzeapi channel!
  • Visit the discussions tab on this repo
  • For bugs or feature requests create an issue
  • Check out the wiki!

Reporting an Issue

  1. Setup your logger to print debug messages for this component by adding this to your configuration.yaml: yaml logger: default: warning logs: custom_components.wyzeapi: debug wyzeapy: debug
  2. Restart HA
  3. Verify you're still having the issue
  4. File an issue in this Github Repository (being sure to fill out every provided field)

Core symbols most depended-on inside this repo

set_hvac_mode
called by 4
custom_components/wyzeapi/climate.py
pack_l1
called by 3
custom_components/wyzeapi/ydble_utils.py
crc
called by 3
custom_components/wyzeapi/ydble_utils.py
async_step_user
called by 2
custom_components/wyzeapi/config_flow.py
set_fan_mode
called by 2
custom_components/wyzeapi/climate.py
send_candidate
called by 2
custom_components/wyzeapi/camera.py
lock_unlock
called by 2
custom_components/wyzeapi/coordinator.py
_send_ack
called by 2
custom_components/wyzeapi/coordinator.py

Shape

Method 342
Class 35
Function 28

Languages

Python100%

Modules by API surface

custom_components/wyzeapi/switch.py61 symbols
custom_components/wyzeapi/sensor.py58 symbols
custom_components/wyzeapi/climate.py45 symbols
custom_components/wyzeapi/light.py31 symbols
custom_components/wyzeapi/lock.py30 symbols
custom_components/wyzeapi/camera.py29 symbols
custom_components/wyzeapi/binary_sensor.py27 symbols
custom_components/wyzeapi/button.py22 symbols
custom_components/wyzeapi/number.py16 symbols
custom_components/wyzeapi/alarm_control_panel.py15 symbols
custom_components/wyzeapi/cover.py14 symbols
custom_components/wyzeapi/coordinator.py14 symbols

For agents

$ claude mcp add ha-wyzeapi \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page