syssi / esphome-pipsolar

ESPHome component to monitor and control a pipsolar inverter via RS232
Apache License 2.0
78 stars 35 forks source link

Qoltec 6KW (PI30) - timeout QPIGS other works #113

Open unknown1818 opened 3 months ago

unknown1818 commented 3 months ago

Hi,

Im trying to get data from rs232 my debug:

[08:13:30][I][main:468]: Testing PI30/PI30MAX/PI30REVO/PI41 commands... [08:13:30][I][main:471]: This is the set of commands supported by the pipsolar component!

But script can only get: get inverter_grid_rating_voltage: 230V inverter_grid_rating_current: 26A inverter_battery_type: 2.0

Cant decode other from: 235.4 50.0 235.4 50.0 0000 0000 000 384 03.20 000 000 0018 00.0 109.0 00.00 00000

I think there is all info in that line.

Now i see its VMIII-60003 its Voltronic model :D with different name on case.

Thats my log when lot of sensors configured but read only couple.

[D][pipsolar:756]: timeout command to poll: QPIGS [D][pipsolar:839]: Sending polling command : QPIRI with length 5 [D][pipsolar:773]: checking crc on incoming message [D][pipsolar:776]: CRC OK [D][pipsolar:430]: Decode QPIRI [D][sensor:094]: 'inverter_grid_rating_voltage': Sending state 230.00000 V with 1 decimals of accuracy [D][sensor:094]: 'inverter_grid_rating_current': Sending state 26.00000 A with 1 decimals of accuracy [D][sensor:094]: 'inverter_grid_rating_current': Sending state 26.00000 A with 1 decimals of accuracy [D][sensor:094]: 'inverter_battery_type': Sending state 2.00000 with 1 decimals of accuracy [D][sensor:094]: 'inverter_input_voltage_range': Sending state 0.00000 with 1 decimals of accuracy [D][sensor:094]: 'inverter_input_voltage_range': Sending state 0.00000 with 1 decimals of accuracy [D][sensor:094]: 'inverter_output_source_priority': Sending state 2.00000 with 1 decimals of accuracy [D][sensor:094]: 'inverter_output_source_priority': Sending state 2.00000 with 1 decimals of accuracy [W][component:232]: Component esphome.coroutine took a long time for an operation (94 ms). [W][component:232]: Component esphome.coroutine took a long time for an operation (94 ms). [W][component:233]: Components should block for at most 30 ms. [D][pipsolar:839]: Sending polling command : QPIGS with length 5 [D][pipsolar:756]: timeout command to poll: QPIGS

baturinivan commented 3 months ago

Just testing Sunlife VM III Twin, 24V, 4.2kW (looks exactly as Axpert VM III TWIN 4KVA/6KVA) Seems to be the same QPIGS problem (timeout) while other commands works fine. QPIGS response has more values than expected in the code.

Also format seems to be similar to described in MAX.Communication.Protocol20210217.pdf found elsewhere in issues.

There is the testing log: [I][main:451]: Testing PI30/PI30MAX/PI30REVO/PI41 commands... [I][main:454]: This is the set of commands supported by the pipsolar component!

baturinivan commented 3 months ago

Seems to be the same QPIGS problem (timeout) while other commands works fine. QPIGS response has more values than expected in the code.

Finally, after a day of troubleshooting I have found a solution using this example: https://github.com/syssi/esphome-pipsolar/blob/pip8048/esp32-example.yaml

I have changed esphome section and added esp32 with esp-idf framework, version recommended (latest didn't work for me). `esphome: name: ${name}

esp32: board: esp32dev framework: type: esp-idf version: recommended`

syssi commented 3 months ago

Good job! recommended is the default. So you could drop this line if you like.