https://github.com/cryptotomte/ev-charging-manager
· scanned 2026-06-17 01:51 UTC (1 month, 1 week ago)
76 raw signals (0 security + 76 graph)
Last scanned 1 month, 1 week ago · v2 · last Δ +18.7 (diff) · 60 actionable findings from 1 signal source. 16 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 1374 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_discovered_card_valid |
software | healthy | tests/test_rfid_discovery.py:23 |
test_discovered_card_none_name |
software | healthy | tests/test_rfid_discovery.py:32 |
test_discovered_card_none_energy |
software | healthy | tests/test_rfid_discovery.py:38 |
test_discovered_card_zero_energy |
software | healthy | tests/test_rfid_discovery.py:44 |
test_discovered_card_unprogrammed |
software | healthy | tests/test_rfid_discovery.py:50 |
test_discovered_card_index_out_of_range_low |
software | healthy | tests/test_rfid_discovery.py:56 |
test_discovered_card_index_out_of_range_high |
software | healthy | tests/test_rfid_discovery.py:62 |
test_discovered_card_negative_energy |
software | healthy | tests/test_rfid_discovery.py:68 |
test_discovery_error_has_message |
software | healthy | tests/test_rfid_discovery.py:79 |
test_discovery_error_is_exception |
software | healthy | tests/test_rfid_discovery.py:86 |
test_suggest_user_exact_match |
software | healthy | tests/test_rfid_discovery.py:104 |
test_suggest_user_case_insensitive |
software | healthy | tests/test_rfid_discovery.py:110 |
test_suggest_user_case_insensitive_upper |
software | healthy | tests/test_rfid_discovery.py:116 |
test_suggest_user_no_match |
software | healthy | tests/test_rfid_discovery.py:122 |
test_suggest_user_none_name |
software | healthy | tests/test_rfid_discovery.py:128 |
test_suggest_user_empty_name |
software | healthy | tests/test_rfid_discovery.py:134 |
test_suggest_user_empty_users |
software | healthy | tests/test_rfid_discovery.py:140 |
test_suggest_user_partial_match_no_result |
software | healthy | tests/test_rfid_discovery.py:146 |
test_async_get_charger_host_success |
software | healthy | tests/test_rfid_discovery.py:157 |
test_async_get_charger_host_entity_not_found |
software | healthy | tests/test_rfid_discovery.py:179 |
test_async_get_charger_host_no_config_entry_id |
software | healthy | tests/test_rfid_discovery.py:188 |
test_async_get_charger_host_entry_not_found |
software | healthy | tests/test_rfid_discovery.py:200 |
test_async_get_charger_host_no_host_key |
software | healthy | tests/test_rfid_discovery.py:219 |
test_get_discovery_provider_goe |
software | healthy | tests/test_rfid_discovery.py:246 |
test_get_discovery_provider_none_profile |
software | healthy | tests/test_rfid_discovery.py:263 |
test_get_discovery_provider_missing_block |
software | healthy | tests/test_rfid_discovery.py:270 |
test_get_discovery_provider_unknown_provider |
software | healthy | tests/test_rfid_discovery.py:277 |
test_goe_provider_implements_protocol |
software | healthy | tests/test_rfid_discovery.py:288 |
_make_engine_entry |
software | healthy | tests/test_session_engine_race_regression.py:40 |
test_tc006_energy_event_before_plug_off_produces_one_session |
software | healthy | tests/test_session_engine_race_regression.py:62 |
test_tc006_engine_has_no_last_car_status_attribute |
software | healthy | tests/test_session_engine_race_regression.py:116 |
_make_engine_entry |
software | healthy | tests/test_binary_sensor.py:49 |
_get_engine |
software | healthy | tests/test_binary_sensor.py:80 |
_get_binary_sensor_state |
software | healthy | tests/test_binary_sensor.py:89 |
test_binary_sensor_on_when_window_open |
software | healthy | tests/test_binary_sensor.py:113 |
test_binary_sensor_off_when_window_closed |
software | healthy | tests/test_binary_sensor.py:142 |
test_binary_sensor_off_when_no_session |
software | healthy | tests/test_binary_sensor.py:181 |
test_binary_sensor_legacy_fallback_tracking_is_on |
software | healthy | tests/test_binary_sensor.py:200 |
make_session |
software | healthy | tests/test_session_store.py:13 |
session_store |
software | healthy | tests/test_session_store.py:24 |
session_store_with_save |
software | healthy | tests/test_session_store.py:34 |
test_load_empty_store_returns_empty |
software | healthy | tests/test_session_store.py:44 |
test_add_session_persisted |
software | healthy | tests/test_session_store.py:54 |
test_add_1001_sessions_prunes_oldest |
software | healthy | tests/test_session_store.py:64 |
test_load_persisted_sessions_survives_reload |
software | healthy | tests/test_session_store.py:81 |
test_periodic_save_is_scheduled |
software | healthy | tests/test_session_store.py:91 |
test_load_separates_snapshot_from_completed |
software | healthy | tests/test_session_store.py:115 |
test_load_returns_most_recent_snapshot |
software | healthy | tests/test_session_store.py:132 |
test_load_no_snapshot_when_all_complete |
software | healthy | tests/test_session_store.py:146 |
test_save_active_session |
software | healthy | tests/test_session_store.py:156 |
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 |
README.md |
software | healthy | README.md |
pyproject.toml |
software | healthy | pyproject.toml |
LICENSE |
software | healthy | LICENSE |
test_rfid_discovery.py |
software | healthy | tests/test_rfid_discovery.py |
test_session_engine_race_regression.py |
software | healthy | tests/test_session_engine_race_regression.py |
test_binary_sensor.py |
software | healthy | tests/test_binary_sensor.py |
test_session_store.py |
software | healthy | tests/test_session_store.py |
test_session_engine_plug_anchored.py |
software | healthy | tests/test_session_engine_plug_anchored.py |
test_cross_validation.py |
software | healthy | tests/test_cross_validation.py |
test_proactive_warnings.py |
software | healthy | tests/test_proactive_warnings.py |
test_options_flow.py |
software | healthy | tests/test_options_flow.py |
test_session_engine_v2_cable_lock_race.py |
software | healthy | tests/test_session_engine_v2_cable_lock_race.py |
test_status_sensor_lifecycle.py |
software | healthy | tests/test_status_sensor_lifecycle.py |
conftest.py |
software | healthy | tests/conftest.py |
test_session_engine_disconnect.py |
software | healthy | tests/test_session_engine_disconnect.py |
test_export_docs.py |
software | healthy | tests/test_export_docs.py |
test_status_sensor_sub_states.py |
software | healthy | tests/test_status_sensor_sub_states.py |
test_micro_session.py |
software | healthy | tests/test_micro_session.py |
test_charger_profiles.py |
software | healthy | tests/test_charger_profiles.py |
test_rfid_lookup.py |
software | healthy | tests/test_rfid_lookup.py |
test_session_engine_rfid_wait.py |
software | healthy | tests/test_session_engine_rfid_wait.py |
__init__.py |
software | healthy | tests/__init__.py |
test_soc.py |
software | healthy | tests/test_soc.py |
test_debug_logger.py |
software | healthy | tests/test_debug_logger.py |
test_rfid_discovery_goe.py |
software | healthy | tests/test_rfid_discovery_goe.py |
test_unknown_rfid_notification.py |
software | healthy | tests/test_unknown_rfid_notification.py |
test_session_engine_heartbeat.py |
software | healthy | tests/test_session_engine_heartbeat.py |
test_session_engine_bugfixes.py |
software | healthy | tests/test_session_engine_bugfixes.py |
test_diagnostics.py |
software | healthy | tests/test_diagnostics.py |
test_pricing.py |
software | healthy | tests/test_pricing.py |
test_config_flow_subentries.py |
software | healthy | tests/test_config_flow_subentries.py |
test_lifecycle.py |
software | healthy | tests/test_lifecycle.py |
test_observation_logging.py |
software | healthy | tests/test_observation_logging.py |
test_config_flow.py |
software | healthy | tests/test_config_flow.py |
test_config_store.py |
software | healthy | tests/test_config_store.py |
test_storage_migration_v1_to_v2.py |
software | healthy | tests/test_storage_migration_v1_to_v2.py |
test_debug_button.py |
software | healthy | tests/test_debug_button.py |
test_guest_charging.py |
software | healthy | tests/test_guest_charging.py |
test_charging_duration_sensor.py |
software | healthy | tests/test_charging_duration_sensor.py |
test_models.py |
software | healthy | tests/test_models.py |
test_session_engine_guest.py |
software | healthy | tests/test_session_engine_guest.py |
test_sensors.py |
software | healthy | tests/test_sensors.py |
test_rfid_mapping_flow.py |
software | healthy | tests/test_rfid_mapping_flow.py |
test_session_engine_replay.py |
software | healthy | tests/test_session_engine_replay.py |
test_data_gap.py |
software | healthy | tests/test_data_gap.py |
test_session_engine_micro_filter.py |
software | healthy | tests/test_session_engine_micro_filter.py |
test_session_recovery.py |
software | healthy | tests/test_session_recovery.py |
test_session_engine_restart.py |
software | healthy | tests/test_session_engine_restart.py |
test_stats_sensors.py |
software | healthy | tests/test_stats_sensors.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
_CaptureLogger |
software | healthy | tests/test_session_engine_v2_cable_lock_race.py:94 |
_FakeResp |
software | healthy | tests/test_rfid_discovery_goe.py:57 |
_TimeoutCtx |
software | healthy | tests/test_rfid_discovery_goe.py:318 |
_ConnErrCtx |
software | healthy | tests/test_rfid_discovery_goe.py:344 |
_StubSession |
software | healthy | tests/test_charging_duration_sensor.py:610 |
_StubEngine |
software | healthy | tests/test_charging_duration_sensor.py:613 |
_CaptureLogger |
software | healthy | tests/test_data_gap.py:214 |
_BoomOnSessionStopLogger |
software | healthy | tests/test_completion_resilience.py:292 |
EvChargingManagerConfigFlow |
software | healthy | custom_components/ev_charging_manager/config_flow.py:132 |
OptionsFlowHandler |
software | healthy | custom_components/ev_charging_manager/config_flow.py:506 |
VehicleSubentryFlowHandler |
software | healthy | custom_components/ev_charging_manager/config_flow.py:848 |
UserSubentryFlowHandler |
software | healthy | custom_components/ev_charging_manager/config_flow.py:897 |
RfidMappingSubentryFlowHandler |
software | healthy | custom_components/ev_charging_manager/config_flow.py:1142 |
DiscoveredCard |
software | healthy | custom_components/ev_charging_manager/rfid_discovery.py:15 |
DiscoveryError |
software | healthy | custom_components/ev_charging_manager/rfid_discovery.py:34 |
RfidDiscoveryProvider |
software | healthy | custom_components/ev_charging_manager/rfid_discovery.py:43 |
_WindowAttribute |
software | healthy | custom_components/ev_charging_manager/sensor.py:26 |
_ChargingDurationAttributes |
software | healthy | custom_components/ev_charging_manager/sensor.py:36 |
_SessionSensorBase |
software | healthy | custom_components/ev_charging_manager/sensor.py:79 |
CurrentUserSensor |
software | healthy | custom_components/ev_charging_manager/sensor.py:135 |
CurrentVehicleSensor |
software | healthy | custom_components/ev_charging_manager/sensor.py:154 |
SessionEnergySensor |
software | healthy | custom_components/ev_charging_manager/sensor.py:172 |
SessionDurationSensor |
software | healthy | custom_components/ev_charging_manager/sensor.py:193 |
SessionCostSensor |
software | healthy | custom_components/ev_charging_manager/sensor.py:226 |
SessionChargePriceSensor |
software | healthy | custom_components/ev_charging_manager/sensor.py:246 |
SessionPowerSensor |
software | healthy | custom_components/ev_charging_manager/sensor.py:277 |
SessionSocAddedSensor |
software | healthy | custom_components/ev_charging_manager/sensor.py:308 |
StatusSensor |
software | healthy | custom_components/ev_charging_manager/sensor.py:346 |
ChargingDurationSensor |
software | healthy | custom_components/ev_charging_manager/sensor.py:446 |
_LastSessionDurationBase |
software | healthy | custom_components/ev_charging_manager/sensor.py:559 |
LastSessionChargingDurationSensor |
software | healthy | custom_components/ev_charging_manager/sensor.py:590 |
LastSessionConnectionDurationSensor |
software | healthy | custom_components/ev_charging_manager/sensor.py:627 |
GoeRfidDiscovery |
software | healthy | custom_components/ev_charging_manager/rfid_discovery_goe.py… |
SpotConfig |
software | healthy | custom_components/ev_charging_manager/pricing.py:9 |
PricingEngine |
software | healthy | custom_components/ev_charging_manager/pricing.py:18 |
MonthStats |
software | healthy | custom_components/ev_charging_manager/stats_engine.py:42 |
UserStats |
software | healthy | custom_components/ev_charging_manager/stats_engine.py:76 |
GuestLastSession |
software | healthy | custom_components/ev_charging_manager/stats_engine.py:117 |
StatsEngine |
software | healthy | custom_components/ev_charging_manager/stats_engine.py:164 |
RfidResolution |
software | healthy | custom_components/ev_charging_manager/session.py:11 |
Session |
software | healthy | custom_components/ev_charging_manager/session.py:25 |
DebugLogger |
software | healthy | custom_components/ev_charging_manager/debug_logger.py:162 |
SessionEngineState |
software | healthy | custom_components/ev_charging_manager/const.py:83 |
SessionSubState |
software | healthy | custom_components/ev_charging_manager/const.py:91 |
UnknownReason |
software | healthy | custom_components/ev_charging_manager/const.py:159 |
StatsBaseSensor |
software | healthy | custom_components/ev_charging_manager/stats_sensor.py:35 |
UserTotalEnergySensor |
software | healthy | custom_components/ev_charging_manager/stats_sensor.py:108 |
UserTotalCostSensor |
software | healthy | custom_components/ev_charging_manager/stats_sensor.py:166 |
UserSessionCountSensor |
software | healthy | custom_components/ev_charging_manager/stats_sensor.py:206 |
UserAvgSessionEnergySensor |
software | healthy | custom_components/ev_charging_manager/stats_sensor.py:244 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
fixtures |
software | healthy | tests/fixtures |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
custom_components |
software | healthy | custom_components |
ev_charging_manager |
software | healthy | custom_components/ev_charging_manager |
translations |
software | healthy | custom_components/ev_charging_manager/translations |
docs |
software | healthy | docs |
charger-profiles |
software | healthy | docs/charger-profiles |
automations |
software | healthy | automations |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::tests |
cicd | healthy | .github/workflows/tests.yml |
gha::hacs |
cicd | healthy | .github/workflows/hacs.yml |
gha::hassfest |
cicd | healthy | .github/workflows/hassfest.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
lint-and-test |
cicd | healthy | .github/workflows/tests.yml |
hacs |
cicd | healthy | .github/workflows/hacs.yml |
hassfest |
cicd | healthy | .github/workflows/hassfest.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
192.168.1.100 |
network | healthy | tests/test_rfid_discovery.py |
192.168.1.1 |
network | healthy | tests/test_rfid_discovery.py |
| Label | Layer | Status | Path |
|---|---|---|---|
port:06 |
network | healthy | .github/workflows/tests.yml |
port:13 |
network | healthy | .github/workflows/tests.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
cryptotomte__ev-charging-manager |
software | healthy | /data/fable5_failed_archive/cryptotomte__ev-charging-manager |
| Label | Layer | Status | Path |
|---|---|---|---|
test_storage_migration_v1_to_v2.py |
data | healthy | tests/test_storage_migration_v1_to_v2.py |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | tests/test_models.py |
This page is publicly accessible at:
https://repobility.com/scan/a4b3209e-f1f9-402e-b4d3-7e166730e2de/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/a4b3209e-f1f9-402e-b4d3-7e166730e2de/
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.