[APP][Pro] PV Forecast: solar forecast that measures your roof and learns from your panels

[APP][Pro] PV Forecast: solar forecast that measures your roof and learns from your panels

:sun: PV Forecast tells you what your solar panels will produce today and tomorrow, every 15 minutes and for every roof plane apart. It measures your roof from public height data, reads your inverter, and keeps comparing its forecast with what your panels really do and with the sunlight a satellite saw on your roof. The longer it runs, the closer it gets.

Free, no account, no API key, no cloud of its own: everything runs on your Homey.

:mobile_phone_with_arrow: App Store: PV Forecast | Homey
:test_tube: Test version (new versions before they reach the store): PV Forecast | Homey

My other apps

  • :robot: MCP AI Bridge: control Homey with any AI assistant (Claude, ChatGPT, Gemini, Copilot, Cursor or Mistral)
  • :recycling_symbol: Recycle België: Belgian waste collection calendar with Flow cards, iCal export and quiet hours
  • :automobile: MG iSMART: battery, range, charging and climate of your MG in Homey

Why I built it

My roof has an east plane and a west plane, one string each. The forecast app I used treated it as one roof facing one way, and I had to guess the tilt and direction myself. On sunny days it was off by a third, every day, and it never noticed. A forecast you can’t trust is useless for the decisions that matter: charging the car, running the dishwasher, filling the home battery from the grid at night or not.

So PV Forecast starts from the roof itself, and it keeps checking itself against what your panels actually produce.


:sparkles: What it does

:world_map: Measures your roof

  • Tilt and direction of every roof plane from public LiDAR height data, together with the trees and buildings around the roof that block the low sun:
    • Belgium: Flanders and Brussels (Digitaal Vlaanderen)
    • the Netherlands (PDOK: AHN and BAG)
    • Germany: North Rhine-Westphalia, Hesse, Saxony-Anhalt, Mecklenburg-Western Pomerania and Brandenburg
    • France, where IGN’s LiDAR HD is ready
    • Austria: Tyrol and Styria
    • Norway (Kartverket), Czechia (ČÚZK) and England (Environment Agency)
  • Everywhere else the direction comes from the building outline in OpenStreetMap and you fill in the tilt. Not sure? Tap one of the example roofs (10°, 20°, 35° or 45°), and after a week the app works it out from your own production.
  • Finds your address in your own country, or by coordinates or a Google Maps link when an address is not found.
  • Up to eight roof planes per installation, and as many installations as you have.

:sun_behind_rain_cloud: Forecasts for your panels

  • Every 15 minutes from Open-Meteo, calculated on the tilt and direction of each roof plane separately.
  • Several weather models at once. The models that turn out closest for your roof get more weight, and that per weather type: the model that does best under broken clouds weighs most on a cloudy hour.
  • Panel temperature, the inverter limit and snow on the panels are part of the forecast.
  • The trees and buildings around your roof lower the forecast when the sun is behind them.
  • Three values for tomorrow: expected, cautious (reached 9 days out of 10) and optimistic.
  • How sunny a day will be, as a share of a clear day. 40 % is grey in every season, so one Flow works the whole year.
  • Works with other energy apps: Homey EMS and other apps that read meter_power.today and meter_power.tomorrow can use PV Forecast as their forecast source.

:chart_increasing: Learns from your own production

  • Reads your inverter directly: the power of each string (PV1, PV2…) or voltage and current. Works with Huawei, SolarEdge, Growatt, SMA, Fronius, Enphase, Deye via SolarAssistant and any other inverter that shows its values in Homey. Several inverters are added up. String readings are taken after the inverter loss, so they compare fairly with the forecast.
  • No inverter in Homey? The app reads the solar power from Homey Energy, or you send it with a Flow card.
  • Corrects itself per position of the sun, not per hour of the day. A tree that shades your roof at 3 pm in March shades it at 4 pm in June, and the correction moves along with the seasons. It starts after three days and gets sharper every sunny day.
  • Per weather type too: clear, broken clouds or grey. Weather models are often too sunny under broken clouds; that bias is taken out without touching clear days.
  • Learns from the forecast that counts: the one of the evening before, which is what your evening Flows decide on.
  • Checks itself against the satellite: the sunlight that actually reached your roof, measured from space every 10 minutes. That shows whether a miss came from the weather or from the panels.
  • Nowcast: what the panels did in the last hour steers the next hours. A grey morning the weather models didn’t see coming is corrected within the hour.
  • Checks your settings: after two or three clear days it suggests the peak power, after a week the tilt and direction, it spots the limit of your inverter, and it tells you when PV1 and PV2 look swapped.
  • No AI involved: plain statistics, and every number can be checked in the Log.

