Skip to content

v0.9.36b24

Pre-release
Pre-release

Choose a tag to compare

@btli btli released this 03 Jul 15:13

Features

  • Generator, Off-Grid and Peak Shaving schedule configs + atomic writeTime cloud writes (#209): three new ScheduleTypes with live-verified registers (Peak Shaving 209-212, Generator 256-259, Off-Grid 269-274), per-family window-suffix schemes (_1.._N, no bare window), canonical register names, and a new ControlEndpoints.write_time_parameter() wrapping the portal's own atomic /remoteSet/writeTime endpoint — one call per boundary, eliminating the four-call partial-failure mode for schedule writes. _get_schedule/_set_schedule generalized accordingly; _clock_field sanitization now logs each branch.
  • Shared-battery context in reg96 debug logs (#207): when HOLD 110 bit 3 (shared battery) is set and reg 96 reads 0, the battery-count debug line notes that a zero count is expected on a secondary inverter sharing a bank — no new reads, opportunistic stash.

Bug fixes

  • Parameters leg gains the transport_link_down guard (#208, closes #206): _fetch_parameters no longer walks into an attached-but-dead local link (the runtime/energy/battery legs were already guarded); link-down with cloud available routes to the HTTP named-parameter path, link-down without cloud skips without corrupting sticky-parameter accounting.
  • Cloud-mode schedule setters actually write (#208): the transport-less _set_schedule sent raw register-address writes that could not round-trip through the named-parameter API; it now delegates to the named cloud setter, symmetric with the #205 getter fix. Getter hardening: present-but-null cloud params no longer raise, hour/minute clamped.
  • Unverified off-grid Green Mode bit no longer served as truth (#210): the OFFGRID register-110 table's bit 8 was marked UNVERIFIED on SNA (lxp_modbus places green at bit 14) yet still decoded as FUNC_GREEN_EN — off-grid local reads could clobber correct cloud-sourced state. Bit 8 is now a placeholder on that family; off-grid local writes of the function fail closed; green_mode_enabled returns None (unknown) instead of a silent False when the key is absent.