Skip to content

Map HMI/DSP firmware version to SolisCloud; fix V1 TOU doc slot count - #6

Closed
fboundy wants to merge 2 commits into
mainfrom
cloud-hmi-version-mapping
Closed

fboundy wants to merge 2 commits into
mainfrom
cloud-hmi-version-mapping

Conversation

@fboundy

@fboundy fboundy commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds SolisCloud mapping for DSP Version (register 33001) and HMI Version (register 33002) from inverterDetail's dspmVersionAll/hmiVersionAll fields (4-hex-char strings == the raw register value), confirmed against a live inverterDetail dump. These sensors were previously unavailable in cloud-only/dual mode.
  • Fixes a docs error: docs/source/tou.md said Time-Charging (V1) has 4 slots; it actually has 5 (43143-43190, bases at 43143/43153/43163/43173/43183).
  • Documents SolisCloud control CID 103 as the (not yet implemented) path to V1 TOU cloud support — it only covers 3 of the 5 Modbus slots and uses per-slot charge/discharge current instead of Modbus's single global current pair. Full field layout, the worked example from the SolisCloud command-list workbook, and a step-by-step implementation plan are recorded in WORKING_NOTES.md (gitignored, not part of this diff) for a follow-up PR.

Test plan

  • tests/test_cloud_mapping.py: 3 new tests (hex-string decode for HMI/DSP version, rejection of non-hex values).
  • Full suite: 267 passed (was 264). Ruff check + format clean.

🤖 Generated with Claude Code

…docs

Adds SolisCloud support for the DSP/HMI firmware version sensors:
inverterDetail's hmiVersionAll/dspmVersionAll fields are 4-hex-char
strings equal to the raw Modbus register value (registers 33002/33001),
confirmed against a live inverterDetail dump. Cloud-only/dual entries
previously left these unavailable.

Also corrects docs/source/tou.md: Time-Charging (V1) has 5 slots on
Modbus (43143-43190), not 4, and documents SolisCloud control CID 103
as the (not yet implemented) path to V1 TOU cloud support, including
the 3-slot/per-slot-current mismatch vs Modbus's 5-slot/global-current
model. Full field layout and implementation plan recorded in
WORKING_NOTES.md.

Tests: 267 passed (3 new). Ruff clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Failed to generate code suggestions for PR

The official RS485_MODBUS Hybrid Inverter protocol document only
documents Time-Charging slot 1 (43141-43150); registers 43152-43249
are one contiguous Reserved block. SolisConnect's own hybrid_sensors.py
extends this to slots 2-3 (43153, 43163) - undocumented in that PDF
revision but independently confirmed by SolisCloud control CID 103,
which covers exactly 3 slots - and then further to "slots 4-5"
(43173, 43183), which fall inside the vendor's Reserved range with no
confirmation from any source.

Corrects the previous doc pass (which had already wrongly corrected
"4 slots" to "5"); the real count is 3. Adds a "Known issue" section
flagging slots 4-5 as an unresolved, likely-fictional feature pending
the user's decision on remediation. Also updates the CID 103
implementation plan notes in WORKING_NOTES.md (26 registers = 2 global
+ 3 slots x 8, not affected by this correction) to reflect that, once
implemented, cloud coverage of V1 TOU would actually be complete
rather than partial.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@fboundy

fboundy commented Jul 3, 2026

Copy link
Copy Markdown
Owner Author

Consolidated onto the patch branch directly per request — this content is now on patch (commits 0b6be11, d042255) and will go out via the patch -> main PR instead of its own branch.

@fboundy fboundy closed this Jul 3, 2026
@fboundy
fboundy deleted the cloud-hmi-version-mapping branch July 3, 2026 19:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant