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 f5cf189
Browse filesBrowse the repository at this point in the historyBrowse files
Fix cloud poll flip-flopping TOU values during the write-verify window (#11)
The regular poll cycle republished every mapped CID register on every
cycle, including ones with an in-flight optimistic write awaiting its
delayed verify. A poll landing inside that window overwrote the
just-written value with stale cloud-side data, and the verify task
could then flip it back again.
SolisCloudController now tracks which registers have a pending write
and CloudDataRetrieval skips republishing them until the verify
completes.
Fixes#11
Cloud writes read the previous CID value, send the control command, update the cache optimistically, and verify after SolisCloud catches up. If the cloud value does not match, SolisConnect restores the value reported by the device.
34
+
Cloud writes read the previous CID value, send the control command, update the cache optimistically, and verify after SolisCloud catches up. If the cloud value does not match, SolisConnect restores the value reported by the device. While a write's verify is pending (up to ~15-30s), the regular poll cycle skips republishing that specific register so it can't overwrite the optimistic value with stale cloud-side data in the meantime.
35
35
36
36
The TOU V2 timed-slot CID family (`5916-5987`) is mapped into SolisConnect's local `43707-43791` register model. The remaining caveat is feature detection: SolisCloud CID `6798` reports whether TOU V2 is enabled (`43605` / `0xAA55`), but SolisConnect does not yet use that gate to hide or disable the TOU V2 cloud mappings automatically. As a related data point, TOU V2 hardware/firmware shipped from HMI version `FB00` onward (see below); this is not yet used as an alternate detection signal either.
0 commit comments