Growatt SPF 6000 ES Plus Local Data Logger for Home Assistant

Hello everyone, I am looking for something that works with my Growatt SPF 6000 ES, locally. I don’t mind getting rid of the Shine Wifi stick. The Open Inverter Gateway doesn’t support SPF yet and even the Solax Modbus integration.

I had something earlier when I used to use SRNE (SRNE inverter integration help ) and it worked perfectly. I hope I can get something similar to it.

I have a Waveshare RS485 to ethernet converter I got earlier that’s at home. I am getting a new router (G.iNet Flint 2) and ethernet adaptor so I can bypass my Starlink router to use the new router.

I plan to explore getting the Modbus data over TCP and into my HA setup, similar to what’s here. Hardware, diagrams and code would be helpful in my journey. Thanks so much.

search for “grott” in the posts and/or github

I installed Grott using the Grott Home Assistant Custom Component in September but I ended up having this issue of not getting the full data I am supposed to get from the Grott MQTT dump.

I think it could be because Grott doesn’t fully support the SPF 6000 ES Plus yet. This issue on the repo is yet to be sorted. Grott 3.0.0 not working fully for the SPF type yet (still WIP in most popular solutions on HA).

Also, Grott having to wait on the 1-minute update frequency of the Shine Wifi stick. It would be much better to get rid of it. I used to get <5 seconds update interval on the SRNE then.

I cannot really bake cake of that 2nd issue and not sure if it is limited to the add-on… I have a container running fine but admittedly with a different type.
And wrt to the 1st one, if the integration needs to pick up on data-elements, this is them to sort it out but your screenshots donot show if the data ends up in MQTT before they hit HA…each step requires code inverter>grott>mqtt>ha

This is the Grott stable add on

This is the data from the Grott Home Assistant Custom Component (grott) I get in the end.

I actually just followed the steps listed on the readme step by step. I would prefer something that works without relying on external dependencies.

From what I see two options:

  1. the data is not transferred to MQTT > issue with Grott
  2. the data is in MQTT but sensors are not created from MQTT > you can manually add them

Check the data in MQTT first
Addon MQTT Explorer new Version - Share your Projects! - Home Assistant Community

1 Like

Thanks and sorry for the delay in replying. I believe option 2 is the case as it shows up in MQTT. Is there a way to reduce the change from 1 minute to 5 seconds?

So you can write your own mqtt sensors for missing elements…or push this as a enhancement request and pikely wait quite some time.

And for as far as I know, the dongle has a minimum of 1 minute. Since it passes on totals, this is fine for knowing the production, it is less fine if you want to control other entities with that actual sun-power… but 1 minute is not that bad imo (I was at 5min before)

Hey there,

I also have the same inverter SPF 6000es plus with Shinewifi F-Pro as datalogger but i cant seem to get grott to communicate with the datalogger and no matter how i change the ip somehow the ip status never change.)

IP here dont change and i entered the home assistant IP address in the data logger settings.
And I have never receive any update from datalogger.
Im really frustated since I have spent days trying to figure out how to connect to grott using home assistant. Your help and insight would be greatly appreciated! Thanks

My grott log:


Add-on: Grott stable branch (2.8)

The Growatt inverter monitor with current HA plugin integrated


Add-on version: 0.1.12

You are running the latest version of this add-on.

System: Home Assistant OS 14.1 (amd64 / qemux86-64)

Home Assistant Core: 2025.1.3

Home Assistant Supervisor: 2024.12.3


Please, share the above information when looking for help

or support in, e.g., GitHub, forums or the Discord chat.


s6-rc: info: service base-addon-banner successfully started

s6-rc: info: service fix-attrs: starting

s6-rc: info: service base-addon-log-level: starting

s6-rc: info: service fix-attrs successfully started

s6-rc: info: service base-addon-log-level successfully started

s6-rc: info: service legacy-cont-init: starting

s6-rc: info: service legacy-cont-init successfully started

s6-rc: info: service legacy-services: starting

s6-rc: info: service legacy-services successfully started

[22:22:32] INFO: Preparing to start…


  • Grott - libscrc not installed, no CRC checking only record validation on length!

Grott Growatt logging monitor : 2.8.3

Grott process configuration file

Grott process environmental variables

Pulled ‘ginvtype=spf’ from the environment

Pulled ‘ggrowattip=47.254.130.145’ from the environment

Pulled ‘ggrowattport=7006’ from the environment

Pulled ‘gnomqtt=False’ from the environment

Pulled ‘gmqttip=172.30.33.0’ from the environment

Pulled ‘gmqttport=1883’ from the environment

Pulled ‘gmqttauth=True’ from the environment

Pulled ‘gmqttuser=addons’ from the environment

Pulled ‘gmqttpassword=’ from the environment

Grott override settings if set in commandline

Grott process json layout files

T06NNNNXMOD.json

T065020.json

Grott proxy mode started


  • Grott - libscrc not installed, no CRC checking only record validation on length!

Hostname : 1ef934e0-grott

IP : 172.30.33.2 , port : 5279

I assume you have the add-on setup?
You followed something like this?
addon-grott/grott/DOCS.md at main · egguy/addon-grott

this is my grott.ini settings

seems to not do anything for the mqtt settings when i check on the logs. but it works for growatt general settings like IP and port

Grott settings:
_Generic:
version: 2.8.3
verbose: True
trace: False
config file: /config/grott/grott.ini
minrecl: 100
decrypt: True
compat: False
invtype: SPF
invtypemap: {}
include_all: False
blockcmd: False
noipf: False
time: auto
sendbuf: True
timezone: local
valueoffset: 6
offset: 6
inverterid: automatic
mode: proxy
grottip default
grottport 7006
_MQTT:
nomqtt False
mqttip: 172.30.33.0
mqttport: 1883
mqtttopic: energy/growatt
mqttmtopic: False
mqttmtopicname: energy/meter
mqttinverterintopic: False
mqtttretain: False
mqtttauth: True
mqttuser: addons
mqttpsw: secret
_Growatt server:
growattip: 8.209.71.240
growattport: 7006
_PVOutput:
pvoutput: False
pvdisv1: False
pvtemp: False
pvurl: https://pvoutput.org/service/r2/addstatus.jsp
pvapikey: yourapikey
pvinverters: 1
pvsystemid: systemid1
_Influxdb:
influx: False
influx2: False
database: grottdb
ip: localhost
port: 8086
user: grott
password: secret
organization: grottorg
bucket: grottdb
token: secret
_Extension:
extension: False
extname: grottext
extvar: {‘none’: ‘none’}
Grott proxy mode started
**********************************************************************************
- Grott - libscrc not installed, no CRC checking only record validation on length!
**********************************************************************************
Hostname : 1ef934e0-grott
IP : 172.30.33.4 , port : 7006

So, update about this, I was able to integrate my Growatt SPF 6000 ES PLUS inverter to my Home Assistant network. I used the WaveShare RS485 to ETH adapter I had, the connected my inverter to my home internet through it, and did some config for it.

I wrote a detailed article on the process in case anyone is interested in exploring it. This solution is local and you can get rid of the Shine Wifi stick.