gitwtfhub

wtf is tapo-voltage-monitor?

kartoshahv/tapo-voltage-monitor — explained in plain English

Analysis updated 2026-05-18

12PythonAudience · generalComplexity · 2/5LicenseSetup · easy

TL;DR

A tool that pulls hidden voltage readings out of TP-Link Tapo P110/P115 smart plugs to log and graph home mains voltage, detecting sags, surges, and blackouts.

Mindmap

mindmap
  root((tapo-voltage-monitor))
    What it does
      Logs mains voltage
      Web dashboard
      Blackout detection
    Tech stack
      Python
      python-kasa
    Use cases
      Diagnose device failures
      Build evidence for utility complaints
      Track power quality over time
    Audience
      Home users
      DIY electronics tinkerers

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

Diagnose whether unstable mains voltage caused a router or power supply to fail.

REASON 2

Build a week-long voltage log as evidence to show your electricity utility company.

REASON 3

Detect and time power outages automatically, even if your computer was off during them.

What's in the stack?

Pythonpython-kasa

How it stacks up

kartoshahv/tapo-voltage-monitoraim-uofa/reasonmatchairbone42/360-data-athlete
Stars121212
LanguagePythonPythonPython
Setup difficultyeasyhardhard
Complexity2/55/54/5
Audiencegeneralresearchergeneral

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

How do you spin it up?

Difficulty · easy Time to first run · 30min

Requires a TP-Link Tapo P110 or P115 (not the cheaper P100/P105) plus enabling third-party access in the Tapo app.

Use, modify, and distribute freely, including commercially, as long as you keep the copyright notice.

Wtf does this do

tapo-voltage-monitor turns a TP-Link Tapo P110 or P115 smart plug into a home voltage meter, so you can find out whether bad mains electricity killed a router, power supply, or other gadget, without buying a separate voltmeter. The official Tapo app only shows watts, but the chip inside the plug also measures voltage, and this program pulls that hidden number out and logs it. Once running, it checks the voltage every few seconds and shows a dashboard in your browser with a live chart and current numbers. Anything outside the normal safe range, 207 to 253 volts for 230 volt countries by default and adjustable for 120 volt countries, gets marked in red and logged as an event with when it happened, how long it lasted, and how far the voltage strayed. It can also spot full blackouts by watching a counter inside the plug that tracks seconds since power returned, so it notices an outage even if your computer was off when it happened. A week of such logs can give you solid evidence to show your electricity provider. Setup takes about ten minutes. You need a Tapo P110 or P115 already connected to your Wi-Fi through the Tapo app, since the cheaper P100 and P105 lack the metering chip, plus any Windows, Mac, or Linux computer on the same network to run the program while it stays awake. After enabling third party access in the Tapo app and finding the plug's local IP address, you download the project, install its Python dependencies, list your plugs in a config file, and store your Tapo account email and password as environment variables so they are not saved in a plain file. On Windows you start everything with one batch file, which opens the dashboard automatically, on Mac and Linux you run two Python scripts by hand. A demo mode can generate fake sample data so you can try the dashboard before owning a plug. The tool is upfront about its limits: readings can be off by a volt or two, it samples every three seconds so extremely brief spikes stay invisible, and the method it uses to read voltage is undocumented by TP-Link, so a future firmware update could break it. Readings are logged locally to a CSV file and never sent to the internet, using an open source library called python-kasa to talk to the plug. It is released under the MIT license.

Yoink these prompts

Prompt 1
Walk me through setting up tapo-voltage-monitor with my Tapo P110 plug's IP address and login credentials.
Prompt 2
Explain how this tool reads voltage from a Tapo plug when the official app only shows watts.
Prompt 3
Help me interpret an out-of-norm voltage event logged in power_log.csv.
Prompt 4
Show me how to run demo_data.py to preview the dashboard before I buy a Tapo plug.

Frequently asked questions

wtf is tapo-voltage-monitor?

A tool that pulls hidden voltage readings out of TP-Link Tapo P110/P115 smart plugs to log and graph home mains voltage, detecting sags, surges, and blackouts.

What language is tapo-voltage-monitor written in?

Mainly Python. The stack also includes Python, python-kasa.

What license does tapo-voltage-monitor use?

Use, modify, and distribute freely, including commercially, as long as you keep the copyright notice.

How hard is tapo-voltage-monitor to set up?

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

Who is tapo-voltage-monitor for?

Mainly general.

View the repo → Decode another repo

This repo across BitVibe Labs

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