Public scan — anyone with this URL can view this analysis. Sign up to track your own repos privately, run scheduled re-scans, and get AI fix prompts via your dashboard.

cryptotomte/ev-charging-manager

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)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

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.

JSON
Severity distribution — click a segment to filter
Active filters: excluding tests × Reset all

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.

LabelLayerStatusPath
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.

LabelLayerStatusPath
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.

LabelLayerStatusPath
_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.

LabelLayerStatusPath
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

LabelLayerStatusPath
gha::tests cicd healthy .github/workflows/tests.yml
gha::hacs cicd healthy .github/workflows/hacs.yml
gha::hassfest cicd healthy .github/workflows/hassfest.yml

LabelLayerStatusPath
lint-and-test cicd healthy .github/workflows/tests.yml
hacs cicd healthy .github/workflows/hacs.yml
hassfest cicd healthy .github/workflows/hassfest.yml

LabelLayerStatusPath
192.168.1.100 network healthy tests/test_rfid_discovery.py
192.168.1.1 network healthy tests/test_rfid_discovery.py

LabelLayerStatusPath
port:06 network healthy .github/workflows/tests.yml
port:13 network healthy .github/workflows/tests.yml

LabelLayerStatusPath
cryptotomte__ev-charging-manager software healthy /data/fable5_failed_archive/cryptotomte__ev-charging-manager

LabelLayerStatusPath
test_storage_migration_v1_to_v2.py data healthy tests/test_storage_migration_v1_to_v2.py

LabelLayerStatusPath
gpu (detected) hardware healthy tests/test_models.py
For AI agents: Voting guide (TP/FP) MCP manifest Stdio wrapper SARIF Integrate Findings queue Vote TP/FP on findings to calibrate the engine.
For AI agents + API integrations
Email me when this repo regresses
Free. We re-scan periodically; new criticals → your inbox. No signup required for the scan itself.
API access

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.