Repository navigation
Releases: af950833/mttl_w01_standalone
Release list
MTTL-W01 Standalone 2.1.1
한국어
- 멀티탭 대시보드에 마지막 플래시 저장 시각, 최근 저장 시도 상태, 이번 부팅 후 저장 실패 횟수를 표시합니다.
- 설정·릴레이 상태·누적량·OTA 체크포인트를 포함한 실제 저장을 추적합니다. 변경이 없어 쓰기를 생략하면 마지막 저장 시각은 갱신하지 않습니다.
- 진단 정보는 RAM에만 유지하며 추가 플래시 기록이나 조회 요청을 만들지 않습니다. 재부팅 직후에는 저장 기록 없음·대기·실패 0으로 표시합니다. 기존 설정·누적량은 유지됩니다.
- 시간 동기화 전에 저장하면 시각 미동기화로 표시합니다. 기존 상태 조회를 이용하므로 화면 반영에는 약 20초가 걸릴 수 있습니다.
- 2.1.0의 128KiB 순환 저장·매 정시 누적량 저장·마지막 제어 완료 10초 후 저장 정책과 기록 형식은 유지합니다. 2.1.0에서 업그레이드할 때 설정·누적량은 유지됩니다.
- 저장 진단·저장/OTA·웹 회귀 검사를 통과했으며 사용자가 실기 업로드 후 정상 동작을 확인했습니다.
English
- Display the last flash-write time, latest save-attempt status and save-failure count since boot on the power-strip dashboard.
- Track physical saves for settings, relay states, energy and OTA checkpoints. Unchanged payloads do not update the last-write time.
- Keep diagnostics in RAM only, with no extra flash writes or polling requests. After reboot, show no writes since boot / waiting / zero failures. Stored settings and energy remain intact.
- Show time not synchronized for writes before clock synchronization. The existing status poll may take about 20 seconds to reflect a write.
- Retain the 2.1.0 128KiB journal format, hourly energy saves and ten-second relay-save debounce. Settings and energy are preserved when upgrading from 2.1.0.
- Storage telemetry, persistence/OTA and web regression checks passed. The user confirmed normal operation after installing on a physical device.
Build: 33231c0032fa013b
SHA-256: 362f92df30f16fadcfd012ba20557ce58466f08706e99bca6cf6e1f67ae1ce9f
Validation. Source ZIP supports Builder 1.0.0.
MTTL-W01 Standalone 2.1.0
한국어
- 설정·누적량·릴레이 논리 상태를 두 개의 64KiB 영역, 총 128KiB에 1KiB 단위로 순환 기록합니다. 4KiB 섹터당 기록 4개를 추가한 뒤 다음 섹터로 이동합니다.
- 순번·CRC·저장 완료 표시와 재읽기 검증으로 불완전 기록을 제외하고 최신 정상 기록을 복원합니다. 전체 데이터가 같으면 쓰기를 생략합니다.
- 누적량 정기 저장을 설정 시간대의 매 정시로 변경합니다. NTP 미동기화 상태에서는 1시간 간격이며 시간 역행에 따른 같은 시간대 중복 저장을 방지합니다.
- 설정 적용·릴레이 마지막 제어 완료 10초 후·누적량 초기화·OTA 전 저장은 유지합니다.
- 기존 2.0.x 데이터는 이전하지 않습니다. 처음 설치하면 Wi-Fi·MQTT·이름·잠금·보호·스케줄·타이머를 다시 설정해야 하며, 누적량은 첫 측정값을 기준으로 0부터 시작합니다.
- 새 저장 영역을 보호하도록 양쪽 OTA 슬롯의 끝 주소를 제한합니다. 부트·순정 설정·공장·보정 영역은 보존합니다.
- 초기 부팅·Wi-Fi 재설정 후 웹·센서 응답 및 설정 저장 상태를 테스트 기기에서 확인했습니다. 정시 저장·재부팅 후 복원·장기 안정성은 아직 별도 실기 검증 전입니다.
- 2.0.x로의 웹 다운그레이드는 지원하지 않으며, 복구 툴 1.0.0은 새 저장 형식에 미대응입니다.
English
- Append full settings, energy checkpoints and logical relay states as 1KiB records across two 64KiB banks (128KiB total), with four records per 4KiB sector before moving on.
- Use sequence numbers, CRCs, a final completion marker and readback validation to recover the newest valid record. Skip unchanged payloads.
- Save cumulative energy at each local hourly boundary using the configured timezone. Before NTP synchronization, use a one-hour interval; suppress repeated hours after backward clock corrections.
- Retain saves on configuration apply, ten seconds after the last completed relay command, energy reset and OTA checkpoint.
- No migration from 2.0.x. On first installation, reconfigure Wi-Fi, MQTT, names, locks, protection, schedules and timers. Energy starts at zero from the first valid metering observation.
- Enforce separate OTA end boundaries to protect both storage banks, preserving boot, OEM parameters, factory and calibration areas.
- Initial boot, web/sensor responses and persistent configuration status after Wi-Fi setup were confirmed on the test device. Hourly persistence, reboot restoration and long-term stability still require separate physical verification.
- Web downgrades to 2.0.x are unsupported. Recovery tool 1.0.0 is not compatible with the new storage format.
Build: 7fedec1dc7d5173d
SHA-256: 9c35186a181ec97aa1bdb23dacf48cba0fcde4ea7b804b0f18835face0252e28
Validation. Source ZIP supports Builder 1.0.0.
MTTL-W01 Recovery Tool 1.1
ST Link V2 Recovery Tool 1.1 / 복구 툴
한국어
2.1.0과 이전 독립펌웨어에서 순정 1.0.66으로 복구하도록 수정했습니다. 기존 설정 영역의 뒷부분 검사 대신, 양쪽 64KiB 순환 저장 영역 전체를 초기화합니다. 손상·불완전 데이터도 처리하며 부트·MAC·공장·보정 영역은 보존합니다. 전체 이미지 이중 백업, 기록 후 전체 재읽기 검증과 오류 시 재부팅 금지는 유지됩니다.
Windows x64 포터블 도구와 소스를 제공합니다. 순정 1.0.66은 포함되며 OpenOCD만 최초 사용 시 다운로드합니다. 오프라인 검사 13개와 포터블 EXE 실행 검사를 통과했습니다. 실제 기기 기록·복구 부팅은 아직 검증하지 않았습니다. Wi-Fi 보드를 AC 보드에서 완전히 분리해야 합니다. 설정·누적량은 삭제됩니다.
English
Updated to restore stock 1.0.66 from 2.1.0 and earlier standalone firmware. Both complete 64KiB journal banks are cleared instead of refusing populated legacy sector tails. Corrupt/incomplete data is handled; boot, MAC, factory and calibration areas are preserved. Double full backup, full readback verification and no reset on failure remain mandatory.
Windows x64 portable tool and source are provided. Stock 1.0.66 is included; only OpenOCD is downloaded on first use. Thirteen offline tests and portable EXE startup tests passed. Physical writes and recovery boot have not been validated. Fully disconnect the Wi-Fi board from the AC assembly. Settings and energy history are erased.
MTTL-W01 Standalone 2.0.18
한국어
- 타이머 탭의 채널 1–4 카드 제목을 가운데 정렬합니다.
- 로그창 높이를 300px에서 600px로 확대합니다.
- 사용자 기기에서 정상 동작을 확인했습니다.
English
- Center the Channel 1–4 headings in the Timer tab cards.
- Double the log window height from 300px to 600px.
- Correct operation confirmed by the user on their device.
Build: 8af7825ca26a7548
SHA-256: e69a14a10a4bb1348378ef7ef20e76ce5143a286d57462c7b4bb4a4fbc618ea5
Validation. Source ZIP supports Builder 1.0.0.
MTTL-W01 Standalone 2.0.17
한국어
- 펌웨어 탭 초기화 코드를 공통 화면 코드에 통합하여 별도 스크립트 로딩 실패로 버튼·안내가 비는 문제를 방지합니다.
- 모든 탭의 공통 스크립트를 순서대로 로딩하고, 다운로드 실패 시 안내와 함께 3초 후 재시도합니다.
- 펌웨어 정보 조회에 8초 제한·실패 시 3초 후 재시도를 추가하고, 펌웨어 탭 재진입·브라우저 복귀 시 정보를 갱신합니다.
- 독립 펌웨어 업데이트 성공 후 5초 뒤부터 3초 간격으로 최대 2분간 재접속을 확인합니다. 새 Build ID가 확인되면 펌웨어 탭을 자동으로 새로고침합니다.
- 재접속 시간 초과 시 수동 접속 안내를 표시하며, 펌웨어를 자동 재전송하지 않습니다. 동일 파일 안내·순정 복구의 기존 흐름은 유지합니다.
- 이전 화면에서 이 버전을 설치한 직후에는 한 번 수동 새로고침이 필요합니다. 자동 갱신은 갱신된 화면에서 다음 업데이트를 진행할 때부터 적용됩니다.
- 웹 UI·MQTT Discovery·웹 API의 버전 표기를 2.0.17로 통일합니다.
English
- Bundle Firmware-tab initialization with the common controller to prevent a separate script download failure from leaving labels and buttons blank.
- Load common scripts sequentially on all tabs and retry failed downloads after three seconds with a loading notice.
- Add an eight-second firmware-status request timeout, three-second retry on failure, and refresh on Firmware-tab selection or browser visibility restoration.
- After a successful standalone update, wait five seconds, then check reconnection every three seconds for up to two minutes. Reload the Firmware tab only after a new Build ID is observed.
- Show manual reconnect instructions on timeout, without automatically resending firmware. Preserve same-image and stock-restore behavior.
- Installing this version from an older page requires one manual refresh. Automatic reload applies to subsequent updates initiated from the refreshed UI.
- Align web UI, MQTT Discovery and web API version labels to 2.0.17.
Build: 981749bcbdfe3915
SHA-256: 534dae7fb9dc5d23fd70a756dbd05951aed7e7c40c97243b89fd2ee1bd327238
Validation details. Source ZIP supports Builder 1.0.0.
MTTL-W01 Standalone 2.0.16
한국어
- HA 타이머 센서가 OFF 상태에서는 설정 시간을 표시하도록 변경. 5분 설정 시 300초를 retained로 발행합니다.
- ON 상태에서는 기존처럼 남은 시간을 5초 간격으로 갱신합니다.
- OFF 전환 또는 OFF 상태에서 설정 변경 시 새 값을 한 번 발행하며, 유휴 중에는 주기 발행하지 않습니다.
- MQTT 재연결·HA 재시작 시 현재 값을 다시 동기화합니다. 기존 HA 카드와 엔티티를 그대로 사용할 수 있습니다.
- 사용자 기기에서 정상 동작 확인.
English
- HA timer sensors now show the configured duration while OFF: a five-minute setting publishes 300 seconds retained.
- While ON, remaining time continues to update every five seconds.
- Publish the new value once on transition to OFF or an idle setting change, without periodic idle traffic.
- Resynchronize current values on MQTT reconnection or HA restart. Existing HA cards and entities remain compatible.
- Correct operation confirmed by the user on their device.
Build: b7ebaf1e5faa6a1a
SHA-256: 700820e59ec73bd9a3c8d23e67180e06aad9fff54346cb0a7c3f835462f9a7f1
Validation · Source ZIP supports Builder 1.0.0.
MTTL-W01 Standalone 2.0.15
Updated build / 수정 빌드 — 2026-10-17
- 동일 이미지 업로드 시 “이미 설치된 펌웨어입니다” 안내. 활성화·재부팅하지 않습니다.
- Identical uploads show “This firmware is already installed”, without activation or reboot.
- Version stays 2.0.15; build is now
6c20881eb798b297. Install this build first for the improved duplicate message. - FWR, attached source ZIP and checksums were replaced together. Git tag/source-code auto archives retain the original release snapshot; updated source is on main and in the attached Source ZIP.
한국어
- 채널별 HA 타이머 설정 number 4개와 남은 시간 sensor 4개 추가 (#12).
- 남은 시간은 실행 중 5초마다 retain 발행, 종료·취소 시 0 한 번 발행. 유휴 중 주기 발행 없음.
- 측정 센서 20개는 0.5초마다 하나씩 확인하고 변화 시 발행. 같은 값은 최신 측정이 유효할 때 약 300초마다 재발행; HA 만료 600초.
- HA 카드의 Timer 행에 HH:MM:SS 남은 시간 표시; 클릭하면 해당 채널의 number 설정 창 열기. 카드 이름 MTTL-W01 2.0.15 Card. JS 파일명과 YAML type 유지.
- 스케줄 점유 채널의 비영 타이머 입력은 거부하고 0 재발행.
- 기존 사용자는 웹 펌웨어 탭으로 FWR 업데이트. 카드 JS도 교체하고 리소스 캐시를 갱신하십시오.
English
- Four per-channel HA timer number settings and four remaining-time sensors (#12).
- Active countdowns publish retained every five seconds; expiry/cancellation sends zero once. No periodic idle traffic.
- Twenty measurement sensors check one slot every 500ms, publish changes, and heartbeat fresh unchanged values about every 300s. HA expiry: 600s.
- HA card Timer row shows HH:MM:SS remaining time and opens the matching number settings on tap. Picker name: MTTL-W01 2.0.15 Card; existing JS filename and YAML type retained.
- Schedule-owned channels reject nonzero timer settings and republish zero.
- Update FWR through the device Firmware tab; replace the card JS and refresh its resource cache.
Build: 6c20881eb798b297. Firmware SHA-256: 2aade58a6a649e59982e4a1faa01dbf7f7a06a87baee299c6fa7f68b002ded46.
Validation: portable ARM 2099; current SDK ELF sensor policy 311, countdown 122, timer/settings 158, HA configuration/memory 102, relay 57; all passed with mocked hardware/RTOS/NOR. HA card browser checks: 28 passed with mock HA. Native FWR decode roundtrip passed. Updated OTA handling passed 143 full regression checks with mocked flash/HTTP/reset, plus duplicate HTTP and UI checks. User confirmed timer operation and HA card display; no claim of exhaustive physical validation. See docs/validation-2.0.15.md.
Source ZIP supports Builder 1.0.0. User modifications/self-builds are unsupported; see license notices.
MTTL-W01 Recovery Tool 1.0.0
ST Link V2 Recovery Tool 1.0.0
한국어
- Windows x64 포터블 EXE이며 한국어·영어 UI를 지원합니다. 연결 사진과 자세한 사용 설명을 제공합니다.
- ST Link V2/SWD로 기기를 확인하고, 전체 플래시를 두 번 읽어 일치 여부를 확인한 뒤 본인 기기의 백업을 기반으로 복구 이미지를 생성합니다.
- 순정펌웨어 1.0.66으로 복구하고 독립펌웨어 설정을 초기화합니다. 전체 재읽기 검증에 성공하면 자동으로 재부팅 명령을 보냅니다.
- 순정 1.0.66 FWR는 ZIP에 포함되어 파일 선택 없이 자동 사용합니다. OpenOCD만 최초 사용 시 지정된 공식 배포처에서 다운로드하고 SHA-256을 확인합니다.
- 최초 준비에는 인터넷이 필요하며, 준비 후에는 오프라인으로 사용할 수 있습니다. 시스템 PATH·환경변수·레지스트리는 영구 변경하지 않습니다. ST Link V2 드라이버는 별도 설치가 필요합니다.
- 기본 모드는 진단·백업만 수행합니다. 실제 복구를 하려면 안전 확인과 순정 복구 실행을 체크한 뒤 시작을 누르십시오. 지원 기기·부트·펌웨어 검사에는 UI 우회 기능이 없습니다.
- 백업에는 비밀번호와 기기 고유 정보가 포함될 수 있으므로 공개하지 마십시오. GPL 플래시 루틴의 대응 소스와 라이선스를 제공합니다. 순정펌웨어에는 원래의 제3자 권리가 적용됩니다.
안전: Wi-Fi 보드를 AC 보드와 완전히 분리한 상태에서만 ST Link V2·USB·PC를 연결하십시오. AC 전원 플러그만 뽑는 것으로는 충분하지 않습니다. 작업 완료 후 USB 전원을 끄고 ST Link V2와 연결선을 모두 분리하십시오. 전원이 없는 상태에서 보드를 다시 연결하고 멀티탭을 완전히 재조립한 뒤 AC 전원을 연결하고 메인 버튼을 길게 눌러 순정 Wi-Fi 설정 모드로 진입하십시오.
오프라인 검사와 포터블 실행 검사는 통과했지만, 이 통합 도구의 실제 보드 기록·복구 부팅 시험은 아직 하지 않았습니다. 해당 검증 범위를 구분하기 위해 Pre-release로 공개합니다. 기록 검증 완료와 실제 정상 부팅은 별도로 확인해야 합니다.
이 복구 툴은 독립펌웨어와 별개입니다. 복구 ZIP이나 EXE를 기기 웹의 펌웨어 탭에 업로드하지 마십시오. 기존 독립펌웨어 Release는 Latest로 유지합니다.
English
English wiring/recovery guide and photos
- Portable Windows x64 EXE with Korean/English UI, wiring photos and detailed instructions.
- Identifies the target over ST Link V2/SWD, reads the entire flash twice and verifies agreement before generating a recovery image from that same device's backup.
- Restores stock firmware 1.0.66 and clears standalone-firmware settings. Automatically sends a reboot command only after successful full readback verification.
- Stock 1.0.66 FWR is included in the ZIP and used automatically without file selection. Only OpenOCD is downloaded from its pinned official source on first use and verified with SHA-256.
- Initial preparation requires internet; the prepared folder works offline. No permanent PATH/environment/registry changes are made. The ST Link V2 driver must be installed separately.
- Default mode diagnoses/backs up only. For restoration, select the safety confirmation and Restore stock firmware, then Start. The UI provides no bypass for supported target/boot/firmware checks.
- Backups may contain passwords and device-specific information; keep them private. Matching GPL flasher sources and licenses are provided. OEM firmware retains its original third-party rights.
Safety: fully disconnect the Wi-Fi board from the AC assembly before connecting ST Link V2/USB/PC. Unplugging mains alone is not sufficient. After the job completes, disconnect USB power, ST Link V2 and all debug wires. With power disconnected, reconnect the board and fully reassemble the strip before connecting mains power. Hold the main button to enter stock Wi-Fi setup mode.
Offline tests and portable startup checks passed, but physical write/recovery-boot validation of this integrated tool has not been performed. It is published as a Pre-release to distinguish this validation limit. Verified writing and successful physical boot must be checked separately.
This recovery tool is separate from the standalone firmware. Do not upload the recovery ZIP or EXE through the device's Firmware tab. The existing standalone-firmware release remains Latest.
MTTL-W01 Standalone 2.0.14
한국어
- 채널별 1분~24시간 자동 OFF 타이머와 전용 웹 탭 추가.
- 타이머와 예약의 채널 중복 등록 방지. 재부팅 시 ON 채널은 전체 설정 시간부터 다시 시작.
- 채널 카드에 설정 시간 및 남은 시간을 표시하고 타이머 화면 배치·저장 표시 개선.
- 잠금 저장 결과 확인 개선, 설정 변경 시 불필요한 MQTT 재연결 방지, Wi-Fi 연결 상태 표시 수정 (#10).
- 사용자 실기에서 동작 확인. 기존 기기는 웹 펌웨어 탭에서 FWR로 업데이트하십시오.
English
- Per-channel automatic OFF timers (1 minute–24 hours) and a dedicated Timer tab.
- Prevent timer/schedule channel conflicts. ON channels restart their full configured duration after reboot.
- Configured/remaining time on channel cards; improved timer layout and save display.
- Improved lock-save confirmation, avoided unnecessary MQTT reconnects, and corrected Wi-Fi connection status (#10).
- Confirmed working by the user on hardware. Existing users can upload the FWR through the Firmware tab.
- Source ZIP works with Builder 1.0.0. User modifications/self-builds are unsupported; see license notices.
Firmware: 2.0.14 · build bde584ccbe78cbce.
MTTL-W01 Standalone 2.0.13
한국어
- 채널별 물리 버튼 잠금과 플래시 저장. 웹·HA·스케줄러·보호 차단은 잠금과 무관하게 동작합니다.
- 물리 메인 버튼은 잠기지 않은 채널만 제어합니다. 잠긴 버튼 조작 시 해당 채널 LED가 빠르게 3회 점멸합니다.
- 새 대시보드 디자인, 시스템 폰트, 모바일 2×2 채널 배치, 콜론·간격과 일·시간·분·초 가동 시간 표시.
- 실기용 초안·모의 문구 제거. 사용자 실기에서 기능과 화면 확인 완료.
- 기존 기기는 웹 펌웨어 탭에서 FWR를 올리세요. 최초 설치는 README의 Windows/macOS OTA 도구 안내를 따르세요.
- 소스 ZIP은 Builder 1.0.0으로 빌드할 수 있습니다. 사용자 수정·빌드 지원 정책 및 MIT/제3자 라이선스를 확인하십시오.
English
- Persistent per-channel physical-button locks. Web/HA controls, schedules and protection bypass the locks.
- The physical main button controls unlocked channels only. Blocked physical actions flash affected channel LEDs three times.
- Refreshed dashboard, system fonts, two-by-two mobile channel layout, consistent metadata spacing/colons and uptime in days/hours/minutes/seconds.
- Removed device-side draft/simulation UI text. Features and UI verified by the user on hardware.
- Existing users: upload the FWR through the device Firmware tab. For first installation, follow README instructions for the Windows/macOS OTA tool.
- Build the Source ZIP with Builder 1.0.0. Read the user-modification/build support policy and MIT/third-party license scope.
Firmware: 2.0.13 · build 545c2b5814c977fc. The filename omits the internal build ID.
SHA-256 checksums are provided below. The builder executable itself is unchanged.