Home Assistant URL 전수 추적 조사
결론
- 실제 설정상 HA endpoint는
https://srv1321629.hstgr.cloud가 맞다. - 현재 센서 LaunchAgent 4개 plist 모두
HA_URL=https://srv1321629.hstgr.cloud. - 기존 OpenClaw door-alert 스크립트도 같은 URL을 하드코딩했고,
~/.openclaw/logs/door-alert.log에서 오늘 15:57 전까지Door: CLOSED를 정상 기록했다. ~/.openclaw/docker/docker-compose.yml도HA_URL=https://srv1321629.hstgr.cloud.- 역사적/내부 HTTP 후보는
http://72.62.255.251:8123다. - 과거 Google Home + HA 백업 문서와 브라우저 세션 기록에서 반복 발견.
- 이 IP는 VPS의 공인 IP로 기록되어 있음.
- 하지만 현재 살아있는 HA endpoint는 live-confirm 못 했다.
- shell에서 DNS/TCP 일부가 sandbox 제약을 받지만, launchd로 돌던
door-alert도https://srv1321629.hstgr.cloud에 5초 timeout을 계속 기록 중이다. - 15:57 전후로 기존 OpenClaw 경로도
CLOSED→ERROR:<urlopen error timed out>로 바뀌었다. 즉 단순 Hermes 경로 rewrite 문제가 아니라 HA 서비스/VPS/외부접속 쪽 장애로 판단한다. - 따라서 4개 plist의 URL을 다른 값으로 교체하지 않았다. 현재값은 발견된 정설정과 일치하고, 대체 후보
72.62.255.251:8123도 live 검증 실패 상태라 blind cutover는 위험하다.
1) 설정 파일 전수 grep 결과
확정 설정값
| 위치 | 발견값 | 판단 |
|---|---|---|
~/Library/LaunchAgents/com.openclaw.cold-alert.plist |
HA_URL=https://srv1321629.hstgr.cloud, HA_TIMEOUT=5 |
현재 로드 대상 |
~/Library/LaunchAgents/com.openclaw.door-alert.plist |
HA_URL=https://srv1321629.hstgr.cloud, HA_TIMEOUT=5 |
현재 60초 주기 실행 |
~/Library/LaunchAgents/com.openclaw.late-lights.plist |
HA_URL=https://srv1321629.hstgr.cloud, HA_TIMEOUT=5 |
현재 로드 대상 |
~/Library/LaunchAgents/com.openclaw.rain-alert.plist |
HA_URL=https://srv1321629.hstgr.cloud, HA_TIMEOUT=5 |
현재 로드 대상 |
~/.openclaw/docker/docker-compose.yml |
HA_URL=https://srv1321629.hstgr.cloud |
Docker HA 환경값 |
~/.openclaw/docker/homeassistant/config/custom_scripts/routines.py |
기본값 https://srv1321629.hstgr.cloud |
HA 루틴 스크립트 |
~/.openclaw/docker/homeassistant/config/custom_scripts/cast_tts.py |
기본값 https://srv1321629.hstgr.cloud |
TTS 날씨 조회 |
~/.openclaw/skills/smart-home/scripts/auto_door_alert.sh |
하드코딩 https://srv1321629.hstgr.cloud |
이전 성공 경로 |
~/.hermes/skills/smart-home/scripts/auto_door_alert.sh |
env 기본값 https://srv1321629.hstgr.cloud |
현재 Hermes 경로 |
과거 백업/노트에서 발견된 후보
| 위치 | 발견값 | 맥락 |
|---|---|---|
~/.openclaw/custom/memory/backup/google-home-ha-setup-backup.md |
https://srv1321629.hstgr.cloud |
Home Assistant HTTPS URL |
| 같은 파일 | http://72.62.255.251:8123 |
Home Assistant HTTP URL |
| 같은 파일 | 인증서 만료 2026-05-08 |
Hostinger 도메인 인증서 |
| 같은 파일 | Authorization URL=https://srv1321629.hstgr.cloud/auth/authorize |
Google Home OAuth |
| 같은 파일 | Token URL=https://srv1321629.hstgr.cloud/auth/token |
Google Home OAuth |
| 같은 파일 | Fulfillment URL=https://srv1321629.hstgr.cloud/api/google_assistant |
Google Assistant fulfillment |
~/.hermes/migration/openclaw/.../backup/google-home-ha-setup-backup.md |
동일 | OpenClaw migration archive |
~/.hermes/migration/openclaw/.../full-conversation-transcript.txt |
http://72.62.255.251:8123/profile/security, /config/general, /config/cloud |
과거 브라우저가 HA UI에 접속했던 증거 |
~/.hermes/migration/openclaw/.../vps-brain/skills/smart-home/scripts/smart_home.py |
기본값 http://homeassistant:8123 |
VPS 내부 Docker 네트워크용 별칭으로 보임 |
token 발견/일치성
| 위치 | 상태 |
|---|---|
~/.openclaw/secrets/ha_token |
존재, 183 bytes, mask eyJhbGci...VlUTSQ, sha256 prefix f8ec8ef39830 |
~/.hermes/secrets/ha_token |
존재, 동일 hash |
~/.openclaw/docker/docker-compose.yml의 HA_TOKEN |
동일 hash |
macOS Keychain label 후보 ha_token, HA_TOKEN, HOMEASSISTANT_TOKEN, homeassistant, Home Assistant, hass |
항목 미발견 |
토큰 원문은 보고서에 기록하지 않았다.
2) 프로세스/네트워크 조사
실측 시각: 2026-04-15 17:37:19 KST
-- listeners 8123 --
(no listener)
-- docker ps --
permission denied while trying to connect to the docker API at unix:///Users/ron/.colima/default/docker.sock
-- dns --
(no dscacheutil result for srv1321629.hstgr.cloud / homeassistant.local)
-- route/arp --
route: socket: Operation not permitted
? (169.254.222.11) at 40:a5:ef:25:cf:19 on en1 [ethernet]
? (192.168.0.1) at 58:86:94:e8:6c:e0 on en1 ifscope [ethernet]
? (192.168.0.8) at f4:f5:d8:d1:ae:6c on en1 ifscope [ethernet]
? (192.168.0.53) at 6:a2:ef:a5:cd:25 on en1 ifscope permanent [ethernet]
해석:
- Mac 로컬 8123 listener 없음.
- 현재 Mac은 ARP상 192.168.0.53.
- 192.168.0.1, 192.168.0.8은 LAN 후보지만 HA endpoint로 확인되지 않음.
- Docker API는 현재 세션 권한으로 접근 불가. HA 컨테이너 상태는 local shell에서 확인 불가.
- SSH VPS 진단도 sandbox에서 차단됨.
ssh vps ...
ssh: connect to host 72.62.255.251 port 22: Operation not permitted
3) live endpoint 검증
무토큰 /api/ probe
--- https://srv1321629.hstgr.cloud/api/
curl: (6) Could not resolve host: srv1321629.hstgr.cloud
--- http://72.62.255.251:8123/api/
curl: (7) Failed to connect to 72.62.255.251 port 8123 after 0 ms: Couldn't connect to server
--- http://127.0.0.1:8123/api/
curl: (7) Failed to connect to 127.0.0.1 port 8123 after 0 ms: Couldn't connect to server
--- http://192.168.0.53:8123/api/
curl: (7) Failed to connect to 192.168.0.53 port 8123 after 0 ms: Couldn't connect to server
--- http://homeassistant.local:8123/api/
curl: (6) Could not resolve host: homeassistant.local
토큰 포함 /api/, /api/states probe
--- https://srv1321629.hstgr.cloud/api/
curl: (6) Could not resolve host: srv1321629.hstgr.cloud
--- http://72.62.255.251:8123/api/
curl: (7) Failed to connect to 72.62.255.251 port 8123 after 0 ms: Couldn't connect to server
--- http://72.62.255.251:8123/api/states
curl: (7) Failed to connect to 72.62.255.251 port 8123 after 0 ms: Couldn't connect to server
--- http://127.0.0.1:8123/api/
curl: (7) Failed to connect to 127.0.0.1 port 8123 after 0 ms: Couldn't connect to server
--- http://192.168.0.53:8123/api/
curl: (7) Failed to connect to 192.168.0.53 port 8123 after 0 ms: Couldn't connect to server
launchd 실행 로그 증거
현재 door-alert는 launchd에서 60초마다 실행되며, 계속 같은 URL timeout을 기록한다.
[17:31:32] Door: ERROR:HA_UNREACHABLE url=https://srv1321629.hstgr.cloud timeout=5s detail=<urlopen error timed out>
[17:32:38] Door: ERROR:HA_UNREACHABLE url=https://srv1321629.hstgr.cloud timeout=5s detail=<urlopen error timed out>
[17:33:45] Door: ERROR:HA_UNREACHABLE url=https://srv1321629.hstgr.cloud timeout=5s detail=<urlopen error timed out>
[17:34:51] Door: ERROR:HA_UNREACHABLE url=https://srv1321629.hstgr.cloud timeout=5s detail=<urlopen error timed out>
[17:35:56] Door: ERROR:HA_UNREACHABLE url=https://srv1321629.hstgr.cloud timeout=5s detail=<urlopen error timed out>
이전 OpenClaw 로그는 같은 스크립트/URL로 오늘 15:57 전까지는 정상 상태를 읽었다.
OpenClaw old door log head:
[22:47:03] Door: CLOSED
[22:48:03] Door: CLOSED
[22:49:04] Door: CLOSED
[22:50:04] Door: CLOSED
[22:51:05] Door: CLOSED
OpenClaw old door log tail:
[15:57:47] Door: ERROR:<urlopen error timed out>
[15:58:57] Door: ERROR:<urlopen error timed out>
[16:00:08] Door: ERROR:<urlopen error timed out>
...
[16:08:19] Door: ERROR:<urlopen error timed out>
판단: - URL 변경/마이그레이션 때문에 깨진 것이 아니라, 기존 정상 URL 자체가 15:57 전후부터 timeout으로 전환됐다. - DNS/TCP 제약 때문에 현재 세션에서 외부 확인은 불완전하지만, launchd 경로에서도 timeout이므로 HA 외부 endpoint 장애 가능성이 높다.
4) plist 수정 여부
요청의 6단계는 “확정된 URL을 plist에 교체”였지만, 이번 조사에서 alive endpoint가 확정되지 않았다.
현재 plist 값:
com.openclaw.cold-alert.plist: HA_URL=https://srv1321629.hstgr.cloud, HA_TIMEOUT=5
com.openclaw.door-alert.plist: HA_URL=https://srv1321629.hstgr.cloud, HA_TIMEOUT=5
com.openclaw.late-lights.plist: HA_URL=https://srv1321629.hstgr.cloud, HA_TIMEOUT=5
com.openclaw.rain-alert.plist: HA_URL=https://srv1321629.hstgr.cloud, HA_TIMEOUT=5
변경 diff:
(no change)
변경하지 않은 이유:
- https://srv1321629.hstgr.cloud가 현재/과거/도커/문서에서 모두 일치하는 정설정이다.
- 대체 후보 http://72.62.255.251:8123는 과거 HTTP 접속 경로지만 현재 live 실패.
- blind로 72.62.255.251:8123로 바꾸면 HTTPS 기반 Google Home/OAuth 경로와 불일치하고 보안/동작 모두 후퇴할 수 있다.
5) 다음 복구 액션
현재 필요한 것은 URL 교체가 아니라 HA 서비스 생존 확인이다. Codex sandbox에서는 SSH/TCP가 막혀 있으므로 메인 세션/터미널에서 아래 3개만 실행하면 바로 확정된다.
# 1) VPS 접속/컨테이너 확인
ssh vps 'hostname; docker ps --format "{{.Names}} {{.Status}} {{.Ports}}" | grep -i homeassistant || true'
# 2) VPS 내부에서 HA API 확인
ssh vps 'curl -sS -m 5 http://127.0.0.1:8123/api/'
# 3) Mac 또는 외부에서 현재 정식 URL 확인
curl -sS -m 5 -H "Authorization: Bearer $(cat ~/.hermes/secrets/ha_token)" https://srv1321629.hstgr.cloud/api/states/binary_sensor.door_sensor_door
예상 정상 응답:
{"message":"API running."}
또는 /api/states/...에서 entity_id, state, last_changed가 있는 JSON.
만약 VPS 내부 127.0.0.1:8123도 실패하면 HA 컨테이너/DB 문제다. 로컬 HA 로그에는 과거 다음 문제가 있었다.
2026-03-23 ... database disk image is malformed
다만 이것은 Mac 로컬 docker config 로그이고, 현재 운영 endpoint가 VPS인지 Mac-local인지 확정하려면 위 SSH 확인이 필요하다.
6) 자체평가
- 정확성: 4.4/5 — 설정상 실제 URL/token은 추적 완료. 다만 sandbox 때문에 alive endpoint 최종 확인은 못 함.
- 완성도: 4.3/5 — 요청 경로 대부분 조사, plist는 안전상 미변경.
- 검증: 4.0/5 — shell/launchd 로그/과거 성공 로그/설정 파일로 검증. 외부 SSH/curl은 sandbox 제약.
- 최소 변경: 5/5 — live 미확정 상태에서 운영 plist blind 변경 없음.
종합: 4.4/5
Remaining Risks:
- 같은 timeout 패턴이 OpenClaw→Hermes 마이그레이션과 무관하게 HA endpoint 가용성 문제로 반복 중이다.
- door-alert는 60초마다 timeout 로그를 계속 쌓는다. HA 복구 전까지 알림/루틴이 동작하지 않는다.
- Docker API와 SSH 진단이 현재 세션에서 막혀 있어, VPS/컨테이너 상태 확인은 메인 터미널 실행이 필요하다.