PREVIEW초안이에요. 아직 실제로 쓸 수는 없고, 계약과 안전 심사에 따라 바뀔 수 있어요.
리소스Resources · v1 preview

원격 설정 · 안전 경계Remote settings & safety

원격으로 쓸 수 있는 키는 아래 허용 목록 7종뿐이에요. 이 목록은 머신 로컬 웹의 운영자 제어가 이미 쓰는 목록과 같고, 쓰기는 CAN 쓰기 → 보드 리드백 → 확정값 응답 순서로 처리돼요.

원격으로 바꿀 수 있는 설정

키타입 · 범위scope설명
shot_light_modeenum off·on_shot·alwayslighting샷 조명 동작
display_brightnessint 10~100lighting화면 밝기 %
display_auto_off_sint 0·30~3600lighting화면 자동 꺼짐 (0 = 끔)
ambient_enabledboollighting앰비언트 조명
ambient_brightnessint 0~100lighting앰비언트 밝기 %
ambient_rgbhex #RRGGBBlighting앰비언트 색
heater_standby_typeenum off·reduce·standby_offstandby절전 대기 방식 (standby_off 도 스팀 보일러는 110 °C 하한을 유지)

읽기 · 쓰기

GET /v1/public/machines/{serial}/settings
→ 200 { "values": { "ambient_brightness": 60, … }, "epoch": 58525 }

PATCH /v1/public/machines/{serial}/settings
Authorization: Bearer <oauth2 token with settings:write:lighting>
Content-Type: application/json
{ "ambient_brightness": 50, "expected_epoch": 58525 }

→ 200 { "ok": true, "values": { "ambient_brightness": 50 }, "epoch": 58525, "read_back": true }
→ 400 { "error": "out_of_range", "key": "ambient_brightness", "range": [0, 100] }
→ 403 { "error": "not_whitelisted", "key": "boiler_setpoint_c" }
→ 409 { "error": "epoch_mismatch", "epoch": 58530 }
→ 503 { "error": "machine_offline" }

expected_epoch 는 선택이지만 권장해요. 머신 화면에서 누군가 같은 설정을 바꿨다면 409 가 돌아오고, 다시 읽은 뒤 결정하면 돼요. 응답의 values 는 보드가 다시 읽어 보고한 값이라 "썼다고 가정"하지 않아요.

안전 경계 — 앞으로도 열지 않아요

영역상태이유
안전 한계 (과열 래치 온도 · 최대 압력 · 연속 출수 시간 · 히스테리시스)경로 없음펌웨어 SSOT 에 고정, 어떤 모드·명령으로도 우회되지 않음
보일러 목표 온도 4채널경로 없음설정 상한이 안전 한계와 불변식으로 묶여 있음
추출 파라미터 (목표량 · 프리인퓨전 · 패들 프로파일 · 매핑 재생)경로 없음머신 앞 사람의 조작 영역
펌웨어 설정 전반 · OTA 트리거 · 정비 모드경로 없음기술자 어드민 API 의 몫
원격 추출 시작 / 정지검토 중계약 조건과 안전 심사(무인 출수·화상 위험) 뒤에만 결정

Only the seven allow-listed keys below can be written remotely — the same list the machine's local operator control already uses. A write is CAN write → board read-back → confirmed value.

KeyType · rangescope
shot_light_modeoff · on_shot · alwayslighting
display_brightness10–100lighting
display_auto_off_s0 · 30–3600lighting
ambient_enabledboollighting
ambient_brightness0–100lighting
ambient_rgb#RRGGBBlighting
heater_standby_typeoff · reduce · standby_offstandby
PATCH /v1/public/machines/{serial}/settings
{ "ambient_brightness": 50, "expected_epoch": 58525 }
→ 200 { "ok": true, "values": { "ambient_brightness": 50 }, "read_back": true }
→ 400 out_of_range · 403 not_whitelisted · 409 epoch_mismatch · 503 machine_offline

The boundary — never opened

AreaStatus
Safety limits (overtemp latch, max pressure, continuous dispense, hysteresis)no path
Boiler setpoints (4 channels)no path
Extraction parameters (targets, pre-infusion, paddle profiles, replay)no path
Firmware settings · OTA triggers · service modeno path
Remote start / stopunder review

이 문서의 원본은 이 HTML 파일이에요 (빌드 없음).