Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PIP 2424MSE1 support #3

Open
lucasimons opened this issue Sep 1, 2021 · 317 comments
Open

PIP 2424MSE1 support #3

lucasimons opened this issue Sep 1, 2021 · 317 comments

Comments

@lucasimons
Copy link

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

@syssi
Copy link
Owner

syssi commented Sep 1, 2021

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
Copy link
Owner

syssi commented Sep 1, 2021

@avion23 Is the rs232 converter wired correctly?

@avion23
Copy link
Collaborator

avion23 commented Sep 1, 2021

I'll check again this weekend and upload photos

@lucasimons
Copy link
Author

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

@lucasimons
Copy link
Author

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

@syssi
Copy link
Owner

syssi commented Sep 1, 2021

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
Copy link
Owner

syssi commented Sep 1, 2021

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

@lucasimons
Copy link
Author

lucasimons commented Sep 1, 2021

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

@rem72
Copy link

rem72 commented Sep 1, 2021

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

@lucasimons
Copy link
Author

Which converter do you use?

@rem72
Copy link

rem72 commented Sep 1, 2021

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.

@lucasimons
Copy link
Author

lucasimons commented Sep 1, 2021

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?

@syssi
Copy link
Owner

syssi commented Sep 2, 2021

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.

@lucasimons
Copy link
Author

lucasimons commented Sep 2, 2021

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)

@syssi
Copy link
Owner

syssi commented Sep 2, 2021

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.

@rem72
Copy link

rem72 commented Sep 2, 2021

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

@lucasimons
Copy link
Author

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

@lucasimons
Copy link
Author

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

@rem72
Copy link

rem72 commented Sep 2, 2021

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
Copy link

rem72 commented Sep 2, 2021

Now I got it working with a small one.

@lucasimons
Copy link
Author

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

@rem72
Copy link

rem72 commented Sep 2, 2021

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

@lucasimons
Copy link
Author

lucasimons commented Sep 2, 2021

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

@rem72
Copy link

rem72 commented Sep 2, 2021

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
Copy link

rem72 commented Sep 2, 2021

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

@lucasimons
Copy link
Author

lucasimons commented Sep 2, 2021

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,

@syssi
Copy link
Owner

syssi commented Sep 2, 2021

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!

@lucasimons
Copy link
Author

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

@rem72
Copy link

rem72 commented Sep 2, 2021

@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

@lucasimons
Copy link
Author

lucasimons commented Sep 2, 2021

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

@ans-gw
Copy link

ans-gw commented Oct 8, 2022

Hi,
I got this error from EspHome Log;Before was all Ok.
I dont understand!?...something has been changed?
Thank you for help.

