ESPHome modbus Growatt ShineWiFi-S

Hi everyone, with energy prices turning extremely negative (we hit ca 40c negative including taxes for multiple hours last Sunday) I would like to explore the following use case:

  • disable PV
  • charge battery from grid

Right now I flip the PV switch manually and instruct the battery via modbus to charge at x% for x hours. Obviously as this is expected to occur more often I would prefer a software solution. Anyone know if this is possible on growatt sph? I could not find anything in the modbus commands.

I am able to set an export limit but that only results in a net export cap to grid as opposed to a cap on PV production.

Any tips would be much appreciated (and I suppose that many people on dynamic contracts are looking for the same)

I solved my Problem to control the Output Power via Mqtt.
I used this

- platform: mqtt_subscribe
      name: "mqtttest"
      id: mqtttest
      topic: the/topic 
      on_value:
        then:
          - lambda: |-
              esphome::modbus_controller::ModbusController *controller = id(growatt);
              uint16_t reg = 3; // Register: Max output active power (in %)
              float value = id(mqtttest).state;
              uint16_t register_value = static_cast<uint16_t>(value);
              modbus_controller::ModbusCommandItem setOutputPower_command = modbus_controller::ModbusCommandItem::create_write_single_command(controller, reg, register_value);
              controller->queue_command(setOutputPower_command);

One thing I noticed is that only the kWh are recorded in 0.1 steps. Is it possible to change the resolution?

Just go to my repo, i created a new version, u can setup the update speed, etc.
been running for weeks now :slight_smile:

1 Like

Today I added my second inverter to my ESphome. Working fine.

I was wondering how you guys handle the unavailable state in HA when the inverter is offline. Any tweaks for this, or just accept it?

Did anyone implement export control on the esp modbus setup?

Would like to implement a switch (on / off) - that part is easy. Not sure though how to interpret “Export limit power rate” which suggests -1000 ~ +1000 in steps of 0.1% - how would this range work? Especially the negative part. Any tips more than welcome!

I own a MIN3600TL-X.
You must wire to pin 3 and 4 on the SYS COM port for the 485 MODBUS interface. 3 is A, 4 is B as per the picture you added.
Then in the ESPHOME script you must specifiy the TX/RX pins on your ESP board to which the TTL board connects. And these pins depend on which ESP board you use.

In my script:

esp32:
  board: mhetesp32minikit
  framework:
    type: arduino

...

uart:
  id: mod_bus
  tx_pin: 23 
  rx_pin: 19 
  baud_rate: 9600
  parity: none
  stop_bits: 1

Hope this helps

I made mine like this

- platform: modbus_controller
    name: "Export Limit Power Rate"
    address: 123
    value_type: U_WORD
    min_value: 0
    max_value: 1000
    step: 50
1 Like

