Wattmatic

Wattmatic keeps a Tesla Powerwall ready. When the battery drops to a level you pick, Wattmatic raises the backup reserve so the Powerwall charges from solar or the grid, then puts your settings back once it reaches the level you want.

Why I Built It

In Self-Powered mode, a Powerwall only charges from extra solar. It pulls from the grid only when the backup reserve is set above the current charge. On short winter days the battery can sit near empty for days. The manual fix is to open the Tesla app, raise the backup reserve, wait for the battery to fill, then remember to set everything back.

I used Netzero for a long time to handle this, but I always thought I could do better on the experience, and make it cheaper. I wanted something that felt better and worked across all of my devices.

There are apps that do a lot more than this, and Home Assistant can handle it if you're up for that. I just wanted an app that does one job: notice the battery is low, fill it, and put my settings back. It also had to look and feel like an Apple app. It's simple on the surface, but if you dive into the advanced settings you can set up Shortcuts and automations as a power user.

Yes, you could do this with Home Assistant or a script. I build apps for a living, so I built an app. I've been using it for a couple of months, refining the interactions and adding features, and I love it.

Key Features

  • Start and stop levels: Drag two handles to set "Start charging at" and "Charge up to," and Wattmatic handles each cycle from there
  • Live cycles: Watch the charge level, energy added, and estimated finish time while a cycle runs, with one-tap stop or pause
  • Verified restores: Each cycle saves your backup reserve, operation mode, and grid charging settings before the first command, then compares them with what Tesla reports afterward
  • History and battery health: See the charge curve, the kWh each cycle added, and your capacity against Tesla's 70% warranty line
  • Off-peak windows: Only charge during the hours and days you pick
  • Plays nice with Tesla: Stays out of the way during Storm Watch, and pauses automation instead of overwriting if you change a setting in the Tesla app (or ignores those changes, if you prefer)
  • Power user options: Advanced settings for Shortcuts and automations, out of the way until you want them
  • CSV export: Export readings, cycles, and events

Technical Approach

The backend is built with Vapor, the same server-side Swift approach I've written about throughout this site. Wattmatic runs on its own servers, so there's no Home Assistant or hub at home and your phone can be off. You sign in on Tesla's own page, and Wattmatic never sees your Tesla password. Since Tesla started charging developers per API request in late 2024, Wattmatic spaces out its checks to stay inside a fixed monthly allowance for each site, and restoring your settings never counts against it.

The app runs on iPhone, iPad, and Mac, with the same site, history, and settings on each.

Links