Skip to content

docs(debug-journal): fold in the 2026-10-03 queue slice (8 candidates); mark GH#5316 fixed by PR #5319; add the sigenergy inert-power-lever, GEC unused-slot-midnight, reserve-max-validator, plugin-nav, SOH-warning, Octoplus-entity-pair, car-rate-list and update-entity rows - #5378

Merged
springfall2008 merged 1 commit into
mainfrom
bot/debug-journal-2026-10-04
Oct 4, 2026

Conversation

@springfall2008

Copy link
Copy Markdown
Owner

🤖 Automated journal flush: 8 candidates from the 2026-10-03 triage queue. All 8 were re-verified against current main (990faba1, tag v9.3.4 — the same commit the candidates were written against) before folding in. 0 were left queued.

Quality gate: ./run_pre_commit passes cspell/markdownlint on this docs-only change. The quick suite aborts at test_teslemetry_local_weekday_follows_the_base_clock — the known 00:00–01:00 local midnight-window failure documented in this journal (also seen 2026-09-22 at 00:09 BST) — and everything up to the abort passed, including ge_cloud 138/138.

Corrected existing entry

Folded in (8)

  • GH#5366 → Car charging row. car_charging_rate is read by suffixed name (float(get_arg("car_charging_rate" + postfix)), fetch.py), not index-sliced like car_charging_limit/car_charging_battery_size. An apps.yaml list is unsupported: a fresh item seeds it as an unvalidated default and float(list) raises every main-loop cycle. Workaround: per-car keys. The comma-string value stays marked suspected; the two probe traps are in the row.
  • GH#5367 → Web row. Plugin endpoints work on main: on_web_start fires in WebInterface.start() before the registered-endpoint loop (re-read web.py this flush). But get_header_html() (web_helper.py) hardcodes the nav, so a plugin page is reachable only by typing its URL. Symptom pointer ("page loads but I can't reach it" = nav gap, not endpoint failure) + fix shape (opt-in plugin nav API).
  • GH#5368 → Solis row. solis_automatic binds battery_scaling to the _battery_soh sensors, which publish batteryHealthSoh/100 as-is including 0 (the [Solis Cloud] batteryHealthSoh of 0 from the API silently zeroes soc_max and causes unbounded grid charging #4494 decision). The PR fix(solis): guard battery_scaling against a documented 0% SOH API response #4500 guard retains the last valid value, so the plan is unaffected; the complaint is the every-cycle repeat, an enhancement. apps.yaml battery_scaling is not a workaround; battery_scaling_auto is a different knob. Re-verified in inverter.py/solis.py this flush.
  • GH#5369 → new symptom row. Dual log signature: Validation ... is not a list, but requires N entries based on num_inverters + Return bad int value [<whole list>] = a per-inverter arg read without index=. Instance inverter_reserve_max (reader inverter.py:504 predates the schema; fix index=self.id like inverter_battery_rate_min). Probe results summarised in the row.
  • GH#5370 → Octopus row. The free/saving-session args read event entities (attribute="events"/"joined_events", re-verified in octopus.py this flush); the integration exposes Octoplus sessions as calendar+event pairs where only the event entity carries the attributes; both ship disabled by default. "Documented sensor does not exist" + "switch to the calendar" = the disabled-default trap, not a rename. _events-suffix mistranslation trap; old names go in January 2027.
  • GH#5371 → GE Cloud row. enable_default_options() writes unused AC-charge/DC-discharge slots 2-10 times to 00:00 to disable them; on GIV-3HY the 00:00-00:00 window is live for one minute past midnight, so with force charge on at that minute the unused slots fire at full rate toward the 100% upper limit (discharge mirror: toward the 4% lower floor). It also overwrites user-set spare-slot times. Fix direction: the limits carry the disable; the generic limit branches must special-case slots 2-10. Verified by reading gecloud.py/inverter.py; the one-minute-live semantics is the reporter's field observation.
  • GH#5374 → new symptom row. update.predbat_version is state-machine-only (AppDaemon set_state in expose_config(), re-verified userinterface.py:600-624) with no device/registry entry; the HA update surface that names grouped entities by device falls back to "unknown". Predbat publishes every naming attribute it can. The exact screen/HA version printing "unknown" was never pinned — the row says to ask the reporter. Not fixable from Predbat.
  • GH#5376 → Sigenergy row. Every power lever on SIGCLOUD is silently inert on main: send_battery_command() sends the six optional power/priority fields (chargingPower, pvPower, maxSellPower, maxPurchasePower, chargePriorityType, dischargePriorityType) at the top level of the payload while the required fields sit inside commands[0] (since cba12cc3, first released v8.36.11; re-verified sigenergy.py:1137-1157 this flush). Hardware evidence: the reporter's live MQTT log and flat full-rate charging in the issue. The sigenergy tests assert the top-level shape, so suite-green was meaningless for this surface; a fixed test must assert inside [0] and top-level absence. Open PR fix(sigenergy): send the optional command fields inside commands[] #5377. Suspect-not-verified: Sigenergy Cloud: Freeze Export commands self-consumption mode without capping charge power, battery charges from solar instead of holding SoC #4761's freeze-export reasoning and freeze_export_hold have never acted with real effect until a hardware re-test after PR fix(sigenergy): send the optional command fields inside commands[] #5377 merges.

Diff shape

8 insertions across 6 existing rows (Solis, Sigenergy, GE Cloud, Octopus, Car charging, Web) plus 2 new symptom-table rows. No candidate dropped; no cspell dictionary additions needed.

🤖 Generated with Claude Code

…); mark GH#5316 fixed by PR #5319; add the sigenergy inert-power-lever, GEC unused-slot-midnight, reserve-max-validator, plugin-nav, SOH-warning, Octoplus-entity-pair, car-rate-list and update-entity rows

Co-Authored-By: Claude Code <noreply@anthropic.com>
@springfall2008
springfall2008 marked this pull request as ready for review October 4, 2026 08:28
Copilot AI balanced review requested due to automatic review settings October 4, 2026 08:28
@springfall2008
springfall2008 merged commit de3fea8 into main Oct 4, 2026
2 checks passed

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request. Check if the Files changed in this pull request are included in default exclusions.

@springfall2008
springfall2008 deleted the bot/debug-journal-2026-10-04 branch October 4, 2026 08:28
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.

2 participants