Alpha Energy Storage System Batteries/PV inverters (alphaess.com)

Dear all,
AlphaESS.com keeps on changing their platform to avoid reading data from the site. They have recently implemented authsignature and authtimestamp to avoid using the data from the website. Some integrations/local modbus/MQTT converters,local server with DNS manipulation exist but they keep on depending on cloud.
AlphaESS has the folowring domains:
https://apicloud.alphaess.com/
https://service.alphaess.com/
https://api.alphaess.com/
https://cloud.alphaess.com/
All of those may be used to collect the battery data.

On your view, which would be the best way to collect data, considering the battery does not offer any local data collection?

1 Like

For the ones that didn’t manage to use AlphaESS API, here comes the compatible configuration using Modbus RTU:

the serial cable uses the pair on ports 4 and 5 for A and B on RS485. The port on the battery uses a RJ45 plug, so the two middle cables (pair) are the ones transporting the CAN/Modbus RTU data

you can install and use mbpoll on ubuntu command line to test

command would be something link mbpoll -m rtu -R -a 0x55 -b 9600 -t 3 -r 0x0014 -c 2 /dev/serial/by-id/usXXXXXXXXXXXX -B -v -d 8 -s 1 -P none

#modbus mapping is available online

  - name: alphaess
    type: serial
    method: rtu
# insert your USB port converter here (you can explore the directories using command line or in hassio menus
    port: /dev/serial/by-id/usb-1a86_XXXXX
    baudrate: 9600
    stopbits: 1
    bytesize: 8
    parity: N
    message_wait_milliseconds: 1000  
    retries: 20
    retry_on_empty: true
    close_comm_on_error: false
    sensors:
      - name: aeb Total energy feed to Grid (PV)
        unit_of_measurement: W
        slave: 85
        address: 0x0090
        data_type: float64
        scan_interval: 10
        scale: 1
      - name: aeb Battery SOC
        unit_of_measurement: '%'
        slave: 85
        address: 0x0102
        data_type: uint16
        scan_interval: 15
        scale: 0.1

Also check out hassio-addons/alphaess-proxy-addon at main · 230delphi/hassio-addons · GitHub where they proxy the data being sent to AlphaESS. This seems a logical route as there is no physical connection to the system itself.

1 Like

I’ve just had one of these systems installed and I’m desperate to integrate it in some way but the proxy addon, whilst it sounds perfect, won’t run on my setup - I get the s6-overlay-suexec: fatal: can only run as pid 1 error in the logs.

It looks like the project is dead - no updates in two years. Just wondering if anyone else has it running and if there’s an easy fix for this?

Failing that, how do I get started with the CAN/Modbus mentioned above?!

Thanks!

EDIT: Project is not dead as such, the dev quickly made a change that made it work (thanks for that) but it does look like Alpha now encrypt their packets (I’m an amateur and used Wireshark for the first time today but that’s how it looks).

I am using my own fork of this project to get data from my inverter over RS485/Modbus and send it to HA. My inverter is not close to the Pi running HA so a direct RS485 connection is not appropriate for me.

2 Likes

My app communication is not working since last weekend, seems that your solution is amazing to work around this problem.
Thanks!

Hi,

Out of interest. do you have a full list of registers you are reading from Alpha and are you able to write data e.g., max charge?

Where did you find the slave address from? I have a B3 inveter and cant find this documented.

Thanks.

Hello, if you still need help take a look at my tutorial (https://community.home-assistant.io/t/alpha-ess-inverter-and-battery-data-to-modbus-without-cloud-locally/755275)