syssi / esphome-pipsolar

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

Axpert_KSMKSV_RS232_Protocol #131

Open SeByDocKy opened 1 month ago

SeByDocKy commented 1 month ago

Hi @syssi,

Not sure if it was already implemented but seems there is a new variant of the protocol : Axpert_KSMKSV_RS232_Protocol-C20170821.pdf

Can you confirm if it's a new protocol ?

jopl commented 6 days ago

Dear SeByDocKy, I can confirm it fits more to my AXPERT MAX 11KW TWIN, at least in QPIRI and QPIGS inquiry commands. And it is very similar to protocol described in attached Communication_Protocol_20150924_Customer.pdf. But "yours" is more corresponding ... Communication_Protocol_20150924_Customer.pdf

SeByDocKy commented 6 days ago

I don't own myself this inverter but when I will get a bit of time, I will make a PR for this inverter. Modifications from existing are small in a first glance.

jopl commented 6 days ago

SeByDocKy - thanks so much. In the meanwhile, I found out addition (uncommenting) of

external_components:
  - source: github://syssi/esphome-pipsolar@2424mse1
    refresh: 0s

plus addition of "select" entity from example of @2424mse1 to my yaml, i.e.:

select:
  - platform: pipsolar
    pipsolar_id: ${inv_id}
    output_source_priority:
      id: ${inv_id}_output_source_priority_select
      name: ${inv_id}_output_source_priority_select
      optionsmap:
        "Utility first": "POP00"
        "Solar only": "POP01"
        "Solar Battery Utility": "POP02"
      statusmap:
        "0": "Utility first"
        "1": "Solar only"
        "2": "Solar Battery Utility"

  - platform: pipsolar
    pipsolar_id: ${inv_id}
    charging_discharging_control:
      # See MAX_Communication_Protocol_20200526.pdf page 18
      name: "${devicename} charging discharging control"
      optionsmap:
        "111": "PBATCD111"
        "011": "PBATCD011"
        "101": "PBATCD101"
        "110": "PBATCD110"
        "010": "PBATCD010"
        "100": "PBATCD100"
        "001": "PBATCD001"
        "000": "PBATCD000"
      statusmap:
        "111": "111"
        "011": "011"
        "101": "101"
        "110": "110"
        "010": "010"
        "100": "100"
        "001": "001"
        "000": "000"

helped me and now I am able to read data without CRC NOK :-). ${inv_id} & ${devicename} should be appropriately defined (in substitutions:). Regards, Josef.

SeByDocKy commented 3 days ago

Do you mean the branch 2424mse1 is the right one for your inverter ?

jopl commented 2 days ago

Finally, "- source: github://syssi/esphome-pipsolar@pip8048" showed the best results. It supports 2 FV sections. Regards, Josef.