V0.5.4
Pre-release
Pre-release
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를 제공합니다.