Custom Integration: Alfa by Sinapsi data integration

HA Custom Integration: Alfa by Sinapsi energy monitoring device

GitHub ReleaseBuyMeCoffeeCommunity Forum

GitHub ActivityProject Maintenancehacs

This project is not endorsed by, directly affiliated with, maintained, authorized, or sponsored by Sinapsi

Introduction

HA Custom Component to integrate data from Sinapsi Alfa device.
Tested on my Alfa to monitor the power/energy consumption and photovoltaic power/energy production directly from the energy provider’s OpenMeter 2.0.

Alfa is a great product, it provides official measurements, and it provides local API to get the data (for now it’s through ModBus).

So finally here we are with the first official version of the HA custom integration for Alfa devices. :slight_smile:

Features

  • Installation/Configuration through Config Flow UI
  • Sensor entities for all data provided by the device
  • Configuration options: Name, hostname, tcp port, polling period
  • Reconfigure options (except device name) also at runtime: no restart needed.

Installation through HACS

This integration is available in HACS official repository. Click this button to open HA directly on the integration page so you can easily install it:

Quick installation link

  1. Either click the button above, or navigate to HACS in Home Assistant and:
    • ‘Explore & Download Repositories’
    • Search for ‘Alfa by Sinapsi’
    • Download
  2. Restart Home Assistant
  3. Go to Settings > Devices and Services > Add Integration
  4. Search for and select ‘Alfa by Sinapsi’ (if the integration is not found, do a hard-refresh (ctrl+F5) in the browser)
  5. Proceed with the configuration

Manual Installation

Download the source code archive from the release page. Unpack the archive and copy the contents of custom_components folder to your home-assistant config/custom_components folder. Restart Home Assistant, and then the integration can be added and configured through the native integration setup UI. If you don’t see it in the native integrations list, press ctrl-F5 to refresh the browser while you’re on that page and retry.

Configuration

Configuration is done via config flow right after adding the integration. After the first configuration you can change parameters (except device name) at runtime through the integration page configuration, without the need to restart HA.

  • custom name: custom name for the device, that will be used as prefix for sensors created by the component
  • ip/hostname: IP/hostname of the inverter - this is used as unique_id, if you change it and reinstall you will lose historical data, that’s why I advice to use hostname, so you can change IP without losing historical data
  • tcp port: TCP port of the device. tcp/502 is the only known working port, but I preferred to leave it configurable
  • polling period: frequency, in seconds, to read the registers and update the sensors

4a0b3168-4f4a-489f-90ac-eaff6edab6e2

Sensor view

7664a9a6-a5ed-4b9e-ab52-d863e2c1e523

Coffee

If you like this integration, I’ll gladly accept some quality coffee, but please don’t feel obliged. :slight_smile:

BuyMeCoffee


1 Like

Hi, I have another alpha installed on a three-phase meter with 80kw power. From alpha they had to modify the reading values ​​per app by multiplying by 25 so as to have the real values, but I notice that these multiplied values ​​on the alpha app are not read on your integration which still reads the non-multiplied values. Would it be possible to multiply by 25? It would be nice to include in the configuration both the alpha IP and another field whether or not to multiply by 25 which would be the K coefficient. K=25 is also talked about on the internet. Thank you

Ask Sinapsi to publish these values in modbus. Probaly the register map changed and they added these specific values in other addresses. I have to stick to the default register map.

Meanwhile, if it’s just a *25 problem, you can create template sensors and multiply the alpha sensors by 25.

Hi, when trying to add the integration I get an “unknown error”. Alfa is running and reachable.

Any pointers on where to look/how to proceed?

Thanks in advance.