:bullseye: How accurate is it?

You see it yourself, in two values on the device: the accuracy of the forecast of the evening before and of the forecast of that morning, each over the last seven days. The app settings show it per day, per month and per season.

A forecast for one address can’t be equally good all year. Grey winter days are harder than summer days, so each season has its own aim:

  • :sun: summer 85 to 95 %
  • :seedling: spring 80 to 90 %
  • :fallen_leaf: autumn 70 to 85 %
  • :snowflake: winter 60 to 80 %

These are guide values, not a promise for your roof. A single grey day can score much lower: on a day with 4 kWh, a miss of 1 kWh is already 25 %. Judge it on a week, and give the app two or three weeks to learn.

:magnifying_glass_tilted_right: Keeps an eye on your panels

  • A string drops out or one roof plane makes much less than the others: an alarm and a Flow trigger with the name of the roof plane.
  • Clearly less than expected today: a Flow trigger, so you can act on it. When the satellite shows the sun itself was weak, the alarm clears by itself.
  • A day below normal: at 22:30, when the panels made clearly less than they normally make in the sunlight that actually reached your roof, a Flow trigger fires. Bad weather never sets this one off.
  • Slow loss of yield over weeks of fine weather: time to clean the panels.
  • A linked meter that is not your panels, such as a grid meter, a plug or a value in kW instead of W: the checklist tells you.

:high_voltage: Surplus and home battery

Link your P1 meter (or let the app use the one in Homey Energy) and your home battery:

  • Expected surplus now and for the rest of today: forecast minus what your house normally uses at that hour.
  • Battery plan: will the battery be full today, at what time, and how many kWh it still misses to be full by tomorrow evening.
  • Battery plan on the cautious forecast: the same, counting on the value that is reached 9 days out of 10. Use it when a wrong guess costs money, such as charging from the grid at night.
  • A lowest charge per battery, such as the 10 % many inverters keep, so the plan never counts on charge the battery won’t give.
  • Several batteries count as one, also batteries that report charging and discharging separately (Huawei, for one).

:sunglasses: The sun on your house

  • When the sun shines on a roof plane, and when it leaves it.
  • When the sun goes behind the trees or buildings around your roof, measured from the height map.
  • When direct sunlight falls on a window or wall of your choice: the sun has to be in front of it, not behind an obstacle, and your panels have to show it is really sunny. Made for sunscreens.
  • Minutes on every card, so a passing cloud does not move the sunscreen up and down. The count carries on through an app update.

:hammer_and_wrench: Easy to fix afterwards

  • Repair: open the device, tap the gear icon, then Maintenance, Repair. The setup screen opens again with everything filled in: change the address, the roof planes or the inverter limit, and what the app learned is kept. Names and string links move along with their roof plane.
  • Restore previous: applied a roof by mistake? One button puts the previous roof, location and inverter limit back, with what the app had learned then.

:house: Installing it, step by step

  1. Install the app from the App Store.
  2. Open Devices, tap +, choose PV Forecast and then Solar installation.
  3. Where are your panels? The app looks up the roof at your Homey’s location by itself and tells you which services it asks. Panels somewhere else? Type that address and pick it from the list. Not found? Paste the coordinates of your roof (long-press it in a map app) or a Google Maps link, or tap I’ll fill it in myself.
  4. Your panels. Each roof plane gets a card with its tilt and direction, and a name if you like (Main roof, Garage). Enter the peak power per plane: 10 panels of 440 Wp make 4.4 kWp, you find it on your quote or invoice. Leave a plane empty when it has no panels. The expected production for today and tomorrow shows while you type.
  5. Your inverter (optional). The app looks for it among your Homey devices and proposes which string (PV1, PV2) belongs to which roof plane, using the position of the sun. Check it, and enter the maximum power of your inverter if you know it.
  6. Name it and save.
  7. Open the app settings (Apps, PV Forecast, Settings). The checklist at the top of the Overview tab shows what is set and what is still open. Not linked your inverter yet? Do it on the Measurement tab. A home battery or P1 meter goes there too.
  8. Put a widget on your dashboard and make your first Flow. The Help tab has five step by step examples with the exact card names.

