esphome-pipsolar icon indicating copy to clipboard operation
esphome-pipsolar copied to clipboard

PIP 2424MSE1 support

Open lucasimons opened this issue 2 years ago • 317 comments

Hi, I tried with a 24v inverter from easun which however is identical to the 2424MSE1 of MPP solar looking at the esphome log I see that it sends something but receives nothing I also checked the wiring and I had reversed the red and white cable on the rj45 side, now I believe they are right IMG_20210901_163157

lucasimons avatar Sep 01 '21 14:09 lucasimons

Could you make a better photo of the rj45 connector? I want to make sure you have connected the correct pins. Ignore the color of the wires.

syssi avatar Sep 01 '21 15:09 syssi

@avion23 Is the rs232 converter wired correctly?

syssi avatar Sep 01 '21 15:09 syssi

I'll check again this weekend and upload photos

avion23 avatar Sep 01 '21 15:09 avion23

IMG_20210901_181331.jpg I use the original cable that came with the inverter and it have only 4 cable

lucasimons avatar Sep 01 '21 16:09 lucasimons

I also have this converter but I search on internet how to connect them but I find different connections IMG_20210901_190543.jpg

lucasimons avatar Sep 01 '21 17:09 lucasimons

You have to connect RX, TX and GND of the RJ45 cable to the Sub-D connector / pins. This circuit could/should help:

max3232-circuit

At the pin header you've to connect RX, TX, VCC3.3 and GND.

syssi avatar Sep 01 '21 17:09 syssi

Don't connect the blue wire. In my opinion this is 12V VCC of the inverter. We don't need this voltage. ;-)

syssi avatar Sep 01 '21 17:09 syssi

After checking I think I have connected in the correct way but I am waiting for confirmation because it does not work even now IMG_20210901_190543.jpg

lucasimons avatar Sep 01 '21 19:09 lucasimons

The blue wire is 12v, don't connect it. 12v can drive a buck converter to power the ESP. Thus no need of external power. Try this pinout orange-white -> pin 2 solid orange -> pin 3 solid brown -> pin 5

image

rem72 avatar Sep 01 '21 22:09 rem72

Which converter do you use?

lucasimons avatar Sep 01 '21 22:09 lucasimons

Which converter do you use?

I recently buyed a Voltronic Axpert VMIII 3kw/24v but I'm still having some issues with pipsolar.
I think that is similar to yours. It communicates but seems that protocol is not good.

rem72 avatar Sep 01 '21 22:09 rem72

I also have a 2.4kw 24v easun rebranded voltronic, but looking at the logs I don't get any response from the inverter ... Do you have any signs of life from the inverter?

lucasimons avatar Sep 01 '21 22:09 lucasimons

Did you try the increase the log level of the UART component to VERY_VERBOSE? This would dump every transmitted/received byte to the log. This log would help to debug protocol issues.

syssi avatar Sep 02 '21 04:09 syssi

Yes but i see that the esp send the command but the inverter not responding

