Git Product home page Git Product logo

Comments (14)

syssi avatar syssi commented on September 23, 2024
external_components:
  - source: github://syssi/esphome-pipsolar@hms-3k-24v
    refresh: 0s

I've added an example response (extracted from your logs) to the parser: 9ea662c

IMO the different fields & values doesn't align with your device. Could you try to ask the seller for some specs / protocol description? A description for every value/field would be awesome:

Pos.:    1     2     3    4     5   ...  
Values: 001.0 00.0 229.0 50.0 0000 0000 000 413 27.23 000 100 0672 0000 000.0 00.00 00001 10010000 00 04 00000 000

from esphome-pipsolar.

diybateriaslifepo4 avatar diybateriaslifepo4 commented on September 23, 2024

I bought it from an aliexpress seller, I have asked him for various things like firmware update and he does not offer any support.
But I will try again, thank you.

from esphome-pipsolar.

diybateriaslifepo4 avatar diybateriaslifepo4 commented on September 23, 2024
external_components:
  - source: github://syssi/esphome-pipsolar@hms-3k-24v
    refresh: 0s

I've added an example response (extracted from your logs) to the parser: 9ea662c

IMO the different fields & values doesn't align with your device. Could you try to ask the seller for some specs / protocol description? A description for every value/field would be awesome:

Pos.:    1     2     3    4     5   ...  
Values: 001.0 00.0 229.0 50.0 0000 0000 000 413 27.23 000 100 0672 0000 000.0 00.00 00001 10010000 00 04 00000 000

I have tried this, but nothing has changed, the temperature is still wrong and the SBU mode can not be activated
I leave you the current log in case you see something else.

