A web-based tool to automate the setup of Tapo cameras in Home Assistant. It generates all the necessary YAML for a sophisticated setup, allowing you to change camera settings based on your home's state (e.g., "Home" or "Away").
Modern smart cameras like the Tapo series have dozens of settings (motion detection, notifications, privacy mode, etc.). Manually creating a system to control these settings based on whether you are home or away can be a complex and time-consuming task in Home Assistant.
This tool streamlines that entire process. It inspects your camera, allows you to select the features you care about, and automatically generates the three key components needed for a complete solution.
The tool acts as a three-step wizard that guides you through the complex configuration process:
-
Data Input and Parsing: The tool guides you to use a Jinja2 template in Home Assistant's Developer Tools to get a complete list of all entities associated with your camera. When you paste this text back into the tool, a JavaScript function parses it, converting it into a structured list that the application can understand.
-
User Customization: The tool then displays the entities in a user-friendly, interactive list where you can uncheck settings you don't need and drag-and-drop items to set their order on the final Lovelace card.
-
YAML Generation: When you click "Generate," the tool takes your customized list and runs it through three separate generator functions to produce the final Package, Lovelace Card, and Automation YAML files.
The tool generates three distinct YAML files:
- Package File: Creates all the necessary helper entities (
input_boolean,input_select,input_number) to store your settings for both "Home" and "Away" modes. - Lovelace Settings Card: A user-friendly card for your dashboard that allows you to easily configure the settings for each mode.
- "Smart" Automation: An efficient, conditional automation that monitors your home's state and applies the appropriate settings to your camera. It only sends commands for settings that need to be changed, minimizing traffic and avoiding rate-limiting issues.
Before using this tool, you must have the following set up in your Home Assistant instance.
This tool is specifically designed to work with entities created by the Tapo Control custom integration.
- Installation Link: https://github.com/JurajNyiri/HomeAssistant-Tapo-Control
- It is highly recommended to install this via HACS.
- This tool may work with cameras added through other means, but it has not been tested.
Follow the Tapo Control integration's instructions to add your camera to Home Assistant. Make a note of the camera's base entity ID (e.g., driveway_cam_a_c402), as you will need it for the tool.
The entire system relies on a central helper entity that defines your home's current state. If you don't already have one, you need to create an input_select helper.
- In Home Assistant, navigate to Settings > Devices & Services > Helpers.
- Click Create Helper and choose Dropdown.
- Fill in the fields as follows:
- Name:
Security Mode - Icon:
mdi:security - Option 1:
Home - Option 2:
Away
- Name:
- Click Create. This will create the
input_select.security_modeentity that the generated automation will use.
Here is an example of a selector card uding the helper, to allow manual selection of Security Mode State (Home or Away):
- Download the asset
.zipfile from the latest release: - Unzip the folder to a location on your computer.
- Open the unzipped folder and double-click the
index.htmlfile to open the tool in your browser.
- In the tool, enter a Camera Friendly Name (e.g.,
Driveway Cam A) and the Camera Base Entity ID (e.g.,driveway_cam_a_c402). - Click the "Show Jinja2 Template for HA" button.
- Copy the entire Jinja2 template.
- In Home Assistant, go to Developer Tools > Template.
- Paste the template and copy the entire result from the right side.
- Return to the tool and paste the entity list you just copied from Home Assistant into the large text area.
- Click the "Process Entities" button.
- A new section will appear, listing all your camera's entities, grouped by type. Review this list, unchecking any entities you don't need and reordering them via drag-and-drop.
- Once you are happy with the list, click the "Generate All Files" button. The tool will instantly generate the three required YAML configuration files.
| Tool Interface (Input & Entity List) | Generated YAML Output |
|---|---|
![]() |
![]() |
- Copy the contents of the "Package File" output box.
- In your Home Assistant
/configdirectory, find or create a folder namedpackages. - Create a new file inside
packages, named after your camera (e.g.,camera_driveway_a.yaml). - Paste the copied YAML into this new file.
- Ensure your main
configuration.yamlis set up to load packages:homeassistant: packages: !include_dir_named packages
- Go to Developer Tools > YAML and Check Configuration, then Restart Home Assistant.
- After HA has restarted, copy the contents of the "Lovelace Settings Card" output box.
- Navigate to the dashboard where you want the card, enter Edit Dashboard mode, and click + Add Card.
- Choose the Manual card, delete the placeholder content, and paste the copied YAML. Save the card.
| Settings Card | Setting Card (Away Expanded) |
|---|---|
![]() |
![]() |
- Copy the contents of the "Automation" output box.
- Go to Settings > Automations & Scenes.
- Click + Create Automation and choose Create new automation.
- Click the three-dots menu in the top-right and select Edit in YAML.
- Delete the placeholder content and paste the copied automation YAML. Save the automation.
Your setup is complete. To test it, go to your new Lovelace settings card and configure different settings for the "Home" and "Away" sections. Then, change the state of the input_select.security_mode helper. You should see the settings on your camera update accordingly.
This tool should work for most modern Tapo cameras supported by the Tapo Control integration. It has been tested and confirmed working with the following models:
- Tapo C402
- Tapo C425
- Tapo C120




