Felicity inverter home assistant integration for easy setup and use of the device (via Modbus). Additionally includes a full Energy Management System to Buy and Sell electricity on the best moments and guards maximum power use to save guard against overcurrent. With the right settings the software makes sure you pay the best energy prices or use no grid if not needed.
For this integration to work you need to have a wired modbus connection to your inverter either via this USB dongle or via something like this. Currently supports IVGM / TREX types:
- The T-REX 5 and 10K series with H or L (High / Low Voltage batteries) with 1 or 3 Phases (P1 or P3).
Letters are in the type indication like T-REX-10KHP3G01 - The T-REX 25K and 50K range is now released with v0.8.0 (has complete new register setup).
- Others with exactly similar register configurations as above types, just be aware you chose the right configuration matching your type.
Felicity inverter and lovelace cards included
- No need for any yaml configuration!
- Includes support for dynamic load/offload to grid!!
- Serial and TCP Modbus support
- USB/Serial port selection via dropdown
- Customizable communication settings
- Customizable registers (basic, basic plus, full). No need to clutter your entities with unwanted registers
- Hassle free use of the device
- Combined registers into meaningfull data (no raw unusable values)
- Multiple hubs supported, ability to add multiple inverters.
- configurable refresh speeds for modbus
- Optimized modbus loading
- Automations possible, read and write on modbus!
- Very easy and straight forward!
Options:
- Install via HACS
- Install manually:
- The integration: In UI go to
HACS-->custom repositories-->Repo: partach/ha_felicity,Type: Integration - After HA reboot (Needed for new integrations): choose 'add integration' (in devices and services) and choose
ha_felicityin the list.
- The integration: In UI go to
Let the install config of the integration guide you as it asks you for the needed data.
It supports modbus USB dongle and TCP Modbus connections. The 3 possible ways are explained in the picture below. At the moment the last part always requires a RS485 connection to the inverter.
Ways to connect the inverter and TREX10k modbus location
The T-REX 5 and 10K series with HP or HL (High / Low Voltage batteries) with 1 or 3 Phases (P1 or P3) can be selected with selecting T-REX-10K-P3G01 (All use same register setup). The T-REX 25K and 50K range can be select by choosing option T-REX-50KHP3G01. Below are the install configuration options. When installing, make sure your select 2400 baud as communication speed for the T-REX-5/10 series. The T-REX-25/50 series supports 9600 baud according documentation. If it doesnt work at first good to check if a different baud rate helps. You can immediately select your monetary (Nordpool) integration but this can also be done later. (Later you can even override Nordpool with for example TIBBER). This can be done via configuration when the intallation is succesfull (device found). Configuration is set in the hub/device view via the gear icon.
Select Serial or TCP and select model + update refresh interval
Serial Example, choose the settings you need (2400 baud is sadly default for the TRex 5-10k series)
After successfull install the integration can be configured at any time with a few settings. See picture on top for location of the gear icon
- Update interval (the frequency of refresh of data). For the T-REX 5-10k models keep it on 10 sec minimum due to small baud rate.
- Monetary override. Nordpool is supported by default but also other monetary integrations as Tibber. The format is that it needs a sensor with attributes about min, max, avg price
If you want use Tibber enter in the override fied:
sensor.tibber_electricity_pricewhere electricity_price is the sensor with attributes (avg, min, max) and 'tibber' how you named the integration. The Felicity integration looks for a variaty of avg_price like fields as attributes and if it finds in the the override sensor, uses that as needed price information. If no information is found, the price information remains unavailable.
Via the device you can directly control many settings run-time. Be carefull with some of these setting as the affect the behavior of the device. If you don't know what a register does, don't touch it :) The integration is to be used at own risk.
Note1:
- the integration uses internal Econ Rule 1 for this.
- Rule 1 will be activated and controlled by the integration. Make sure the settings in there are inline with the intended use! Weekdays, Time Start and Time Stop will not be set by the integration. The user has to set those to a default usefull for them.
- The integration wil set: The date on Today (on 5/10k series if not idle), Voltage depending on charge and setting in integration
(for exampl 58/460 depending on high/low voltage) and discharge but can be overwritten, SOC on configured setting (max battery / min battery, see below) - Settings affected differ per type selected in the installation (5/10k series or 25/50k series)
Note2: The Operating mode must be set (by user) to Economic mode. The Energy management feature will not engage in any other mode (Like General).
During setup or with config setting (gear symbol in hub/device overview) you can add a 'Monetary' Home Assistant Device. Examples are the Nordpool integration or Tibber. Look at the Nordpool integration details on how to set that up (not covered here). During first setup or during run-time configuration (device gear symbol) it will display a list of installed Monetary integrations to chose from. Currently Nordpool and Tibber (via Norpool override field in config) are tested to work.
Dynamic Energy Management and other Settings of the integration
Example: Max price = 0.30 Euro, Min Price = 0.20 Euro and Avergage Price = 0.25 Euro (collected via Nordpool or Tibber)
When setting the Price Threshold Level to 5 the Base-Threshold-Price will be 0.25.
The Grid Mode setting:
- If
Grid Mode(From-grid, To-Grid, Off) is set to From-grid it will allow use of grid power when actual price is <=0.25 Euro - If
Grid Mode(From-grid, To-Grid, Off) is set to To-grid it will allow Battery power to go to grid power when actual price is >=0.25 Euro Additional variables areBattery Charge Max LevelandBattery Charge Min Level. - In
From Grid modeit will stop whenActual Battery CapacityreachesBattery Charge Max Level - In
To Grid modeit will stop whenActual Battery CapacityreachesBattery Charge Min Level
IMPORTANT: The integration is depedent on the Monetary Integration to contiously supply the data.
The integration also supports Dynamic Power Management. After instalation, via configuration entities (see above picture), you can set the maximum amperage of your home electricity setup. For example if you have a maximum of 16A per group, set the value to 16A. The integration will then make sure the battery loading will be dialed back if the amperage becomes to high. (by decreasing the user requested power level, controlled via rule 1 via the integration). It will keep monitorning this and will increase the battery loading to requested power levels if the amperage becomes lower.
After installation of the integration you need to first reboot HA.
The cards will be automatically installed and registered by the integration on start up.
To use the card in your dashboard, go to you dashboard, edit, choose Add card.
They can be found at the bottom of the list.
If they are not visible you can choose Manual as card type.
Add first line: type: custom:felicity-inverter-card for the inverter card and type: custom:felicity-ems-card for the EMS card.
Then choose the visual editor to continue.
From the Device dropdown chose your felicity inverter integration installed.
If you want to override items in the card you can add the below items in your code. DISCLAIMER: It only overrides the visual values, not the actual values in the integration. So use with some caution as it can paint a different picture then you maybe intend.
type: custom:felicity-inverter-card
device_id: <some big hex nr translation of your device which was set in visual mode>
overrides:
loadpower_lineside: sensor.<your house usage in watts sensor>
total_ac_output_active_power: sensor.<your backup usage in watts sensor>
total_pv_power: sensor.<your total pv in watts sensor>
total_ac_input_power: sensor.<your house total grid sensor>
battery_power: sensor.<your house total battery sensor>
total_generator_active_power: sensor.<your generator sensor>
battery_voltage: sensor.<your battery voltage sensor>
battery_current: sensor.<your battery current sensor>
battery_capacity: sensor.<your battery capacity sensor>
battery_discharge_depth_on_grid_bms: sensor.<your battery min dept charge setting>
current_price: sensor.<>
today_min_price: sensor.<>
today_avg_price: sensor.<>
today_max_price: sensor.<>
price_threshold_level: sensor.<>
power_level: sensor.<>
safe_max_power: sensor.<>
The override declarations can for example be used if there is more power generated or used then felicity is aware off.
See here
See CHANGELOG.md
Report at GitHub Issues
If you like it and find it usefull, or want to support this and future developments, it would be greatly appreciated :)