[00:03:34][V][text_sensor:016]: 'pipsolar last_qflag': Received new state (EbDajkuvxyz
[00:03:34][D][text_sensor:067]: 'pipsolar last_qflag': Sending state '(EbDajkuvxyz'
[00:03:34][VV][scheduler:185]: Running interval 'update' with interval=1000 last_execution=223195 (now=224196)
[00:03:34][D][pipsolar:890]: Sending polling command : QPIRI with length 5
[00:03:35][D][pipsolar:824]: checking crc on incoming message
[00:03:35][D][pipsolar:827]: CRC OK
[00:03:35][D][pipsolar:429]: Decode QPIRI
[00:03:35][V][text_sensor:016]: 'pipsolar last_qpiri': Received new state (230.0 13.0 230.0 50.0 13.0 3000 2400 24.0 23.5 23.0 27.8 27.2 2 30 50 0 1 2 - 01 1 0 24.0 0 0
[00:03:35][D][text_sensor:067]: 'pipsolar last_qpiri': Sending state '(230.0 13.0 230.0 50.0 13.0 3000 2400 24.0 23.5 23.0 27.8 27.2 2 30 50 0 1 2 - 01 1 0 24.0 0 0'
[00:03:35][D][sensor:113]: 'pipsolar grid_rating_voltage': Sending state 230.00000 V with 1 decimals of accuracy
[00:03:35][D][sensor:113]: 'pipsolar grid_rating_current': Sending state 13.00000 A with 1 decimals of accuracy
[00:03:35][D][sensor:113]: 'pipsolar ac_output_rating_voltage': Sending state 230.00000 V with 1 decimals of accuracy
[00:03:35][D][sensor:113]: 'pipsolar ac_output_rating_frequency': Sending state 50.00000 Hz with 1 decimals of accuracy
[00:03:35][D][sensor:113]: 'pipsolar ac_output_rating_current': Sending state 13.00000 A with 1 decimals of accuracy
[00:03:35][D][sensor:113]: 'pipsolar ac_output_rating_apparent_power': Sending state 3000.00000 VA with 1 decimals of accuracy
[00:03:35][D][sensor:113]: 'pipsolar ac_output_rating_active_power': Sending state 2400.00000 W with 1 decimals of accuracy
[00:03:35][D][sensor:113]: 'pipsolar battery_rating_voltage': Sending state 24.00000 V with 1 decimals of accuracy
[00:03:35][D][sensor:113]: 'pipsolar battery_recharge_voltage': Sending state 23.50000 V with 1 decimals of accuracy
[00:03:35][D][sensor:113]: 'pipsolar battery_under_voltage': Sending state 23.00000 V with 1 decimals of accuracy
[00:03:35][D][sensor:113]: 'pipsolar battery_bulk_voltage': Sending state 27.80000 V with 1 decimals of accuracy
[00:03:35][D][sensor:113]: 'pipsolar battery_float_voltage': Sending state 27.20000 V with 1 decimals of accuracy
[00:03:35][D][sensor:113]: 'pipsolar battery_type': Sending state 2.00000 with 1 decimals of accuracy
[00:03:35][D][sensor:113]: 'pipsolar current_max_ac_charging_current': Sending state 30.00000 A with 1 decimals of accuracy
[00:03:35][D][sensor:113]: 'pipsolar current_max_charging_current': Sending state 50.00000 A with 1 decimals of accuracy
[00:03:35][D][sensor:113]: 'pipsolar input_voltage_range': Sending state 0.00000 with 1 decimals of accuracy
[00:03:35][D][sensor:113]: 'pipsolar output_source_priority': Sending state 1.00000 with 1 decimals of accuracy
[00:03:35][D][sensor:113]: 'pipsolar charger_source_priority': Sending state 2.00000 with 1 decimals of accuracy
[00:03:35][D][sensor:113]: 'pipsolar output_mode': Sending state 0.00000 with 1 decimals of accuracy
[00:03:35][D][sensor:113]: 'pipsolar battery_redischarge_voltage': Sending state 0.00000 with 1 decimals of accuracy
[00:03:35][D][sensor:113]: 'pipsolar pv_power_balance': Sending state 0.00000 with 1 decimals of accuracy
[00:03:35][VV][scheduler:185]: Running interval 'update' with interval=1000 last_execution=224195 (now=225197)
[00:03:35][D][pipsolar:890]: Sending polling command : QPIGS with length 5
[00:03:36][D][pipsolar:824]: checking crc on incoming message
[00:03:36][D][pipsolar:827]: CRC OK
[00:03:36][D][pipsolar:448]: Decode QPIGS
[00:03:36][V][text_sensor:016]: 'pipsolar last_qpigs': Received new state (001.0 00.0 228.0 50.0 0000 0000 000 413 27.23 000 100 0629 0000 000.0 00.00 00001 10010000 00 04 00000 000
[00:03:36][D][text_sensor:067]: 'pipsolar last_qpigs': Sending state '(001.0 00.0 228.0 50.0 0000 0000 000 413 27.23 000 100 0629 0000 000.0 00.00 00001 10010000 00 04 00000 000'
[00:03:36][D][sensor:113]: 'pipsolar grid_voltage': Sending state 1.00000 V with 1 decimals of accuracy
[00:03:36][D][sensor:113]: 'pipsolar grid_frequency': Sending state 0.00000 Hz with 1 decimals of accuracy
[00:03:36][D][sensor:113]: 'pipsolar ac_output_voltage': Sending state 228.00000 V with 1 decimals of accuracy
[00:03:36][D][sensor:113]: 'pipsolar ac_output_frequency': Sending state 50.00000 Hz with 1 decimals of accuracy
[00:03:36][D][sensor:113]: 'pipsolar ac_output_apparent_power': Sending state 0.00000 VA with 1 decimals of accuracy
[00:03:36][D][sensor:113]: 'pipsolar ac_output_active_power': Sending state 0.00000 W with 1 decimals of accuracy
[00:03:36][D][sensor:113]: 'pipsolar output_load_percent': Sending state 0.00000 % with 1 decimals of accuracy
[00:03:36][D][sensor:113]: 'pipsolar bus_voltage': Sending state 413.00000 V with 1 decimals of accuracy
[00:03:36][D][sensor:113]: 'pipsolar battery_voltage': Sending state 27.23000 V with 1 decimals of accuracy
[00:03:36][D][sensor:113]: 'pipsolar battery_charging_current': Sending state 0.00000 A with 1 decimals of accuracy
[00:03:36][D][sensor:113]: 'pipsolar battery_capacity_percent': Sending state 100.00000 % with 1 decimals of accuracy
[00:03:36][D][sensor:113]: 'pipsolar inverter_heat_sink_temperature': Sending state 629.00000 °C with 1 decimals of accuracy
[00:03:36][D][sensor:113]: 'pipsolar pv_input_current_for_battery': Sending state 0.00000 A with 1 decimals of accuracy
[00:03:36][D][sensor:113]: 'pipsolar pv_input_voltage': Sending state 0.00000 V with 1 decimals of accuracy
[00:03:36][D][sensor:113]: 'pipsolar battery_voltage_scc': Sending state 0.00000 V with 1 decimals of accuracy
[00:03:36][D][sensor:113]: 'pipsolar battery_discharge_current': Sending state 1.00000 A with 1 decimals of accuracy
[00:03:36][D][sensor:113]: 'pipsolar pv_charging_power': Sending state 0.00000 W with 1 decimals of accuracy
[00:03:36][VV][scheduler:185]: Running interval 'update' with interval=1000 last_execution=225195 (now=226197)
[00:03:36][D][pipsolar:890]: Sending polling command : QMOD with length 4
[00:03:36][D][pipsolar:824]: checking crc on incoming message
[00:03:36][D][pipsolar:827]: CRC OK
[00:03:37][D][pipsolar:523]: Decode QMOD
[00:03:37][V][text_sensor:016]: 'pipsolar last_qmod': Received new state (B
[00:03:37][D][text_sensor:067]: 'pipsolar last_qmod': Sending state '(B'
[00:03:37][V][text_sensor:016]: 'pipsolar device_mode': Received new state B
[00:03:37][D][text_sensor:067]: 'pipsolar device_mode': Sending state 'B'
[00:03:37][VV][scheduler:185]: Running interval 'update' with interval=1000 last_execution=226195 (now=227198)
[00:03:37][D][pipsolar:890]: Sending polling command : QFLAG with length 5

from esphome-pipsolar.

diybateriaslifepo4 avatar diybateriaslifepo4 commented on September 23, 2024

One more thing, the equipment is without solar panels or 220v input connected, I have it on the test table connected to a power supply.

from esphome-pipsolar.

diybateriaslifepo4 avatar diybateriaslifepo4 commented on September 23, 2024

I have just done a test, I have connected the inverter to the watchpower software, and I have activated the SBU mode, then I have connected it again to the esp8266 and it appears that it is in SBU mode correctly.
I'll leave you the log for what it's worth:

[00:12:01][VV][scheduler:185]: Running interval 'update' with interval=1000 last_execution=730195 (now=731195)
[00:12:01][D][pipsolar:890]: Sending polling command : QPIRI with length 5
[00:12:02][D][pipsolar:824]: checking crc on incoming message
[00:12:02][D][pipsolar:827]: CRC OK
[00:12:02][D][pipsolar:429]: Decode QPIRI
[00:12:02][V][text_sensor:016]: 'pipsolar last_qpiri': Received new state (230.0 13.0 230.0 50.0 13.0 3000 2400 24.0 23.5 23.0 27.8 27.2 2 30 50 0 2 2 - 01 1 0 24.0 0 0
[00:12:02][D][text_sensor:067]: 'pipsolar last_qpiri': Sending state '(230.0 13.0 230.0 50.0 13.0 3000 2400 24.0 23.5 23.0 27.8 27.2 2 30 50 0 2 2 - 01 1 0 24.0 0 0'
[00:12:02][D][sensor:113]: 'pipsolar grid_rating_voltage': Sending state 230.00000 V with 1 decimals of accuracy
[00:12:02][D][sensor:113]: 'pipsolar grid_rating_current': Sending state 13.00000 A with 1 decimals of accuracy
[00:12:02][D][sensor:113]: 'pipsolar ac_output_rating_voltage': Sending state 230.00000 V with 1 decimals of accuracy
[00:12:02][D][sensor:113]: 'pipsolar ac_output_rating_frequency': Sending state 50.00000 Hz with 1 decimals of accuracy
[00:12:02][D][sensor:113]: 'pipsolar ac_output_rating_current': Sending state 13.00000 A with 1 decimals of accuracy
[00:12:02][D][sensor:113]: 'pipsolar ac_output_rating_apparent_power': Sending state 3000.00000 VA with 1 decimals of accuracy
[00:12:02][D][sensor:113]: 'pipsolar ac_output_rating_active_power': Sending state 2400.00000 W with 1 decimals of accuracy
[00:12:02][D][sensor:113]: 'pipsolar battery_rating_voltage': Sending state 24.00000 V with 1 decimals of accuracy
[00:12:02][D][sensor:113]: 'pipsolar battery_recharge_voltage': Sending state 23.50000 V with 1 decimals of accuracy
[00:12:02][D][sensor:113]: 'pipsolar battery_under_voltage': Sending state 23.00000 V with 1 decimals of accuracy
[00:12:02][D][sensor:113]: 'pipsolar battery_bulk_voltage': Sending state 27.80000 V with 1 decimals of accuracy
[00:12:02][D][sensor:113]: 'pipsolar battery_float_voltage': Sending state 27.20000 V with 1 decimals of accuracy
[00:12:02][D][sensor:113]: 'pipsolar battery_type': Sending state 2.00000 with 1 decimals of accuracy
[00:12:02][D][sensor:113]: 'pipsolar current_max_ac_charging_current': Sending state 30.00000 A with 1 decimals of accuracy
[00:12:02][D][sensor:113]: 'pipsolar current_max_charging_current': Sending state 50.00000 A with 1 decimals of accuracy
[00:12:02][D][sensor:113]: 'pipsolar input_voltage_range': Sending state 0.00000 with 1 decimals of accuracy
[00:12:02][D][sensor:113]: 'pipsolar output_source_priority': Sending state 2.00000 with 1 decimals of accuracy
[00:12:02][D][sensor:113]: 'pipsolar charger_source_priority': Sending state 2.00000 with 1 decimals of accuracy
[00:12:02][D][sensor:113]: 'pipsolar output_mode': Sending state 0.00000 with 1 decimals of accuracy
[00:12:02][D][sensor:113]: 'pipsolar battery_redischarge_voltage': Sending state 0.00000 with 1 decimals of accuracy
[00:12:02][D][sensor:113]: 'pipsolar pv_power_balance': Sending state 0.00000 with 1 decimals of accuracy
[00:12:02][VV][scheduler:185]: Running interval 'update' with interval=1000 last_execution=731195 (now=732197)
[00:12:02][D][pipsolar:890]: Sending polling command : QPIGS with length 5
[00:12:03][D][pipsolar:824]: checking crc on incoming message
[00:12:03][D][pipsolar:827]: CRC OK
[00:12:03][D][pipsolar:448]: Decode QPIGS
[00:12:03][V][text_sensor:016]: 'pipsolar last_qpigs': Received new state (001.0 00.0 229.0 50.0 0000 0000 000 414 27.29 000 100 0575 0000 000.0 00.00 00001 10010000 00 04 00000 000
[00:12:03][D][text_sensor:067]: 'pipsolar last_qpigs': Sending state '(001.0 00.0 229.0 50.0 0000 0000 000 414 27.29 000 100 0575 0000 000.0 00.00 00001 10010000 00 04 00000 000'
[00:12:03][D][sensor:113]: 'pipsolar grid_voltage': Sending state 1.00000 V with 1 decimals of accuracy
[00:12:03][D][sensor:113]: 'pipsolar grid_frequency': Sending state 0.00000 Hz with 1 decimals of accuracy
[00:12:03][D][sensor:113]: 'pipsolar ac_output_voltage': Sending state 229.00000 V with 1 decimals of accuracy
[00:12:03][D][sensor:113]: 'pipsolar ac_output_frequency': Sending state 50.00000 Hz with 1 decimals of accuracy
[00:12:03][D][sensor:113]: 'pipsolar ac_output_apparent_power': Sending state 0.00000 VA with 1 decimals of accuracy
[00:12:03][D][sensor:113]: 'pipsolar ac_output_active_power': Sending state 0.00000 W with 1 decimals of accuracy
[00:12:03][D][sensor:113]: 'pipsolar output_load_percent': Sending state 0.00000 % with 1 decimals of accuracy
[00:12:03][D][sensor:113]: 'pipsolar bus_voltage': Sending state 414.00000 V with 1 decimals of accuracy
[00:12:03][D][sensor:113]: 'pipsolar battery_voltage': Sending state 27.29000 V with 1 decimals of accuracy
[00:12:03][D][sensor:113]: 'pipsolar battery_charging_current': Sending state 0.00000 A with 1 decimals of accuracy
[00:12:03][D][sensor:113]: 'pipsolar battery_capacity_percent': Sending state 100.00000 % with 1 decimals of accuracy
[00:12:03][D][sensor:113]: 'pipsolar inverter_heat_sink_temperature': Sending state 575.00000 °C with 1 decimals of accuracy
[00:12:03][D][sensor:113]: 'pipsolar pv_input_current_for_battery': Sending state 0.00000 A with 1 decimals of accuracy
[00:12:03][D][sensor:113]: 'pipsolar pv_input_voltage': Sending state 0.00000 V with 1 decimals of accuracy
[00:12:03][D][sensor:113]: 'pipsolar battery_voltage_scc': Sending state 0.00000 V with 1 decimals of accuracy
[00:12:03][D][sensor:113]: 'pipsolar battery_discharge_current': Sending state 1.00000 A with 1 decimals of accuracy
[00:12:03][D][sensor:113]: 'pipsolar pv_charging_power': Sending state 0.00000 W with 1 decimals of accuracy
[00:12:03][VV][scheduler:185]: Running interval 'update' with interval=1000 last_execution=732195 (now=733199)
[00:12:03][D][pipsolar:890]: Sending polling command : QMOD with length 4
[00:12:03][D][pipsolar:824]: checking crc on incoming message
[00:12:03][D][pipsolar:827]: CRC OK
[00:12:03][D][pipsolar:523]: Decode QMOD
[00:12:03][V][text_sensor:016]: 'pipsolar last_qmod': Received new state (B
[00:12:03][D][text_sensor:067]: 'pipsolar last_qmod': Sending state '(B'
[00:12:03][V][text_sensor:016]: 'pipsolar device_mode': Received new state B
[00:12:03][D][text_sensor:067]: 'pipsolar device_mode': Sending state 'B'
[00:12:04][VV][scheduler:185]: Running interval 'update' with interval=1000 last_execution=733195 (now=734195)
[00:12:04][D][pipsolar:890]: Sending polling command : QFLAG with length 5
[00:12:04][D][pipsolar:824]: checking crc on incoming message
[00:12:04][D][pipsolar:827]: CRC OK
[00:12:04][D][pipsolar:531]: Decode QFLAG

from esphome-pipsolar.

diybateriaslifepo4 avatar diybateriaslifepo4 commented on September 23, 2024

image
so it appears to me as correctly activated, if I select another of the two modes it changes correctly, but I can no longer select SBU again.

from esphome-pipsolar.

syssi avatar syssi commented on September 23, 2024

Good job! Using watchpower is a good idea. It's possible to capture the command to switch the modes from watchtower? It looks like sensing the mode works fine but the command to change the mode is bogus.

from esphome-pipsolar.

diybateriaslifepo4 avatar diybateriaslifepo4 commented on September 23, 2024

Good job! Using watchpower is a good idea. It's possible to capture the command to switch the modes from watchtower? It looks like sensing the mode works fine but the command to change the mode is bogus.

I don't know how to do it, if you teach me I will do it 😅

from esphome-pipsolar.

syssi avatar syssi commented on September 23, 2024

@diybateriaslifepo4 Could you provide your yaml configuration?

from esphome-pipsolar.

syssi avatar syssi commented on September 23, 2024

The important parts of your logs:

# Try to enable POP02 (Solar->Battery->Utility)
[09:12:08][D][switch:013]: 'pipsolar output_source_priority_battery' Turning ON.
[09:12:08][D][pipsolar:908]: got command: POP02
[09:12:08][D][pipsolar:900]: Command queued successfully: POP02 with length 5 at position 3
[09:12:08][D][pipsolar:824]: checking crc on incoming message
[09:12:08][D][pipsolar:827]: CRC OK
[09:12:08][D][pipsolar:523]: Decode QMOD
[09:12:08][V][text_sensor:016]: 'pipsolar last_qmod': Received new state (B
[09:12:08][D][text_sensor:067]: 'pipsolar last_qmod': Sending state '(B'
[09:12:08][V][text_sensor:016]: 'pipsolar device_mode': Received new state B
[09:12:08][D][text_sensor:067]: 'pipsolar device_mode': Sending state 'B'
[09:12:08][D][pipsolar:859]: Sending command from queue: POP02 with length 5
[09:12:08][D][pipsolar:042]: response length for command OK
[09:12:08][D][pipsolar:824]: checking crc on incoming message
[09:12:08][D][pipsolar:827]: CRC OK
[09:12:08][D][pipsolar:048]: command not successful
#                                    ^^^ failed
# Try to enable POP01: Solar->Utility->Battery
[10:37:00][D][switch:013]: 'pipsolar output_source_priority_solar' Turning ON.
[10:37:00][D][pipsolar:856]: got command: POP01
[10:37:00][D][pipsolar:848]: Command queued successfully: POP01 with length 5 at position 0
[10:37:00][D][pipsolar:807]: Sending command from queue: POP01 with length 5
[10:37:00][D][pipsolar:042]: response length for command OK
[10:37:00][D][pipsolar:772]: checking crc on incoming message
[10:37:00][D][pipsolar:775]: CRC OK
[10:37:00][D][pipsolar:046]: command successful
                                     ^^^^^^^^^ success

The device responds with "ACK" on success and "NACK" if the command failed.

from esphome-pipsolar.

syssi avatar syssi commented on September 23, 2024

I've found this issue: jblance/mpp-solar#46

And this important detail:

Does your CRC generator work with the POP02 (battery output source priority)command? Mine gives E2 0A as the CRC but the box expects E2 0B.
https://forums.aeva.asn.au/viewtopic.php?p=53712#p53712

We should increase the log level of the uart component. ESPHome will print every transmitted & received byte to the log. The important part is the POP02 request.

$ echo -n POP02 | hexdump -C
00000000  50 4f 50 30 32                                    |POP02|

We are looking for something like this:

50.4F.50.30.32.E2.0A
# or
50.4F.50.30.32.E2.0B

from esphome-pipsolar.

syssi avatar syssi commented on September 23, 2024

How to increase the log level:

logger:
  level: VERY_VERBOSE
  logs:
    uart: VERY_VERBOSE
    uart.arduino_esp8266: VERY_VERBOSE
    # Make some components less verbose
    api.service: WARN
    ota: WARN

from esphome-pipsolar.

diybateriaslifepo4 avatar diybateriaslifepo4 commented on September 23, 2024

@diybateriaslifepo4 Could you provide your yaml configuration?

https://linkode.org/#Q3vnEtNCyBZ7rHxziKy032

from esphome-pipsolar.

lucasimons avatar lucasimons commented on September 23, 2024

@diybateriaslifepo4 Could you provide your yaml configuration?

https://linkode.org/#Q3vnEtNCyBZ7rHxziKy032

Hi, have you managed to get the various activations to work sbu uti, ect? do you have a picture of the connection of the rj45 to the converter?

from esphome-pipsolar.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.