INFO Reading configuration /config/esphome/pip-inverter-switch.yaml...
INFO Updating https://github.com/syssi/esphome-pipsolar.git@2424mse1
ERROR Unable to load component pipsolar.switch:
Traceback (most recent call last):
File "/esphome/esphome/loader.py", line 162, in _lookup_module
module = importlib.import_module(f"esphome.components.{domain}")
File "/usr/lib/python3.9/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1030, in _gcd_import
File "", line 1007, in _find_and_load
File "", line 986, in _find_and_load_unlocked
File "", line 680, in _load_unlocked
File "", line 790, in exec_module
File "", line 228, in _call_with_frames_removed
File "/config/esphome/.esphome/external_components/6d791439/components/pipsolar/switch/init.py", line 27, in
PIPSWITCH_SCHEMA = switch.switch_schema(
AttributeError: module 'esphome.components.switch' has no attribute 'switch_schema'
Failed config

switch.pipsolar: [source /config/esphome/pip-inverter-switch.yaml:154]

Platform not found: 'switch.pipsolar'.
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

@syssi
Copy link
Owner

syssi commented Oct 8, 2022

@ans-gw Please update ESPHome to version >= 2022.9.0 and try again.

@ans-gw
Copy link

ans-gw commented Oct 8, 2022

@syssi
My Esphome in Home assistant was stack to Version 2022.3.0!..
I install new official version 2022.9.4 and now is back Ok.
Thank you very much.

I would like to ask you,if you have time,to post
how can set Solar Charge priority:PCP00,PCP01,PCP02.PCP03?
and how to send other command(change bulk and float voltage,ecc,ecc)??
Other ppl ask about it too.

Thank you again.

@Blackcamper
Copy link

Blackcamper commented Oct 15, 2022

Hallo all.

Inverter MPPSolar PIP 2424MSE1

I have a funny problem as you will see from my logs I am able to send information to the inverter but the information that comes back is not correct I'm wondering if anyone can look at my code and the logs to tell me if there's something I'm missing I don't seem to be able to resolve the problem I was trying to get a hold of another rs-232 to TTL adapter today to try and see if that will make things better.

the value shows up in home assistant although all the values adjust zero I'm wondering if I'm missing something in the code or if my ttl module is malfunctioning hope you guys can give me a little bit of a help

my code and as file
PIP 2424MSE1 code.txt

# Warning:
#
# If you configure a lot of the possible sensors etc. it could be that you run
# out of memory (on esp8266). If you configure nearly all sensors etc. you run
# in a stack-size issue. In this case you have to increase stack size!
#
#  https://github.com/esphome/issues/issues/855

substitutions:
  name: pipsolar

esphome:
  name: ${name}
  platform: ESP32
  board: esp-wrover-kit

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

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

# Enable Home Assistant API
api:
  encryption:
    key: "eDDFwsxxl33HKaaaqlk5c/fchy9W3k5y3B7UZEuzASI="

ota:
  password: "84acdf342d93ddd371502984d8775c69"

# Enable logging
logger:
  hardware_uart: UART1
  level: very_verbose

#mqtt:
#  broker: !secret mqtt_host
#  username: !secret mqtt_username
#  password: !secret mqtt_password
#  id: mqtt_client

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: "${name} grid_rating_voltage"
#    grid_rating_current:
#      name: "${name} grid_rating_current"
#    ac_output_rating_voltage:
#      name: "${name} ac_output_rating_voltage"
#    ac_output_rating_frequency:
#      name: "${name} ac_output_rating_frequency"
#    ac_output_rating_current:
#      name: "${name} ac_output_rating_current"
#    ac_output_rating_apparent_power:
#      name: "${name} ac_output_rating_apparent_power"
#    ac_output_rating_active_power:
#      name: "${name} ac_output_rating_active_power"
#    battery_rating_voltage:
#      name: "${name} battery_rating_voltage"
#    battery_recharge_voltage:
#      name: "${name} battery_recharge_voltage"
#    battery_under_voltage:
#      name: "${name} battery_under_voltage"
#    battery_bulk_voltage:
#      name: "${name} battery_bulk_voltage"
#    battery_float_voltage:
#      name: "${name} battery_float_voltage"
#    battery_type:
#      name: "${name} battery_type"
#    current_max_ac_charging_current:
#      name: "${name} current_max_ac_charging_current"
#    current_max_charging_current:
#      name: "${name} current_max_charging_current"
#    input_voltage_range:
#      name: "${name} input_voltage_range"
#    output_source_priority:
#      name: "${name} output_source_priority"
#    charger_source_priority:
#      name: "${name} charger_source_priority"
#    parallel_max_num:
#      name: "${name} parallel_max_num"
#    machine_type:
#      name: "${name} machine_type"
#    topology:
#      name: "${name} topology"
#    output_mode:
#      name: "${name} output_mode"
#    battery_redischarge_voltage:
#      name: "${name} battery_redischarge_voltage"
#    pv_ok_condition_for_parallel:
#      name: "${name} pv_ok_condition_for_parallel"
#    pv_power_balance:
#      name: "${name} pv_power_balance"

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

text_sensor:
  - platform: pipsolar
    pipsolar_id: inverter0
    device_mode:
      name: "${name} device_mode"
#    last_qpigs:
#      name: "${name} last_qpigs"
#    last_qpiri:
#      name: "${name} last_qpiri"
#    last_qmod:
#      name: "${name} last_qmod"
#    last_qflag:
#      name: "${name} last_qflag"

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

switch:
  - platform: pipsolar
    pipsolar_id: inverter0
    output_source_priority_utility:
      name: "${name} output_source_priority_utility"
    output_source_priority_solar:
      name: "${name} output_source_priority_solar"
    output_source_priority_battery:
      name: "${name} output_source_priority_battery"
    input_voltage_range:
      name: "${name} input_voltage_range"
    pv_ok_condition_for_parallel:
      name: "${name} pv_ok_condition_for_parallel"
    pv_power_balance:
      name: "${name} pv_power_balance"

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

   
# stufftoshare    

Here is the log.

INFO Waiting for result...
INFO OTA successful
INFO Successfully uploaded program.
INFO Starting log output from pipsolar.local using esphome API
WARNING Can't connect to ESPHome API for pipsolar.local: Error connecting to ('192.168.1.140', 6053): [Errno 111] Connect call failed ('192.168.1.140', 6053)
INFO Trying to reconnect to pipsolar.local in the background
INFO Successfully connected to pipsolar.local
[10:26:13][I][app:102]: ESPHome version 2022.9.4 compiled on Oct 15 2022, 10:25:17
[10:26:13][C][wifi:502]: WiFi:
[10:26:13][C][wifi:360]:   Local MAC: 84:CC:A8:64:E5:E8
[10:26:13][C][wifi:361]:   SSID: [redacted]
[10:26:13][C][wifi:362]:   IP Address: 192.168.1.140
[10:26:13][C][wifi:364]:   BSSID: [redacted]
[10:26:13][C][wifi:365]:   Hostname: 'pipsolar'
[10:26:13][C][wifi:367]:   Signal strength: -68 dB ▂▄▆█
[10:26:13][V][wifi:369]:   Priority: 0.0
[10:26:13][C][wifi:371]:   Channel: 4
[10:26:13][C][wifi:372]:   Subnet: 255.255.255.0
[10:26:13][C][wifi:373]:   Gateway: 192.168.1.3
[10:26:13][C][wifi:374]:   DNS1: 192.168.1.3
[10:26:13][C][wifi:375]:   DNS2: 0.0.0.0
[10:26:14][C][logger:275]: Logger:
[10:26:14][C][logger:276]:   Level: VERY_VERBOSE
[10:26:14][C][logger:277]:   Log Baud Rate: 115200
[10:26:14][C][logger:278]:   Hardware UART: UART1
[10:26:14][C][uart.arduino_esp32:107]: UART Bus:
[10:26:14][C][uart.arduino_esp32:108]:   TX Pin: GPIO1
[10:26:14][C][uart.arduino_esp32:109]:   RX Pin: GPIO3
[10:26:14][C][uart.arduino_esp32:111]:   RX Buffer Size: 256
[10:26:14][C][uart.arduino_esp32:113]:   Baud Rate: 2400 baud
[10:26:14][C][uart.arduino_esp32:114]:   Data Bits: 8
[10:26:14][C][uart.arduino_esp32:115]:   Parity: NONE
[10:26:14][C][uart.arduino_esp32:116]:   Stop bits: 1
[10:26:14][C][pipsolar:913]: Pipsolar:
[10:26:14][C][pipsolar:914]: used commands:
[10:26:14][C][pipsolar:917]: QPIGS
[10:26:14][C][pipsolar:917]: QMOD
[10:26:14][C][pipsolar:917]: QFLAG
[10:26:14][C][pipsolar:917]: QPIRI
[10:26:14][C][pipsolar.switch:010]: Pipsolar Switch 'pipsolar output_source_priority_utility'
[10:26:14][C][pipsolar.switch:010]:   Icon: 'mdi:power'
[10:26:14][C][pipsolar.switch:010]: Pipsolar Switch 'pipsolar output_source_priority_solar'
[10:26:14][C][pipsolar.switch:010]:   Icon: 'mdi:power'
[10:26:14][C][pipsolar.switch:010]: Pipsolar Switch 'pipsolar output_source_priority_battery'
[10:26:14][C][pipsolar.switch:010]:   Icon: 'mdi:power'
[10:26:14][C][pipsolar.switch:010]: Pipsolar Switch 'pipsolar input_voltage_range'
[10:26:14][C][pipsolar.switch:010]:   Icon: 'mdi:power'
[10:26:14][VV][scheduler:196]: Running interval 'update' with interval=1000 last_execution=6816 (now=7820)
[10:26:14][C][pipsolar.switch:010]: Pipsolar Switch 'pipsolar pv_ok_condition_for_parallel'
[10:26:14][C][pipsolar.switch:010]:   Icon: 'mdi:power'
[10:26:14][C][pipsolar.switch:010]: Pipsolar Switch 'pipsolar pv_power_balance'
[10:26:14][C][pipsolar.switch:010]:   Icon: 'mdi:power'
[10:26:14][C][mdns:100]: mDNS:
[10:26:14][C][mdns:101]:   Hostname: pipsolar
[10:26:14][V][mdns:102]:   Services:
[10:26:14][V][mdns:104]:   - _esphomelib, _tcp, 6053
[10:26:14][V][mdns:106]:     TXT: version = 2022.9.4
[10:26:14][V][mdns:106]:     TXT: mac = 84cca864e5e8
[10:26:14][V][mdns:106]:     TXT: platform = ESP32
[10:26:14][V][mdns:106]:     TXT: board = esp-wrover-kit
[10:26:14][V][mdns:106]:     TXT: network = wifi
[10:26:14][C][ota:089]: Over-The-Air Updates:
[10:26:14][C][ota:090]:   Address: pipsolar.local:3232
[10:26:14][C][ota:093]:   Using Password.
[10:26:14][C][api:138]: API Server:
[10:26:14][C][api:139]:   Address: pipsolar.local:6053
[10:26:14][C][api:141]:   Using noise encryption: YES
[10:26:14][D][pipsolar:891]: Sending polling command : QPIGS with length 5
[10:26:14][D][pipsolar:825]: checking crc on incoming message
[10:26:14][D][pipsolar:828]: CRC OK
[10:26:14][D][pipsolar:448]: Decode QPIGS
[10:26:14][V][sensor:076]: 'pipsolar grid_voltage': Received new state 0.000000
[10:26:14][D][sensor:127]: 'pipsolar grid_voltage': Sending state 0.00000 V with 1 decimals of accuracy
[10:26:14][V][sensor:076]: 'pipsolar grid_frequency': Received new state 0.000000
[10:26:14][D][sensor:127]: 'pipsolar grid_frequency': Sending state 0.00000 Hz with 1 decimals of accuracy
[10:26:14][V][sensor:076]: 'pipsolar ac_output_voltage': Received new state 0.000000
[10:26:14][D][sensor:127]: 'pipsolar ac_output_voltage': Sending state 0.00000 V with 1 decimals of accuracy
[10:26:14][V][sensor:076]: 'pipsolar ac_output_frequency': Received new state 0.000000
[10:26:14][D][sensor:127]: 'pipsolar ac_output_frequency': Sending state 0.00000 Hz with 1 decimals of accuracy
[10:26:14][V][sensor:076]: 'pipsolar ac_output_apparent_power': Received new state 0.000000
[10:26:14][D][sensor:127]: 'pipsolar ac_output_apparent_power': Sending state 0.00000 VA with 1 decimals of accuracy
[10:26:14][V][sensor:076]: 'pipsolar ac_output_active_power': Received new state 0.000000
[10:26:14][D][sensor:127]: 'pipsolar ac_output_active_power': Sending state 0.00000 W with 1 decimals of accuracy
[10:26:14][V][sensor:076]: 'pipsolar output_load_percent': Received new state 0.000000
[10:26:14][D][sensor:127]: 'pipsolar output_load_percent': Sending state 0.00000 % with 1 decimals of accuracy
[10:26:14][V][sensor:076]: 'pipsolar bus_voltage': Received new state 0.000000
[10:26:14][D][sensor:127]: 'pipsolar bus_voltage': Sending state 0.00000 V with 1 decimals of accuracy
[10:26:14][V][sensor:076]: 'pipsolar battery_voltage': Received new state 0.000000
[10:26:14][D][sensor:127]: 'pipsolar battery_voltage': Sending state 0.00000 V with 1 decimals of accuracy
[10:26:15][V][sensor:076]: 'pipsolar battery_charging_current': Received new state 0.000000
[10:26:15][D][sensor:127]: 'pipsolar battery_charging_current': Sending state 0.00000 A with 1 decimals of accuracy
[10:26:15][V][sensor:076]: 'pipsolar battery_capacity_percent': Received new state 0.000000
[10:26:15][D][sensor:127]: 'pipsolar battery_capacity_percent': Sending state 0.00000 % with 1 decimals of accuracy
[10:26:15][V][sensor:076]: 'pipsolar inverter_heat_sink_temperature': Received new state 0.000000
[10:26:15][D][sensor:127]: 'pipsolar inverter_heat_sink_temperature': Sending state 0.00000 °C with 1 decimals of accuracy
[10:26:15][V][sensor:076]: 'pipsolar pv_input_current_for_battery': Received new state 0.000000
[10:26:15][D][sensor:127]: 'pipsolar pv_input_current_for_battery': Sending state 0.00000 A with 1 decimals of accuracy
[10:26:15][V][sensor:076]: 'pipsolar pv_input_voltage': Received new state 0.000000
[10:26:15][D][sensor:127]: 'pipsolar pv_input_voltage': Sending state 0.00000 V with 1 decimals of accuracy
[10:26:15][V][sensor:076]: 'pipsolar battery_voltage_scc': Received new state 0.000000
[10:26:15][D][sensor:127]: 'pipsolar battery_voltage_scc': Sending state 0.00000 V with 1 decimals of accuracy
[10:26:15][V][sensor:076]: 'pipsolar battery_discharge_current': Received new state 0.000000
[10:26:15][D][sensor:127]: 'pipsolar battery_discharge_current': Sending state 0.00000 A with 1 decimals of accuracy
[10:26:15][D][binary_sensor:036]: 'pipsolar add_sbu_priority_version': Sending state OFF
[10:26:15][D][binary_sensor:036]: 'pipsolar configuration_status': Sending state OFF
[10:26:15][D][binary_sensor:036]: 'pipsolar load_status': Sending state OFF
[10:26:15][D][binary_sensor:036]: 'pipsolar battery_voltage_to_steady_while_charging': Sending state OFF
[10:26:15][D][binary_sensor:036]: 'pipsolar charging_status': Sending state OFF
[10:26:15][D][binary_sensor:036]: 'pipsolar scc_charging_status': Sending state OFF
[10:26:15][D][binary_sensor:036]: 'pipsolar ac_charging_status': Sending state OFF
[10:26:15][V][sensor:076]: 'pipsolar battery_voltage_offset_for_fans_on': Received new state 0.000000
[10:26:15][D][sensor:127]: 'pipsolar battery_voltage_offset_for_fans_on': Sending state 0.00000 V with 1 decimals of accuracy
[10:26:15][V][sensor:076]: 'pipsolar pv_charging_power': Received new state 0.000000
[10:26:15][D][sensor:127]: 'pipsolar pv_charging_power': Sending state 0.00000 W with 1 decimals of accuracy
[10:26:15][D][binary_sensor:036]: 'pipsolar charging_to_floating_mode': Sending state OFF
[10:26:15][D][binary_sensor:036]: 'pipsolar switch_on': Sending state OFF
[10:26:15][V][component:199]: Component esphome.coroutine took a long time for an operation (0.38 s).
[10:26:15][V][component:200]: Components should block for at most 20-30ms.
[10:26:15][VV][scheduler:196]: Running interval 'update' with interval=1000 last_execution=7816 (now=8901)
[10:26:15][D][pipsolar:891]: Sending polling command : QMOD with length 4
[10:26:15][D][pipsolar:825]: checking crc on incoming message
[10:26:15][D][pipsolar:828]: CRC OK
[10:26:15][D][pipsolar:524]: Decode QMOD
[10:26:15][V][text_sensor:016]: 'pipsolar device_mode': Received new state M
[10:26:15][D][text_sensor:067]: 'pipsolar device_mode': Sending state 'M'
[10:26:16][VV][scheduler:196]: Running interval 'update' with interval=1000 last_execution=8816 (now=9816)
[10:26:16][D][pipsolar:891]: Sending polling command : QFLAG with length 5
[10:26:16][D][pipsolar:825]: checking crc on incoming message
[10:26:16][D][pipsolar:828]: CRC OK
[10:26:16][D][pipsolar:532]: Decode QFLAG
[10:26:17][VV][scheduler:196]: Running interval 'update' with interval=1000 last_execution=9816 (now=10818)
[10:26:17][D][pipsolar:891]: Sending polling command : QPIRI with length 5
[10:26:17][D][pipsolar:825]: checking crc on incoming message
[10:26:17][D][pipsolar:828]: CRC OK
[10:26:17][D][pipsolar:429]: Decode QPIRI
[10:26:18][VV][scheduler:196]: Running interval 'update' with interval=1000 last_execution=10816 (now=11817)
[10:26:18][D][pipsolar:891]: Sending polling command : QPIGS with length 5
[10:26:18][D][pipsolar:825]: checking crc on incoming message
[10:26:18][D][pipsolar:828]: CRC OK
[10:26:18][D][pipsolar:448]: Decode QPIGS
[10:26:18][V][sensor:076]: 'pipsolar grid_voltage': Received new state 0.000000
[10:26:18][D][sensor:127]: 'pipsolar grid_voltage': Sending state 0.00000 V with 1 decimals of accuracy
[10:26:18][V][sensor:076]: 'pipsolar grid_frequency': Received new state 0.000000
[10:26:18][D][sensor:127]: 'pipsolar grid_frequency': Sending state 0.00000 Hz with 1 decimals of accuracy
[10:26:18][V][sensor:076]: 'pipsolar ac_output_voltage': Received new state 0.000000
[10:26:18][D][sensor:127]: 'pipsolar ac_output_voltage': Sending state 0.00000 V with 1 decimals of accuracy
[10:26:18][V][sensor:076]: 'pipsolar ac_output_frequency': Received new state 0.000000
[10:26:18][D][sensor:127]: 'pipsolar ac_output_frequency': Sending state 0.00000 Hz with 1 decimals of accuracy
[10:26:18][V][sensor:076]: 'pipsolar ac_output_apparent_power': Received new state 0.000000
[10:26:18][D][sensor:127]: 'pipsolar ac_output_apparent_power': Sending state 0.00000 VA with 1 decimals of accuracy
[10:26:18][V][sensor:076]: 'pipsolar ac_output_active_power': Received new state 0.000000
[10:26:18][D][sensor:127]: 'pipsolar ac_output_active_power': Sending state 0.00000 W with 1 decimals of accuracy
[10:26:18][V][sensor:076]: 'pipsolar output_load_percent': Received new state 0.000000
[10:26:18][D][sensor:127]: 'pipsolar output_load_percent': Sending state 0.00000 % with 1 decimals of accuracy
[10:26:18][V][sensor:076]: 'pipsolar bus_voltage': Received new state 0.000000
[10:26:18][D][sensor:127]: 'pipsolar bus_voltage': Sending state 0.00000 V with 1 decimals of accuracy
[10:26:18][V][sensor:076]: 'pipsolar battery_voltage': Received new state 0.000000
[10:26:18][D][sensor:127]: 'pipsolar battery_voltage': Sending state 0.00000 V with 1 decimals of accuracy
[10:26:18][V][sensor:076]: 'pipsolar battery_charging_current': Received new state 0.000000
[10:26:19][D][sensor:127]: 'pipsolar battery_charging_current': Sending state 0.00000 A with 1 decimals of accuracy
[10:26:19][V][sensor:076]: 'pipsolar battery_capacity_percent': Received new state 0.000000
[10:26:19][D][sensor:127]: 'pipsolar battery_capacity_percent': Sending state 0.00000 % with 1 decimals of accuracy
[10:26:19][V][sensor:076]: 'pipsolar inverter_heat_sink_temperature': Received new state 0.000000
[10:26:19][D][sensor:127]: 'pipsolar inverter_heat_sink_temperature': Sending state 0.00000 °C with 1 decimals of accuracy
[10:26:19][V][sensor:076]: 'pipsolar pv_input_current_for_battery': Received new state 0.000000
[10:26:19][D][sensor:127]: 'pipsolar pv_input_current_for_battery': Sending state 0.00000 A with 1 decimals of accuracy
[10:26:19][V][sensor:076]: 'pipsolar pv_input_voltage': Received new state 0.000000
[10:26:19][D][sensor:127]: 'pipsolar pv_input_voltage': Sending state 0.00000 V with 1 decimals of accuracy
[10:26:19][V][sensor:076]: 'pipsolar battery_voltage_scc': Received new state 0.000000
[10:26:19][D][sensor:127]: 'pipsolar battery_voltage_scc': Sending state 0.00000 V with 1 decimals of accuracy
[10:26:19][V][sensor:076]: 'pipsolar battery_discharge_current': Received new state 0.000000
[10:26:19][D][sensor:127]: 'pipsolar battery_discharge_current': Sending state 0.00000 A with 1 decimals of accuracy
[10:26:19][V][sensor:076]: 'pipsolar battery_voltage_offset_for_fans_on': Received new state 0.000000
[10:26:19][D][sensor:127]: 'pipsolar battery_voltage_offset_for_fans_on': Sending state 0.00000 V with 1 decimals of accuracy
[10:26:19][V][sensor:076]: 'pipsolar pv_charging_power': Received new state 0.000000
[10:26:19][D][sensor:127]: 'pipsolar pv_charging_power': Sending state 0.00000 W with 1 decimals of accuracy
[10:26:19][V][component:199]: Component esphome.coroutine took a long time for an operation (0.31 s).
[10:26:19][V][component:200]: Components should block for at most 20-30ms.
[10:26:19][VV][scheduler:196]: Running interval 'update' with interval=1000 last_execution=11816 (now=12829)
[10:26:19][D][pipsolar:891]: Sending polling command : QMOD with length 4
[10:26:19][D][pipsolar:825]: checking crc on incoming message
[10:26:19][D][pipsolar:828]: CRC OK
[10:26:19][D][pipsolar:524]: Decode QMOD
[10:26:19][V][text_sensor:016]: 'pipsolar device_mode': Received new state M
[10:26:19][D][text_sensor:067]: 'pipsolar device_mode': Sending state 'M'
[10:26:20][VV][scheduler:196]: Running interval 'update' with interval=1000 last_execution=12816 (now=13820)
[10:26:20][D][pipsolar:891]: Sending polling command : QFLAG with length 5
[10:26:20][D][pipsolar:825]: checking crc on incoming message
[10:26:20][D][pipsolar:828]: CRC OK
[10:26:20][D][pipsolar:532]: Decode QFLAG
[10:26:21][VV][scheduler:196]: Running interval 'update' with interval=1000 last_execution=13816 (now=14816)
[10:26:21][D][pipsolar:891]: Sending polling command : QPIRI with length 5
[10:26:21][D][pipsolar:825]: checking crc on incoming message
[10:26:21][D][pipsolar:828]: CRC OK
[10:26:21][D][pipsolar:429]: Decode QPIRI
[10:26:22][VV][scheduler:196]: Running interval 'update' with interval=1000 last_execution=14816 (now=15816)
[10:26:22][D][pipsolar:891]: Sending polling command : QPIGS with length 5
[10:26:22][D][pipsolar:825]: checking crc on incoming message
[10:26:22][D][pipsolar:828]: CRC OK
[10:26:22][D][pipsolar:448]: Decode QPIGS

@franciscoasencio
Copy link

franciscoasencio commented Oct 15, 2022 via email

@Blackcamper
Copy link

@franciscoasencio
Thx for the input. I have try that and it did not work.
I have use another max3232 converter, and it doesn't work.
Do you have any more tips

@jowser7
Copy link

jowser7 commented Oct 16, 2022

@franciscoasencio
Sometimes the esp32 uart pins are used by other features. Mine is a heltec with oled. So I defined software uart 1 on other pins for pipsolar and used uart0 just for debug.
Since you're getting crc ok, I assumed the software knew what came in and just not sending it to its variable because the rx port is being used by your pc.

@Damianb0
Copy link

Damianb0 commented Nov 7, 2022

I have EASun ISOLAR-SMH-3K with RJ45 port, nodemcu v3 and RS232 TTL MAX3232. When I connect this together the output log from esphome is like:

[22:36:42][D][pipsolar:755]: timeout command to poll: QFLAG
[22:36:42][D][uart_debug:158]: >>> "QPIRI\xF8T\r"
[22:36:42][D][pipsolar:836]: Sending polling command : QPIRI with length 5
[22:36:42][D][uart_debug:158]: <<< "(230.0 01.3 230.0 50.0 01.3 3000 2400 24.0 24.5 23.5 28.8 27.0 2 20 20 0 1 4 - 01 1 0 27.0 0 0\xAF\x10\r"
[22:36:45][D][api:102]: Accepted 192.168.1.21
[22:36:46][D][api.connection:917]: Home Assistant 2022.10.5 (192.168.1.21): Connected successfully
[22:36:47][D][pipsolar:755]: timeout command to poll: QPIRI
[22:36:47][D][uart_debug:158]: >>> "QPIGS\xB7\xA9\r"
[22:36:47][D][pipsolar:836]: Sending polling command : QPIGS with length 5
[22:36:47][D][uart_debug:158]: <<< "(001.0 00.0 228.0 50.0 0000 0000 000 381 25.36 000 041 0572 0000 000.0 25.90 00001 10010000 00 04 00000 000\x15\xE6\r"
[22:36:52][D][pipsolar:755]: timeout command to poll: QPIGS
[22:36:52][D][uart_debug:158]: >>> "QMODI\xC1\r"
[22:36:52][D][pipsolar:836]: Sending polling command : QMOD with length 4
[22:36:52][D][uart_debug:158]: <<< "(B\xE7\xC9\r"
[22:36:57][D][pipsolar:755]: timeout command to poll: QMOD
[22:36:57][D][uart_debug:158]: >>> "QFLAG\x98t\r"
[22:36:57][D][pipsolar:836]: Sending polling command : QFLAG with length 5
[22:36:57][D][uart_debug:158]: <<< "(EauxzDbjkvy\xBF#\r"
[22:37:02][D][pipsolar:755]: timeout command to poll: QFLAG
[22:37:02][D][uart_debug:158]: >>> "QPIRI\xF8T\r"
[22:37:02][D][pipsolar:836]: Sending polling command : QPIRI with length 5
[22:37:02][D][uart_debug:158]: <<< "(230.0 01.3 230.0 50.0 01.3 3000 2400 24.0 24.5 23.5 28.8 27.0 2 20 20 0 1 4 - 01 1 0 27.0 0 0\xAF\x10\r"
[22:37:07][D][pipsolar:755]: timeout command to poll: QPIRI
[22:37:07][D][uart_debug:158]: >>> "QPIGS\xB7\xA9\r"
[22:37:07][D][pipsolar:836]: Sending polling command : QPIGS with length 5
[22:37:08][D][uart_debug:158]: <<< "(001.0 00.0 228.0 50.0 0000 0000 000 381 25.36 000 041 0572 0000 000.0 25.90 00001 10010000 00 04 00000 000\x15\xE6\r"
[22:37:12][D][pipsolar:755]: timeout command to poll: QPIGS
[22:37:12][D][uart_debug:158]: >>> "QMODI\xC1\r"

This is my config file:

esphome:
name: easun
platform: ESP8266
board: nodemcuv2

logger:
baud_rate: 0
hardware_uart: uart1

api:
encryption:
key:

ota:
password:

wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password

ap:
ssid:
password:

web_server:
port: 80

substitutions:
name: pipsolar

uart:
id: uart0
baud_rate: 2400
tx_pin: GPIO1
rx_pin: GPIO3
debug:
direction: BOTH
dummy_receiver: true
after:
delimiter: "\r"
sequence:
- lambda: UARTDebug::log_string(direction, bytes);

pipsolar:
uart_id: uart0
id: inverter0

The inverter returns some data but not all I think. And why there are timeout command to poll

@ans-gw
Copy link

ans-gw commented Nov 11, 2022

I need help with this Yaml.
Before i use an Esp8266 with 2 button and 1 led to change inverter from Battery to Line with MQTT,
but now I m not able to do anymore;I try to modify Yaml with
switch.inverter_output_source_priority_battery - Inverter output_source_priority_utility but
give me error compile.

How shoul do?
This the old mqtt yaml:

binary_sensor:

  • platform: gpio
    pin: D5
    name: "Shower On"
    on_press:
    then:
    - mqtt.publish:
    topic: homeassistant/doccia/doccia on
    payload: "POP01"
    - switch.turn_on: onboard_led
    - logger.log: "DOCCIA ON"

  • platform: gpio
    pin: D6
    name: "Shower Off"
    on_press:
    then:
    - mqtt.publish:
    topic: homeassistant/doccia/doccia off
    payload: "POP02"
    - switch.turn_off: onboard_led
    - logger.log: "DOCCIA OFF"

@syssi
Copy link
Owner

syssi commented Nov 11, 2022

Could you provide the error message?

@ans-gw
Copy link

ans-gw commented Nov 11, 2022

Hi,
this is the error:IDs must only consist of upper/lowercase characters, the underscorecharacter and numbers. The character '.' cannot be used.I think I am making something wrong.
This is yaml:

binary_sensor:

  • platform: gpio
    pin: D5
    name: "Shower On"
    on_press:
    then:
    - switch.toggle: switch.inveter_output_source_priority_utility
    - switch.turn_on: green_led
    - logger.log: "DOCCIA ON"

Thanks for quick reply.

@syssi
Copy link
Owner

syssi commented Nov 11, 2022

Please provide your complete YAML. The snippet doesn't contain the mentioned error IMO.

@ans-gw
Copy link

ans-gw commented Nov 11, 2022

This is all yaml,and the error.

esphome:
  name: shower-control
  platform: ESP8266
  board: nodemcuv2

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  manual_ip:
    static_ip: 192.168.xxx.xxx
    gateway: 192.168.xxx.xxx   
    subnet: 255.xxx.xxx.xxx
  

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:
  password: "secret api_password"

ota:
  password: "secret ota_password"
  


binary_sensor:
  - platform: gpio
    pin: D5
    name: "Shower On"  
    on_press:
      then:
        - switch.toggle: switch.inveter_output_source_priority_utility      
        - switch.turn_on: green_led
        - logger.log: "DOCCIA ON"
       
  - platform: gpio
    pin: D6
    name: "Shower Off"  
    on_press:
      then:        
        - switch.toggle: switch.inveter_output_source_priority_battery           
        - switch.turn_off: green_led  
        - logger.log: "DOCCIA OFF"                        
 
        
switch:
  - platform: gpio
    id: green_led
    pin:
      number: D2
      mode: OUTPUT
    restore_mode: ALWAYS_OFF  



Error:
INFO Reading configuration /config/esphome/shower-control.yaml...
Failed config

binary_sensor.gpio: [source /config/esphome/shower-control.yaml:30]
  platform: gpio
  pin: D5
  name: Shower On
  on_press: 
    then: 
      - 
        IDs must only consist of upper/lowercase characters, the underscorecharacter and numbers. The character '.' cannot be used.
        switch.toggle: switch.inveter_output_source_priority_utility
      - switch.turn_on: green_led
      - logger.log: DOCCIA ON
binary_sensor.gpio: [source /config/esphome/shower-control.yaml:39]
  platform: gpio
  pin: D6
  name: Shower Off
  on_press: 
    then: 
      - 
        IDs must only consist of upper/lowercase characters, the underscorecharacter and numbers. The character '.' cannot be used.
        switch.toggle: switch.inveter_output_source_priority_battery
      - switch.turn_off: green_led
      - logger.log: DOCCIA OFF

Thank you

P.S:yestarday jk bms lcd screen is death,stayblack no turn on.

@syssi
Copy link
Owner

syssi commented Nov 11, 2022

After switch.toggle you have to use an ID and no entity name:

    on_press:
      then:
        - switch.toggle: inveter_output_source_priority_utility

@ans-gw
Copy link

ans-gw commented Nov 11, 2022

i tryed already ,have different error.

INFO Reading configuration /config/esphome/shower-control.yaml...
Failed config

binary_sensor.gpio: [source /config/esphome/shower-control.yaml:30]
platform: gpio
pin:
number: 14
mode:
input: True
analog: False
output: False
open_drain: False
pullup: False
pulldown: False
inverted: False
name: Shower On
on_press:
- then:
- switch.toggle:

        Couldn't find ID 'inveter_output_source_priority_utility'. Please check you have defined an ID with that name in your configuration.

@syssi
Copy link
Owner

syssi commented Nov 12, 2022

Do you use pipsolar on the same ESPHome device or another one?

@ans-gw
Copy link

ans-gw commented Nov 12, 2022

Pipsolar is in onother Esphome device.

@syssi
Copy link
Owner

syssi commented Nov 12, 2022

You cannot control switches on another node without making the switch entity available. Please check out the homeassistant component if you are using HA. You can use it to import / make available selected entities.

@syssi
Copy link
Owner

syssi commented Nov 12, 2022

Another idea is to move the automation (switch.toggle of a remote entity) into the HA instance where all entities are available/ easily accessible.

@ans-gw
Copy link

ans-gw commented Nov 12, 2022

mmm,looks no easy...
before Pipsolar I was using Voltronic Homeassistant with Mqtt and I easily menage switch.toggle,
and also can change Battery charge-discharge Voltages,Solaracharge Order (pcp01) and many other commands.
I think i ll use Pipsolar with mqtt,so will be more easy for me.
I ask you,can I send all the command in the protocol using Pipsolar with mqtt?
For me is very important to be able to change inverter parameter when I m not home.

@ans-gw
Copy link

ans-gw commented Dec 18, 2022

Another idea is to move the automation (switch.toggle of a remote entity) into the HA instance where all entities are available/ easily accessible.

can you please make a code example...
thanks you for help

@ans-gw
Copy link

ans-gw commented Dec 18, 2022

Hi,thanks fopr answer,
but I try and give me sensor status unknown!

Did you menage to do in other way?
Need help please.
Thank you

@dyak
Copy link

dyak commented Feb 17, 2023

Hi,

I'm truing to build this branch for my setup but I get an error while building. I've tried it via HA and via clean CLI setup but get the same error. Could somebody help, please.
image

@syssi
Copy link
Owner

syssi commented Feb 17, 2023

Please add a select entity from the example to your setup. It's required at the moment.

@dyak
Copy link

dyak commented Feb 18, 2023

Thanks. It helped. I've somehow missed to use example from that branch.

@albertdb
Copy link

albertdb commented Apr 2, 2024

I have EASun ISOLAR-SMH-3K

@Damianb0
Hi. Sorry to message you this way but I have trouble finding a SMH owner. Could you please tell me if USB (Utility first) is available as output source priority on this model? Thanks!

@franciscoasencio
Copy link

#albertdb Hi . Sorry can not help . I am with Voltronic/Axpert Systems.
Good day for you
Greetings

@jopl
Copy link

jopl commented Jun 28, 2024

select

Dear syssi, I am sorry for my question, I am nwebie for HA ... how can I add a "select" entity from the example to my setup, please?
Thx for reply in advance. Regards, Josef.

@jopl
Copy link

jopl commented Jun 29, 2024

Hi syssi, in the meanwhile, I solved it ...
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:).
Thanks very much for hints.
Regards, Josef.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests