Version 1.2.1
Fronius GEN24 (Local) connects directly to your Fronius system over the local network and retrieves live data from the inverter every 10 seconds by default. The app works entirely locally and does not require any cloud connection.
It automatically detects the available hardware and allows you to create multiple inverter devices, multiple grid devices, as well as one battery device and one flow device. Each device displays the data relevant to its function in a clear and readable way.
The app also provides statistics and balance devices for today, yesterday, two days ago, the current month, last month and two months ago. Data can be exported in CSV or JSON format.
The purpose of this app is to provide clear, human-readable monitoring data, not to control the system.
Note: My app 'Widget Forge' is the ideal companion for displaying Fronius data in a clean and nicely formatted dashboard.
To use the app, you need:
a Homey Pro (2023/2026) or a Homey Pro mini. (Homey Pro 2016–2019 may also work, but is not officially supported)
a Fronius GEN24 inverter.
a Fronius Smart Meter IP. (other Fronius smart meters may work, but are not officially supported)
optionally a Fronius Reserva battery. (BYD batteries may work, but are not officially supported)
You also need to install the app on your Homey Pro or Homey Pro mini. Here is the direct link to the store page: Homey App Store
To get started:
activate the Fronius Solar API on your inverter (see Activating the API).
enter the IP address of your inverter in the app settings.
Follow the step-by-step guide below.
Make sure your computer is connected to the same network as your inverter, either via LAN or Wi-Fi. Then open a web browser, enter the IP address of your inverter in the address bar, and press Enter. The local web interface of the inverter should appear. If it does not, double-check the inverter IP address. You can usually find it in your router’s interface.
On the left side of the interface, there is a small grey bar with a handle in the middle. It may be barely visible. Click this handle to open the menu.
In the menu, click Communication, then Solar API. A warning message will appear. This is a standard disclaimer from Fronius. The API only provides local read access to data and cannot be used to change the system settings.
Below the warning message, you will find the switch to enable the API. Enable it.
If you cannot access this interface, ask your installer for the user credentials of your inverter.
Enter the IP address of your inverter in the format XXX.XXX.XXX.XXX in the field IP ADDRESS OR HOSTNAME. This is required for the app to connect to your inverter and retrieve data from it.
You can optionally change the polling interval, which defines the time between two data requests. A shorter polling interval updates live data more quickly and slightly improves the precision of accumulated data, but it also increases network traffic and may put more load on your network. A longer interval reduces network traffic, but live data will update less frequently and accumulated data may become slightly less precise. Unless you have specific requirements, it is recommended to leave this value at 10 seconds.
The field Reference Power (kW) is a special feature designed for the Luxembourg household reference power class. You can still use it outside Luxembourg if it matches a requirement in your own setup. Its only effect is that the portion of electricity consumption above the defined reference power that is supplied by solar production is tracked in a separate counter. In Luxembourg, the part above the reference class is billed with an additional charge, so this feature is useful for calculating the actual savings achieved
The other settings are explained later in the relevant sections.
Go to the Devices view, click the + button, and select New Device.
In the next dialog, select the Fronius GEN24 app.
Then, in the following dialog, select the device type you want to add and click Connect.
In the next dialog, check the box next to the device you want to add and click Continue.
Please note that for physical devices, only devices that are actually available and not yet added will be shown. For example, if you only have one inverter and it has already been added, the dialog will be empty and a message will indicate that no new device was found.
The Solar device provides the following capabilities:
live solar power
total energy produced since installation
voltage, current and power for MPP tracker 1, and for MPP tracker 2 if available
Note: An MPP tracker (Maximum Power Point tracker) is the part of the inverter that continuously adjusts a solar string to operate at its highest possible power output. In simple terms, it works like a string optimiser.
You can change the following settings for the device:
name
icon
status indicator (all capabilities are available)
zone
exclude from the Energy Dashboard (yes/no)
The Battery device provides the following capabilities:
live battery power
live battery temperature
battery voltage
stored energy
charged and discharged energy
battery state of charge
You can change the following settings for the device:
name
icon
status indicator (all capabilities are available)
zone
invert battery power sign
exclude from the Energy Dashboard (yes/no)
Note: The Fronius API reports battery power as positive when the battery is discharging and negative when it is charging. Because the Homey Energy Dashboard expects the opposite behaviour, Invert battery power sign is enabled by default.
The Grid device provides the following capabilities:
live grid power (negative is exporting)
total imported and exported energy
live grid frequency
live voltage, current and power for phase 1, phase 2 and phase 3
You can change the following settings for the device:
name
icon
status indicator (all capabilities are available)
zone
invert grid power sign
tracks total home energy consumption (yes/no)
exclude from the Energy Dashboard (yes/no)
Note: The Fronius API reports grid power as positive when the grid is importing and negative when it is exporting. The Homey Energy Dashboard expects exactly this behaviour, Invert grid power sign is disabled by default.
The Flow device provides the following capabilities:
live PV power
live battery power
live grid power
live load power
You can change the following settings for the device:
name
icon
status indicator (all capabilities are available)
zone
invert battery power sign
invert grid power sign
invert load power sign
Note: This device is for display purposes only. It shows the current power flow but does not report any values to the Homey Energy Dashboard and does not contribute to any energy counters. You can therefore invert the signs to match your preferred view without any side effects.
The Statistics device provides the following capabilities:
accumulated load energy
accumulated PV energy
accumulated grid import and grid export
accumulated battery charge and battery discharge
saved energy above the Luxembourg reference threshold
data coverage
autarky (energy independence)
self-consumption
You can change the following settings for the device:
period (today, yesterday, two days ago, current month, last month, two months ago)
apply data coverage to percentages (yes/no)
Note: You can create multiple instances of this device with different period and data coverage settings.
Data coverage: Please read the chapter about Data Coverage and Apply Data Coverage to Percentages later in this guide.
The Balance device shows the incoming and outgoing energy flow as percentages.
The Balance device provides the following capabilities:
PV production, grid import and battery discharge (IN)
total incoming energy
load, grid export and battery charge (OUT)
total outgoing energy
difference (*)
data coverage
You can change the following settings for the device:
period (today, yesterday, two days ago, current month, last month, two months ago)
apply data coverage to percentages (yes/no)
Note: You can create multiple instances of this device with different period and data coverage settings.
Data coverage: Please read the chapter about Data Coverage and Apply Data Coverage to Percentages later in this guide.
(*) According to the laws of physics, energy is not lost. The difference represents the part of the energy flow that is not directly visible in the measured categories, for example because it has been converted into heat due to electrical resistance or other system losses.
When all energy settings are configured correctly, the Fronius GEN24 app reports the relevant data to the Homey Energy Dashboard.
The dashboard then displays live values for:
Solar energy production
Battery status
Grid import/export
It also displays cumulative daily values for:
Grid import/export
Solar production
House load
The Fronius GEN24 app also reports its data to standard Insights
The Fronius GEN24 app reads data at every polling interval, writes the current values to the live capabilities, and accumulates counters in RAM. RAM is volatile memory, which means its content is lost if the Homey restarts or loses power.
At every full hour and at each 15-minute interval in between, the app writes the accumulated data from RAM to persistent storage.
This is a deliberate design decision.
Persistent storage has a limited lifespan based on write cycles, so the app avoids writing data every 10 seconds. Homey does not publish official write endurance figures, but even with a pessimistic estimate, my app alone would not be a limiting factor for the device over many decades. Since my app is not the only one writing to storage, this approach was chosen to minimise storage wear and to ensure that it does not significantly reduce the lifespan of your Homey.
That also means there is a trade-off:
if your Homey restarts, for example after an update, up to 15 minutes of data may be lost in the worst case. In addition, whenever the inverter does not respond to a request, for example because of high network traffic, the corresponding polling interval is lost as well. With the default polling interval, this means 10 seconds of data are missing for each failed request.
Data coverage shows how much data has been collected for a given period. Please note that data coverage is always relative to the selected period. For example, 50% on a Today device means that data is available for 50% of the current day. At noon, this corresponds to about 12 hours. On a Current Month device, 50% means that data is available for about half of the current month. It is therefore completely normal that a Today device cannot show more than 50% at noon, because the second half of the day has not happened yet and no data can exist for that time.
For the Statistics and Balance devices, you can set Apply Data Coverage to Percentages to yes or no.
This setting changes how percentage values are displayed:
for the Statistics device, it affects autarky and self-consumption
for the Balance device, it affects all percentage values
To understand this option, it is important to understand what data coverage means:
Data coverage shows how much of the selected period is already covered by real measured data. For example, if the selected period is Today and the current time is 12:00, then at most 50% of the day can be covered, because the second half of the day still lies in the future. So if a Today device shows 50% data coverage at noon, this is completely normal.
Example. Let us assume the following:
the selected period is Today
the current time is 12:00
data coverage is 50%
based on the data collected so far, the calculated autarky is 96%
Now the setting changes how this value is displayed.
1. Apply Data Coverage to Percentages = yes
In this mode, the displayed percentage is weighted by the data coverage. So in this example:
calculated autarky from the available data: 96%
data coverage: 50%
displayed autarky: 48%
Formula: 96% × 50% = 48%
This is the more conservative representation. It shows the percentage value only in proportion to the part of the selected period that is already backed by real data. This mode is useful if you want to keep a clear distinction between known, observed data and the still unknown part of the period. It is especially useful for users who want to analyse data more strictly or export it for further calculations.
2. Apply Data Coverage to Percentages = no
In this mode, the displayed percentage is calculated only from the data already available, without reducing it according to the missing part of the period. So in the same example:
calculated autarky from the available data: 96%
displayed autarky: 96%
This is easier to read for many users, because it answers the question, what is my autarky based on the data collected so far?
However, it is important to understand that this value may still change during the rest of the day. A value of 96% at noon does not mean that the final value at the end of the day will also be 96%.
Why both modes are valid
Both modes are useful, depending on what you want to see.
With yes, the value is weighted by the actual coverage and this gives a more cautious view, it is better suited for technical analysis and for separating observed data from the still unknown part of the period
With no, the value is easier to understand at a glance and it reflects the percentage calculated from the data already collected. This is often more intuitive for everyday use.
Practical impact
Imagine a device for the current month. It is only the second day of the month, and the first day was very sunny.
If percentages are not weighted by data coverage (case 2), autarky may already show 99% for the month. This can create a very optimistic impression at the beginning of the month. Now assume that it is the 15th day of the month, and the following 14 days were mostly rainy. In that case, autarky may have dropped to 13%.
With weighted percentages (case 1), the picture is more conservative. On the second day of the month, autarky would only be around 3.3%, because only a small part of the month is actually covered by real data. It would then rise gradually and reach 13% by the 15th day.
To export the statistics data:
Open the app settings and click the Statistic Tools tab.
Under Export Period, select the period you want to export: Current month, Last month, 2 months ago, or All data.
Under Export Format, select either CSV or JSON.
Then click the Export button.
The exported data for the selected period and format will appear in the Export Output field. Click the Copy button to copy the text. Then open a simple text editor such as Notepad on Windows or TextEdit on Mac, and save the file to your computer. Make sure to use the correct file extension: .csv or .json.
CSV files can be opened by most spreadsheet applications, such as Excel or Numbers.
JSON files usually require a JSON parser or another application that can read and extract the required data. JSON is a structured data format rather than a spreadsheet format.
To reset the statistics data:
Open the app settings and click the Delete Statistics tab.
Click the Reset Statistics Data button.
Once the button starts flashing and asks for confirmation, click it again.
All statistics data will be deleted and the counters will start again from zero.
Warning: Resetting the statistics data will permanently delete all stored statistics and cannot be undone.