[08:50:45][D][pipsolar:757]: timeout command to poll: QMOD
[08:50:45][VV][uart_esp8266:111]:     Wrote 0b01010001 (0x51)
[08:50:45][VV][uart_esp8266:111]:     Wrote 0b01000110 (0x46)
[08:50:45][VV][uart_esp8266:111]:     Wrote 0b01001100 (0x4C)
[08:50:45][VV][uart_esp8266:111]:     Wrote 0b01000001 (0x41)
[08:50:45][VV][uart_esp8266:111]:     Wrote 0b01000111 (0x47)
[08:50:45][VV][uart_esp8266:101]:     Wrote 0b10011000 (0x98)
[08:50:45][VV][uart_esp8266:101]:     Wrote 0b01110100 (0x74)
[08:50:45][VV][uart_esp8266:101]:     Wrote 0b00001101 (0x0D)
[08:50:45][D][pipsolar:840]: Sending polling command : QFLAG with length 5
[08:50:45][C][captive_portal:148]: Captive Portal:
[08:50:45][C][api:095]: API Server:
[08:50:45][C][api:096]:   Address: sensor2.local:6053
[08:50:45][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=15936 (now=16938)
[08:50:46][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=16936 (now=17936)
[08:50:47][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=17936 (now=18936)
[08:50:48][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=18936 (now=19942)
[08:50:49][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=19936 (now=20938)
[08:50:50][D][pipsolar:757]: timeout command to poll: QFLAG
[08:50:50][VV][uart_esp8266:111]:     Wrote 0b01010001 (0x51)
[08:50:50][VV][uart_esp8266:111]:     Wrote 0b01010000 (0x50)
[08:50:50][VV][uart_esp8266:111]:     Wrote 0b01001001 (0x49)
[08:50:50][VV][uart_esp8266:111]:     Wrote 0b01010010 (0x52)
[08:50:50][VV][uart_esp8266:111]:     Wrote 0b01001001 (0x49)
[08:50:50][VV][uart_esp8266:101]:     Wrote 0b11111000 (0xF8)
[08:50:50][VV][uart_esp8266:101]:     Wrote 0b01010100 (0x54)
[08:50:50][VV][uart_esp8266:101]:     Wrote 0b00001101 (0x0D)
[08:50:50][D][pipsolar:840]: Sending polling command : QPIRI with length 5
[08:50:50][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=20936 (now=21942)
[08:50:51][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=21936 (now=22936)
[08:50:52][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=22936 (now=23936)
[08:50:53][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=23936 (now=24936)
[08:50:54][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=24936 (now=25939)
[08:50:55][D][pipsolar:757]: timeout command to poll: QPIRI
[08:50:55][VV][uart_esp8266:111]:     Wrote 0b01010001 (0x51)
[08:50:55][VV][uart_esp8266:111]:     Wrote 0b01010000 (0x50)
[08:50:55][VV][uart_esp8266:111]:     Wrote 0b01001001 (0x49)
[08:50:55][VV][uart_esp8266:111]:     Wrote 0b01000111 (0x47)
[08:50:55][VV][uart_esp8266:111]:     Wrote 0b01010011 (0x53)
[08:50:55][VV][uart_esp8266:101]:     Wrote 0b10110111 (0xB7)
[08:50:55][VV][uart_esp8266:101]:     Wrote 0b10101001 (0xA9)
[08:50:55][VV][uart_esp8266:101]:     Wrote 0b00001101 (0x0D)
[08:50:55][D][pipsolar:840]: Sending polling command : QPIGS with length 5
[08:50:55][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=25936 (now=26936)
[08:50:56][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=26936 (now=27943)
[08:50:57][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=27936 (now=28936)
[08:50:58][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=28936 (now=29939)
[08:50:59][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=29936 (now=30937)
[08:51:00][D][pipsolar:757]: timeout command to poll: QPIGS
[08:51:00][VV][uart_esp8266:111]:     Wrote 0b01010001 (0x51)
[08:51:00][VV][uart_esp8266:111]:     Wrote 0b01001101 (0x4D)
[08:51:00][VV][uart_esp8266:111]:     Wrote 0b01001111 (0x4F)
[08:51:00][VV][uart_esp8266:111]:     Wrote 0b01000100 (0x44)
[08:51:00][VV][uart_esp8266:101]:     Wrote 0b01001001 (0x49)
[08:51:00][VV][uart_esp8266:101]:     Wrote 0b11000001 (0xC1)
[08:51:00][VV][uart_esp8266:101]:     Wrote 0b00001101 (0x0D)
[08:51:00][D][pipsolar:840]: Sending polling command : QMOD with length 4
[08:51:00][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=30936 (now=31936)
[08:51:01][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=31936 (now=32938)
[08:51:02][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=32936 (now=33937)
[08:51:03][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=33936 (now=34939)
[08:51:04][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=34936 (now=35937)
[08:51:05][D][pipsolar:757]: timeout command to poll: QMOD
[08:51:05][VV][uart_esp8266:111]:     Wrote 0b01010001 (0x51)
[08:51:05][VV][uart_esp8266:111]:     Wrote 0b01000110 (0x46)
[08:51:05][VV][uart_esp8266:111]:     Wrote 0b01001100 (0x4C)
[08:51:05][VV][uart_esp8266:111]:     Wrote 0b01000001 (0x41)
[08:51:05][VV][uart_esp8266:111]:     Wrote 0b01000111 (0x47)
[08:51:05][VV][uart_esp8266:101]:     Wrote 0b10011000 (0x98)
[08:51:05][VV][uart_esp8266:101]:     Wrote 0b01110100 (0x74)
[08:51:05][VV][uart_esp8266:101]:     Wrote 0b00001101 (0x0D)
[08:51:05][D][pipsolar:840]: Sending polling command : QFLAG with length 5
[08:51:05][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=35936 (now=36936)
[08:51:06][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=36936 (now=37939)
[08:51:07][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=37936 (now=38936)
[08:51:08][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=38936 (now=39937)
[08:51:09][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=39936 (now=40936)
[08:51:10][D][pipsolar:757]: timeout command to poll: QFLAG
[08:51:10][VV][uart_esp8266:111]:     Wrote 0b01010001 (0x51)
[08:51:10][VV][uart_esp8266:111]:     Wrote 0b01010000 (0x50)
[08:51:10][VV][uart_esp8266:111]:     Wrote 0b01001001 (0x49)
[08:51:10][VV][uart_esp8266:111]:     Wrote 0b01010010 (0x52)
[08:51:10][VV][uart_esp8266:111]:     Wrote 0b01001001 (0x49)
[08:51:10][VV][uart_esp8266:101]:     Wrote 0b11111000 (0xF8)
[08:51:10][VV][uart_esp8266:101]:     Wrote 0b01010100 (0x54)
[08:51:10][VV][uart_esp8266:101]:     Wrote 0b00001101 (0x0D)
[08:51:10][D][pipsolar:840]: Sending polling command : QPIRI with length 5
[08:51:10][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=40936 (now=41936)
[08:51:11][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=41936 (now=42940)
[08:51:12][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=42936 (now=43936)
[08:51:13][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=43936 (now=44938)
[08:51:14][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=44936 (now=45936)
[08:51:15][D][pipsolar:757]: timeout command to poll: QPIRI
[08:51:15][VV][uart_esp8266:111]:     Wrote 0b01010001 (0x51)
[08:51:15][VV][uart_esp8266:111]:     Wrote 0b01010000 (0x50)
[08:51:15][VV][uart_esp8266:111]:     Wrote 0b01001001 (0x49)
[08:51:15][VV][uart_esp8266:111]:     Wrote 0b01000111 (0x47)
[08:51:15][VV][uart_esp8266:111]:     Wrote 0b01010011 (0x53)
[08:51:15][VV][uart_esp8266:101]:     Wrote 0b10110111 (0xB7)
[08:51:15][VV][uart_esp8266:101]:     Wrote 0b10101001 (0xA9)
[08:51:15][VV][uart_esp8266:101]:     Wrote 0b00001101 (0x0D)
[08:51:15][D][pipsolar:840]: Sending polling command : QPIGS with length 5
[08:51:15][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=45936 (now=46940)
[08:51:16][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=46936 (now=47936)

lucasimons avatar Sep 02 '21 06:09 lucasimons

Please make sure the TX LED of the RS232 converter module is flashing periodically. If the RX LED is flashing the module isn't wired correctly.

syssi avatar Sep 02 '21 06:09 syssi

I got it working, but not all values are good. Panel voltage and power are 0v and 0w, as you can see in my screenshot. Althought it's charging batteries and powering home from PV's. image

rem72 avatar Sep 02 '21 08:09 rem72

In my converter , the smallest haven't led and the biggest ha a led but seems that not blinking IMG_20210902_102807.jpg

lucasimons avatar Sep 02 '21 08:09 lucasimons

That's great can you send pictures of your converter and connections on the esp? @rem72

lucasimons avatar Sep 02 '21 08:09 lucasimons

One thing to take into account for the small RS232-TTL converter, both wires, from rs232 and ttl should be connected at the same face. This is one of my previous errors. For the big one, check the gender of the big connector, if it's female, this are the right connections: image If it is male I think you can use the cable instead of soldering.

rem72 avatar Sep 02 '21 08:09 rem72

Now I got it working with a small one.

rem72 avatar Sep 02 '21 08:09 rem72

Now I connect the tx of the converter with the tx of wemos d1 mini and I see blinking the led but I don't see any data in the log.... IMG_20210902_104447.jpg the converter is the same of your converter female

lucasimons avatar Sep 02 '21 08:09 lucasimons

Ah! And I used the hardware serial of the wemos d1 instead of a software one, this can be done if you change the logger uart. Which pins do you use for comms? This is my code:

esphome:
  name: solar
  platform: ESP8266
  board: d1_mini

# Enable logging
logger:
  hardware_uart: UART1
  level: verbose

# Enable Home Assistant API
api:

ota:
  password: !secret OTAPass

wifi:
  ssid: !secret Wifi
  password: !secret WifiPass

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Solar Fallback Hotspot"
    password: !secret OTAPass

captive_portal:

uart:
  - id: uart_bus
    tx_pin: TX
    rx_pin: RX
    # most devices use 2400 as baud_rate
    baud_rate: 2400

pipsolar:
  - uart_id: uart_bus
    id: inverter0

sensor:
  - platform: pipsolar
    pipsolar_id: inverter0

    grid_rating_current:
      id: inverter0_grid_rating_current
      name: inverter0_grid_rating_current
    ac_output_active_power:
      id: inverter0_ac_output_active_power
      name: inverter0_ac_output_active_power
    ac_output_apparent_power:
      id: inverter0_ac_output_apparent_power
      name: inverter0_ac_output_apparent_power
    ac_output_voltage:
      id: inverter0_ac_output_voltage
      name: inverter0_ac_output_voltage
    battery_capacity_percent:
      id: inverter0_battery_capacity_percent
      name: inverter0_battery_capacity_percent
    battery_charging_current:
      id: inverter0_battery_charging_current
      name: inverter0_battery_charging_current
    battery_discharge_current:
      id: inverter0_battery_discharge_current
      name: inverter0_battery_discharge_current
    battery_voltage:
      id: inverter0_battery_voltage
      name: inverter0_battery_voltage
    grid_voltage:
      id: inverter0_grid_voltage
      name: inverter0_grid_voltage
    inverter_heat_sink_temperature:
      id: inverter0_inverter_heat_sink_temperature
      name: inverter0_inverter_heat_sink_temperature
    output_load_percent:
      id: inverter0_output_load_percent
      name: inverter0_output_load_percent
    pv_charging_power:
      id: inverter0_pv_charging_power
      name: inverter0_pv_charging_power
    pv_input_voltage:
      id: inverter0_pv_input_voltage
      name: inverter0_pv_input_voltage
    

    
text_sensor:
  - platform: pipsolar
    pipsolar_id: inverter0
    device_mode:
      id: inverter0_device_mode
      name: inverter0_device_mode
    last_qpigs:
      id: inverter0_last_qpigs
      name: inverter0_last_qpigs
    last_qpiri:
      id: inverter0_last_qpiri
      name: inverter0_last_qpiri
      
switch:
  - platform: pipsolar
    pipsolar_id: inverter0
    output_source_priority_utility:
      name: inverter0_output_source_priority_utility
    output_source_priority_solar:
      name: inverter0_output_source_priority_solar
    output_source_priority_battery:
      name: inverter0_output_source_priority_battery
    input_voltage_range:
      name: inverter0_input_voltage_range
    pv_power_balance:
      name: inverter0_pv_power_balance

rem72 avatar Sep 02 '21 09:09 rem72

This is my code

esphome:
  name: sensor2
  platform: ESP8266
  board: d1_mini


captive_portal:

# Enable logging
logger:
  baud_rate: 0
  level: VERY_VERBOSE
  logs:
    uart: VERY_VERBOSE 
    uart_esp8266: VERY_VERBOSE 
    api.service: WARN
    ota: WARN
    sensor: DEBUG
# Enable Home Assistant API
api:

ota:




substitutions:
  name: pipsolar



uart:
  id: uart0
  baud_rate: 2400
  tx_pin: GPIO1
  rx_pin: GPIO3

pipsolar:
  uart_id: uart0
  id: inverter0


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

    # QPIGS
    grid_voltage:
      name: "Inveter grid_voltage"
    grid_frequency:
      name: "Inveter grid_frequency"
    ac_output_voltage:
      name: "Inveter ac_output_voltage"
    ac_output_frequency:
      name: "Inveter ac_output_frequency"
    ac_output_apparent_power:
      name: "Inveter ac_output_apparent_power"
    ac_output_active_power:
      name: "Inveter ac_output_active_power"
    output_load_percent:
      name: "Inveter output_load_percent"
    bus_voltage:
      name: "Inveter bus_voltage"
    battery_voltage:
      name: "Inveter battery_voltage"
    battery_charging_current:
      name: "Inveter battery_charging_current"
    battery_capacity_percent:
      name: "Inveter battery_capacity_percent"
    inverter_heat_sink_temperature:
      name: "Inveter inverter_heat_sink_temperature"
    pv_input_current_for_battery:
      name: "Inveter pv_input_current_for_battery"
    pv_input_voltage:
      name: "Inveter pv_input_voltage"
    battery_voltage_scc:
      name: "Inveter battery_voltage_scc"
    battery_discharge_current:
      name: "Inveter battery_discharge_current"
    battery_voltage_offset_for_fans_on:
      name: "Inveter battery_voltage_offset_for_fans_on"
    eeprom_version:
      name: "Inveter eeprom_version"
    pv_charging_power:
      name: "Inveter pv_charging_power"

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

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

switch:
  - platform: pipsolar
    pipsolar_id: inverter0
    output_source_priority_utility:
      name: "Inveter output_source_priority_utility"
    output_source_priority_solar:
      name: "Inveter output_source_priority_solar"
    output_source_priority_battery:
      name: "Inveter output_source_priority_battery"
    input_voltage_range:
      name: "Inveter input_voltage_range"
    pv_ok_condition_for_parallel:
      name: "Inveter pv_ok_condition_for_parallel"
    pv_power_balance:
      name: "Inveter pv_power_balance"

output:
  - platform: pipsolar
    pipsolar_id: inverter0
    battery_recharge_voltage:
      id: inverter0_battery_recharge_voltage_out

This are the connections

IMG_20210902_110227.jpg

lucasimons avatar Sep 02 '21 09:09 lucasimons

On the other hand, I think decoding of QPIGS isn't fine. Sissy, here is the verbose log:

[10:51:33][D][text_sensor:015]: 'inverter0_last_qpigs': Sending state '(226.7 49.9 226.7 49.9 0498 0479 016 427 27.00 005 100 0035 01.9 255.1 00.00 00000 10010110 00 00 00510 110'
[10:51:33][V][sensor:037]: 'inverter0_grid_voltage': Received new state 226.699997
[10:51:33][D][sensor:131]: 'inverter0_grid_voltage': Sending state 226.70000 V with 1 decimals of accuracy
[10:51:33][V][sensor:037]: 'inverter0_ac_output_voltage': Received new state 226.699997
[10:51:33][D][sensor:131]: 'inverter0_ac_output_voltage': Sending state 226.70000 V with 1 decimals of accuracy
[10:51:33][V][sensor:037]: 'inverter0_ac_output_apparent_power': Received new state 498.000000
[10:51:33][D][sensor:131]: 'inverter0_ac_output_apparent_power': Sending state 498.00000 VA with 1 decimals of accuracy
[10:51:33][V][sensor:037]: 'inverter0_ac_output_active_power': Received new state 479.000000
[10:51:33][D][sensor:131]: 'inverter0_ac_output_active_power': Sending state 479.00000 W with 1 decimals of accuracy
[10:51:33][V][sensor:037]: 'inverter0_output_load_percent': Received new state 16.000000
[10:51:33][D][sensor:131]: 'inverter0_output_load_percent': Sending state 16.00000 % with 1 decimals of accuracy
[10:51:33][V][sensor:037]: 'inverter0_battery_voltage': Received new state 27.000000
[10:51:33][D][sensor:131]: 'inverter0_battery_voltage': Sending state 27.00000 V with 1 decimals of accuracy
[10:51:33][V][sensor:037]: 'inverter0_battery_charging_current': Received new state 5.000000
[10:51:33][D][sensor:131]: 'inverter0_battery_charging_current': Sending state 5.00000 A with 1 decimals of accuracy
[10:51:33][V][sensor:037]: 'inverter0_battery_capacity_percent': Received new state 100.000000
[10:51:33][D][sensor:131]: 'inverter0_battery_capacity_percent': Sending state 100.00000 % with 1 decimals of accuracy
[10:51:33][V][sensor:037]: 'inverter0_inverter_heat_sink_temperature': Received new state 35.000000
[10:51:33][D][sensor:131]: 'inverter0_inverter_heat_sink_temperature': Sending state 35.00000 °C with 1 decimals of accuracy
[10:51:33][V][sensor:037]: 'inverter0_pv_input_voltage': Received new state 0.900000
[10:51:33][D][sensor:131]: 'inverter0_pv_input_voltage': Sending state 0.90000 V with 1 decimals of accuracy
[10:51:33][V][sensor:037]: 'inverter0_battery_discharge_current': Received new state 0.000000
[10:51:33][D][sensor:131]: 'inverter0_battery_discharge_current': Sending state 0.00000 A with 1 decimals of accuracy
[10:51:33][V][sensor:037]: 'inverter0_pv_charging_power': Received new state 0.000000
[10:51:33][D][sensor:131]: 'inverter0_pv_charging_power': Sending state 0.00000 W with 1 decimals of accuracy
[10:51:33][V][app:082]: A component took a long time in a loop() cycle (0.21 s).
[10:51:33][V][app:083]: Components should block for at most 20-30ms in loop().

rem72 avatar Sep 02 '21 09:09 rem72

But if you use the hardware uart = uart0 you have to send the logger output to the secondary uart = uart1. Check these lines:

logger: hardware_uart: UART1

rem72 avatar Sep 02 '21 09:09 rem72

Yes i see your code and i update my code, now i see that write ant read somethings

[11:23:14][D][pipsolar:840]: Sending polling command : QPIRI with length 5
[11:23:14][VV][uart_esp8266:132]:     Read 0b10101010 (0xAA)
[11:23:14][VV][uart_esp8266:132]:     Read 0b01001010 (0x4A)
[11:23:14][VV][uart_esp8266:132]:     Read 0b10010101 (0x95)
[11:23:14][VV][uart_esp8266:132]:     Read 0b11100001 (0xE1)
[11:23:14][VV][uart_esp8266:132]:     Read 0b11111111 (0xFF)
[11:23:15][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=242368 (now=243373)
[11:23:16][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=243368 (now=244369)
[11:23:17][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=244368 (now=245372)
[11:23:18][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=245368 (now=246368)
[11:23:19][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=246368 (now=247376)
[11:23:19][D][pipsolar:757]: timeout command to poll: QPIRI
[11:23:19][VV][uart_esp8266:111]:     Wrote 0b01010001 (0x51)
[11:23:19][VV][uart_esp8266:111]:     Wrote 0b01010000 (0x50)
[11:23:19][VV][uart_esp8266:111]:     Wrote 0b01001001 (0x49)
[11:23:19][VV][uart_esp8266:111]:     Wrote 0b01000111 (0x47)
[11:23:19][VV][uart_esp8266:111]:     Wrote 0b01010011 (0x53)
[11:23:19][VV][uart_esp8266:101]:     Wrote 0b10110111 (0xB7)
[11:23:19][VV][uart_esp8266:101]:     Wrote 0b10101001 (0xA9)
[11:23:19][VV][uart_esp8266:101]:     Wrote 0b00001101 (0x0D)
[11:23:19][D][pipsolar:840]: Sending polling command : QPIGS with length 5
[11:23:19][VV][uart_esp8266:132]:     Read 0b10101010 (0xAA)
[11:23:19][VV][uart_esp8266:132]:     Read 0b11101010 (0xEA)
[11:23:19][VV][uart_esp8266:132]:     Read 0b01101010 (0x6A)
[11:23:19][VV][uart_esp8266:132]:     Read 0b11110101 (0xF5)
[11:23:19][VV][uart_esp8266:132]:     Read 0b11111111 (0xFF)
[11:23:20][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=247368 (now=248368)
[11:23:21][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=248368 (now=249375)
[11:23:22][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=249368 (now=250368)
[11:23:23][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=250368 (now=251371)
[11:23:24][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=251368 (now=252370)
[11:23:24][D][pipsolar:757]: timeout command to poll: QPIGS
[11:23:24][VV][uart_esp8266:111]:     Wrote 0b01010001 (0x51)
[11:23:24][VV][uart_esp8266:111]:     Wrote 0b01001101 (0x4D)
[11:23:24][VV][uart_esp8266:111]:     Wrote 0b01001111 (0x4F)
[11:23:24][VV][uart_esp8266:111]:     Wrote 0b01000100 (0x44)
[11:23:24][VV][uart_esp8266:101]:     Wrote 0b01001001 (0x49)
[11:23:24][VV][uart_esp8266:101]:     Wrote 0b11000001 (0xC1)
[11:23:24][VV][uart_esp8266:101]:     Wrote 0b00001101 (0x0D)
[11:23:24][D][pipsolar:840]: Sending polling command : QMOD with length 4
[11:23:24][VV][uart_esp8266:132]:     Read 0b11111111 (0xFF)
[11:23:24][VV][uart_esp8266:132]:     Read 0b11111110 (0xFE)
[11:23:24][VV][uart_esp8266:132]:     Read 0b11111111 (0xFF)
[11:23:25][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=252368 (now=253370)
[11:23:26][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=253368 (now=254368)
[11:23:27][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=254368 (now=255368)
[11:23:28][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=255368 (now=256373)
[11:23:29][VV][scheduler:152]: Running interval 'update' with interval=1000 last_execution=256368 (now=257370)
[11:23:29][D][pipsolar:757]: timeout command to poll: QMOD
[11:23:29][VV][uart_esp8266:111]:     Wrote 0b01010001 (0x51)
[11:23:29][VV][uart_esp8266:111]:     Wrote 0b01000110 (0x46)
[11:23:29][VV][uart_esp8266:111]:     Wrote 0b01001100 (0x4C)
[11:23:29][VV][uart_esp8266:111]:     Wrote 0b01000001 (0x41)
[11:23:29][VV][uart_esp8266:111]:     Wrote 0b01000111 (0x47)
[11:23:29][VV][uart_esp8266:101]:     Wrote 0b10011000 (0x98)
[11:23:29][VV][uart_esp8266:101]:     Wrote 0b01110100 (0x74)
[11:23:29][VV][uart_esp8266:101]:     Wrote 0b00001101 (0x0D)
[11:23:29][D][pipsolar:840]: Sending polling command : QFLAG with length 5
[11:23:29][VV][uart_esp8266:132]:     Read 0b11101010 (0xEA)
[11:23:29][VV][uart_esp8266:132]:     Read 0b00001010 (0x0A)
[11:23:29][VV][uart_esp8266:132]:     Read 0b01000110 (0x46)
[11:23:29][VV][uart_esp8266:132]:     Read 0b11111111 (0xFF)

if i connect the TX of the converter with the RX of wemos i see that write something but doesn t read anythigs,

lucasimons avatar Sep 02 '21 09:09 lucasimons

Good job! Please try to understand what you have changed in detail. So we can improve the configuration example at this repository.

@rem72 We can give it a try to understand and correct the QPIGS readings later the day!

syssi avatar Sep 02 '21 09:09 syssi

I tried to put back the connections tx to tx and rx to rx but now in the log I only see something writing but it doesn't read anything, the right connection should be the inverted one so rx to tx @rem72

lucasimons avatar Sep 02 '21 09:09 lucasimons

@syssi, these are the values for my inverter PV's

(225.8 49.9 225.8 49.9 0609 0565 020 427 27.00 005 100 0035 02.2 259.9 00.00 00000 10010110 00 00 00590 110 (aaa.a bb.b ccc.c dd.d eeee ffff ggg hhh ii.ii jjj kkk llll mm.m nnn.n oo.oo ppppp qqqqqqqq rr ss ttttt uuu

nnn.n = PV Voltage ttttt = PV input power

But I don't know how to change them

rem72 avatar Sep 02 '21 10:09 rem72

Ah but you have the inverter that can mix the grid with the panels because I noticed the voltage of the panels at 259v but I have the version with 40a mppt regulator but maximum voltage 100v anyway it shouldn't change anything because at the time I tried through software watchpower and PC and I had qpigs with the same organization

112745133-767a4600-8fa6-11eb-8f94-1f2aa9641dfb.png ...

Instead how did you connect the converter to the wemos? @rem72

lucasimons avatar Sep 02 '21 10:09 lucasimons