Skip to content

Patch - #7

Merged
fboundy merged 3 commits into
mainfrom
patch
Jul 3, 2026
Merged

fboundy merged 3 commits into
mainfrom
patch

Conversation

@fboundy

@fboundy fboundy commented Jul 3, 2026

Copy link
Copy Markdown
Owner

🔄 Related Issues

Closes #[issue number] (if applicable)

✅ Testing Steps

  1. Tested With: [e.g., Solis 5G 6kW, Axitec 10kW]
  2. Test Results: [e.g., Switches update correctly, no errors]

➕ Additional Notes

Any extra details about the PR.

fboundy and others added 3 commits July 3, 2026 19:57
…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>
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>
The official Solis RS485_MODBUS Hybrid Inverter protocol document only
documents Time-Charging slot 1 (43141-43150); registers 43152-43249
are one contiguous Reserved block. SolisCloud control CID 103
independently confirms exactly 3 slots. The "Slot 4"/"Slot 5" entities
previously defined at 43173-43190 fell entirely inside that vendor
Reserved range with no confirmation from any source, so they're
removed rather than merely flagged - no installs exist yet, so no
back-compat concern.

- hybrid_sensors.py: drop the register_start=43173 group (16 entities).
- time_sensors.py: drop the 8 Slot 4/5 time entries.
- docs/source/{tou,protocols,sensors}.md: correct V1 TOU to 3 slots,
  drop the now-resolved "likely a bug" caveat (V2's own Slot 4/5,
  which are real, are untouched).
- tests/known_sensors_*.json: regenerated via
  tests/generate_known_sensors.py (24 fewer unique IDs each) instead
  of leaving it to the CI drift-check bot.

Also corrects the HMI-version V2 threshold noted in WORKING_NOTES.md:
0x4B00 (hex "4B00"), not 0xFB00 - confirmed by the user's own live
inverter, which reports hmiVersionAll "4B00" and actively runs V2 TOU.
Records a plan for auto-detecting has_v2 from this register instead of
a manual config-flow toggle (not yet implemented).

Tests: 267 passed. 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

@fboundy
fboundy merged commit a841617 into main Jul 3, 2026
6 checks passed
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