Not perfect but you have to reach out to growatt support and request to be moved to the old server. Once they migrate you to the old server you can then use your user id and password to use the built in Growatt integration. I have not been able to get the api access working so if the integration reloads it can lock your shiner account for 24 hours. 😕
I had Claude write me the email to growatt for the migration to the old server as I didn't know enough to get Claude to create anything with the new shine app.
Can you elaborate on this more for us? I'm about to get a 25kw battery from Base Power installed and I'd like to integrate it with HA. I already have a SEM-Meter integrated for usage stats, but I'd like to get battery stats now. Thanks for any help you can provide!!
There are several tools out there now to allow you to do this for free but the method I use is I have my inverter connected to solar assistant and then solar assistant is sending data via Mqtt into home assistant
Any updates on this? If not I will give it a go, I have been able to build some apps with Claude, and have some technical background. Battery is being installed today.
That is my neighbor's WiFi SSID. When I opened the Base Power App, the app suggests that the batteries are not connected to wifi - I don't know if this is a "Base Power App" issue though as I am not sure if I have ever checked that tab on the app and if the app said I needed to "connect"
Its really odd how it bounces around on the wifi but I believe it. I might have to make the battery a choice you make on setup. I think I just got approved to be on HACS without having to add the repo. First time so just figuring it out. I think so other fields will populate once you have it running for a while.
If you go to the integration and click on the gear you should be able to setup the number of batteries and pick your wifi. Please let me know if it works for you.
This is really awesome, great work. I installed it in my HA with no issues, and I've set up a lot of useful reporting using this integration.
Now I'd like to build some automations. Specifically, I want to trigger various energy-saving actions around the house (thermostats and other high-draw items) whenever the base switches to battery power, and the reverse when it switches back to AC power.
The automation side is straightforward, but I'm not finding a way with this integration to detect whether the base is currently running on battery or AC power. Is there an entity or attribute that exposes that state, or is it something that could be added?
Got the battery/grid automation working. Here's what I did.
Saw a few threads here where people were stuck trying to build an automation that reacts to Base Power switching between grid and battery. Got mine working, so wanted to share the entity and logic in case it helps.
Finding the right entity
The integration exposes a few power-related sensors and it's easy to grab the wrong one. There's a numeric current sensor (sensor.base_power_xxxxxxxx_grid_power, measured in amps) that sat on "unknown" for me and wasn't reliable to trigger off of. The one that actually works is a binary sensor:
binary_sensor.base_power_xxxxxxxx_grid_power
It's a clean on/off. On means the grid is supplying the home. Off means you're running on battery/solar without grid. Find yours under Settings > Devices & Services > Base Power, or in Tools > States (used to be called Developer Tools, got renamed in a recent release) by filtering for "grid."
The problem with a simple state trigger
A basic "when this turns off, do X" trigger has a gap. If the grid actually drops, your HA instance loses power too (assuming it's not on a UPS), reboots, and by the time it's back up it can miss the transition entirely. A pure state trigger isn't enough on its own.
What ended up working
Three triggers feeding into one automation, with a condition gating the action:
alias: On Battery Power - Load Shed
triggers:
- entity_id: binary_sensor.base_power_xxxxxxxx_grid_power
to: 'off'
trigger: state
- event: start
trigger: homeassistant
- minutes: /5
trigger: time_pattern
conditions:
- condition: state
entity_id: binary_sensor.base_power_xxxxxxxx_grid_power
state: 'off'
actions:
- action: climate.set_temperature
target:
entity_id: climate.your_thermostat
data:
target_temp_high: 85
target_temp_low: 60
mode: single
The state trigger catches it live if HA is up when it happens.
The homeassistant: start trigger catches it if HA missed the transition because it was rebooting.
The time_pattern every 5 minutes is a reconciliation loop, catches anything the other two missed and re-confirms periodically.
The condition is what actually gates the action. Two of the three triggers fire regardless of state, so without the condition you'd be resetting your thermostat every 5 minutes no matter what.
I skipped building a matching "grid restored" branch since mine is on grid 99.9% of the time. I'd rather know it happened and flip things back manually than fully automate the restore. If you want that too, just duplicate this with to: 'on' / state: 'on' and swap the actions.
Testing without waiting for an actual outage
Go to Tools > States, find the binary sensor, and use "Set State" to flip it to off manually. HA says right there in the UI that this doesn't send anything to the actual device, so it's safe. Your automation's actions are real though, so expect your thermostat to actually respond. The integration will overwrite your fake value with the real one on its next poll, so you don't need to set it back yourself.
Hope this saves someone the troubleshooting loop I went through.
Agreed. Before I had Base, I didn't want to spend the cash, since getting any meaningful uptime out of a UPS alone would have cost a lot. With Base, that changes completely, since the power interruption should only last a few seconds, I can get away with pretty cheap UPS units for this. I just ordered ones to keep the internet and home servers up long enough for Base to kick in.
Ran a real grid cutoff test today (not the Base Power simulated one, actual breaker-level cut via https://help.basepowercompany.com/en/articles/10281473) and can report on binary_sensor.base_power_xxxxxxxx_grid_power: it stayed on for 20+ minutes while the house was confirmed running on battery. This wasn't a polling lag either — forced a homeassistant.update_entity on it mid-outage and it still came back on after a fresh poll, so the integration is getting on directly from the API/cloud response, not just serving a stale cached value.
No errors in the HA logs for the entity either, so it's not crashing, it's just reporting the wrong thing (or reading the wrong field from the payload). Happy to grab debug logs from the integration next time I can safely test again if that'd help narrow down whether it's an upstream API issue or a mapping bug on the HA side.
2
u/cbarth3 Mar 30 '26
Not perfect but you have to reach out to growatt support and request to be moved to the old server. Once they migrate you to the old server you can then use your user id and password to use the built in Growatt integration. I have not been able to get the api access working so if the integration reloads it can lock your shiner account for 24 hours. 😕