syssi / esphome-pipsolar

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

Voltronic Axpert VM III TWIN 6 kW no data #35

Open eruc opened 1 year ago

eruc commented 1 year ago

Hi, I am using esp8266 for communication with the Voltronic Axpert VMIII Twin 6 Kw. I can't get the complete data in ESPhome .. The wiring is done correctly, i tried various yaml codes including: main, 2424mse1, hms-3k-24v, pip8048, and they all have the same result ie no data. I tried with another code but it sends me back to then displayed data. I am wondering if there is a solution for this new model? Thank you.

these are the data obtained in Log

eb964879-9318-46d8-bb19-372787325615

Screenshot-31

lucasimons commented 1 year ago

@eruc Do you have any updates, did you manage to get it working?

syssi commented 1 year ago

I've improved the protocol test YAML. Could you try it another time and provide a new log? Thanks in advance!

https://github.com/syssi/esphome-pipsolar/blob/main/tests/esp8266-test-protocols.yaml

CastiRudolf commented 1 year ago

@syssi I am experiencing the same issue on the same model.

Here is my log output when running the above test [17:31:33][I][main:424]: Testing PI30/PI30MAX/PI30REVO/PI41 commands... [17:31:33][I][main:427]: This is the set of commands supported by the pipsolar component!

CastiRudolf commented 1 year ago

I just want to add that currently I am monitoring my inverter with a Raspberry Pi. I am using the following settings - qpiri=103 qpiws=40 qmod=5 qpigs=120

Hope this helps :-)

WallK commented 7 months ago

This (and other TWIN models) have longer QPIGS I've made a change that exists, for example, in pip8048 branch that supports it

Use

external_components:
  - source: github://syssi/esphome-pipsolar@pip8048

It works for my PIP6048MT (which is the same as VM3 TWIN)

baturinivan commented 3 months ago

It works for my PIP6048MT (which is the same as VM3 TWIN)

It works for me with VM III Twin (24V, 4.2kW). Failed to compile initially, but after change to idf versus arduino and tweaking with version, this solution is finally working.

Edmondo-diRonza commented 2 months ago

It works for my PIP6048MT (which is the same as VM3 TWIN)

It works for me with VM III Twin (24V, 4.2kW). Failed to compile initially, but after change to idf versus arduino and tweaking with version, this solution is finally working. Hi, I have an Axpert VMIV Twin (48V, 6KW) with what I believe is the same issue of a long QPIGS response. I tried to use the pip8084 branch, but I encountered an error during compilation. I'm using the recommended version of esp-idf. What kind of tweaks did you make to get it working? Which version? Thank you in advance for helping me.

baturinivan commented 2 months ago

Hi. Please find below excerpts from my working code:

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

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

uart:
  - id: uart_inv
    tx_pin: GPIO1
    rx_pin: GPIO3
    baud_rate: 2400

pipsolar:
  - uart_id: uart_inv
    id: inverter0
    update_interval: 5s

binary_sensor:
  - platform: pipsolar
    pipsolar_id: inverter0
    add_sbu_priority_version:
      name: "inv add_sbu_priority_version"
    configuration_status:
      name: "inv configuration_status"
    scc_firmware_version:
      name: "inv scc_firmware_version"
    load_status:
      name: "inv load_status"
    battery_voltage_to_steady_while_charging:
      name: "inv battery_voltage_to_steady_while_charging"
    charging_status:
      name: "inv charging_status"
    scc_charging_status:
      name: "inv scc_charging_status"
    ac_charging_status:
      name: "inv ac_charging_status"
    charging_to_floating_mode:
      name: "inv charging_to_floating_mode"
    switch_on:
      name: "inv switch_on"
    dustproof_installed:
      name: "inv dustproof_installed"
    silence_buzzer_open_buzzer:
      name: "inv silence_buzzer_open_buzzer"
    overload_bypass_function:
      name: "inv overload_bypass_function"
    lcd_escape_to_default:
      name: "inv lcd_escape_to_default"
    overload_restart_function:
      name: "inv overload_restart_function"
    over_temperature_restart_function:
      name: "inv over_temperature_restart_function"
#    backlight_on:
#      name: "inv backlight_on"

sensor:
  - platform: pipsolar
    pipsolar_id: inverter0
    # QPIRI
#    grid_rating_voltage:
#      name: "inv grid_rating_voltage"
#    grid_rating_current:
#      name: "inv grid_rating_current"
#    ac_output_rating_voltage:
#      name: "inv ac_output_rating_voltage"
#    ac_output_rating_frequency:
#      name: "inv ac_output_rating_frequency"
#    ac_output_rating_current:
#      name: "inv ac_output_rating_current"
#    ac_output_rating_apparent_power:
#      name: "inv ac_output_rating_apparent_power"
#    ac_output_rating_active_power:
#      name: "inv ac_output_rating_active_power"
#    battery_rating_voltage:
#      name: "inv battery_rating_voltage"
    battery_recharge_voltage:
      name: "inv battery_recharge_voltage"
    battery_under_voltage:
      name: "inv battery_under_voltage"
    battery_bulk_voltage:
      name: "inv battery_bulk_voltage"
    battery_float_voltage:
      name: "inv battery_float_voltage"
#    battery_type:
#      name: "battery_type"
    current_max_ac_charging_current:
      name: "inv current_max_ac_charging_current"
    current_max_charging_current:
      name: "inv current_max_charging_current"
    input_voltage_range:
      name: "inv input_voltage_range"
    output_source_priority:
      name: "inv output_source_priority"
    charger_source_priority:
      name: "inv charger_source_priority"
