Skip to content

v0.3.0-preview:全新管理介面與設定精靈 - #2

Merged
lee98064 merged 14 commits into
mainfrom
feat/ui-v0.3
Nov 12, 2026
Merged

lee98064 merged 14 commits into
mainfrom
feat/ui-v0.3

Conversation

@lee98064

Copy link
Copy Markdown
Owner

摘要

v0.3.0-preview(software version 14):重新設計插座管理後台與首次設定熱點,並把 v0.2.4~v0.2.11 的預覽版工作併入 main。

管理後台(:18082)

  • 即時功率弧形量表、近 2 分鐘功率走勢、電壓/電流/累積用電卡片
  • 分頁導覽(桌機左側欄、手機底部分頁列)、深色模式、toast 與彈出式登入
  • 開啟頁面即自動檢查線上更新(沿用 version.json 的 catalog_url 與既有篩選規則),有新版時顯示提示;安裝改為分步進度(下載 → 上傳驗證 → 安裝 → 重新啟動 → 完成),並顯示下載百分比
  • LED 模式卡片+燈號預覽、夜間熄燈 24 小時時間軸、Matter 設定碼一鍵複製

設定熱點(192.168.1.254)

  • 三步驟精靈:選擇 Wi-Fi → 建立管理密碼 → 加入家庭
  • 附近網路改為可點選清單(訊號格數、加密方式);Wi-Fi 改以 fetch 送出相同欄位,送出後停留在本頁顯示配對 QR 與後續步驟

不變的部分

裝置 API、header、body 格式、CSP、OTA 簽章、更新索引網址與 OTA 保留範圍。kernel/Bank 2 hash、簽章公鑰與 v0.2.11 相同。

其他

  • tests/test_update_pid1.py 補上 ck_energy.c、ck_led.c(v0.2.11 起就缺,導致 release job 的 PID1 測試無法連結)
  • 合併方式:main 的 加入簽章 OTA、持久 Matter 配對與電力監測網頁 #1 是 squash,本分支以 merge commit 併入其後的 10 個 commit,內容與 v0.2.11 完全相同

驗證

  • 原生/Linux 容器/MIPS qemu:test_updates.py 55 項 ×2、test_legacy_mtd.py 5、test_boot_guard.py 6 ×2、test_update_pid1.py、test_deployment.py 12(1 項歷史診斷版略過)、test_device_portal.py(實際 MIPS 設定伺服器)14 項、node 與 C++ 單元測試全數通過
  • check_public.py、ota.py verify、validate_catalog_upgrade(live v0.2.11, v0.3.0) 通過
  • 以真實 C 管理服務 fixture 與設定頁 mock(相同 CSP)在 Chromium 實測登入、燈號、協議切換、複製、手動更新錯誤路徑、登出,console 無 CSP/JS 錯誤;手機與桌機、淺色與深色截圖已檢查
  • 原機安裝驗收:由擁有者透過 OTA 執行

🤖 Generated with Claude Code

lee98064 and others added 14 commits October 14, 2026 18:07
Add six persistent LED modes, night scheduling, local find and isolated NTP/phone clock calibration. One supervised worker owns GPIO6 across Matter and HomeKit; a reversible hash-bound stock observer retains the single MCU owner.

Include the preceding Wi-Fi recovery, per-device identity, protocol switching, password-based management, pairing reset, factory reset and energy reset work required by this firmware. Preserve installed identity, pairing code, Wi-Fi, fabrics and cumulative energy through normal OTA.

Validate 55 native and 55 MIPS updater/management tests, 12 deployment checks, 574 MCU-engine checks, stock HAP hook/reset fixtures, the browser panel and the 64 MiB Malta fixture with an 8 MiB application limit. Physical RF/MFi/LED and outlet OTA acceptance remain pending. Allow the signed update feed to retire the unsupported diagnostic channel while retaining version monotonicity.
main held a squash of the work up to e3238ad; this merge brings in the
remaining v0.2.4–v0.2.11 commits with the branch tree taken as-is.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Management page (:18082): live power gauge with a two-minute trend,
tabbed navigation (bottom bar on phones), automatic online update check
on load with an install stepper and download progress, LED mode cards
with a night-schedule timeline, copyable Matter code, dark mode, toasts
and modal login. All device APIs, headers and body formats are unchanged.

Setup portal: three-step wizard (Wi-Fi, admin password, join home) with
a tappable network list and signal bars. Wi-Fi is submitted with fetch
using the same form fields, so the success screen stays on the page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ck_updater.c has called ck_led_* and ck_energy_reset since v0.2.11, but
the native PID1 fixture still linked only the original updater sources.
Use the same source list as tools/build_updates.sh.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bump the version, add release notes, and record the public audit and
release validation for the redesigned management console and setup
portal. Kernel, Bank 2, signing key and update feed URL are unchanged
from v0.2.11.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@lee98064
lee98064 merged commit 4bb5bd1 into main Nov 12, 2026
1 of 2 checks passed
@lee98064
lee98064 deleted the feat/ui-v0.3 branch November 12, 2026 10:03
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