Good to know while you set it up

  • One device per inverter. An east and a west roof on one inverter are two roof planes in the same Solar installation, not two installations.
  • All installations is only for two or more installations, for example a second inverter on the garage. It adds them up and has its own Flow cards. With one installation you can skip it.
  • Without any measurement the forecast still works, it just doesn’t learn.
  • Everything can be changed later with Repair, in the device settings or in the app settings.

:high_voltage: Flow cards

72 cards in all. The ones of a Solar installation work per roof, the ones of All installations on the sum of your roofs.

Solar installation: When (19)
  • The forecast was updated
  • Expected power goes above or below a level
  • Today’s best window starts
  • One of today’s sunniest hours starts
  • What is still to come today drops below a level
  • Tomorrow’s forecast changed
  • Expected surplus goes above a level
  • Measured power stays above or below a level, for a number of minutes
  • Today’s measured production reaches a level
  • The panels start or stop producing
  • The sun starts or stops shining on a roof plane
  • The sun goes behind or comes out from behind an obstacle
  • Direct sunlight starts or stops on a window or wall
  • A roof plane makes much less than the others
  • The panels produce clearly less than expected
  • The panels did worse than normal today
  • The panels may need cleaning
  • Snow on the panels is expected, or they are clear again
  • Daily report, with a ready sentence for a push message
Solar installation: And (18)
  • Tomorrow’s production is above a level (expected, cautious or optimistic)
  • Tomorrow morning or afternoon is above a level
  • A day reaches a share of a clear day
  • What is still to come today is above a level
  • Production between two times is above a level
  • Expected power now is above a level
  • Measured power is above or below a level, for at least a number of minutes
  • More than a level was measured today
  • It is within today’s best window
  • The current hour is one of today’s sunniest hours
  • Expected surplus stays above a level for a while
  • The home battery will be full today
  • The sun shines on a roof plane
  • The sun is behind an obstacle
  • Direct sunlight falls on a window or wall
  • A roof plane makes much less than the others
  • The panels produce less than expected
  • Snow is expected on the panels
Solar installation: Then (16)
  • Find the best window
  • Find the best start for an appliance
  • Find the cheapest start for an appliance (sun and price)
  • Battery plan
  • Battery plan on the cautious forecast
  • Get expected production for the coming hours
  • Get expected production between two times
  • Get how sunny a day will be
  • Get the position of the sun
  • Get the forecast as JSON
  • Report measured solar power
  • Report solar energy meter
  • Report measured power of one roof plane
  • Report voltage and current of one roof plane
  • Refresh the forecast now
  • Forget what was learned
All installations (19)

When

  • Total expected power goes above or below a level
  • Measured power stays above or below a level
  • Today’s measured production reaches a level
  • What is still to come today drops below a level
  • Today’s best window starts
  • Daily report of all installations, at a time you choose

And

  • Tomorrow’s total production is above a level
  • Tomorrow morning or afternoon is above a level
  • A day reaches a share of a clear day
  • What is still to come today is above a level
  • Expected power now is above a level
  • Measured power is above or below a level
  • More than a level was measured today
  • It is within today’s best window
  • An installation makes clearly less than expected

Then

  • Find the best window for all installations
  • Find the best start for an appliance over all installations
  • Get the expected production of all installations for the next hours
  • Get the expected production of all installations between two times

