I have a dynamic energy contract. Last weekend the prices were -60 euro cent per KWh. This means that every solar KWh I return to the grid costs me 60 euro cent.
Is it possible to switch the inverter off or pause during the time this situation is happening?
I have a MOD9000TL3-X
how and with what did you integrate the inverter into Home Assistant? If you have/use a Growatt Shine Stick you can flash ESPHome on it and then integrate the inverter with Home Assistant via ESPHome. See:
FYI: GPIO0 and Ground must be connected by a bridge so that the stick goes into flash mode.
With ESPHome you can set the Max Output Power for the inverter
That’s bad, of course, but unfortunately I can’t help you remotely. Unfortunately, all short instructions that I have posted in forums are completely in German.
Example: Growatt MIC MQTT - Wechselrichter - Photovoltaikforum
Only the values for the possible input data (DC) from the sum of all connected PV modules must be observed. The AC output power of an inverter can be regulated and thus reduced.
Hi,
Do you know whether sending the “max output power” to register 3 will be saved on the EEPROM of the inverter?
I would like to regulate the output power based on feed in power prices and household demand but I am concerned to change the value frequently and potentially “wear out” or damage the EEPROM.
Yes. The inverter switches off overnight and the setting is still there the next morning. Unfortunately, I can’t tell you what effect a dynamic adjustment of the value (several times a day) will have.
Sorry, I can’t say anything about that. According to the last Growatt Modbus documentation version 1.24 (from 2020) I have, the Modbus address 3 should be correct.
Hi, I implemented this code to change the power output percentage, but it doesn’t work on a Growatt 3000MTL inverter. The log shows the right codes, however it’s not processed and the percentage remains at 100%. Anybody a clue ?
the logs shows setting it to 45(%), then reading it back at 100 (%).
Reading register 0 , resulting in 257 is on purpose:-)
[18:31:59][VV][api.service:829]: on_number_command_request: NumberCommandRequest {
key: 121298958
state: 45
}
[18:31:59][D][number:054]: 'Growatt MaxOutputPct' - Setting number value
[18:31:59][D][number:113]: New number value: 45.000000
[18:31:59][D][modbus.number:059]: Updating register: connected Sensor=Growatt MaxOutputPct start address=0x3 register count=1 new value=45.00 (val=45.00)
[18:31:59][D][number:012]: 'Growatt MaxOutputPct': Sending state 45.000000
[18:31:59][VV][api.service:260]: send_number_state_response: NumberStateResponse {
key: 121298958
state: 45
missing_state: NO
}
[18:31:59][V][modbus_controller:046]: Sending next modbus command to device 1 register 0x03 count 1
[18:31:59][VV][uart.arduino_esp8266:196]: Flushing...
[18:31:59][V][modbus:199]: Modbus write: 01.06.00.03.00.2D.B9.D7 (8)
[18:31:59][V][modbus_controller:509]: Command sent 6 0x3 1
[18:31:59][V][modbus:042]: Modbus received Byte 1 (0X1)
[18:31:59][V][modbus:042]: Modbus received Byte 6 (0X6)
[18:31:59][V][modbus:042]: Modbus received Byte 0 (0X0)
[18:31:59][V][modbus:042]: Modbus received Byte 3 (0X3)
[18:31:59][V][modbus:042]: Modbus received Byte 0 (0X0)
[18:31:59][V][modbus:042]: Modbus received Byte 45 (0X2d)
[18:31:59][V][modbus:042]: Modbus received Byte 185 (0Xb9)
[18:31:59][V][modbus:042]: Modbus received Byte 215 (0Xd7)
[18:31:59][V][modbus_controller:078]: Modbus response queued
[18:31:59][V][modbus_controller:085]: Process modbus response for address 0x3 size: 4
[18:31:59][V][modbus_controller:331]: Command ACK 0x3 768
[18:31:59][D][number:012]: 'Growatt MaxOutputPct': Sending state 45.000000
[18:31:59][VV][api.service:260]: send_number_state_response: NumberStateResponse {
key: 121298958
state: 45
missing_state: NO
}
[18:32:05][VV][scheduler:225]: Running interval '' with interval=10000 last_execution=7648432 (now=7658432)
[18:32:13][VV][scheduler:225]: Running interval 'update' with interval=30000 last_execution=7636225 (now=7666225)
[18:32:13][V][modbus_controller:181]: Updating modbus component
[18:32:13][VV][modbus_controller:185]: Updating range 0x0
[18:32:13][V][modbus_controller:147]: Range : 0 Size: 1 (3) skip: 0
[18:32:13][VV][modbus_controller:185]: Updating range 0x3
[18:32:13][V][modbus_controller:147]: Range : 3 Size: 1 (3) skip: 0
[18:32:13][V][modbus_controller:046]: Sending next modbus command to device 1 register 0x00 count 1
[18:32:13][VV][uart.arduino_esp8266:196]: Flushing...
[18:32:13][V][modbus:199]: Modbus write: 01.03.00.00.00.01.84.0A (8)
[18:32:13][V][modbus_controller:509]: Command sent 3 0x0 1
[18:32:13][V][modbus:042]: Modbus received Byte 1 (0X1)
[18:32:13][V][modbus:042]: Modbus received Byte 3 (0X3)
[18:32:13][V][modbus:042]: Modbus received Byte 2 (0X2)
[18:32:13][V][modbus:042]: Modbus received Byte 1 (0X1)
[18:32:13][V][modbus:042]: Modbus received Byte 1 (0X1)
[18:32:13][V][modbus:042]: Modbus received Byte 120 (0X78)
[18:32:13][V][modbus:042]: Modbus received Byte 20 (0X14)
[18:32:13][V][modbus_controller:078]: Modbus response queued
[18:32:13][V][modbus_controller:085]: Process modbus response for address 0x0 size: 2
[18:32:13][V][modbus_controller:121]: data for register address : 0x0 :
[18:32:13][D][modbus_controller.sensor:025]: Sensor new state: 257.00
[18:32:13][V][sensor:043]: 'Growatt Startup settings': Received new state 257.000000
[18:32:13][D][sensor:093]: 'Growatt Startup settings': Sending state 257.00000 with 0 decimals of accuracy
[18:32:13][VV][api.service:140]: send_sensor_state_response: SensorStateResponse {
key: 3962664989
state: 257
missing_state: NO
}
[18:32:13][V][modbus_controller:046]: Sending next modbus command to device 1 register 0x03 count 1
[18:32:13][VV][uart.arduino_esp8266:196]: Flushing...
[18:32:13][V][modbus:199]: Modbus write: 01.03.00.03.00.01.74.0A (8)
[18:32:13][V][modbus_controller:509]: Command sent 3 0x3 1
[18:32:13][V][modbus:042]: Modbus received Byte 1 (0X1)
[18:32:13][V][modbus:042]: Modbus received Byte 3 (0X3)
[18:32:13][V][modbus:042]: Modbus received Byte 2 (0X2)
[18:32:13][V][modbus:042]: Modbus received Byte 0 (0X0)
[18:32:13][V][modbus:042]: Modbus received Byte 100 (0X64)
[18:32:13][V][modbus:042]: Modbus received Byte 185 (0Xb9)
[18:32:13][V][modbus:042]: Modbus received Byte 175 (0Xaf)
[18:32:13][V][modbus_controller:078]: Modbus response queued
[18:32:13][V][modbus_controller:085]: Process modbus response for address 0x3 size: 2
[18:32:13][V][modbus_controller:121]: data for register address : 0x3 :
[18:32:13][D][modbus.number:023]: Number new state : 100.00
[18:32:13][D][number:012]: 'Growatt MaxOutputPct': Sending state 100.000000
[18:32:13][VV][api.service:260]: send_number_state_response: NumberStateResponse {
key: 121298958
state: 100
missing_state: NO
}
Hi @JeeBee did you manage to figure this out eventually? Before I’m putting effort in to reach the same goal I’d like to know if it is possible to adjust the output power this way (read: switch off the PV system) when the price becomes negative.