#    parallel_max_num:
#      name: "inv parallel_max_num"
    machine_type:
      name: "inv machine_type"
#    topology:
#      name: "inv topology"
    output_mode:
      name: "inv output_mode"
    battery_redischarge_voltage:
      name: "inv battery_redischarge_voltage"
#    pv_ok_condition_for_parallel:
#      name: "inv pv_ok_condition_for_parallel"
#    pv_power_balance:
#      name: "inv pv_power_balance"

    # QPIGS
    grid_voltage:
      name: "inv grid_voltage"
    grid_frequency:
      name: "inv grid_frequency"
    ac_output_voltage:
      name: "inv ac_output_voltage"
    ac_output_frequency:
      name: "inv ac_output_frequency"
    ac_output_apparent_power:
      name: "inv ac_output_apparent_power"
    ac_output_active_power:
      name: "inv ac_output_active_power"
    output_load_percent:
      name: "inv output_load_percent"
    bus_voltage:
      name: "inv bus_voltage"
    battery_voltage:
      name: "inv battery_voltage"
      id: invvoltage
    battery_charging_current:
      name: "inv battery_charging_current"
    battery_capacity_percent:
      name: "inv battery_capacity_percent"
    inverter_heat_sink_temperature:
      name: "inv inverter_heat_sink_temperature"

    # sila, anern 4.2k
    #pv_input_current_for_battery:
      #name: "inv pv_input_current_for_battery"
    #pv_input_voltage:
      #name: "inv pv_input_voltage"

    # vm III twin (sunlife, twin)
    pv1_input_current:
      name: "inv pv_input_current_for_battery"
    pv1_input_voltage:
      name: "inv pv_input_voltage"  

    battery_voltage_scc:
      name: "inv battery_voltage_scc"
    battery_discharge_current:
      name: "inv battery_discharge_current"
    battery_voltage_offset_for_fans_on:
      name: "inv battery_voltage_offset_for_fans_on"
    eeprom_version:
      name: "inv eeprom_version"    
    pv1_charging_power:
      name: "inv pv_charging_power"

text_sensor:
  - platform: pipsolar
    pipsolar_id: inverter0
    device_mode:
      name: "inv device_mode"
    last_qpigs:
      name: "inv last_qpigs"
#    last_qpiri:
#      name: "inv last_qpiri"
#    last_qmod:
#      name: "inv last_qmod"
#    last_qflag:
#      name: "inv last_qflag"

select:
  - platform: pipsolar
    pipsolar_id: inverter0
    output_source_priority:
      id: inverter0_output_source_priority_select
      name: inverter0_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: inverter0
    charging_discharging_control:
      # See MAX_Communication_Protocol_20200526.pdf page 18
      name: "${name} 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"

  - platform: pipsolar
    pipsolar_id: inverter0
    charger_source_priority:
      name: ${name} charger_source_priority_select
      optionsmap:
#        "Utility first": "PCP00"
        "Solar first": "PCP01"
        "Solar and utility": "PCP02"
        "Solar charging only": "PCP03"
      statusmap:
 #       "0": "Utility first"
        "1": "Solar first"
        "2": "Solar and utility"
        "3": "Solar charging only"

  - platform: pipsolar
    pipsolar_id: inverter0
    current_max_ac_charging_current:
      name: ${name} current_max_ac_charging_current_select
      optionsmap:
        "2A": "MUCHGC0002"
        "10A": "MUCHGC0010"
        "20A": "MUCHGC0020"
        "30A": "MUCHGC0030"
        "40A": "MUCHGC0040"
        "50A": "MUCHGC0050"
        "60A": "MUCHGC0060"
        "70A": "MUCHGC0070"
        "80A": "MUCHGC0080"
        "90A": "MUCHGC0090"
        "100A": "MUCHGC0100"
        "110A": "MUCHGC0110"
        "120A": "MUCHGC0120"
      statusmap:
        "2": "2A"
        "10": "10A"
        "20": "20A"
        "30": "30A"
        "40": "40A"
        "50": "50A"
        "60": "60A"
        "70": "70A"
        "80": "80A"
        "90": "90A"
        "100": "100A"
        "110": "110A"
        "120": "120A"

  - platform: pipsolar
    pipsolar_id: inverter0
    current_max_charging_current:
      name: ${name} current_max_charging_current_select
      optionsmap:
        "10A": "MCHGC010"
        "20A": "MCHGC020"
        "30A": "MCHGC030"
        "40A": "MCHGC040"
        "50A": "MCHGC050"
        "60A": "MCHGC060"
        "70A": "MCHGC070"
        "80A": "MCHGC080"
        "90A": "MCHGC090"
        "100A": "MCHGC100"
        "110A": "MCHGC110"
        "120A": "MCHGC120"
      statusmap:
        "10": "10A"
        "20": "20A"
        "30": "30A"
        "40": "40A"
        "50": "50A"
        "60": "60A"
        "70": "70A"
        "80": "80A"
        "90": "90A"
        "100": "100A"
        "110": "110A"
        "120": "120A"

If you are interested in resolution, I think you need to include more info.... at least the error you have received.

Edmondo-diRonza commented 2 months ago

external_components:

  • source: github://syssi/esphome-pipsolar@pip8048 refresh: 0s

Hi, sure! Sorry I'm really a newbie at these kinds of problems. I paste the compiler log, made with the home assistant esphome plugin. logs_esphome-web-57072c_run (1).txt

I'm also posting the ESP32 test protocol log, in case it could be helpful. Thanks. logs_esphome-web-57072c_logs (3).txt