Can you show me all your code for this can`t seem to get this work with a button to push to set.

More exact how did you make it stick?

esphome:
  name: "growatt"
  friendly_name: Growatt
  on_boot:
    priority: -100
    then:
      - delay: 20s
      - logger.log: "************* In da boot *******************"
      - script.execute:
          id: setClock
      - script.execute:
          id: setBatteryTimes
      
             std::vector<uint16_t> gridfirst_data = {0,23<<8|59,0,0,0,0,0,0,0};
             std::vector<uint16_t> batteryfirst_data = {100,100,1,0,0,0,0,0,0,0,0,23<<8|59,0,0,0,0,0,0,0};
             std::vector<uint16_t> loadfirst_data = {0,23<<8|59,0,0,0,0,0,0,0};

             // Create a modbus command item with the time information as the payload
             esphome::modbus_controller::ModbusCommandItem set_gridfirst_command =
                 esphome::modbus_controller::ModbusCommandItem::create_write_multiple_command(controller, 1080, gridfirst_data.size(), gridfirst_data);
             esphome::modbus_controller::ModbusCommandItem set_batfirst_command =
                 esphome::modbus_controller::ModbusCommandItem::create_write_multiple_command(controller, 1090, batteryfirst_data.size(), batteryfirst_data);
             esphome::modbus_controller::ModbusCommandItem set_loadfirst_command =
                 esphome::modbus_controller::ModbusCommandItem::create_write_multiple_command(controller, 1110, loadfirst_data.size(), loadfirst_data);
            
             // Submit the command to the send queue
             controller->queue_command(set_gridfirst_command);
             controller->queue_command(set_batfirst_command);
             controller->queue_command(set_loadfirst_command);
             ESP_LOGI("Lambda","Setting Grid/Battery/Load");

Hi candidotsa. Have you fixed it? I have the same problem with: Got Modbus frame from unknown address 0x02!

Hi. Not yet. Just finished to change the D1 to a esp32 and the problem is the same. Do you have any issue (error) in the inverter? I think that this started when the inverter start showing the error in the temperature later in the ac but always working fine. Recently they send me some files to update and now I have no erros. The fault problem is fine but the Modbus no.

I changed the address to 0x02 and I get the value 128 to all of the readings.

I also tested addresses 0x02 and 0x03 and yes, most of readings are 128. I do not have any errors in inverter. I think it is error of decoding data from invertor. ESP receive two addresses but device is one. I am not familiar with Modbus. Someone to help?

Have been thinking about this and it seems to me one needs a stick with original firmware in order to keep the app working, so one would need a solution with a “man in the middle”.

I see two possibilities for how to do that:

  1. Remove the serial to usb converter on the stick with original firmware and connect the serial leads to a uart on a second esp board or stick.
  2. plug the original stick into a board with support for serial over usb, such as a RPI and connect that board to the inverter using RS-485 by either plugging a usb-to-485 converter in the inverter’s usb port or use the shinebus connection on the syscom port. The latter is a problem in my case, since that’s already connected to a current meter for measuring the current to/from the grid. So, I was thinking about using the RPI I have HA running on and use a usb-to-485 converter on that side as well, so I can connect the RPI over 485 to the usb connector of the inverter, which should work with https://github.com/WouterTuinstra/Homeassistant-Growatt-Local-Modbus without needing an esp.

For both options the board in between the inverter and the stock stick needs to relay modbus frames from the stock stick to the inverter as well as the responses from the inverter back to the stick, meanwhile communicating with the inverter for it’s own purposes when the stock stick is quiet.Thus it needs to present itself to the inverter as a modbus master and to the stock stick as a modbus slave.

Hi. Thanks for your response, since the beginning that I’m using a TTL adapter.

same here everything just stopped after HA and esphome update to v20230802 with similar error,

if anyone finds a solution please let us know, thks

Hi all,
I can confirm that this configuration is working. I have the same setup with SPH10k, Wifi Stick for growatt cloud, esphome device on port RS485-3 (pin 1 & 5) with a cycle of 15s for local storage. Works like charm. Thanks for sharing.
But one question remains: which version of the growatt RS484 documentation is the base for your sensor configurations? I compared with version 1.2.4 and 1.2.0 and both only fit partially.
Thanks again

@candidotsa @nikiyahoo did anyone find a solution? I have same setup as u candidotsa, i even was able to revert to a previous ha backup but still it isn’t working, give duplicate modbus …

i’m working on that but i’m stuck :sob: can you post your logs?

logger:
  level: VERY_VERBOSE

[22:02:14][V][modbus:042]: Modbus received Byte 2 (0X2)
[22:02:14][V][modbus:042]: Modbus received Byte 77 (0X4d)
[22:02:14][V][modbus:042]: Modbus received Byte 10 (0Xa)
[22:02:14][V][modbus:042]: Modbus received Byte 5 (0X5)
[22:02:14][V][modbus:042]: Modbus received Byte 1 (0X1)
[22:02:14][V][modbus:042]: Modbus received Byte 100 (0X64)
[22:02:14][V][modbus:042]: Modbus received Byte 1 (0X1)
[22:02:14][V][modbus:042]: Modbus received Byte 19 (0X13)
[22:02:14][V][modbus:042]: Modbus received Byte 136 (0X88)
[22:02:14][V][modbus:042]: Modbus received Byte 21 (0X15)
[22:02:14][V][modbus:042]: Modbus received Byte 124 (0X7c)
[22:02:14][V][modbus:042]: Modbus received Byte 20 (0X14)
[22:02:14][V][modbus:042]: Modbus received Byte 181 (0Xb5)
[22:02:14][V][modbus:042]: Modbus received Byte 42 (0X2a)
[22:02:14][V][modbus:042]: Modbus received Byte 217 (0Xd9)
[22:02:14][W][component:204]: Component modbus took a long time for an operation (0.05 s).
[22:02:14][W][component:205]: Components should block for at most 20-30ms.
[22:02:15][V][modbus:042]: Modbus received Byte 3 (0X3)
[22:02:15][V][modbus:042]: Modbus received Byte 77 (0X4d)
[22:02:15][V][modbus:042]: Modbus received Byte 10 (0Xa)
[22:02:15][V][modbus:042]: Modbus received Byte 5 (0X5)
[22:02:15][V][modbus:042]: Modbus received Byte 1 (0X1)
[22:02:15][V][modbus:042]: Modbus received Byte 100 (0X64)
[22:02:15][V][modbus:042]: Modbus received Byte 1 (0X1)
[22:02:15][V][modbus:042]: Modbus received Byte 19 (0X13)
[22:02:15][V][modbus:042]: Modbus received Byte 136 (0X88)
[22:02:15][V][modbus:042]: Modbus received Byte 21 (0X15)
[22:02:15][V][modbus:042]: Modbus received Byte 124 (0X7c)
[22:02:15][V][modbus:042]: Modbus received Byte 20 (0X14)
[22:02:15][V][modbus:042]: Modbus received Byte 182 (0Xb6)
[22:02:15][V][modbus:042]: Modbus received Byte 104 (0X68)
[22:02:15][V][modbus:042]: Modbus received Byte 89 (0X59)

here’s a snippet of mine


INFO Waiting for result...
INFO OTA successful
INFO Successfully uploaded program.
INFO Starting log output from 10.0.0.36 using esphome API
INFO Successfully connected to 10.0.0.36
[07:38:02][I][app:102]: ESPHome version 2023.5.5 compiled on Sep  2 2023, 07:34:45
[07:38:02][C][wifi:505]: WiFi:
[07:38:02][C][uart.arduino_esp8266:102]: UART Bus:
[07:38:02][C][uart.arduino_esp8266:104]:   RX Pin: GPIO3
[07:38:02][C][uart.arduino_esp8266:108]:   Baud Rate: 9600 baud
[07:38:02][C][uart.arduino_esp8266:110]:   Parity: NONE
[07:38:02][C][uart.arduino_esp8266:111]:   Stop bits: 1
[07:38:02][C][modbus:143]: Modbus:
[07:38:02][C][template.text_sensor:020]: Template Sensor 'Growatt SPF 5k Status'
[07:38:02][C][template.text_sensor:020]:   Icon: 'mdi:eye'
[07:38:02][V][modbus:042]: Modbus received Byte  2 (0X2)
[07:38:02][V][modbus:042]: Modbus received Byte  10 (0Xa)
[07:38:02][V][modbus:042]: Modbus received Byte  91 (0X5b)
[07:38:02][V][modbus:042]: Modbus received Byte  47 (0X2f)
[07:38:02][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x22 count 2
[07:38:02][V][modbus:199]: Modbus write: 01.04.00.22.00.02.D1.C1 (8)
[07:38:02][C][restart.button:017]: Restart Button 'ESP Growatt Restart'
[07:38:02][VV][scheduler:226]: Running interval 'update' with interval=5000 last_execution=28352 (now=33377)
[07:38:02][V][modbus_controller:125]: Range : 14 Size: 3 (3) skip: 0
[07:38:02][V][modbus_controller:125]: Range : 26 Size: 1 (3) skip: 0
[07:38:02][V][modbus_controller:125]: Range : 0 Size: 2 (4) skip: 0
[07:38:02][V][modbus_controller:125]: Range : 3 Size: 2 (4) skip: 0
[07:38:02][V][modbus_controller:125]: Range : 7 Size: 1 (4) skip: 0
[07:38:02][VV][modbus_controller:162]: Updating range 0x9
[07:38:02][V][modbus_controller:125]: Range : E Size: 1 (4) skip: 0
[07:38:02][VV][modbus_controller:162]: Updating range 0x20
[07:38:02][V][modbus_controller:125]: Range : 22 Size: 2 (4) skip: 0
[07:38:02][W][modbus_controller:113]: Duplicate modbus command found: type=0x4 address=37 count=1
[07:38:02][W][modbus_controller:113]: Duplicate modbus command found: type=0x4 address=48 count=4
[07:38:02][W][modbus_controller:113]: Duplicate modbus command found: type=0x4 address=57 count=1
[07:38:02][W][modbus_controller:113]: Duplicate modbus command found: type=0x4 address=68 count=1
[07:38:02][W][modbus_controller:113]: Duplicate modbus command found: type=0x4 address=80 count=3
[07:38:02][V][component:205]: Components should block for at most 20-30ms.
[07:38:02][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'status'
[07:38:02][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: ''
[07:38:02][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 0
[07:38:02][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=23419 (now=33497)
[07:38:02][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Inverter Temperature'
[07:38:02][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[07:38:02][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'PV Temperature'
[07:38:02][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[07:38:02][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'DC Bus Temperature'
[07:38:02][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: '°C'
[07:38:02][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Battery Voltage'
[07:38:02][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[07:38:02][C][modbus_controller.sensor:010]: modbus_controller.sensor  Icon: 'mdi:flash'
[07:38:02][D][modbus_controller:032]: Modbus command to device=1 register=0x22 countdown=0 no response received - removed from send queue
[07:38:02][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Battery SoC'
[07:38:02][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x25 count 1
[07:38:02][V][modbus:199]: Modbus write: 01.04.00.25.00.01.20.01 (8)
[07:38:02][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'MPPT Charger fan speed'
[07:38:02][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[07:38:03][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 0
[07:38:03][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Inverter fan speed'
[07:38:03][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[07:38:03][C][modbus_controller.sensor:010]: modbus_controller.sensor  Icon: 'mdi:flash'
[07:38:03][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'PV1 Input power'
[07:38:03][C][modbus_controller.sensor:010]: modbus_controller.sensor  Unit of Measurement: 'W'
[07:38:03][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'PV1 voltage '
[07:38:03][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[07:38:03][C][modbus_controller.sensor:010]: modbus_controller.sensor  Accuracy Decimals: 1
[07:38:03][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Battery current (In/Out)'
[07:38:03][C][modbus_controller.sensor:010]: modbus_controller.sensor  State Class: 'measurement'
[07:38:03][C][modbus_controller.sensor:010]: modbus_controller.sensor  Icon: 'mdi:flash'
WARNING 10.0.0.36: Connection error occurred: [Errno 104] Connection reset by peer
INFO Processing unexpected disconnect from ESPHome API for 10.0.0.36
WARNING Disconnected from API
INFO Successfully connected to 10.0.0.36
[07:38:23][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x03 count 2
[07:38:23][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:23][V][modbus:199]: Modbus write: 01.04.00.03.00.02.81.CB (8)
[07:38:23][V][modbus_controller:486]: Command sent 4 0x3 2
[07:38:23][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x03 count 2
[07:38:23][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:23][V][modbus:199]: Modbus write: 01.04.00.03.00.02.81.CB (8)
[07:38:23][V][modbus_controller:486]: Command sent 4 0x3 2
[07:38:23][V][modbus:042]: Modbus received Byte  2 (0X2)
[07:38:23][V][modbus:042]: Modbus received Byte  77 (0X4d)
[07:38:23][D][uart_debug:158]: <<< "\x02M\n"
[07:38:23][V][modbus:042]: Modbus received Byte  10 (0Xa)
[07:38:23][V][modbus:042]: Modbus received Byte  5 (0X5)
[07:38:23][V][modbus:042]: Modbus received Byte  1 (0X1)
[07:38:23][V][modbus:042]: Modbus received Byte  91 (0X5b)
[07:38:23][V][modbus:042]: Modbus received Byte  1 (0X1)
[07:38:23][V][modbus:042]: Modbus received Byte  2 (0X2)
[07:38:23][V][modbus:042]: Modbus received Byte  195 (0Xc3)
[07:38:23][V][modbus:042]: Modbus received Byte  20 (0X14)
[07:38:23][V][modbus:042]: Modbus received Byte  230 (0Xe6)
[07:38:23][V][modbus:042]: Modbus received Byte  19 (0X13)
[07:38:23][V][modbus:042]: Modbus received Byte  163 (0Xa3)
[07:38:23][V][modbus:042]: Modbus received Byte  108 (0X6c)
[07:38:23][V][modbus:042]: Modbus received Byte  239 (0Xef)
[07:38:23][W][modbus:135]: Got Modbus frame from unknown address 0x02! 
[07:38:23][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x03 count 2
[07:38:23][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:23][V][modbus:199]: Modbus write: 01.04.00.03.00.02.81.CB (8)
[07:38:23][V][modbus_controller:486]: Command sent 4 0x3 2
[07:38:23][D][uart_debug:158]: <<< "\x05\x01[\x01\x02\xC3\x14\xE6\x13\xA3l\xEF"
[07:38:23][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x03 count 2
[07:38:23][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:23][V][modbus:199]: Modbus write: 01.04.00.03.00.02.81.CB (8)
[07:38:23][V][modbus_controller:486]: Command sent 4 0x3 2
[07:38:24][D][modbus_controller:032]: Modbus command to device=1 register=0x03 countdown=0 no response received - removed from send queue
[07:38:24][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x07 count 1
[07:38:24][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:24][V][modbus:199]: Modbus write: 01.04.00.07.00.01.80.0B (8)
[07:38:24][V][modbus_controller:486]: Command sent 4 0x7 1
[07:38:24][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x07 count 1
[07:38:24][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:24][V][modbus:199]: Modbus write: 01.04.00.07.00.01.80.0B (8)
[07:38:24][V][modbus_controller:486]: Command sent 4 0x7 1
[07:38:24][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x07 count 1
[07:38:24][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:24][V][modbus:199]: Modbus write: 01.04.00.07.00.01.80.0B (8)
[07:38:24][V][modbus_controller:486]: Command sent 4 0x7 1
[07:38:25][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x07 count 1
[07:38:25][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:25][V][modbus:199]: Modbus write: 01.04.00.07.00.01.80.0B (8)
[07:38:25][V][modbus_controller:486]: Command sent 4 0x7 1
[07:38:25][V][modbus:042]: Modbus received Byte  3 (0X3)
[07:38:25][V][modbus:042]: Modbus received Byte  77 (0X4d)
[07:38:25][D][uart_debug:158]: <<< "\x03M\n"
[07:38:25][V][modbus:042]: Modbus received Byte  10 (0Xa)
[07:38:25][V][modbus:042]: Modbus received Byte  5 (0X5)
[07:38:25][V][modbus:042]: Modbus received Byte  1 (0X1)
[07:38:25][V][modbus:042]: Modbus received Byte  91 (0X5b)
[07:38:25][V][modbus:042]: Modbus received Byte  1 (0X1)
[07:38:25][V][modbus:042]: Modbus received Byte  2 (0X2)
[07:38:25][V][modbus:042]: Modbus received Byte  193 (0Xc1)
[07:38:25][V][modbus:042]: Modbus received Byte  20 (0X14)
[07:38:25][V][modbus:042]: Modbus received Byte  230 (0Xe6)
[07:38:25][V][modbus:042]: Modbus received Byte  19 (0X13)
[07:38:25][V][modbus:042]: Modbus received Byte  162 (0Xa2)
[07:38:25][V][modbus:042]: Modbus received Byte  214 (0Xd6)
[07:38:25][V][modbus:042]: Modbus received Byte  110 (0X6e)
[07:38:25][W][modbus:135]: Got Modbus frame from unknown address 0x03! 
[07:38:25][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x07 count 1
[07:38:25][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:25][V][modbus:199]: Modbus write: 01.04.00.07.00.01.80.0B (8)
[07:38:25][V][modbus_controller:486]: Command sent 4 0x7 1
[07:38:25][D][uart_debug:158]: <<< "\x05\x01[\x01\x02\xC1\x14\xE6\x13\xA2\xD6n"
[07:38:25][D][modbus_controller:032]: Modbus command to device=1 register=0x07 countdown=0 no response received - removed from send queue
[07:38:25][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x09 count 4
[07:38:25][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:25][V][modbus:199]: Modbus write: 01.04.00.09.00.04.21.CB (8)
[07:38:25][V][modbus_controller:486]: Command sent 4 0x9 4
[07:38:25][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x09 count 4
[07:38:25][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:25][V][modbus:199]: Modbus write: 01.04.00.09.00.04.21.CB (8)
[07:38:25][V][modbus_controller:486]: Command sent 4 0x9 4
[07:38:25][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x09 count 4
[07:38:25][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:26][V][modbus:199]: Modbus write: 01.04.00.09.00.04.21.CB (8)
[07:38:26][V][modbus_controller:486]: Command sent 4 0x9 4
[07:38:26][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x09 count 4
[07:38:26][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:26][V][modbus:199]: Modbus write: 01.04.00.09.00.04.21.CB (8)
[07:38:26][V][modbus_controller:486]: Command sent 4 0x9 4
[07:38:26][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x09 count 4
[07:38:26][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:26][V][modbus:199]: Modbus write: 01.04.00.09.00.04.21.CB (8)
[07:38:26][V][modbus_controller:486]: Command sent 4 0x9 4
[07:38:26][V][modbus:042]: Modbus received Byte  2 (0X2)
[07:38:26][V][modbus:042]: Modbus received Byte  77 (0X4d)
[07:38:26][D][uart_debug:158]: <<< "\x02M\n"
[07:38:26][V][modbus:042]: Modbus received Byte  10 (0Xa)
[07:38:26][V][modbus:042]: Modbus received Byte  5 (0X5)
[07:38:26][V][modbus:042]: Modbus received Byte  1 (0X1)
[07:38:26][V][modbus:042]: Modbus received Byte  91 (0X5b)
[07:38:26][V][modbus:042]: Modbus received Byte  1 (0X1)
[07:38:26][V][modbus:042]: Modbus received Byte  2 (0X2)
[07:38:26][V][modbus:042]: Modbus received Byte  195 (0Xc3)
[07:38:26][V][modbus:042]: Modbus received Byte  20 (0X14)
[07:38:26][V][modbus:042]: Modbus received Byte  230 (0Xe6)
[07:38:26][V][modbus:042]: Modbus received Byte  19 (0X13)
[07:38:26][V][modbus:042]: Modbus received Byte  162 (0Xa2)
[07:38:26][V][modbus:042]: Modbus received Byte  173 (0Xad)
[07:38:26][V][modbus:042]: Modbus received Byte  47 (0X2f)
[07:38:26][W][modbus:135]: Got Modbus frame from unknown address 0x02! 
[07:38:26][D][modbus_controller:032]: Modbus command to device=1 register=0x09 countdown=0 no response received - removed from send queue
[07:38:26][VV][scheduler:226]: Running interval 'update' with interval=5000 last_execution=10124 (now=15147)
[07:38:26][V][modbus_controller:156]: 14 modbus commands already in queue
[07:38:26][VV][modbus_controller:162]: Updating range 0x14
[07:38:26][V][modbus_controller:125]: Range : 14 Size: 3 (3) skip: 0
[07:38:26][W][modbus_controller:113]: Duplicate modbus command found: type=0x3 address=20 count=3
[07:38:26][VV][modbus_controller:162]: Updating range 0x26
[07:38:26][V][modbus_controller:125]: Range : 26 Size: 1 (3) skip: 0
[07:38:26][W][modbus_controller:113]: Duplicate modbus command found: type=0x3 address=38 count=1
[07:38:26][VV][modbus_controller:162]: Updating range 0x0
[07:38:26][V][modbus_controller:125]: Range : 0 Size: 2 (4) skip: 0
[07:38:26][VV][modbus_controller:162]: Updating range 0x3
[07:38:26][V][modbus_controller:125]: Range : 3 Size: 2 (4) skip: 0
[07:38:26][VV][modbus_controller:162]: Updating range 0x7
[07:38:26][V][modbus_controller:125]: Range : 7 Size: 1 (4) skip: 0
[07:38:26][VV][modbus_controller:162]: Updating range 0x9
[07:38:26][V][modbus_controller:125]: Range : 9 Size: 4 (4) skip: 0
[07:38:26][VV][modbus_controller:162]: Updating range 0xE
[07:38:26][V][modbus_controller:125]: Range : E Size: 1 (4) skip: 0
[07:38:26][W][modbus_controller:113]: Duplicate modbus command found: type=0x4 address=14 count=1
[07:38:26][VV][modbus_controller:162]: Updating range 0x11
[07:38:26][V][modbus_controller:125]: Range : 11 Size: 2 (4) skip: 0
[07:38:26][W][modbus_controller:113]: Duplicate modbus command found: type=0x4 address=17 count=2
[07:38:26][VV][modbus_controller:162]: Updating range 0x14
[07:38:26][V][modbus_controller:125]: Range : 14 Size: 3 (4) skip: 0
[07:38:26][W][modbus_controller:113]: Duplicate modbus command found: type=0x4 address=20 count=3
[07:38:26][VV][modbus_controller:162]: Updating range 0x18
[07:38:26][V][modbus_controller:125]: Range : 18 Size: 4 (4) skip: 0
[07:38:26][W][modbus_controller:113]: Duplicate modbus command found: type=0x4 address=24 count=4
[07:38:26][VV][modbus_controller:162]: Updating range 0x20
[07:38:26][V][modbus_controller:125]: Range : 20 Size: 1 (4) skip: 0
[07:38:26][W][modbus_controller:113]: Duplicate modbus command found: type=0x4 address=32 count=1
[07:38:26][VV][modbus_controller:162]: Updating range 0x22
[07:38:26][V][modbus_controller:125]: Range : 22 Size: 2 (4) skip: 0
[07:38:26][W][modbus_controller:113]: Duplicate modbus command found: type=0x4 address=34 count=2
[07:38:26][VV][modbus_controller:162]: Updating range 0x25
[07:38:26][V][modbus_controller:125]: Range : 25 Size: 1 (4) skip: 0
[07:38:26][W][modbus_controller:113]: Duplicate modbus command found: type=0x4 address=37 count=1
[07:38:26][VV][modbus_controller:162]: Updating range 0x30
[07:38:26][V][modbus_controller:125]: Range : 30 Size: 4 (4) skip: 0
[07:38:26][W][modbus_controller:113]: Duplicate modbus command found: type=0x4 address=48 count=4
[07:38:26][VV][modbus_controller:162]: Updating range 0x39
[07:38:26][V][modbus_controller:125]: Range : 39 Size: 1 (4) skip: 0
[07:38:26][W][modbus_controller:113]: Duplicate modbus command found: type=0x4 address=57 count=1
[07:38:26][VV][modbus_controller:162]: Updating range 0x44
[07:38:26][V][modbus_controller:125]: Range : 44 Size: 1 (4) skip: 0
[07:38:26][W][modbus_controller:113]: Duplicate modbus command found: type=0x4 address=68 count=1
[07:38:26][VV][modbus_controller:162]: Updating range 0x4D
[07:38:26][V][modbus_controller:125]: Range : 4D Size: 2 (4) skip: 0
[07:38:26][W][modbus_controller:113]: Duplicate modbus command found: type=0x4 address=77 count=2
[07:38:26][VV][modbus_controller:162]: Updating range 0x50
[07:38:26][V][modbus_controller:125]: Range : 50 Size: 3 (4) skip: 0
[07:38:26][W][modbus_controller:113]: Duplicate modbus command found: type=0x4 address=80 count=3
[07:38:26][V][component:204]: Component modbus_controller took a long time for an operation (0.06 s).
[07:38:26][V][component:205]: Components should block for at most 20-30ms.
[07:38:26][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x0E count 1
[07:38:26][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:26][V][modbus:199]: Modbus write: 01.04.00.0E.00.01.50.09 (8)
[07:38:26][V][modbus_controller:486]: Command sent 4 0xE 1
[07:38:26][D][uart_debug:158]: <<< "\x05\x01[\x01\x02\xC3\x14\xE6\x13\xA2\xAD/"
[07:38:26][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x0E count 1
[07:38:26][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:27][V][modbus:199]: Modbus write: 01.04.00.0E.00.01.50.09 (8)
[07:38:27][V][modbus_controller:486]: Command sent 4 0xE 1
[07:38:27][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x0E count 1
[07:38:27][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:27][V][modbus:199]: Modbus write: 01.04.00.0E.00.01.50.09 (8)
[07:38:27][V][modbus_controller:486]: Command sent 4 0xE 1
[07:38:27][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x0E count 1
[07:38:27][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:27][V][modbus:199]: Modbus write: 01.04.00.0E.00.01.50.09 (8)
[07:38:27][V][modbus_controller:486]: Command sent 4 0xE 1
[07:38:27][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=6184 (now=16190)
[07:38:27][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x0E count 1
[07:38:27][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:27][V][modbus:199]: Modbus write: 01.04.00.0E.00.01.50.09 (8)
[07:38:27][V][modbus_controller:486]: Command sent 4 0xE 1
[07:38:28][D][modbus_controller:032]: Modbus command to device=1 register=0x0E countdown=0 no response received - removed from send queue
[07:38:28][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x11 count 2
[07:38:28][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:28][V][modbus:199]: Modbus write: 01.04.00.11.00.02.21.CE (8)
[07:38:28][V][modbus_controller:486]: Command sent 4 0x11 2
[07:38:28][V][modbus:042]: Modbus received Byte  3 (0X3)
[07:38:28][V][modbus:042]: Modbus received Byte  77 (0X4d)
[07:38:28][D][uart_debug:158]: <<< "\x03M\n"
[07:38:28][V][modbus:042]: Modbus received Byte  10 (0Xa)
[07:38:28][V][modbus:042]: Modbus received Byte  5 (0X5)
[07:38:28][V][modbus:042]: Modbus received Byte  1 (0X1)
[07:38:28][V][modbus:042]: Modbus received Byte  251 (0Xfb)
[07:38:28][V][modbus:042]: Modbus received Byte  247 (0Xf7)
[07:38:28][V][modbus:042]: Modbus received Byte  247 (0Xf7)
[07:38:28][V][modbus:042]: Modbus received Byte  255 (0Xff)
[07:38:28][V][modbus:042]: Modbus received Byte  31 (0X1f)
[07:38:28][V][modbus:042]: Modbus received Byte  247 (0Xf7)
[07:38:28][V][modbus:042]: Modbus received Byte  231 (0Xe7)
[07:38:28][V][modbus:042]: Modbus received Byte  255 (0Xff)
[07:38:28][D][uart_debug:158]: <<< "\x05\x01\xFB\xF7\xF7\xFF\x1F\xF7\xE7\xFF"
[07:38:28][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x11 count 2
[07:38:28][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:28][V][modbus:199]: Modbus write: 01.04.00.11.00.02.21.CE (8)
[07:38:28][V][modbus_controller:486]: Command sent 4 0x11 2
[07:38:28][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x11 count 2
[07:38:28][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:28][V][modbus:199]: Modbus write: 01.04.00.11.00.02.21.CE (8)
[07:38:28][V][modbus_controller:486]: Command sent 4 0x11 2
[07:38:28][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x11 count 2
[07:38:28][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:28][V][modbus:199]: Modbus write: 01.04.00.11.00.02.21.CE (8)
[07:38:28][V][modbus_controller:486]: Command sent 4 0x11 2
[07:38:29][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x11 count 2
[07:38:29][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:29][V][modbus:199]: Modbus write: 01.04.00.11.00.02.21.CE (8)
[07:38:29][V][modbus_controller:486]: Command sent 4 0x11 2
[07:38:29][D][modbus_controller:032]: Modbus command to device=1 register=0x11 countdown=0 no response received - removed from send queue
[07:38:29][V][modbus_controller:036]: Sending next modbus command to device 1 register 0x14 count 3
[07:38:29][VV][uart.arduino_esp8266:180]:     Flushing...
[07:38:29][V][modbus:199]: Modbus write: 01.04.00.14.00.03.F0.0F (8)
[07:38:29][V][modbus_controller:486]: Command sent 4 0x14 3
[07:38:29][V][modbus:042]: Modbus received Byte  2 (0X2)
[07:38:29][V][modbus:042]: Modbus received Byte  77 (0X4d)
[07:38:29][D][uart_debug:158]: <<< "\x02M\n"
[07:38:29][V][modbus:042]: Modbus received Byte  10 (0Xa)
[07:38:29][V][modbus:042]: Modbus received Byte  5 (0X5)
[07:38:29][V][modbus:042]: Modbus received Byte  1 (0X1)
[07:38:29][V][modbus:042]: Modbus received Byte  91 (0X5b)
[07:38:29][V][modbus:042]: Modbus received Byte  1 (0X1)
[07:38:29][V][modbus:042]: Modbus received Byte  2 (0X2)
[07:38:29][V][modbus:042]: Modbus received Byte  195 (0Xc3)
[07:38:29][V][modbus:042]: Modbus received Byte  20 (0X14)
[07:38:29][V][modbus:042]: Modbus received Byte  230 (0Xe6)
[07:38:29][V][modbus:042]: Modbus received Byte  19 (0X13)
[07:38:29][V][modbus:042]: Modbus received Byte  162 (0Xa2)
[07:38:29][V][modbus:042]: Modbus received Byte  173 (0Xad)
[07:38:29][V][modbus:042]: Modbus received Byte  47 (0X2f)
[07:38:29][W][modbus:135]: Got Modbus frame from unknown address 0x02! ```