https://github.com/svenhuisman/solarpredict
· scanned 2026-06-16 00:26 UTC (2 months, 2 weeks ago)
24 raw signals (0 security + 24 graph)
Last scanned 2 months, 2 weeks ago · v1 · 24 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 129 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
test_sun_position_summer_solstice_noon |
software | healthy | tests/test_solar.py:8 |
test_sun_below_horizon_at_midnight |
software | healthy | tests/test_solar.py:17 |
test_poa_flat_panel_approximates_ghi |
software | healthy | tests/test_solar.py:23 |
test_tilted_south_beats_flat_in_winter |
software | healthy | tests/test_solar.py:33 |
test_power_temperature_derating |
software | healthy | tests/test_solar.py:42 |
test_power_zero_at_night |
software | healthy | tests/test_solar.py:49 |
test_horizon_interpolation |
software | healthy | tests/test_solar.py:53 |
test_parse_planes |
software | healthy | tests/test_solar.py:61 |
test_parse_planes_compass_suffix |
software | healthy | tests/test_solar.py:68 |
test_parse_planes_cardinals |
software | healthy | tests/test_solar.py:75 |
test_parse_planes_rejects_out_of_range_azimuth |
software | healthy | tests/test_solar.py:82 |
test_parse_horizon_rejects_short |
software | healthy | tests/test_solar.py:91 |
fake_weather_day |
software | healthy | tests/test_api.py:20 |
patched_weather |
software | healthy | tests/test_api.py:41 |
fake_get_weather |
software | healthy | tests/test_api.py:42 |
test_compute_forecast_produces_energy |
software | healthy | tests/test_api.py:51 |
test_inverter_clipping |
software | healthy | tests/test_api.py:60 |
test_two_planes_more_than_one |
software | healthy | tests/test_api.py:68 |
test_forecast_solar_result_shape |
software | healthy | tests/test_api.py:77 |
test_ha_summary |
software | healthy | tests/test_api.py:90 |
test_api_validation_errors |
software | healthy | tests/test_api.py:106 |
test_api_token_required_when_set |
software | healthy | tests/test_api.py:116 |
test_api_open_when_no_token_configured |
software | healthy | tests/test_api.py:138 |
anyio_backend |
software | healthy | tests/test_api.py:146 |
async_setup_entry |
software | dead | custom_components/solarpredict/__init__.py:15 |
async_unload_entry |
software | dead | custom_components/solarpredict/__init__.py:25 |
_async_update_listener |
software | healthy | custom_components/solarpredict/__init__.py:32 |
async_step_user |
software | dead | custom_components/solarpredict/config_flow.py:36 |
async_step_reconfigure |
software | dead | custom_components/solarpredict/config_flow.py:67 |
_can_connect |
software | healthy | custom_components/solarpredict/config_flow.py:110 |
async_get_options_flow |
software | healthy | custom_components/solarpredict/config_flow.py:122 |
async_step_init |
software | dead | custom_components/solarpredict/config_flow.py:129 |
async_setup_entry |
software | dead | custom_components/solarpredict/sensor.py:87 |
__init__ |
software | healthy | custom_components/solarpredict/sensor.py:106 |
native_value |
software | healthy | custom_components/solarpredict/sensor.py:124 |
extra_state_attributes |
software | healthy | custom_components/solarpredict/sensor.py:128 |
__init__ |
software | healthy | custom_components/solarpredict/coordinator.py:49 |
host |
software | healthy | custom_components/solarpredict/coordinator.py:59 |
_params |
software | healthy | custom_components/solarpredict/coordinator.py:62 |
_headers |
software | healthy | custom_components/solarpredict/coordinator.py:77 |
_async_update_data |
software | healthy | custom_components/solarpredict/coordinator.py:81 |
async_get_solar_forecast |
software | dead | custom_components/solarpredict/energy.py:11 |
azimuth_compass |
software | healthy | app/forecast.py:29 |
parse_azimuth |
software | healthy | app/forecast.py:71 |
parse_planes |
software | healthy | app/forecast.py:95 |
parse_horizon |
software | healthy | app/forecast.py:121 |
compute_forecast |
software | healthy | app/forecast.py:128 |
_point_power |
software | healthy | app/forecast.py:156 |
_is_morning |
software | healthy | app/forecast.py:200 |
to_forecast_solar_result |
software | healthy | app/forecast.py:213 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
vercel.json |
software | healthy | vercel.json |
README.md |
software | healthy | README.md |
Dockerfile |
software | healthy | Dockerfile |
hacs.json |
software | healthy | hacs.json |
requirements.txt |
software | healthy | requirements.txt |
docker-compose.yml |
software | healthy | docker-compose.yml |
test_solar.py |
software | healthy | tests/test_solar.py |
test_api.py |
software | healthy | tests/test_api.py |
index.py |
software | healthy | api/index.py |
index.html |
software | healthy | static/index.html |
__init__.py |
software | healthy | custom_components/solarpredict/__init__.py |
manifest.json |
software | healthy | custom_components/solarpredict/manifest.json |
strings.json |
software | healthy | custom_components/solarpredict/strings.json |
config_flow.py |
software | healthy | custom_components/solarpredict/config_flow.py |
sensor.py |
software | healthy | custom_components/solarpredict/sensor.py |
coordinator.py |
software | healthy | custom_components/solarpredict/coordinator.py |
const.py |
software | healthy | custom_components/solarpredict/const.py |
energy.py |
software | healthy | custom_components/solarpredict/energy.py |
en.json |
software | healthy | custom_components/solarpredict/translations/en.json |
forecast.py |
software | healthy | app/forecast.py |
__init__.py |
software | healthy | app/__init__.py |
solar.py |
software | healthy | app/solar.py |
weather.py |
software | healthy | app/weather.py |
main.py |
software | healthy | app/main.py |
solarpredict.yaml |
software | healthy | homeassistant/solarpredict.yaml |
apexcharts-card.yaml |
software | healthy | homeassistant/apexcharts-card.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
SolarPredictConfigFlow |
software | healthy | custom_components/solarpredict/config_flow.py:31 |
SolarPredictOptionsFlow |
software | healthy | custom_components/solarpredict/config_flow.py:126 |
SolarPredictSensorDescription |
software | healthy | custom_components/solarpredict/sensor.py:28 |
SolarPredictSensor |
software | healthy | custom_components/solarpredict/sensor.py:98 |
SolarPredictCoordinator |
software | healthy | custom_components/solarpredict/coordinator.py:46 |
Plane |
software | healthy | app/forecast.py:23 |
ForecastConfig |
software | healthy | app/forecast.py:34 |
ForecastPoint |
software | healthy | app/forecast.py:50 |
ForecastResult |
software | healthy | app/forecast.py:57 |
SunPosition |
software | healthy | app/solar.py:80 |
WeatherPoint |
software | healthy | app/weather.py:23 |
WeatherError |
software | healthy | app/weather.py:32 |
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
api |
software | healthy | api |
static |
software | healthy | static |
custom_components |
software | healthy | custom_components |
solarpredict |
software | healthy | custom_components/solarpredict |
translations |
software | healthy | custom_components/solarpredict/translations |
app |
software | healthy | app |
homeassistant |
software | healthy | homeassistant |
| Label | Layer | Status | Path |
|---|---|---|---|
GET / |
api | healthy | app/main.py |
GET /healthz |
api | healthy | app/main.py |
GET /api/forecast |
api | healthy | app/main.py |
GET /api/ha |
api | healthy | app/main.py |
GET /estimate/{lat}/{lon}/{dec}/{az}/{kwp} |
api | healthy | app/main.py |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
solarpredict |
hardware | healthy | docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-aq17h8mx |
software | healthy | /tmp/repobility-clone-aq17h8mx |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8000 |
network | healthy | Dockerfile |
| Label | Layer | Status | Path |
|---|---|---|---|
192.168.1.10 |
network | healthy | custom_components/solarpredict/strings.json |
This page is publicly accessible at:
https://repobility.com/scan/c7a66d17-6022-4e96-89f1-a3cd4464b870/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/c7a66d17-6022-4e96-89f1-a3cd4464b870/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.