This is still very much still work in progress, so please use this component with caution.
Ferroamp MQTT support sends updates to these topics:
- extapi/data/ehub (interval 1s)
- extapi/data/eso (interval 5s)
- extapi/data/sso (interval 5s)
- extapi/data/esm (interval 60s)
- Home assistant
0.115.0
- Enable Ferroamp MQTT by contacting Ferroamp Support to get the username and password for your Energy MQTT broker.
- Enable MQTT in Home assistant and set the broker to your Ferroamp Energy IP and configure it with your username and password received from Ferroamp (or setup a bridge-connection if you already have an MQTT-server, example for Mosquitto here).
The repository is compatible with HACS (Home Assistant Community Store).
Install HACS and add the repository to the Custom repositories under HACS Settings tab.
- Make sure you have git installed on your machine.
- Navigate to you home assistant configuration folder.
- Execute the following command:
git clone https://github.com/henricm/ha-ferroamp.git
- Create a
custom_components
folder if it does not exist, and cd into it. - Create a symbolic link by executing
ln -s ../ha-ferroamp/custom_components/ferroamp
- Add the
Ferroamp MQTT Sensors
-integration - Set a name for the integration as well as the MQTT-prefix where updates are sent (default values are probably fine for a standard-setup but if a bridge-connection is used the MQTT-topics can be re-mapped)
- Wait for all the devices to become present (EnergyHub, SSO's, ESOs and ESMs depending on your setup. Be patient since ESMs are only updated every 60 seconds.)
This integration will add some sensors with the prefix <integration name>_
. For the SSO and ESO sensors, they will include the id of the SSO or ESO unit, eg sensor.ferroamp_sso_123456_pv_string_power
.
I'm also still figuring out what some of the sensors actually are, since the Ferroamp API documentaiton still seems to be incomplete in some areas.
- Remove the integration configuration. i.e this
sensor: - platform: ferroamp
- Restart Home Assistant
- Remove all Ferroamp entities (they will be re-created once the new setup is completed)
- Follow the regular Setup
NB: Three sensors have changed name due to typos being fixed. Those three will lose their history and any usage in lovelace/automations need to be manually updated.
Renamed sensors:
Old name | New name |
---|---|
sensor.ferroamp_consumtion_power | sensor.ferroamp_consumption_power |
sensor.ferroamp_consumtion_power_reactive | sensor.ferroamp_consumption_power_reactive |
sensor.ferroamp_interter_power_reactive | sensor.ferroamp_inverter_power_reactive |
To avoid too much data into home assistant, we only update sensors with new values every 30 second (average values are calculated where appropriate). This interval can be configured in the options of the integration.
This integration adds services for charging, discharging and autocharge. Please see Ferroamp API documentation for more info about this functionality:
If more than one EnergyHub is configured, the target parameter needs to be set to the name of the EnergyHub to control.
Parameter power
needs to be specified in W.
power: 1000
Parameter power
needs to be specified in W.
power: 1000
No parameters - sets the battery back into autocharge.
Inspired from this blog post, I discovered the utility meter sensor available in home assistant. I use it to track grid, solar and battery energy, hourly, daily, monthly by the configuration below in configuration.yml
:
utility_meter:
solar_energy_daily:
source: sensor.ferroamp_total_solar_energy
cycle: daily
solar_energy_monthly:
source: sensor.ferroamp_total_solar_energy
cycle: monthly
battery_energy_produced_daily:
source: sensor.ferroamp_eso_20030049_total_energy_produced
cycle: daily
battery_energy_produced_monthly:
source: sensor.ferroamp_eso_20030049_total_energy_produced
cycle: monthly
battery_energy_consumed_daily:
source: sensor.ferroamp_eso_20030049_total_energy_consumed
cycle: daily
battery_energy_consumed_monthly:
source: sensor.ferroamp_eso_20030049_total_energy_consumed
cycle: monthly
external_energy_consumed_daily:
source: sensor.ferroamp_external_energy_consumed
cycle: daily
external_energy_consumed_monthly:
source: sensor.ferroamp_external_energy_consumed
cycle: monthly
external_energy_produced_daily:
source: sensor.ferroamp_external_energy_produced
cycle: daily
external_energy_produced_monthly:
source: sensor.ferroamp_external_energy_produced
cycle: monthly