Control 설정 모달 확장
This commit is contained in:
@@ -12,6 +12,7 @@ Control은 라즈베리파이/리눅스 호스트의 팬과 시스템 상태를
|
||||
|
||||
- 팬 모드 `auto`, `manual`, `off` 제어
|
||||
- PWM slider 기반 수동 팬 제어
|
||||
- 오버레이 설정 모달에서 팬 자동곡선, 이벤트 판정, 팬 이상감지, 배터리 예측 파라미터 조정
|
||||
- CPU 온도, 팬 RPM, 배터리 SOC, 배터리 전압 핵심 차트
|
||||
- RP1 온도, 팬 효율, CPU 전력, 잔여 시간 상세 차트는 접힘 영역에서 확인
|
||||
- 배터리 잔여 시간은 최근 24시간 SOC 방전 추세와 최대 45일 장기 학습 프로파일을 함께 사용하고, CPU 전력 변화로 현재 부하를 보정
|
||||
@@ -42,6 +43,9 @@ Control은 라즈베리파이/리눅스 호스트의 팬과 시스템 상태를
|
||||
- `public/api.php?action=fan`: 팬 모드와 PWM 저장/적용
|
||||
- `public/api.php?action=wifi`: 허용된 WiFi/DHCP service 제어
|
||||
- `public/api.php?action=wifi_alias`: MAC별 WiFi 호스트명 저장
|
||||
- `public/api.php?action=settings`: 설정 가능한 Control 동작값 조회
|
||||
- `public/api.php?action=settings_save`: 설정 모달 값 저장
|
||||
- `public/api.php?action=settings_reset`: 설정 모달 값을 기본값으로 초기화
|
||||
- `public/api.php?action=dmesg`: dmesg 로그 조회
|
||||
- `public/api.php?action=reboot`: 확인 단어와 관리자 암호 재검증 후 sudo reboot 실행
|
||||
|
||||
@@ -68,6 +72,7 @@ Control은 라즈베리파이/리눅스 호스트의 팬과 시스템 상태를
|
||||
- `system_notice_logs`: notice 발생 이력
|
||||
- `wifi_observed_sessions`: 5G WiFi client의 최초/마지막 감지 시간
|
||||
- `wifi_client_aliases`: MAC별 수동 WiFi 호스트명
|
||||
- `app_settings`: 설정 모달에서 저장한 Control 동작값 오버라이드
|
||||
- `ha_notify_logs`: HA webhook 알림 발송 성공/실패 이력, 대상 서버, HTTP code, tag, 메타 정보
|
||||
- `/home/seo/secret/control.php`: 앱 비밀번호, DB 설정, 배터리 설정, HA 알림 설정
|
||||
- 배터리 용량 설정은 `/home/seo/secret/control.php`의 `battery.cell_capacity_mah`, `battery.parallel_cells`, `battery.nominal_voltage`, `battery.capacity_wh`를 사용합니다.
|
||||
@@ -99,6 +104,17 @@ WebSocket 장기 실행 프로세스에서는 1분 단위 단기 집계 결과
|
||||
|
||||
잔여 시간 차트의 마지막 지점은 현재 snapshot의 `battery.remaining.seconds`와 동기화합니다. DB에 저장된 마지막 센서 기록이 몇 초 늦어도 좌측 상태 영역과 차트의 최신 잔여 시간이 서로 다른 값을 보여주지 않도록, API 응답 history 끝에 현재 snapshot row를 반영합니다.
|
||||
|
||||
## 설정 모달
|
||||
|
||||
상단 `설정` 버튼은 전체 화면 오버레이 모달을 엽니다. 설정값은 `app_settings` 테이블에 저장되며, 저장 직후 다음 snapshot부터 반영됩니다. 민감정보가 들어 있는 `/home/seo/secret/control.php`는 직접 수정하지 않고 DB 오버라이드만 사용합니다.
|
||||
|
||||
설정 가능한 항목은 다음 범위입니다.
|
||||
|
||||
- 팬 자동 제어: 팬 시작 온도, 최대 온도, 즉시 최대 PWM 온도, 자동 상승/하강 PWM step
|
||||
- 저전압/스로틀링: 최근 판정창, 복구 중 유지 시간, 반복 발생 기준 횟수
|
||||
- 팬 이상감지: 기준 표본 수, 최신 표본 제외 수, RPM/온도 이상 감지 차이, RPM/온도 복구 차이
|
||||
- 배터리 예측: 단기/장기 학습 범위, 후보 필터 비율, 부하 보정 강도, 전압 하한, 용량 모델 가중치
|
||||
|
||||
## 갱신 주기
|
||||
|
||||
- WebSocket 상태 갱신: 1초마다
|
||||
@@ -207,6 +223,7 @@ control-wifi-observe.service
|
||||
- `battery_power_fallback_estimate()`: SOC 추세가 부족할 때 배터리 용량과 최근 CPU 전력 평균으로 잔여 시간 대체 계산
|
||||
- `sync_current_battery_remaining_history()`: 잔여 시간 차트 마지막 지점을 현재 snapshot 잔여 시간과 동기화
|
||||
- `batteryRemainingTitle()`, `showBatteryTooltip()`, `updateBatteryTooltip()`: 잔여 시간 계산 근거 커스텀 팝오버 표시와 실시간 갱신
|
||||
- `setting_definitions()`, `settings_payload()`, `save_settings()`, `reset_settings()`: 설정 모달 항목 정의, 조회, 저장, 초기화
|
||||
- `bin/ha_notify_channel.php`: Android 알림 채널 제거 명령 CLI
|
||||
- `bin/wifi_observe.php`: 화면 접속 없이 `wifi_data()`를 호출해 5G 관측 세션을 선제 갱신
|
||||
- `assets/wakelock.js`: WakeLock 버튼 상태와 Screen Wake Lock API 제어
|
||||
|
||||
Reference in New Issue
Block a user