gitwtfhub

wtf is tapo-rv30?

peggleg/tapo-rv30 — explained in plain English

Analysis updated 2026-05-18

0PythonAudience · generalComplexity · 2/5Setup · moderate

TL;DR

A Home Assistant add-on that controls a TP-Link Tapo RV30 robot vacuum locally over your home network, with no cloud connection needed.

Mindmap

mindmap
  root((tapo-rv30))
    What it does
      Local vacuum control
      No cloud needed
      Room by room cleaning
    Tech stack
      Python
      Home Assistant
      HACS
    Use cases
      Automate cleaning schedules
      Dashboard control
      Track part wear
    Audience
      Home Assistant users
      Privacy focused owners
      Vacuum owners

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Control your Tapo RV30 robot vacuum from Home Assistant without relying on TP-Link's cloud servers.

REASON 2

Set up an automation that cleans a specific list of rooms with one command or dashboard tap.

REASON 3

Track battery level, error state, and part wear for the vacuum right inside your smart home dashboard.

What's in the stack?

PythonHome AssistantHACSrequestsecdsa

How it stacks up

peggleg/tapo-rv300xallam/my-recipe0xhassaan/nn-from-scratch
Stars00
LanguagePythonPythonPython
Last pushed2022-11-22
MaintenanceDormant
Setup difficultymoderatemoderatemoderate
Complexity2/52/54/5
Audiencegeneralgeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires Home Assistant with HACS installed and a supported Tapo RV30 or RV20 model on compatible firmware.

No license information is given in the README.

Wtf does this do

This project lets you control a TP-Link Tapo RV30 robot vacuum from Home Assistant, the popular smart home platform, without sending any of your data to TP-Link's cloud. It talks to the vacuum directly over your home network by reimplementing the security protocol the vacuum's app uses, work that was figured out by studying an earlier project that reverse engineered TP-Link's Tapo devices. Once installed, the integration gives you full control of the vacuum inside Home Assistant: starting, pausing, stopping, and sending it back to its dock. You can trigger room by room cleaning through a dedicated service, choose fan speed from Quiet up to Max or Ultra, set the water level for mopping, and pick how many passes it should make. It also exposes sensors for battery level, current error state, such as a removed dust bin or the vacuum being stuck, and wear on parts like the main brush, side brush, and filter, so you know when they need replacing. Cleaning schedules already set up in the Tapo phone app are imported automatically, and you can check for firmware updates or reset consumable wear counters from within Home Assistant. Setup is done through the HACS add-on manager, which handles the required Python packages for you. After installing, you copy the integration's folder into Home Assistant's custom_components directory, restart Home Assistant, and configure the device from the standard Settings menu. The README includes ready to use examples: an automation script that cleans a named list of rooms, and a dashboard button card for triggering a specific cleaning job with one tap. The project currently supports the RV30 Max Plus, RV20 Max Plus, and RV20C Mop models on recent firmware, and the author expects it to work with other Tapo robot vacuums that use the same security protocol. It builds directly on reverse engineering work from the python-kasa project and an earlier attempt at the same integration.

Yoink these prompts

Prompt 1
Walk me through installing the tapo-rv30 Home Assistant integration using HACS.
Prompt 2
Help me write a Home Assistant script that cleans only my kitchen and lounge using tapo_rv30.clean_rooms.
Prompt 3
Explain how the TPAP and AES authentication protocols in tapo-rv30 let it control my vacuum without the cloud.
Prompt 4
Show me how to build a dashboard button that triggers a specific room cleaning routine for my Tapo vacuum.

Frequently asked questions

wtf is tapo-rv30?

A Home Assistant add-on that controls a TP-Link Tapo RV30 robot vacuum locally over your home network, with no cloud connection needed.

What language is tapo-rv30 written in?

Mainly Python. The stack also includes Python, Home Assistant, HACS.

What license does tapo-rv30 use?

No license information is given in the README.

How hard is tapo-rv30 to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is tapo-rv30 for?

Mainly general.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.