Great work. The growatt server and my connection to it is not very stable and it is cloud based so the sooner I can get ride of it the better.
Have a good holiday season
I’m waiting for my SPF-5000ES to arrive in the next couple weeks. What components did you use to make the connection?
Hi @dolfinking
Not sure why its not auto-updating for you. There might be a conflict with the existing growatt component if you’re still running it. You can try temporarily removing it by commenting it out in your config and restarting.
Can I somehow get the graph with the bars (on the bottom of you picture) in my Home Assistant dashboard?
Thank you!
Just spend an afternoon trying to work out why I wasn’t seeing any other information from other sensors and you’ve solved it!
I’m curious if you have seen any way to change the battery priority using the API too?
On a dynamic tariff, it would be really helpful to force the battery to charge on cheap power, perhaps export when prices are high.
Also to stop my EV draining the Growatt battery!
I’m seeing this too -
I’ve made sure to remove other growatt components, and it still doesn’t update the sensors.
I have noted there’s an error in my logs, though I’m not sure if this is related to the problem refreshing the info.
Logger: homeassistant.components.sensor
Source: custom_components/growatt/sensor.py:818
Integration: Sensor (documentation, issues)
First occurred: 7:21:07 PM (2 occurrences)
Last logged: 7:21:07 PMError adding entities for domain sensor with platform growatt
Error while setting up growatt platform for sensor
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/helpers/entity_platform.py”, line 316, in async_add_entities
await asyncio.gather(*tasks)
File “/usr/src/homeassistant/homeassistant/helpers/entity_platform.py”, line 507, in _async_add_entity
await entity.add_to_platform_finish()
File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 531, in add_to_platform_finish
self.async_write_ha_state()
File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 296, in async_write_ha_state
self._async_write_ha_state()
File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 320, in _async_write_ha_state
sstate = self.state
File “/config/custom_components/growatt/sensor.py”, line 818, in state
result = round(result, round_to)
TypeError: type NoneType doesn’t define round method
Hi @jesseb4me,
I think that is the issue. My growatt system is a “mix” type, which is coded to not bother using the round function. You can try commenting out line 817 and 818 of sensor.py, which will so that the round function isn’t called.
Great! Commenting out those lines seems to have the sensor refreshing - but every 10 minutes.
Is this what is intended? I thought it was aiming for 5 minutes.
Still, better than nothing and means I can send tuning data to Solcast now!
Does your ‘mix’ type have a battery?
I’m trying to find methods of automating the battery priority so it can charge/discharge around my variable tariff. Haven’t seen anyone using the API for that control yet though.
Did you add this to home assistant core? I’m also only reading the eToday and power data. No ampere,temperature etc.
I am struggling get much to work with the growattServer data call.
I use the following to test what data comes back
import growattServer
api = growattServer.GrowattApi()
login_response = api.login(‘REMOVED’, ‘REMOVED’)
#Get a list of growatt plants.
plants = api.plant_list(login_response[‘userId’])
deviceList = api.device_list(plants[‘data’][0][‘plantId’])
print(deviceList)
print(plants)
This returns
[{‘pCharge’: ‘300’, ‘lost’: False, ‘location’: ‘’, ‘deviceAilas’: ‘REMOVED’, ‘deviceType’: ‘mix’, ‘datalogSn’: ‘REMOVED’, ‘eChargeToday’: ‘0.4’, ‘deviceSn’: ‘REMOVED’, ‘capacity’: ‘20%’, ‘deviceStatus’: ‘5’, ‘energy’: ‘7911.7’}]
{‘data’: [{‘plantMoneyText’: ‘0.0 (¥)’, ‘plantName’: ‘REMOVED’, ‘plantId’: ‘REMOVED’, ‘isHaveStorage’: ‘false’, ‘todayEnergy’: ‘2.7 kWh’, ‘totalEnergy’: ‘7.91 MWh’, ‘currentPower’: ‘383.1 W’}], ‘totalData’: {‘currentPowerSum’: ‘383.1 W’, ‘CO2Sum’: ‘3.16 KT’, ‘isHaveStorage’: ‘false’, ‘eTotalMoneyText’: ‘0.0 (¥)’, ‘todayEnergySum’: ‘2.7 kWh’, ‘totalEnergySum’: ‘7.91 MWh’}, ‘success’: True}
I have a Growatt SPH5000 Hybrid inverter with a single battery attached.
The print(devicelist) is picking up battery data as pCharge was 300w charging and current energy storage was 20% when I ran the query. Not sure what eChargeToday relates to as there is nothing on the growatt dashboard corresponding to 0.4. The 7911.7 is the total system lifetime energy value.
The print(plants) is system relate data as is consistent the data values at the time of the query. Is is interesting that isHaveStorage is ‘false’ as there is a battery connected.
On the Home Assistant Overview page I have the following
I don’t believe that Battery data is picked up at all and only some the data from the system is linked correctly to the Sensor data points.
Any help appreciated.
So I have tried the integration through home assistant and it asks me for my login info, so I enter it and it says no plants found and aborts. I have tried to do some research but everything I find shows the server as server.growatt.com, but when I log in to my server, it is server-us.growatt.com. Could this be the problem?
Hi Also on mine configuration I didn’t find batteries data…
Even If I’m using nwe version of integration
If someone have any Hints…
thanks
Hi there.
Any progress on this?
I can’t seem to see any solid information on what hardware is supported and what sensors are brought into HA.
I’m about to pull the trigger on a solar setup with the Min5000tl-x and the growatt energy monitor. These units will both feed into the ShinePhone app.
Will I be able to display their sensors using this integration?
Thanks.
Same issue here. Would be great if the HA Growatt Server integration could allow us to set the server URL. In my case, the server I need to connect to is http://server.smten.com.
The growattServer package allows for this, but there is no way for us to set this variable via the HA integration.
Variables
Some variables you may want to set.
api.server_url
The growatt server url, default: ‘http://server.growatt.com/’
Hi Everyone,
@pkozul reached out to me via email the other day and drew my attention to this thread.
Myself and @indykoning are the maintainers of the HA integration for Growatt. I only started working on it earlier this year when I got a Growatt installation myself.
I haven’t been able to work on the integration recently as a result of a job change, but I’m now getting back on top of things so I’m looking to pick things up again!
I’ve separately had a couple of discussions about integrations that don’t fully work. Through the github feature/issue tracker for the integration.
It looks like the immediate request though is for the ability to configure the server endpoint - this should be a relatively simple one to implement and I’ll have a crack at it later.
In the meantime, could those of you that don’t have “fully” working systems, let me know what type of systems you have that aren’t working (screen grab of the info I need below):
The systems we currently support are:
- Hybrid (aka Mix)
- Inverter (I’m not sure what this appear as on the Growatt UI, it’s just classed as “inverter” in the codebase)
- Storage (I’m not sure what this appear as on the Growatt UI, it’s just classed as “storage” in the codebase)
This ticket here: Growatt server integration partially working · Issue #51660 · home-assistant/core · GitHub covers the addition of the “Max/Mid” functionality which I’m working on in the background.
Looking forward to hearing back from people.
Hi.
Thank you for your help and efforts about this task.
In my case, I’m able to grab data regarding inverter energy , total amounts…
Still missing battery capacity.
I have a Spa3000 inverter (battery inverter) separate from photovoltaic plant. It work on AC side.
Attached my screen.
Thanks for any hints you could give.
Daniele
I don’t think that type of system is explicitly supported currently, however, it looks identical to my system (mixed) so shouldn’t be too hard for me to implement.