Hello,
I don't known Growatt device, nor VPP.
Anyway, if new device/firmware sends JSON data to MQTT, MQTT Mapper should be able to read or write it.
Could you explain what kind of data is sent to MQTT?
Python Plugin: MqttMapper
Moderator: leecollings
-
FlyingDomotic
- Posts: 477
- Joined: Saturday 27 February 2016 0:30
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2020.2
- Contact:
- winner61
- Posts: 23
- Joined: Friday 02 August 2024 12:13
- Target OS: NAS (Synology & others)
- Domoticz version: 2026.2
- Location: Friesland / NL
- Contact:
Re: Python Plugin: MqttMapper
I asked Gemini for a clear answer, as far as I can check this is a valid analasys.
In the context of a Growatt inverter protocol, VPP stands for Virtual Power Plant.
While the standard Growatt Modbus-RTU protocol is primarily designed to just read data, the Growatt VPP protocol is specifically developed for both reading and remotely controlling the inverter and any connected battery storage system.
Key Features of the VPP Protocol
• Standardized Registers: In older Growatt protocols, Modbus register addresses often vary depending on the specific inverter model. The VPP protocol standardizes this, making vital registers (like battery state of charge and power controls) almost identical across different (battery) inverters.
• Active Remote Control: Beyond reading baseline values like solar production or battery percentage, the VPP protocol includes registers that allow external software to issue direct commands. This includes:
• Forcing the battery to charge or discharge (e.g., based on dynamic energy tariffs or grid congestion).
• Setting real-time export limits (curtailment).
• Use Case: This protocol is widely utilized by smart Energy Management Systems (EMS), home automation platforms (like Home Assistant), and energy aggregators to integrate your solar setup into a "smart grid network."
When you set the RS485 communication port of your Growatt inverter to "VPP mode", you are enabling advanced, two-way communication instead of just passive monitoring.
In the context of a Growatt inverter protocol, VPP stands for Virtual Power Plant.
While the standard Growatt Modbus-RTU protocol is primarily designed to just read data, the Growatt VPP protocol is specifically developed for both reading and remotely controlling the inverter and any connected battery storage system.
Key Features of the VPP Protocol
• Standardized Registers: In older Growatt protocols, Modbus register addresses often vary depending on the specific inverter model. The VPP protocol standardizes this, making vital registers (like battery state of charge and power controls) almost identical across different (battery) inverters.
• Active Remote Control: Beyond reading baseline values like solar production or battery percentage, the VPP protocol includes registers that allow external software to issue direct commands. This includes:
• Forcing the battery to charge or discharge (e.g., based on dynamic energy tariffs or grid congestion).
• Setting real-time export limits (curtailment).
• Use Case: This protocol is widely utilized by smart Energy Management Systems (EMS), home automation platforms (like Home Assistant), and energy aggregators to integrate your solar setup into a "smart grid network."
When you set the RS485 communication port of your Growatt inverter to "VPP mode", you are enabling advanced, two-way communication instead of just passive monitoring.
-
FlyingDomotic
- Posts: 477
- Joined: Saturday 27 February 2016 0:30
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2020.2
- Contact:
Re: Python Plugin: MqttMapper
Nice!
It seems that VPP is using RS485 (serial) protocol.
Do you have any gateway that speaks RS485 on one side, and MQTT on the other? Growatt2mqtt ? Other ?
What kind of MQTT messages are received?
It seems that VPP is using RS485 (serial) protocol.
Do you have any gateway that speaks RS485 on one side, and MQTT on the other? Growatt2mqtt ? Other ?
What kind of MQTT messages are received?
- winner61
- Posts: 23
- Joined: Friday 02 August 2024 12:13
- Target OS: NAS (Synology & others)
- Domoticz version: 2026.2
- Location: Friesland / NL
- Contact:
Re: Python Plugin: MqttMapper
Hi FD, I'm just figuring things out and have RMMS (Radzio Modbus Master Simulator) installed. In the settings I put it on 'Modbus TCP' and can directly read registers over tcp/ip. My Datalogger (ShineWifi-X, attached to the inverter) has an IP on my local network. Normally this datalogger only communicates with the growatt server. With grott and mqttmapper I could catch the data that goes to the dataserver. Now there is a direct line over TCP. You get values of requested input or holding registers. With the radzio app I can do such requests but that is for testing if there is any data on a given register.
If you are interested Andi Burger put something together to read VPP. https://github.com/andiburger/growatt2mqtt/tree/tcp_dev
I think that this growatt2mqtt is the way to go and get the data from mqtt via your mqttmapper.
If you are interested Andi Burger put something together to read VPP. https://github.com/andiburger/growatt2mqtt/tree/tcp_dev
I think that this growatt2mqtt is the way to go and get the data from mqtt via your mqttmapper.