https://github.com/Tokebjerg/Wattson
· scanned 2026-06-16 00:38 UTC (2 months, 1 week ago)
78 raw signals (0 security + 78 graph)
Last scanned 2 months, 1 week ago · v1 · 61 actionable findings from 1 signal source. 17 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 465 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 |
|---|---|---|---|
_first_coordinator |
software | healthy | custom_components/wattson/__init__.py:24 |
async_setup |
software | dead | custom_components/wattson/__init__.py:31 |
_handle_replan |
software | healthy | custom_components/wattson/__init__.py:35 |
_handle_pause |
software | healthy | custom_components/wattson/__init__.py:40 |
_handle_resume |
software | healthy | custom_components/wattson/__init__.py:45 |
_handle_set_ev_mode |
software | healthy | custom_components/wattson/__init__.py:50 |
_handle_set_battery_mode |
software | healthy | custom_components/wattson/__init__.py:55 |
_handle_enable_shadow |
software | healthy | custom_components/wattson/__init__.py:60 |
_handle_disable_shadow |
software | healthy | custom_components/wattson/__init__.py:65 |
async_setup_entry |
software | dead | custom_components/wattson/__init__.py:80 |
async_unload_entry |
software | dead | custom_components/wattson/__init__.py:91 |
async_setup_entry |
software | dead | custom_components/wattson/binary_sensor.py:67 |
__init__ |
software | healthy | custom_components/wattson/binary_sensor.py:76 |
is_on |
software | healthy | custom_components/wattson/binary_sensor.py:88 |
extra_state_attributes |
software | healthy | custom_components/wattson/binary_sensor.py:92 |
async_get_config_entry_diagnostics |
software | dead | custom_components/wattson/diagnostics.py:14 |
build_load_profile |
software | healthy | custom_components/wattson/learning.py:23 |
_mean |
software | healthy | custom_components/wattson/learning.py:60 |
solar_bias_factor |
software | healthy | custom_components/wattson/learning.py:80 |
predicted_load_kwh |
software | healthy | custom_components/wattson/learning.py:101 |
predicted_today_kwh |
software | healthy | custom_components/wattson/learning.py:111 |
entry_value |
software | healthy | custom_components/wattson/config.py:7 |
merged_entry_config |
software | healthy | custom_components/wattson/config.py:15 |
update_entry_options |
software | healthy | custom_components/wattson/config.py:21 |
_parse_dt |
software | healthy | custom_components/wattson/horizon.py:25 |
_attrs |
software | healthy | custom_components/wattson/horizon.py:39 |
_flat_tariff_total |
software | healthy | custom_components/wattson/horizon.py:48 |
_hourly_tariff |
software | healthy | custom_components/wattson/horizon.py:64 |
_raw_points |
software | healthy | custom_components/wattson/horizon.py:77 |
_export_value_index |
software | healthy | custom_components/wattson/horizon.py:86 |
build_price_slots |
software | healthy | custom_components/wattson/horizon.py:99 |
_extend_with_estimated_tomorrow |
software | healthy | custom_components/wattson/horizon.py:144 |
_solar_slots_from |
software | healthy | custom_components/wattson/horizon.py:187 |
_opt |
software | healthy | custom_components/wattson/horizon.py:203 |
build_solar_slots |
software | healthy | custom_components/wattson/horizon.py:220 |
current_price_slot |
software | healthy | custom_components/wattson/horizon.py:234 |
remaining_price_slots |
software | healthy | custom_components/wattson/horizon.py:245 |
_telemetry_init |
software | healthy | custom_components/wattson/telemetry.py:45 |
_tick_prices |
software | healthy | custom_components/wattson/telemetry.py:87 |
_current_solar_forecast_w |
software | healthy | custom_components/wattson/telemetry.py:95 |
_accumulate_value |
software | healthy | custom_components/wattson/telemetry.py:109 |
_accumulate_counterfactual |
software | healthy | custom_components/wattson/telemetry.py:138 |
_accumulate_solar_bias |
software | healthy | custom_components/wattson/telemetry.py:185 |
_curtailment_possible |
software | healthy | custom_components/wattson/telemetry.py:249 |
_accumulate_curtailment |
software | healthy | custom_components/wattson/telemetry.py:295 |
__init__ |
software | healthy | custom_components/wattson/control.py:233 |
_record_write |
software | healthy | custom_components/wattson/control.py:42 |
contended_entities |
software | healthy | custom_components/wattson/control.py:50 |
reset_write_history |
software | healthy | custom_components/wattson/control.py:78 |
_mark_converged |
software | healthy | custom_components/wattson/control.py:84 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
WattsonBinarySensorDescription |
software | healthy | custom_components/wattson/binary_sensor.py:22 |
WattsonBinarySensor |
software | healthy | custom_components/wattson/binary_sensor.py:72 |
TelemetryMixin |
software | healthy | custom_components/wattson/telemetry.py:42 |
KlatremisController |
software | healthy | custom_components/wattson/control.py:28 |
EaseeController |
software | healthy | custom_components/wattson/control.py:232 |
WattsonConfigFlow |
software | healthy | custom_components/wattson/config_flow.py:321 |
WattsonOptionsFlow |
software | healthy | custom_components/wattson/config_flow.py:438 |
WattsonSensorDescription |
software | healthy | custom_components/wattson/sensor.py:33 |
WattsonSensor |
software | healthy | custom_components/wattson/sensor.py:222 |
WattsonSavingsSensor |
software | healthy | custom_components/wattson/sensor.py:259 |
WattsonCurtailedSolarSensor |
software | healthy | custom_components/wattson/sensor.py:298 |
WattsonSavingsVsNoBatterySensor |
software | healthy | custom_components/wattson/sensor.py:355 |
WattsonEvChargePlanSensor |
software | healthy | custom_components/wattson/sensor.py:413 |
WattsonSavingsTotalSensor |
software | healthy | custom_components/wattson/sensor.py:469 |
EntityMapping |
software | healthy | custom_components/wattson/models.py:9 |
Capabilities |
software | healthy | custom_components/wattson/models.py:47 |
LoadProfile |
software | healthy | custom_components/wattson/models.py:62 |
ProfileWeights |
software | healthy | custom_components/wattson/models.py:93 |
PriceSlot |
software | healthy | custom_components/wattson/models.py:114 |
SolarSlot |
software | healthy | custom_components/wattson/models.py:137 |
SiteState |
software | healthy | custom_components/wattson/models.py:147 |
BatteryPlan |
software | healthy | custom_components/wattson/models.py:184 |
EvPlan |
software | healthy | custom_components/wattson/models.py:210 |
PlanTask |
software | healthy | custom_components/wattson/models.py:221 |
SlotPlan |
software | healthy | custom_components/wattson/models.py:234 |
DayPlan |
software | healthy | custom_components/wattson/models.py:256 |
ControlPlan |
software | healthy | custom_components/wattson/models.py:277 |
WattsonCoordinator |
software | healthy | custom_components/wattson/coordinator.py:170 |
_BaseSelect |
software | healthy | custom_components/wattson/select.py:55 |
WattsonEVModeSelect |
software | healthy | custom_components/wattson/select.py:71 |
WattsonBatteryModeSelect |
software | healthy | custom_components/wattson/select.py:89 |
WattsonBatteryOverrideSelect |
software | healthy | custom_components/wattson/select.py:107 |
WattsonEVOverrideSelect |
software | healthy | custom_components/wattson/select.py:132 |
WattsonEVWindowStartSelect |
software | healthy | custom_components/wattson/select.py:157 |
WattsonEVWindowEndSelect |
software | healthy | custom_components/wattson/select.py:174 |
WattsonEVReadyTimeSelect |
software | healthy | custom_components/wattson/select.py:191 |
_BaseButton |
software | healthy | custom_components/wattson/button.py:18 |
WattsonReplanButton |
software | healthy | custom_components/wattson/button.py:35 |
WattsonPauseButton |
software | healthy | custom_components/wattson/button.py:43 |
WattsonResumeButton |
software | healthy | custom_components/wattson/button.py:51 |
_BaseSwitch |
software | healthy | custom_components/wattson/switch.py:31 |
WattsonAutomationEnabledSwitch |
software | healthy | custom_components/wattson/switch.py:48 |
WattsonShadowModeSwitch |
software | healthy | custom_components/wattson/switch.py:65 |
WattsonBatteryControlSwitch |
software | healthy | custom_components/wattson/switch.py:82 |
WattsonEVControlSwitch |
software | healthy | custom_components/wattson/switch.py:99 |
WattsonEVSolarBatteryPrioritySwitch |
software | healthy | custom_components/wattson/switch.py:116 |
WattsonEvChargeUntilCompleteSwitch |
software | healthy | custom_components/wattson/switch.py:135 |
WattsonMasterLockSwitch |
software | healthy | custom_components/wattson/switch.py:157 |
WattsonEVSolarBatteryThresholdNumber |
software | healthy | custom_components/wattson/number.py:31 |
WattsonEvTargetSocNumber |
software | healthy | custom_components/wattson/number.py:63 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
hacs.json |
software | healthy | hacs.json |
phase0_klatremis_mapping_spec.md |
software | healthy | docs/wattson/phase0_klatremis_mapping_spec.md |
masterplan_v2_sunmate_parity.md |
software | healthy | docs/wattson/masterplan_v2_sunmate_parity.md |
masterplan_ha_energy_integration.md |
software | healthy | docs/wattson/masterplan_ha_energy_integration.md |
selvlaering_policy.md |
software | healthy | docs/wattson/selvlaering_policy.md |
phase1_implementation_spec.md |
software | healthy | docs/wattson/phase1_implementation_spec.md |
selvlaering_log.md |
software | healthy | docs/wattson/selvlaering_log.md |
__init__.py |
software | healthy | custom_components/wattson/__init__.py |
binary_sensor.py |
software | healthy | custom_components/wattson/binary_sensor.py |
diagnostics.py |
software | healthy | custom_components/wattson/diagnostics.py |
manifest.json |
software | healthy | custom_components/wattson/manifest.json |
README.md |
software | healthy | custom_components/wattson/README.md |
learning.py |
software | healthy | custom_components/wattson/learning.py |
config.py |
software | healthy | custom_components/wattson/config.py |
horizon.py |
software | healthy | custom_components/wattson/horizon.py |
telemetry.py |
software | healthy | custom_components/wattson/telemetry.py |
strings.json |
software | healthy | custom_components/wattson/strings.json |
control.py |
software | healthy | custom_components/wattson/control.py |
config_flow.py |
software | healthy | custom_components/wattson/config_flow.py |
sensor.py |
software | healthy | custom_components/wattson/sensor.py |
models.py |
software | healthy | custom_components/wattson/models.py |
coordinator.py |
software | healthy | custom_components/wattson/coordinator.py |
deye_contract.py |
software | healthy | custom_components/wattson/deye_contract.py |
select.py |
software | healthy | custom_components/wattson/select.py |
button.py |
software | healthy | custom_components/wattson/button.py |
mapping.py |
software | healthy | custom_components/wattson/mapping.py |
services.yaml |
software | healthy | custom_components/wattson/services.yaml |
const.py |
software | healthy | custom_components/wattson/const.py |
switch.py |
software | healthy | custom_components/wattson/switch.py |
number.py |
software | healthy | custom_components/wattson/number.py |
planner.py |
software | healthy | custom_components/wattson/planner.py |
safety.py |
software | healthy | custom_components/wattson/safety.py |
da.json |
software | healthy | custom_components/wattson/translations/da.json |
en.json |
software | healthy | custom_components/wattson/translations/en.json |
wattson_backtest.py |
software | healthy | sim/wattson_backtest.py |
gen_days.py |
software | healthy | sim/gen_days.py |
wattson_analyze.py |
software | healthy | sim/wattson_analyze.py |
wattson_sim.py |
software | healthy | sim/wattson_sim.py |
autumn.json |
software | healthy | sim/backtest_data/autumn.json |
winter.json |
software | healthy | sim/backtest_data/winter.json |
spring.json |
software | healthy | sim/backtest_data/spring.json |
summer.json |
software | healthy | sim/backtest_data/summer.json |
05-20_partly_volatile_weekend.json |
software | healthy | sim/backtest_data/generated/05-20_partly_volatile_weekend.j… |
04-08_clear_calm_mild.json |
software | healthy | sim/backtest_data/generated/04-08_clear_calm_mild.json |
04-22_overcast_spike_ev_heavy.json |
software | healthy | sim/backtest_data/generated/04-22_overcast_spike_ev_heavy.j… |
03-12_clear_volatile_mild.json |
software | healthy | sim/backtest_data/generated/03-12_clear_volatile_mild.json |
06-18_clear_negative_glut_mild.json |
software | healthy | sim/backtest_data/generated/06-18_clear_negative_glut_mild.… |
11-19_overcast_spike_ev_heavy.json |
software | healthy | sim/backtest_data/generated/11-19_overcast_spike_ev_heavy.j… |
08-01_overcast_spike_cold.json |
software | healthy | sim/backtest_data/generated/08-01_overcast_spike_cold.json |
10-08_clear_calm_mild.json |
software | healthy | sim/backtest_data/generated/10-08_clear_calm_mild.json |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
docs |
software | healthy | docs |
wattson |
software | healthy | docs/wattson |
custom_components |
software | healthy | custom_components |
wattson |
software | healthy | custom_components/wattson |
translations |
software | healthy | custom_components/wattson/translations |
sim |
software | healthy | sim |
backtest_data |
software | healthy | sim/backtest_data |
generated |
software | healthy | sim/backtest_data/generated |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-pn3pv7g3 |
software | healthy | /tmp/repobility-clone-pn3pv7g3 |
This page is publicly accessible at:
https://repobility.com/scan/5a957a60-a234-43b5-ae30-3c7708b6851a/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/5a957a60-a234-43b5-ae30-3c7708b6851a/
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.