A few ideas to start with

  • :fork_and_knife_with_plate: Start the dishwasher in the best 2-hour window for 2000 W.
  • :automobile: Charge the car once the measured power has been above 2000 W for 10 minutes.
  • :battery: At 22:00, charge the home battery from the grid when the battery plan on the cautious forecast still misses more than 3 kWh.
  • :sunglasses: Lower the sunscreen when direct sunlight has been falling on the south-west window for 15 minutes.
  • :deciduous_tree: Raise it again when the sun goes behind the trees of the neighbours.
  • :mobile_phone: A push message when a roof plane lags behind, with its name and percentage.
  • :wrench: A push message when the panels did worse than normal today, to check the inverter.
  • :crescent_moon: A push message at 20:00 with today’s result and tomorrow’s expectation.

:bar_chart: On the dashboard and on the device

Six widgets:

  • Forecast: today and tomorrow per hour, stacked per roof plane, with the likely range and what was measured, plus the last week.
  • Today: one big number and what is still to come, with a countdown to the best window.
  • Roof planes: expected against measured per plane, red when one falls behind.
  • Week: seven days of expected against measured, with the accuracy.
  • Home battery: the expected charge until tomorrow evening, with a cautious line for a grey day and the time it gets full.
  • Sun on the roof: per roof plane when the sun stands on it today, with a marker for now and the moments it is behind trees or buildings.

And on the device itself: :chart_increasing: charts of today, tomorrow, yesterday and the last 7 days, with the likely range, the forecast and what was measured. All installations has them too, added up. Your Homey draws them itself, so no figures go to an outside chart service.


:gear: App settings

  • Overview:
    • the setup checklist
    • expected against measured per day
    • the accuracy per day, against the aim of the season
    • a season overview, with the same season a year earlier
    • a month overview with the best and weakest day
    • a monthly report, including how your panels did in the sunlight the satellite saw
    • the horizon, surplus and battery, and hourly data to copy
  • Measurement: which inverter, meter and battery feed the app, with the live value next to every option and a short guide.
  • Check roof: suggestions for tilt, direction, peak power and inverter limit from your measurements, applied in one click.
  • Address and roof: look up the roof of an address again, and restore the previous roof.
  • Log: what was fetched, what it learned, what went wrong.
  • Help: short answers to the usual questions (also “I filled something in wrong, how do I fix it?” and “What do the accuracy figures mean?”) and five Flow examples.

If something looks off, copy the diagnostics into a reply here. Device names are left out of that copy and the location is rounded to about 1 km.


Good to know

  • Homey Pro (firmware 12.1 or newer).
  • English, Dutch, German, French, Norwegian, Swedish and Danish.
  • The app asks for access to your devices only to read the inverter, meters and home battery you choose, and Homey Energy. It never switches or changes anything.
  • What leaves your Homey: the location, rounded to about 1 km, goes to Open-Meteo for the weather and the satellite data. Only when you look up a roof does the address or location go to OpenStreetMap and to the open height map of your region (the Help tab lists them). No tracking, no statistics.
  • Weather data by Open-Meteo.com (CC BY 4.0), satellite data from EUMETSAT and DWD through Open-Meteo. Height and building data from Digitaal Vlaanderen (DHM Vlaanderen II, GRB), PDOK (AHN, BAG), Geobasis NRW, HVBG Hessen, © GeoBasis-DE / LVermGeo LSA, © GeoBasis-DE/M-V, © GeoBasis-DE/LGB, IGN (LiDAR HD), Land Tirol, Land Steiermark, © Kartverket, © ČÚZK and the Environment Agency (contains Environment Agency data, © Crown copyright). Addresses and building outlines © OpenStreetMap contributors (ODbL).
  • Free and staying free. No account, no subscription.

Coming from another forecast app?

Add PV Forecast next to it and let both run for two or three weeks. The week widget and the accuracy values show you how close each one gets. Your Flows can switch over one card at a time.

:memo: Changelog

Show all versions

2.4.1

  • Now in the Homey App Store.
  • After the roof is measured, the setup screen says it comes from height data of the building, not from your panels, and how to point it to another building (address, Google Maps link or coordinates).
  • The optimistic estimate is no longer higher than your panels can give under a clear sky.
  • New photos and a shorter description in the App Store, and the Solar installation driver has its own icon.

2.4.0

  • Charts on the device itself: today, tomorrow, yesterday and the last 7 days, drawn on your Homey. Also on All installations.
  • The widgets have less space on the sides and top, and the bottom is no longer cut off.

