Releases: David2766/NAMO-aint-motion-only
Release list
V0.6.1 [HOTFIX]
NAMO v0.6.1 Hotfix
English
Fixed
- Fixed intermittent
site_directory_not_readyerrors when pairing or calibrating factory-reset devices. - Added bounded retries when Floorplan replication temporarily returns
busy, instead of immediately aborting pairing. - Allowed quarantined devices to catch up from the Configuration Owner only when it provides a strictly newer canonical Site Directory. Equal-revision conflicts remain fail-closed.
- Fixed heartbeat compatibility probes becoming phase-locked when expanding beyond five devices.
- Fixed 5-to-6-to-7 device expansion being treated like a fresh Group election.
- Preserved the existing eligible Group Leader while the canonical Directory catches up with an expanded roster.
- Unified Group participant counting for NAMO Nodes and Satellites.
- Added dedicated hotfix build and export support.
Validation
- Physically verified sequential expansion to seven devices.
- Verified pairing, Floorplan replication, calibration, activation, final 7/7 canonical convergence, active fusion, and automation.
- Added regression tests covering roster expansion, incumbent Leader preservation, compatibility probing, temporary replication contention, and quarantined-node catch-up.
한국어
수정 사항
- 초기화된 기기를 연결하거나 보정할 때 간헐적으로 발생하던
site_directory_not_ready오류를 수정했습니다. - 평면도 복제 원본이 일시적으로
busy상태일 때 페어링을 즉시 중단하지 않고 제한적으로 재시도하도록 수정했습니다. - 격리 상태의 기기는 Configuration Owner가 더 높은 canonical Site Directory revision을 제공할 때만 따라가도록 수정했습니다. 같은 revision의 충돌은 기존처럼 차단합니다.
- 5대 이상으로 확장할 때 heartbeat 호환성 probe가 특정 기기 조합에서 고착되는 문제를 수정했습니다.
- 5대에서 6대, 7대로 확장하는 과정을 새로운 Group 초기 선거처럼 처리하던 문제를 수정했습니다.
- 기기 추가 중에도 기존 Group Leader가 온라인이고 적격하다면 그대로 유지하도록 수정했습니다.
- NAMO Node와 Satellite의 Group 참여자 계산 기준을 통일했습니다.
- Hotfix 전용 빌드 및 내보내기 기능을 추가했습니다.
검증
- 단일 Group을 7대까지 순차적으로 확장하는 과정을 실기기로 검증했습니다.
- 페어링, 평면도 복제, 보정, 활성화, 최종 7/7 canonical 수렴, 융합 및 자동화 동작을 확인했습니다.
- roster 확장, 기존 Leader 유지, heartbeat 호환성 probe, 일시적인 복제 경합 및 격리 기기 수렴에 대한 회귀 테스트를 추가했습니다.
V0.6.0
NAMO v0.6.0
English
NAMO v0.6.0 is the largest update to the project so far.
This release expands NAMO from a standalone presence sensor into a local multi-device spatial sensing platform. It introduces secure device pairing, shared floorplans, coordinate calibration, distributed role recovery, multi-radar fusion, signed firmware updates, manual floorplan drawing, and Home Assistant integration.
Highlights
Multi-Device Spatial Fusion
- Added secure local pairing between NAMO devices.
- Added shared floorplan and spatial configuration replication.
- Added coordinate calibration between connected devices.
- Supports up to seven NAMO devices in a single Fusion Group.
- Supports up to three logical targets from local and fused observations.
- Added automatic assignment and recovery for:
- Configuration Owner
- Site Leader
- Group Leader
- Fusion and automation can continue on surviving devices while a role-holding device is temporarily unavailable.
- Improved convergence when previous role holders return to the network.
- Added participant quarantine, activation, removal, and recovery workflows.
Pairing and Calibration
- Added a complete pairing wizard covering:
- Device discovery
- Secure code confirmation
- Floorplan selection and transfer
- Radar position calibration
- Participant activation
- Pairing can resume from the floorplan selection stage after cancellation.
- Improved handling of devices with missing, matching, or different floorplans.
- Added clearer recovery guidance for interrupted pairing.
- Improved participant removal and local-record override handling.
- Reduced unnecessary fusion disruption while adding devices or changing automatic replacement settings.
- Added pairing trace capture and diagnostic tools.
Floorplans and Radar Placement
- Added manual floorplan drawing without requiring an uploaded image.
- Supports polygonal building outlines and logical rooms.
- Added a large drawing canvas with grid snapping and zoom controls.
- Added physical wall representation independent of logical room regions.
- Added adjustable hinged and sliding doors.
- Doors can automatically define exit locations.
- Added participant position validation when replacing a floorplan.
- Improved radar placement, rotation, scaling, and wall occlusion previews.
- Unified wall occlusion rendering across setup, editing, floorplan, and dashboard views.
- Improved cropping, labels, target markers, and responsive floorplan presentation.
Presence and Tracking
- Improved local target stabilization and cross-device association.
- Reduced duplicated tracks and delayed coasting tracks.
- Improved behavior near radar field-of-view boundaries.
- Added more stable fused target continuity during short observation gaps.
- LD2410C can help retain an already established presence session.
- LD2410C does not independently create spatial targets or start a presence session.
- Added LD2410 stream health monitoring and LD2450 startup protection.
- Expanded native tests for tracking, observation transport, and fusion behavior.
Home Assistant
- Added the NAMO Home Assistant custom integration.
- Added configuration flow and coordinator-based state updates.
- Added sensor, binary sensor, number, select, switch, and update entities.
- Added device actions, repair guidance, translations, and diagnostics.
- Added HACS metadata and English/Korean integration documentation.
Signed Firmware Updates
- Added signed
.namo-otafirmware packages. - Added separate Root, Release, and Developer signing roles.
- Release firmware can be installed without additional approval.
- Developer builds require a one-time Alpha firmware installation approval.
- Alpha approval is stored temporarily in RAM and is cleared after use or reboot.
- Added firmware package metadata and cryptographic verification.
- Added Security Epoch anti-rollback protection.
- Added firmware update completion dialogs.
- Added release manifests and SHA-256 checksums.
Dashboard and Demo Mode
- Redesigned major dashboard workflows and dialogs.
- Added consistent status, warning, progress, and completion dialogs.
- Added richer mock device pairing and multi-device simulation.
- Mock mode can simulate:
- Up to seven devices
- Fused and unfused targets
- Floorplan selection
- Calibration
- Participant removal
- Improved mobile layouts and text scaling throughout floorplan workflows.
Hardware
- Added dual-sensor PCB production files and schematics.
- Added the new dual-sensor enclosure:
top_dual.3mfbottom_dual.3mf
- Updated the enclosure locking mechanism.
- The new dual-sensor top is not compatible with the legacy single-sensor bottom.
- Retained the legacy single-sensor PCB and enclosure files in separate locations.
Build, Test, and Release Tooling
- Added signed firmware build and validation tools.
- Added automatic Patch, Minor, and Major version updates.
- Added synchronized firmware and dashboard version management.
- Added release export, checksum, manifest, and third-party notice generation.
- Added distributed cluster simulation and role-failure testing.
- Added pairing trace, role capture, observation capture, and analysis tools.
- Expanded frontend, native C++, security, capacity, and regression tests.
- Updated vulnerable frontend dependencies, including PostCSS.
- Reduced the GitHub Pages workflow to the minimum steps required to build and deploy the demo.
Documentation
- Reorganized the README as a concise project entry point.
- Added a complete GitHub Wiki for users.
- Added English and Korean developer documentation.
- Added architecture, API contract, signing, Home Assistant, protocol, and ADR documents.
- Updated the implementation roadmap and documented validated and pending scenarios.
Upgrade Instructions
Upgrading from v0.5.5 or Earlier
Install the following image once:
namo-v0.6.0-legacy-ota.bin
This unsigned image exists only to migrate older firmware that does not understand signed .namo-ota packages.
After upgrading to v0.6.0, use signed .namo-ota packages for all future updates.
Normal OTA Update
Use:
namo-v0.6.0-ota.namo-ota
This is the signed Release OTA package.
Initial Installation or Recovery
Use:
namo-v0.6.0-factory.bin
Flash this image through USB for a new device or recovery installation.
Important Notes
- Back up the device configuration before upgrading.
- Never expose a NAMO device directly to the public Internet.
- Multi-device installations use a shared canonical floorplan and Site configuration.
- Shared floorplan changes must be performed through the Configuration Owner.
- The new dual-sensor enclosure uses a different locking interface from the legacy enclosure.
Validation Status
The complete five-device, single-Fusion-Group workflow has been physically tested, including:
- Pairing
- Floorplan transfer
- Calibration
- Activation
- Single role-holder failure
- Simultaneous failure of two role holders
- Role reassignment
- Device rejoin and convergence
- Participant removal
- Automatic replacement changes
- Continued fusion and automation on surviving devices
The following areas remain scheduled for additional physical validation:
- Four-, six-, and seven-device installations
- Multiple Fusion Groups
- Rolling upgrades with mixed firmware versions
Security
See the project Wiki and firmware signing documentation for full installation, security, and recovery procedures.
한국어
NAMO v0.6.0은 지금까지 진행된 업데이트 중 가장 큰 규모의 릴리스입니다.
이번 릴리스에서는 NAMO가 단일 재실 센서에서 로컬 다중 기기 공간 감지 플랫폼으로 확장되었습니다. 안전한 기기 연결, 공유 평면도, 좌표 보정, 분산 역할 복구, 다중 레이더 융합, 서명된 펌웨어 업데이트, 직접 평면도 그리기 및 Home Assistant 통합이 추가되었습니다.
주요 변경사항
다중 기기 공간 융합
- NAMO 기기 간 안전한 로컬 연결 기능을 추가했습니다.
- 평면도와 공간 설정을 연결된 기기 사이에서 공유할 수 있습니다.
- 연결된 기기 사이의 레이더 좌표 보정을 지원합니다.
- 하나의 Fusion Group에서 최대 7대의 NAMO 기기를 사용할 수 있습니다.
- 로컬 및 융합 관측으로 최대 3개의 논리 타깃을 추적할 수 있습니다.
- 다음 역할의 자동 배정과 장애 복구 기능을 추가했습니다.
- Configuration Owner
- Site Leader
- Group Leader
- 역할을 맡은 기기가 일시적으로 연결되지 않아도 생존 기기에서 융합과 자동화를 계속할 수 있습니다.
- 이전 역할 기기가 네트워크에 복귀했을 때 현재 구성으로 다시 수렴하도록 개선했습니다.
- 참여 기기의 격리, 활성화, 제거 및 복구 절차를 추가했습니다.
기기 연결 및 위치 보정
- 다음 단계를 포함하는 기기 연결 마법사를 추가했습니다.
- 기기 검색
- 보안 코드 확인
- 평면도 선택 및 전송
- 레이더 위치 보정
- 참여 기기 활성화
- 평면도 선택 중 취소한 연결을 해당 단계부터 다시 진행할 수 있습니다.
- 평면도가 없거나, 같거나, 서로 다른 기기의 연결 처리를 개선했습니다.
- 연결이 중단되었을 때 상태와 복구 방법을 더 명확하게 안내합니다.
- 참여 기기 제거와 로컬 기록 강제 삭제 절차를 개선했습니다.
- 기기 추가 및 자동 대체 설정 변경 중 기존 융합이 불필요하게 흔들리는 문제를 줄였습니다.
- 기기 연결 과정을 분석할 수 있는 추적 및 캡처 도구를 추가했습니다.
평면도 및 레이더 배치
- 평면도 이미지 없이 직접 건물 평면도를 그릴 수 있습니다.
- 다각형 건물 외곽선과 논리적인 방 구역을 지원합니다.
- 격자 스냅과 확대·축소를 지원하는 대형 그리기 화면을 추가했습니다.
- 논리적인 방 구역과 독립된 물리 벽 구조를 지원합니다.
- 길이와 위치를 조절할 수 있는 여닫이문과 미닫이문을 추가했습니다.
- 문 위치를 퇴실 지점으로 자동 설정할 수 있습니다.
- 평면도 교체 시 좌표계 밖에 놓인 레이더 위치를 검사합니다.
- 레이더 위치, 회전, 축척 및 벽 차폐 미리보기를 개선했습니다.
- 생성, 편집, 평면도 및 대시보드 화면에서 동일한 벽 차폐 렌더링을 사용합니다.
- 평면도 여백, 글자 크기, 타깃 표시 및 반응형 화면 구성을 개선했습니다.
재실 감지 및 타깃 추적
- 로컬 타깃 안정화와 기기 간 타깃 연결 알고리즘을 개선했습니다.
- 중복 타깃과 오래 남는 coasting track을 줄였습니다.
- 레이더 시야각 경계에서 타깃이 분리되는 현상을 완화했습니다.
- 짧은 관측 누락 중에도 융합 타깃이 더 안정적으로 유지됩니다.
- LD2410C가 이미 확립된 재실 세션의 유지를 보조할 수 있습니다.
- LD2410C만으로 새로운 재실 세션이나 공간 타깃을 생성하지는 않습니다.
- LD2410 스트림 상태 검사와 LD2450 초기화 보호 기능을 추가했습니다.
- 타깃 추적, 관측 전송 및 융합 동작에 대한 Native 테스트를 확장했습니다.
Home Assistant
- NAMO Home Assistant 사용자 정의 통합을 추가했습니다.
- Config Flow와 Coordinator 기반 상태 갱신을 지원합니다.
- Sensor, Binary Sensor, Number, Select, Switch 및 Update Entity를 제공합니다.
- 기기 작업, 복구 안내, 진단 정보 및 다국어 번역을 추가했습니다.
- HACS 메타데이터와 한국어·영어 통합 문서를 추가했습니다.
서명된 펌웨어 업데이트
- 서명된
.namo-ota펌웨어 패키지를 추가했습니다. - Root, Release 및 Developer 서명 역할을 분리했습니다.
- Release 펌웨어는 별도 승...
V0.5.5
v0.5.5 - Developer Beta Release
This release adds optional LD2410C sensor fusion, assist-sensor tuning, expanded validation, and the NAMO project identity. Back up the current device configuration before updating.
English
v0.5.5 expands NAMO with optional LD2410C static-presence assistance while preserving the existing PIR and LD2450 tracking behavior.
Presence Sensor Fusion
- Added optional LD2410C support alongside the existing LD2450 and PIR sensors.
- LD2410C cannot start a new presence session by itself. It only assists a session already confirmed by PIR or LD2450.
- Arms static-presence assistance after 2 seconds of overlap with an existing presence session.
- Allows an armed LD2410C to maintain presence when LD2450 loses its target without confirmed exit evidence.
- Prevents a new static-radar hold after a confirmed exit-zone or room-boundary exit.
- Added one 30-second same-session reentry window when presence ends without exit or filter evidence.
- Returns to normal combined PIR and LD2450 evidence immediately when either sensor detects presence again.
- Devices without LD2410C continue operating normally and quietly report the assist sensor as unavailable.
Distance and Target Display
- Stabilized LD2410C detection distance using a rate-limited three-sample median.
- Brief invalid distance samples retain the most recent stable value while static presence remains active.
- Preserves the last unambiguous LD2450 coordinate while LD2410C is maintaining presence.
- Displays a distance-matched retained target normally and marks a mismatched position in gray.
- Retained display targets do not affect target counts, zones, rooms, calibration, or heatmaps.
Dashboard and Tuning
- Added assist-sensor status directly below the main presence status.
- Added an LD2410C sensitivity editor to the Zones page.
- Displays all nine distance gates over the existing radar map.
- Shows live moving and still energy only while the tuning view is open.
- Highlights the currently detected distance gate.
- Supports per-gate sensitivity adjustment.
- Automatically disables engineering telemetry when the tuning session closes.
- Disables the tuning control with a clear explanation when LD2410C is unavailable.
- Updated the public demo with simulated LD2410C status, distance gates, energy, sensitivity changes, and assist-held targets.
NAMO Project and Distribution
- Renamed the primary firmware entry to
namo.yaml. - Moved shared firmware packages to
packages/namo/. - Renamed public firmware images to
namo-v<version>-factory.binandnamo-v<version>-ota.bin. - Preserved the existing ESPHome device identity for upgrade compatibility.
- Updated repository, documentation, demo, CI, and release paths for
NAMO-aint-motion-only. - Expanded the README with visual workflow documentation and separate hardware guides.
- Added PCB, schematic, and enclosure resources under CC BY-NC-SA 4.0.
- Added generated third-party notices and bundled license texts.
- Current dual-radar PCB and enclosure release files are still under validation and will be published separately.
Validation and Fixes
- Expanded native tracker tests to cover sensor-fusion arming, exit veto, reentry, missing hardware, retained-target confidence, and distance stabilization.
- Added dashboard tests for LD2410C tuning geometry, API behavior, and demo interactions.
- Added ESLint, TypeScript checks, dashboard tests, and ESPHome configuration validation to the public workflow.
- Improved export validation for required files, YAML includes, private files, tests, and generated build artifacts.
- Fixed stale static-radar availability and presence-off diagnostic states.
- Fixed brief invalid LD2410C samples repeatedly exposing the detection distance as unknown.
- Updated the demo so it no longer lags behind current dashboard functionality.
Installation
- Use the
factoryimage for a new USB installation. - Use the
otaimage when updating an existing device. - LD2410C is optional; existing LD2450/PIR installations remain supported.
- Back up the current configuration before updating.
- Verify downloaded files with the provided
checksums.txt.
한국어
이번 릴리즈에는 선택적 LD2410C 센서 융합, 보조센서 감도 설정, 검증 체계 확장과 NAMO 프로젝트 명칭 변경이 포함됩니다. 업데이트 전에 현재 기기 설정을 백업하세요.
v0.5.5는 기존 PIR 및 LD2450 추적 방식을 유지하면서 선택적인 LD2410C 정적 재실 보조 기능을 추가한 개발자 베타 릴리즈입니다.
재실 센서 융합
- 기존 LD2450 및 PIR과 함께 사용할 수 있는 선택적 LD2410C 지원을 추가했습니다.
- LD2410C 단독으로 새로운 재실 세션을 시작하지 않으며, PIR 또는 LD2450이 확인한 세션만 보조합니다.
- 기존 재실과 LD2410C 감지가 2초간 겹치면 정적 재실 보조가 준비됩니다.
- 확인된 퇴실 근거 없이 LD2450이 타깃을 놓치면 준비된 LD2410C가 재실 상태를 유지할 수 있습니다.
- 퇴실지점 또는 방 경계 퇴실이 확인된 경우 새로운 정적 레이더 유지를 시작하지 않습니다.
- 퇴실 또는 필터 근거 없이 재실이 종료되면 동일 세션을 복구할 수 있는 30초 재진입 기회를 한 번 제공합니다.
- PIR 또는 LD2450이 다시 감지되면 별도의 센서 우선순위 전환 없이 기존 결합 판정으로 돌아갑니다.
- LD2410C가 없는 기기는 기존 방식대로 정상 작동하며 보조센서를 조용히 사용할 수 없음으로 처리합니다.
거리 및 타깃 표시
- LD2410C 감지 거리를 1초 간격의 최근 3개 샘플 중앙값으로 안정화했습니다.
- 정적 재실이 유지되는 동안 짧은 무효 거리 샘플은 마지막 안정 거리로 보완합니다.
- LD2410C가 재실을 유지할 때 마지막으로 명확했던 LD2450 좌표를 표시용으로 보존합니다.
- 보조센서 거리와 일치하면 기존 타깃처럼 표시하고, 차이가 크면 회색으로 표시합니다.
- 보존된 표시용 타깃은 대상 수, 구역, 방, 보정 및 히트맵 계산에 포함되지 않습니다.
대시보드 및 감도 설정
- 대시보드의 재실 상태 아래에 보조센서 감지 상태를 추가했습니다.
- 구역 설정 화면에 LD2410C 감도 편집 기능을 추가했습니다.
- 기존 레이더맵 위에 9개 거리 띠를 표시합니다.
- 감도 설정 화면이 열려 있을 때만 이동 및 정지 energy를 실시간으로 표시합니다.
- 현재 감지 중인 거리 띠를 강조해서 표시합니다.
- 거리 띠별 감도를 개별 조절할 수 있습니다.
- 감도 설정 화면을 닫으면 engineering telemetry가 자동으로 비활성화됩니다.
- LD2410C가 없으면 버튼을 비활성화하고 원인을 안내합니다.
- 공개 Demo에서도 LD2410C 상태, 거리 띠, energy, 감도 변경 및 보조 재실 타깃을 체험할 수 있도록 갱신했습니다.
NAMO 프로젝트 및 배포
- 공식 펌웨어 진입 파일을
namo.yaml로 변경했습니다. - 공통 펌웨어 패키지를
packages/namo/로 이동했습니다. - 공개 펌웨어 파일명을
namo-v<version>-factory.bin및namo-v<version>-ota.bin으로 변경했습니다. - 기존 기기의 업데이트 호환성을 위해 ESPHome 장치 식별자는 유지했습니다.
- 저장소, 문서, Demo, CI 및 릴리즈 경로를
NAMO-aint-motion-only기준으로 갱신했습니다. - README에 주요 기능 이미지와 작업 흐름을 추가하고 하드웨어 문서를 분리했습니다.
- PCB, 회로도 및 케이스 자료에 CC BY-NC-SA 4.0 라이선스를 적용했습니다.
- 서드파티 고지 및 관련 라이선스 원문을 자동 생성해 배포에 포함하도록 했습니다.
- 최신 듀얼 레이더 PCB 및 케이스 파일은 아직 검증 중이며 추후 별도로 공개할 예정입니다.
검증 및 수정된 문제
- 센서 융합 준비, 퇴실 차단, 재진입, 하드웨어 미탑재, 보존 타깃 신뢰도 및 거리 안정화를 네이티브 테스트에 추가했습니다.
- LD2410C 감도 UI geometry, API 동작 및 Demo 기능에 대한 대시보드 테스트를 추가했습니다.
- 공개 workflow에 ESLint, TypeScript 검사, 대시보드 테스트 및 ESPHome config 검증을 추가했습니다.
- 필수 파일, YAML include, 개인 파일, 테스트 및 생성된 빌드 부산물에 대한 export 검증을 강화했습니다.
- 보조센서 가용 상태와 재실 OFF 진단 사유가 오래된 값으로 남던 문제를 수정했습니다.
- 짧은 LD2410C 무효 샘플마다 감지 거리가 반복해서 알 수 없음으로 표시되던 문제를 수정했습니다.
- 공개 Demo가 최신 대시보드 기능보다 뒤처져 있던 문제를 수정했습니다.
설치
- 신규 USB 설치에는
factory이미지를 사용하세요. - 기존 기기 업데이트에는
ota이미지를 사용하세요. - LD2410C는 선택 사항이며 기존 LD2450/PIR 구성도 계속 지원됩니다.
- 업데이트 전에 현재 설정을 백업하세요.
- 제공되는
checksums.txt로 다운로드한 파일을 검증할 수 있습니다.
V0.5.4
v0.5.4 - Developer Beta Release
This release contains major storage, floorplan, tracking, diagnostics, and setup changes. Back up the current device configuration before updating.
English
v0.5.4 is a developer beta release focused on storage reliability, lower internal RAM usage, floorplan editing, presence tracking, diagnostics, and initial setup.
Highlights
- Added a shared storage queue for config, stats, and floorplan operations.
- Unified large payload writes under common chunk-upload handling.
- Reduced internal RAM and HTTP stack usage with streamed JSON generation, parsing, and downloads.
- Removed automatic saving. Changes are written only when Save is selected.
- Added unsaved-change warnings for refreshes and dashboard tab navigation.
- Added scoped floorplan saves so unchanged images are not uploaded again.
Floorplan
- Expanded editing for rooms, scale, radar placement, detection zones, exit points, correction zones, and furniture.
- Added undo and redo, including
Ctrl+ZandCtrl+Y. - Added exit-point editing to both the radar map and floorplan editor.
- Automatically detects the room containing the radar and uses its boundaries for occlusion.
- Fixed ray hit rendering so it aligns with the visible room boundaries.
- Fixed radar placement continuing to use the previous room after being moved.
- Prevented zone vertices from producing NaN or out-of-range radar coordinates.
- Improved furniture placement, rotation, resizing, room assignment, and boundary handling.
- Sanitizes malformed furniture data instead of failing to open the floorplan.
- Split floorplan creation and stored-floorplan editing into independently managed sessions.
Presence Tracking and Diagnostics
- Enabled the new presence tracker as the default presence path.
- Added confirmed, coasting, moving, and still states for temporary radar dropouts.
- Added room-boundary and exit-point evidence to presence tracking.
- Exit points provide exit evidence and do not filter or remove targets.
- Added
legacyPresenceFallbackfor explicitly returning to the previous logic. - Added diagnostic events for presence transitions, tracker states, and exit-point activity.
- Added presence replay logging and moved large diagnostic buffers to PSRAM.
Setup and Compatibility
- Added timezone selection under Advanced Settings.
- Resets current-day statistics when the timezone changes.
- Applies timezone requests through the main processing loop to avoid intermittent API failures.
- Added Korean and English selection to the Wi-Fi setup portal.
- Unified dashboard and setup translations under one validated catalog.
- Standardized Home Assistant-facing default entity names and states in English.
- Updated select access to ESPHome's current
current_option()API.
Fixed
- HTTP task stack overflows from large temporary JSON buffers.
- Upload session mismatches caused by overlapping floorplan and config writes.
- Duplicate saves caused by mixed automatic and manual save paths.
- Missing or stale unsaved-change warnings.
- Missing type-specific floorplan zone borders.
- Floorplan loading failures caused by malformed furniture objects.
- Floorplan deletion leaving the dashboard in a permanent loading state.
- Incorrect
floorplan.enabledandhasImagevalues after deletion. - OTA reboot detection and post-update dashboard refresh behavior.
- Dashboard button, confirmation dialog, and save-status alignment issues.
Installation
- Use the
factoryimage for a new USB installation. - Use the
otaimage when updating an existing device. - Back up the current configuration before updating.
- SHA-256 checksums are provided in
checksums.txt.
한국어
v0.5.4는 저장 안정성, 내부 RAM 사용량, 평면도 편집, 재실 추적 및 초기 설정 경험을 전반적으로 개선한 개발 베타버전 릴리즈 입니다.
주요 개선
- config, stats, floorplan 저장 충돌을 방지하는 공용 저장 큐를 추가했습니다.
- 대용량 데이터 저장을 공통 chunk upload 방식으로 통합했습니다.
- JSON 생성, 파싱 및 다운로드를 스트리밍 방식으로 변경해 내부 RAM과 HTTP 스택 사용량을 줄였습니다.
- 자동 저장을 제거하고 사용자가 저장 버튼을 눌렀을 때만 저장하도록 통일했습니다.
- 새로고침 및 탭 이동 시 저장되지 않은 변경 사항을 경고합니다.
- 평면도 이미지가 변경되지 않은 편집 작업은 필요한 데이터만 저장하도록 개선했습니다.
평면도
- 저장된 평면도에서 방, 크기, 레이더 위치, 감지 구역, 퇴실지점, 오탐 영역 및 가구를 편집할 수 있습니다.
- 실행 취소와 다시 실행을 추가하고
Ctrl+Z,Ctrl+Y를 지원합니다. - 레이더맵과 평면도 편집기 모두에서 퇴실지점을 편집할 수 있습니다.
- 레이더가 위치한 방을 자동 탐색하고 해당 방의 경계를 차폐 계산에 사용합니다.
- 레이더 ray 충돌 지점과 사용자가 보는 방 경계가 일치하도록 수정했습니다.
- 레이더를 다른 방으로 옮겼을 때 이전 방의 경계를 계속 사용하던 문제를 수정했습니다.
- 구역 꼭짓점이 NaN 또는 레이더 범위 밖 좌표로 저장되는 문제를 수정했습니다.
- 가구 배치, 회전, 크기 조절, 방 할당 및 경계 처리를 개선했습니다.
- 손상된 가구 데이터가 있어도 평면도 전체가 열리지 않는 대신 안전하게 정리합니다.
- 신규 평면도 생성과 저장된 평면도 편집 흐름을 독립적인 세션으로 분리했습니다.
재실 추적 및 진단
- 새 presence tracker를 기본 재실 판단 경로로 적용했습니다.
- 일시적인 레이더 좌표 누락을 처리하는 confirmed, coasting, moving, still 상태를 추가했습니다.
- 방 경계와 퇴실지점 정보를 재실 추적 근거로 사용합니다.
- 퇴실지점은 타깃을 제거하는 필터가 아니라 퇴실 판단 증거로만 사용됩니다.
- 필요할 때 기존 재실 로직으로 돌아갈 수 있는
legacyPresenceFallback을 추가했습니다. - 재실 전환, tracker 상태 및 퇴실지점 활동에 대한 진단 이벤트를 추가했습니다.
- 오프라인 분석과 회귀 테스트를 위한 presence replay 로그를 추가했습니다.
- 대형 진단 및 replay 버퍼를 PSRAM으로 이동했습니다.
설정 및 호환성
- 고급 설정에 시간대 변경 기능을 추가했습니다.
- 시간대 변경 시 날짜가 다른 통계가 섞이지 않도록 당일 통계를 초기화합니다.
- 시간대 변경 요청을 메인 처리 루프에서 적용해 간헐적인 API 실패를 수정했습니다.
- Wi-Fi 초기 설정 화면에 한국어/영어 선택 메뉴를 추가했습니다.
- 대시보드와 초기 설정 화면이 하나의 검증된 번역 카탈로그를 사용합니다.
- Home Assistant에 노출되는 엔티티 기본 이름과 상태 문자열을 영어로 통일했습니다.
- ESPHome의 최신 select API인
current_option()을 사용하도록 변경했습니다.
수정된 문제
- 대형 임시 JSON 버퍼로 인한 HTTP task stack overflow
- 평면도와 config 저장이 겹칠 때 발생하던 upload session mismatch
- 자동 저장과 수동 저장이 겹치며 발생하던 중복 저장
- 저장 완료 후 미저장 경고가 남거나 필요한 경고가 표시되지 않던 문제
- 저장된 구역의 종류별 테두리 스타일이 사라지던 문제
- 평면도 삭제 후 로딩 상태에서 빠져나오지 못하던 문제
- 평면도 삭제 후
floorplan.enabled와hasImage가 갱신되지 않던 문제 - OTA 이후 장치 재응답 확인과 대시보드 새로고침 문제
- 여러 버튼, 확인 팝업 및 저장 상태 UI의 정렬 문제
개발 및 배포
- presence tracker 순수 C++ 로직에 네이티브 회귀 테스트를 추가했습니다.
- 공개 저장소에 presence replay 및 네이티브 테스트 도구를 포함했습니다.
- 호스트 C++ 컴파일러가 없으면 네이티브 테스트만 명시적으로 건너뜁니다.
- release asset에 factory/OTA 이미지, SHA-256 checksum 및 manifest를 제공합니다.
V0.5.3
v0.5.3 - Developer Beta Release
v0.5.3은 초기 공개 릴리즈 이후 발견된 대시보드 / 평면도 저장 흐름의 안정화 버전입니다.
특히 평면도 저장·삭제 후 대시보드 상태가 꼬이는 문제와 데모 모드 표시 문제를 정리했습니다.
주요 개선
평면도 저장 / 삭제 안정화
- 평면도 저장 중 설정 자동 저장이 끼어들어 업로드 세션이 꼬일 수 있던 문제를 개선했습니다.
- 평면도 저장 전 대기 중인 설정 저장을 먼저 완료하도록 저장 순서를 정리했습니다.
- 평면도 삭제 후 대시보드가 계속 “평면도 불러오는 중” 상태에 머물던 문제를 수정했습니다.
- 평면도 삭제 시
floorplan.enabled / hasImage설정도 함께 갱신되도록 수정했습니다. - 평면도 삭제 후 대시보드가 다시 레이더맵으로 정상 복귀하도록 수정했습니다.
- 신규 평면도 저장 완료 후 저장된 평면도 편집 화면으로 바로 이동하도록 개선했습니다.
대시보드 개선
- 펌웨어 / 대시보드 버전 표시 영역을 정리했습니다.
- OTA 업데이트 후 장치 재응답 확인 및 자동 새로고침 흐름을 개선했습니다.
- 장치 재시작 / 초기화 버튼 배치를 정리했습니다.
- 부팅 직후 안전 대기 시간 동안 OTA / 초기화 버튼 잠금 상태가 시간 경과에 따라 갱신되도록 수정했습니다.
- 여러 확인 팝업의 버튼 배치와 UI 정렬을 개선했습니다.
수정된 문제
- 평면도 삭제 후 대시보드가 평면도 로딩 상태에서 빠져나오지 못하던 문제
- 평면도 저장 중 업로드 세션 mismatch가 발생할 수 있던 문제
- 대시보드 일부 버튼 / 팝업 레이아웃이 어색하게 표시되던 문제
V0.5.2
v0.5.2 - Initial Developer Beta Release
Presence Sensor Xiao S3의 첫 공개 베타 릴리즈입니다.
ESPHome 기반 mmWave 재실 센서 펌웨어와 내장 대시보드, 초기 Wi-Fi 설정 화면, Home Assistant / SmartThings Edge 연동 흐름을 포함합니다.
주요 기능
초기 설정
- 기기 부팅 후 설정용 Wi-Fi AP를 통해 초기 설정을 진행할 수 있습니다.
- 주변 Wi-Fi 목록을 확인하고, Wi-Fi 비밀번호를 입력해 기기를 홈 네트워크에 연결할 수 있습니다.
- 연결 성공 시 기기 IP와 대시보드 주소를 안내합니다.
- 기본 데모 API 키가 감지되면 새 API 키를 생성하고 사용자에게 복사하도록 안내합니다.
- 초기 설정 후 Home Assistant 사용 여부 또는 SmartThings Edge 전용 사용 여부를 선택할 수 있습니다.
내장 대시보드
- 브라우저에서 기기 IP로 접속해 센서 상태를 확인하고 설정을 변경할 수 있습니다.
- 실시간 재실 / 움직임 / 타깃 수 / 온도 / 습도 / 조도 상태를 표시합니다.
- 레이더맵에서 감지 대상의 위치를 확인할 수 있습니다.
- 감지 구역, 필터 구역, 둔감 구역, 제외 구역을 설정할 수 있습니다.
- 설정값은 기기에 저장되며 재부팅 후에도 유지됩니다.
평면도 기능
- 평면도 이미지를 업로드하고 방/구역을 편집할 수 있습니다.
- 평면도 위에 레이더 위치와 방향을 맞춰 실제 공간 기준으로 감지 상태를 확인할 수 있습니다.
- 저장된 평면도는 대시보드에서 레이더맵 대신 표시됩니다.
통계 / 히트맵
- 감지 통계를 일 단위로 확인할 수 있습니다.
- 히트맵을 통해 공간 내 감지 빈도를 확인할 수 있습니다.
- 데모 모드에서도 통계와 히트맵 샘플 데이터를 제공합니다.
Home Assistant / SmartThings Edge
- ESPHome Native API를 통한 Home Assistant 연동을 지원합니다.
- SmartThings Edge Driver와 함께 사용할 수 있도록 Edge 전용 모드도 제공합니다.
- 사용 환경에 따라 초기 handoff 흐름을 분리했습니다.
관리 기능
- API 키 확인 기능을 제공합니다.
- 장치 재시작 기능을 제공합니다.
- 설정 / 통계 / 평면도 데이터를 초기화할 수 있습니다.
- OTA 펌웨어 업데이트를 대시보드에서 진행할 수 있습니다.
- OTA 후 장치 재응답을 확인하고 대시보드를 새로고침합니다.
- 부팅 직후 안전 대기 시간 동안 OTA / 초기화 작업을 제한합니다.
데모 페이지
- GitHub Pages 기반 데모 대시보드를 제공합니다.
- 초기 Wi-Fi 설정 데모 화면을 통해 온보딩 흐름을 확인할 수 있습니다.
- 데모 레이더 타깃, 환경값, 통계, 히트맵, 평면도 저장 흐름을 제공합니다.
릴리즈 파일
presence-sensor-xiao-s3-factory-release-v0.5.2.bin- 최초 설치 / USB 플래싱용 factory 이미지
presence-sensor-xiao-s3-ota-release-v0.5.2.bin- 기존 설치 기기의 OTA 업데이트용 이미지
checksums.txt- 릴리즈 파일 검증용 체크섬