You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 0a50f0d
Browse filesBrowse the repository at this point in the historyBrowse files
Maksym Shtembuliak
committed
feat: expand unsupported device support
Add Sandisolar runtime identification, typed support-acquisition readiness, and fail-closed cloud evidence workflows that remain usable before inverter detection. Document and test the complete active-learning endpoint, command, interception, and recovery consent boundary.
"summary": "A beta.4 support archive captured the exact Modbus fingerprint layout 4 and model code 0x8003 for a Sandisolar SD 11KP48V WIFI reported as an ANJ-11KW-compatible inverter. The live values at registers 227 and 231 follow the documented protocol-4 frequency and temperature layout rather than the generic SMG layout.",
"shadow_learning_warning": "Control discovery is advanced and optional. It briefly uses {cloud_provider_label} to test which settings Home Assistant can control. Testing all option values or numeric settings can trigger cloud-side actions and requires explicit preview and confirmation.",
12
+
"shadow_learning_warning": "Active verification is advanced and optional. It temporarily reroutes the collector through Home Assistant, asks {cloud_provider_label} to send bounded test commands, and intercepts the matching local writes. It requires explicit confirmation.",
13
13
"yes": "Yes",
14
14
"no": "No",
15
15
"none": "None",
@@ -62,7 +62,7 @@
62
62
"cloud_learning_metadata_unit_conflict_detail": "cloud unit {observed_unit}; expected {expected_unit}",
63
63
"cloud_learning_metadata_result": "The read-only check found {cloud_metadata_count} metadata field(s), including {cloud_semantic_candidate_count} recognized semantic candidate(s). {cloud_history_summary} No local register mapping was proven, so no entities or controls were added. {cloud_local_history_review_summary} {local_register_observation_summary} Download the support package or return to the menu.",
64
64
"cloud_learning_inactive_draft_available": "{count} exact-route candidate(s) can be saved as an inactive local sensor draft for review. This does not add entities.",
65
-
"control_discovery_intro_hint": "Home Assistant will briefly sign in to {cloud_provider_label} to find which settings it can control on this device. Your login is used only for this check and is not saved.\n\n⚠️ Before you continue, fully CLOSE the {cloud_app_label} mobile app. If it stays open it competes with this check for the device and can disrupt the scan or interfere with the inverter.\n\nConfirm below to continue.",
65
+
"control_discovery_intro_hint": "Home Assistant will temporarily change the collector's cloud endpoint to a local Home Assistant route. The selected cloud service will then send bounded test commands for this device. Home Assistant must capture and block the matching local writes before they reach the inverter; if that interception cannot be proven, the check stops. Afterward Home Assistant restores the previous endpoint. The vendor app may briefly lose live data during the switch; if automatic restoration cannot be confirmed, a recovery action remains available. Your login is used only for this check and is not saved.\n\n⚠️ Before you continue, fully CLOSE the {cloud_app_label} mobile app so it does not compete with the check.\n\nConfirm the temporary routing, test commands, and local interception below.",
66
66
"control_discovery_credentials_hint": "Enter your {cloud_provider_label} username and password. They are used only for this one check and are not saved.",
"control_discovery_result_intro": "Discovery finished and the temporary cloud connection is closed. {control_discovery_selected_count} control(s) are turned on. Apply them, download the support package, or return to the menu.",
0 commit comments