2.3.0

  • Learns per weather type and from the forecast of the evening before, weighs the weather models per weather type and checks itself against satellite measurements of the real sun.
  • String readings are taken after the inverter loss, so the learning no longer treats that loss as a forecast error.
  • A second accuracy value for the morning forecast, a chart of the accuracy per day against an aim per season, and a season overview next to the month overview, with the same season a year earlier.
  • New widgets: home battery and sun on the roof.
  • New Flow cards: battery plan on the cautious forecast, and the panels did worse than normal today.
  • An alarm over all panels clears by itself when the satellite shows it was the weather.
  • Less work for your Homey every hour: it learns and saves only when something new came in.

2.2.3

  • Energy apps such as Homey EMS can use PV Forecast as their forecast source (meter_power.today and meter_power.tomorrow).
  • The Log tab lists Insights left over from version 1.x and explains how to remove them.
  • A lowest charge per battery (for example 10%): the battery plan no longer lets the battery run below it.
  • Repair works again: the setup screen opens with your installation filled in.

2.2.2

  • A name field per roof plane while adding the installation and with Repair.

2.2.1

  • Solax Modbus and other inverters whose values have names of their own are now offered, also with an on/off switch.
  • A peak power entered in Wp (4400 instead of 4.4) is refused while adding, and corrected on existing devices.
  • Fewer warnings in the Homey log.

2.2.0

  • Repair a device to change the address, roof or inverter limit without losing what was learned; restore the previous roof in one tap.
  • Coordinates or a Google Maps link work in the address field.
  • Flow cards for the sun on your house: on a roof plane, behind an obstacle, direct sunlight on a window or wall, with minutes.
  • Measured power held for minutes, today’s measured total, panels starting and stopping, how sunny a day is, a lagging roof plane, snow, sun position.
  • All installations: everyday cards, a daily report at your own time, expected energy for the next hours or between two times, and the best start for an appliance.
  • A warning when the linked meter does not look like solar panels.
  • Hours are no longer lost when an inverter holds a string value still (Huawei).
  • Help tab: four questions and two examples more.

2.1.2

  • Addresses with a house number of four digits are now found.

2.1.1

  • The Check roof tab shows no measured tilt and direction until there are enough sunny hours.

2.1.0

  • Roof and horizon measured from open height data in five German states, France (LiDAR HD), Tyrol and Styria, Norway, Czechia and England.
  • Help to find tilt and direction yourself, with example roofs to tap.
  • When OpenStreetMap does not answer, a detached house is found in the height map itself.
  • Norwegian, Swedish and Danish.
  • Help tab: where the app measures the roof, and with which service.

2.0.0

  • Finds your inverter while pairing and links each string to the right roof plane by the sun.
  • Several inverters and home batteries, added up; with nothing linked the app reads Homey Energy.
  • Surplus and battery planning from your P1 meter, also with batteries that report charging and discharging separately.
  • Horizon around the roof measured from LiDAR in Flanders, Brussels and the Netherlands.
  • Optimistic estimate next to the expected and cautious one.
  • Suggestions for the inverter limit and the peak power from your measurements.
  • New Flow cards: sunniest hours, what is still to come, tomorrow’s change, best start for an appliance, expected surplus, battery plan, forecast as JSON.
  • Three more widgets: today, roof planes and week; widget settings.
  • Up to eight roof planes per installation, and an All installations device.
  • App settings: setup checklist, Help tab, chart per day, monthly report, hourly data to copy, dark theme.
  • One name per roof plane everywhere, all messages in your language, fewer values on the device tile, and the app says what it sends to which service.

1.0.4

  • Smaller fixes to the App Store page.

1.0.3

  • The Measurement tab explains how to pick your inverter and what each source means.
  • The roof tab asks for the country first.

1.0.2

  • The settings page fits on a phone: every plane is a card, the overview explains each value, the roof search has clear labels.

1.0.1

  • Simpler pairing: the roof at your Homey’s location is measured right away, every field has a label, unit and example, and the expected production updates as you type.

1.0.0

  • First release: 15-minute forecast from Open-Meteo per roof plane, roof measured from your address, learning per sun position, string and soiling alarms, daily report and a dashboard widget.

