Sucessful connection to Tesla Powerwall Backup Gateway in 2025

I just installed HA in my home. Lots of the integrations went fine on the first try. But the integration with the Tesla Powerwall Backup Gateway was a bit of a challenge. In this post I walk through the many steps that it took for me to get my Tesla Powerwall Backup Gateway connected with HA.

A first thing to realize is that you can completely ignore the scary message “The current experience is no longer supported” and the related message “Switch to Tesla One for a better commissioning experience”. More about that later.

A second thing to realize is that there exactly two precious pieces of information required to enable HA to talk with the TPBG – the IP address of the TPBG and the password.

A third thing to realize is that there are lots of postings in this forum from helpful members of the Home Assistant community about Tesla Powerwalls. I had just a few minutes ago read a number of those postings and they reassured me that indeed other HA users were successfully connecting their HA to their Tesla Powerwall Backup Gateway. Thank you to those other community members!

At this point what we realize is that there is no way that any of this will work if the HA fails to be on the same LAN subnet as the TPBG. In my house I have several VLANs, a first VLAN which is for “trusted” stuff and a second VLAN which is for less-trusted IOT devices (and there are more VLANs set up for other uses). So today I had to migrate the TPBG away from the VLAN that it was on previously, to put it on the IOT VLAN. (Another thing to think about with TPBGs is that you get to pick whether it connects to the Internet via wifi or via wired ethernet. The latter is of course more reliable and less likely to go wrong, and it is how I have it connected in this house.)

Having said all of this, the TPBG has for its entire life gotten its LAN IP address by means of DHCP, which is quite normal. But what I had never done up until now is set up an assigned IP address in the DHCP server so that the TPBG would always get the same LAN IP address when renewing its lease. (This is tied to the MAC address of the TPBG, which thank goodness I had written down some years ago.) So today I did that. And I wrote down this newly assigned LAN IP address.

Now we turn to the second precious piece of information needed to enable HA to talk to the TPBG – the password. When I first tried to connect the TPBG in HA, what popped up on the HA screen was a message cheerfully explaining that the password I should type into HA was the last five characters of the password that is written inside the TPBG after you open its door. Or failing that, the last five characters of the MAC address, something like that. Anyway, no, neither of those proposed passwords for HA actually worked. What to do next?

It had been at least a few years since the last time I had fiddled around with my TPBG. But eventually I recalled that if I use a web browser to visit the TPBG at its LAN IP address, I would be able to see things like how much power the solar panels were generating and the state of charge of the two powerwalls. The way this worked was that I would see a web page inside the TPBG (clicking to say that I did not mind that the SSL certificate is not signed).

Not any more. Now the web page says a scary message “Switch to Tesla One for a better commissioning experience - The current experience is no longer supported”. Anyway the secret is to scroll way down and click on something like “proceed anyway”. And then the familiar login page, just like many years ago, appears. I use the default language (English) and the default login type (customer) and my email address (which for some reason was pre-populated on this screen) and then I needed to type in my password.

Aha. This triggered a recollection that some years ago I had changed the password from the default password to a password of my own choosing. And against all odds I had written it down somewhere and I was able to find it again. So I typed in the written-down password. And voila I was able to see the familiar status page just like many years go. How much power the solar panels were generating, how much power was being send to the grid, and so on. None of this “Tesla One” stuff for me!

There is a procedure for resetting this password and if I had not been able to find where I had written down my password, I would have had no choice but to reset it. I don’t recall exactly but it is something like you stand in front of the powerwall system, and turn one of the powerwalls off while whistling a certain melody, and when it whistles back to you, you turn the powerwall back on, and then eventually the password gets reset. Fortunately I did not have to do this, since I had confirmed what my password was by successfully logging in at the LAN IP address using my written-down password.

So now I returned to HA and clicked on settings/devices/integrations and picked Tesla and then Tesla Powerwall, and clicked to start the wizard. And I typed in the assigned LAN IP address and my written-down password from years earlier. And it worked! Eventually HA was able to work out that there were three devices of interest – the TPBG, and a first powerwall, and a second powerwall.

The next thing I would recommend to you if you are doing this stuff is to rename the devices to names that will make more sense to you in the future. The default device names are okay but they are drawn from information that the installer typed in many years ago when they installed the powerwall system in the first place. And the thing is, if (like me) you have two powerwalls, then you might as well name them “left powerwall” and “right powerwall” in the HA system. That way you know which is which. So what you then must do is pop off the left grille on the left powerwall and read the serial number from the powerwall and then pop the grille back into place. Then go to HA and find that serial number as one of the Tesla devices, and rename that powerwall as “left powerwall”. Now you know that the other powerwall in HA must be the right powerwall. Rename it as “right powerwall”. The remaining device in HA is of course the TPBG so rename that.

Now you are all done.

The happy thing is that I was then able to go to the to-do list in HA and I was able to check off this to-do item. Such a feeling of accomplishment. But of course there are a dozen remaining to-do tasks.

September 2025
I believe this optimism does not apply to Tesla Powerwall 3
I believe that Powerwall 3 does not support the UI portal from the gateway
You have to get on the wifi radiated by the Powerwall itself (e.g. SSID: TeslaPW_xxxxx), on which the Powerwall exists at IP address 192.168.91.1, which is NOT on your home network that the Gateway has joined.
Previously, you could set up a network ROUTE to get to 192.168.91.1 via the Gateway’s IP address on your home wifi (e.g. 192.168.1.34 in my case). But Tesla has closed this off too.
It seem the last remaining approach is to set up something like a Raspberry Pi (supporting both wifi and ethernet), having it’s wifi connect to the Powerwall’s wifi (e.g. TeslaPW_xxxxx) and its ethernet connected to your home network.
I’m currently exploring this approach.
If anyone has been successful with it, please reply! :slight_smile:

Progress report - I have successfully set up an old Raspberry Pi Zero-W (which has a wifi adaptor onboard), adding a USB wifi dongle, sitting it close to the Powerwall 3 as a bridge between my home network (192.168.1.x) and the Tesla battery’s network (192.168.91.x).

With help from Claude, I have set up Raspberry OS (Debian) routes so that the OS knows to route regular 192.168.1.x traffic over wlan0, and 192.168.91.x traffic over wlan1, which is attached to SSID “TeslaPW_CYCAZR” with password found inside the battery (not the gateway).

default via 192.168.1.1 dev wlan0 proto dhcp src 192.168.1.149 metric 600
default via 192.168.91.1 dev wlan1 proto dhcp src 192.168.91.54 metric 601
192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.149 metric 600
192.168.91.0/24 dev wlan1 proto kernel scope link src 192.168.91.54 metric 601

I have a small python program running on the Pi that uses import pypowerwall (GitHub - jasonacox/pypowerwall: Python API for Tesla Powerwall and Solar Power Data) to poll the instantaneous power values from the PW3 over the Tesla network, and from flask import Flask to respond to RESTful API http calls from Home Assistant (made to the Pi’s IP address on the home network) from the RESTful Sensor - Home Assistant

I’ve found that although there are fields in the data from the PW3 that should be accumulated values, these are empty :unamused:, so daily data accumulation needs to be done in the python program, or else using Integral - Home Assistant Helpers in Home Assistant (I’m trying both).

I’m currently playing with polling intervals in the Pi and in the RESTful sensor to try to match the accumulated daily values shown in the Tesla app.

When I’m done, I can share my python code if there is interest.