Questions, ideas or a roof the measurement gets wrong? Post them here. A screenshot of the Check roof tab or a copy of the diagnostics helps a lot. :slightly_smiling_face:

Great and easy app - this is what I was looking for.
Request: could you please add a feature to manually add more direction/angle combinations instead of the default 4 options. I have panels facing 3 directions (which were determined right), but each have 2 different angles, so I would need 6 panel combi options… (some are located on the tilted roof (E, S,W), others on flat roof (E, S, W).
Thanks!

@Ollem

Thanks! Six roof planes is coming: version 2.0 raises the limit from 4 to 8 planes per installation, so the tilted and the flat roof can sit in one device. Until then: add two installations, one for the tilted roof and one for the flat roof, three planes each. Version 2.0 also has an “All installations” device that adds them up, with its own best window and Flow cards.

Hi @weide43 , interesting concept, testing in progress… sent you two diag. logs, thanks for already fixing one of the report :wink: However I wonder, if you have two inverters with dedicated solar panels, that’s unsupported, or ? I have my brother PV added into my Homey, who has no SmartHome, so I wonder how it woudl work…

@Sharkys

Thanks for testing and for the two logs, both are fixed in 2.2.1, which will be on the test channel shortly :slightly_smiling_face:

Out of bounds when saving: the peak power had been entered in Wp (something like 4400) instead of kWp (4.4). Homey then refuses every save of the settings, which is also why the forecast showed thousands of kWh. 2.2.1 refuses this while adding. On your existing device it converts the value to kWp by itself and tells you in the timeline. Learning starts over, because what it learned against a forecast a thousand times too high was of no use.

Solax Modbus not offered: that app names its strings measure_solar_dc_1 and measure_solar_dc_2, and PV Forecast didn’t recognise those names. It also mistook the on/off switch on the inverter for a sign of a plug. Both are fixed: your Modbus device now shows up with DC1 and DC2 per roof plane, both when adding and on the Measurement tab. The deprecation warnings in the log are gone too.

Two inverters with their own panels work fine. How you set it up depends on where the panels are.

Your brother’s PV, at another house: add it as a second Solar installation (Devices, +, PV Forecast, Solar installation) and type his address in the first step. Every installation has its own location, roof planes, weather forecast and learning, so his roof is measured and forecast on its own. In step 4 pick his inverter, or link it later on the Measurement tab of the app settings. He doesn’t need a smart home of his own, as long as his inverter shows up in your Homey.

Two inverters on your own house:

  • Each with its own roof: two Solar installations at the same address, one per inverter.
  • Both on the same roof planes: one installation, and on the Measurement tab you add the second inverter to the same roof plane or to the whole installation. The values are added up.

All installations is optional. It adds your installations together into one device with its own Flow cards: the measured total, what is still to come, the best window and a daily report for both. Use it when the sum means something to you, for example when both feed the same grid connection. For your brother’s house you’d probably want each one apart, so you can skip it.

@Sharkys
Update!

Thanks again for testing and for the logs! :slightly_smiling_face:

Both earlier reports are fixed in 2.2.1:

  • Out of bounds when saving: the peak power had been entered in Wp (4400) instead of kWp (4.4). 2.2.1 refuses that while adding, and corrects it by itself on an existing device. Your last log shows it worked: your forecast is back to 23.5 kWh for today.
  • Solax Modbus not offered: its strings (measure_solar_dc_1 and _2) are now recognised, and the on/off switch no longer hides it. It shows up with DC1 and DC2, both when adding and on the Measurement tab. The deprecation warnings in the log are gone too.

Names of the roof planes: adding an installation had no name field per roof plane. 2.2.2 adds one, while adding and with Repair (open the device, gear icon, Maintenance, Repair). Type “Main roof”, “Garage” or whatever you like, and it shows everywhere in the app. On your current devices you can also set it right away in the device settings, under each roof plane.

Your brother’s PV: add it as a second Solar installation with his address in the first step, and link his inverter there or on the Measurement tab. Every installation has its own location, forecast and learning. All installations is only needed if you want the sum of both.

The “overpass failed” line in your log was the OpenStreetMap service being busy, nothing on your side.

2.2.2 will be on the test channel shortly.

My test has started too… close enough to start with :slight_smile:

@Ollem
Great to see, thanks for sharing! :slightly_smiling_face: On the first day the app only has the weather models and the roof to go on. Once it has three days of measurements it starts correcting itself per position of the sun, and within the day it already steers the next hours by what your panels did in the last hour. You can see that in your graph: after the first hour the expected line follows the measured one closely. Let me know how it looks after a few days.

Great idea!
Two questions:

Will you open source the app? It needs full access, understandable, but we can’t see for ourselves what it’s doing.

What capability is used for the prediction? I have the [App][Pro] Homey EMS (HEMS): Smart EMS by @Kaoh installed and the Solar Forecast device is not selectable as a forecast source in that app.
This is what that app looks for:

Thanks!

@DaneedeKruyff

Thanks for the good questions! :slightly_smiling_face:

Why it asks for full access

Homey offers apps exactly one way to read devices that belong to other apps: the Web API permission (homey:manager:api). There is no read-only version of it, so Homey always shows it as full access, even when an app only reads. PV Forecast uses it for four things, all reading:

  • Your inverter: to find it while you add the installation, and to read its power, or the power of each string, every 30 seconds.
  • Your P1 meter and home battery: only the ones you pick on the Measurement tab, for the expected surplus and the battery plan.
  • Homey Energy: solar power and house consumption when nothing is linked, and the dynamic prices for the “cheapest start” card.
  • Zone names, to show where each device is in the lists.

It never switches, changes or deletes anything on other devices. When I tried to let it clean up its own old Insights, Homey refused that for apps, which says enough about how limited it is in practice.

What leaves your Homey: only the location of the installation, rounded to about 1 km, to Open-Meteo for the weather. The address goes to the map services only when you look up a roof yourself. No account, no tracking, no statistics.

Without this permission the app could not read your inverter at all. You would have to send every measurement with a Flow card, and surplus and battery planning would not work.

Homey EMS

Good catch. HEMS looks for devices with meter_power.today and meter_power.tomorrow, and PV Forecast had the same numbers under its own names. The next version (2.2.3) adds both to every solar installation and to All installations, so you can select PV Forecast as the forecast source in HEMS.

Hi Danny,

I’m aware of how the API operates and functionality, I’m maintaining and app using it myself. I also open sourced it so everyone can check what the code does and not have to just trust my blue eyes :wink:

Thanks for looking into the compatibility with the HEMS app!

https://homey.app/a/be.pvforecast/

I get a not found message

Because the app isn’t officially released yet. In the first post you need to use the link for the test version.

Update on the next version :slightly_smiling_face:

Version 2.3.0 is now with Athom for review. It includes everything from 2.2.3 as well, so that one is skipped. Until Athom approves it I won’t upload anything new, so the review doesn’t start over.

What’s in 2.3.0:

  • Repair works again: the setup screen opens with your installation filled in.
  • Homey EMS and other energy apps can use PV Forecast as their forecast source.
  • Learns more: per weather type and from the forecast of the evening before, and it checks itself against satellite measurements of the sunlight that actually reached your roof.
  • Accuracy: two values on the device (evening and morning forecast), plus a season overview and a month overview in the app settings, with an aim per season.
  • Battery: a lowest charge per battery, and a battery plan on the cautious forecast.
  • New widgets for the home battery and the sun on your roof.
  • New Flow card: “The panels did worse than normal today”.

I’ll post here as soon as it’s approved. Thanks for your patience, and keep the reports coming!

PV Forecast is now live in the Homey App Store :tada: PV Forecast | Homey

Version 2.4.1 is what you get, and it has everything from 2.3 and 2.4: learning per weather type, satellite checks, the battery and sun widgets, and the charts on the device itself. On top of that:

  • After the roof is measured, the setup screen now says it comes from height data of the building and not from your panels, and how to point it to another building. Thanks @Sharkys for the idea :slightly_smiling_face:
  • The optimistic estimate can no longer go higher than your panels can give under a clear sky.

If you were on the test version, you can switch to the store version or stay on test to keep getting new versions first. Thanks to everyone who tested, measured roofs and sent logs. It made a real difference :sun: