개요
앱에서 엘리베이터를 호출하는 기능임. 앱 경로는 우리집제어 > 엘리베이터 호출이고, API는 POST /maw/v1/household/callElevator임. 요청 본문은 {"callType":"R"} 하나뿐이고 동·호수는 로그인 정보에서 채움.
호출 경로가 임대 유형에 따라 갈림
이 기능의 핵심임. 같은 버튼이지만 뒤로 나가는 경로가 다름.
| 임대 유형 | 코드 | 호출 경로 |
|---|---|---|
| 매입임대 | 02 | 승강기 플랫폼 |
| 건설임대(영구임대 등) | 그 외 | 홈넷 서버 |
MAW의 callElevator가 로그인 정보의 임대유형 코드를 보고 승강기 플랫폼과 홈넷 서버로 분기함. 장애를 볼 때 어느 경로인지 먼저 확인해야 엉뚱한 쪽을 뒤지지 않음.
홈넷 서버 경로 본문에는 trace_id, sbd_id, dong_no, ho_no, call_type이 들어감. result_code가 2000이면 정상임. 승강기 호출 중계는 2024년에 APW에 추가됨. 공개노트/개발/모듈/APW 연계 서버
- 홈넷 경로는 홈넷 연동 상태 코드가
ON인 서버만 씀. 연동 시험을 시작하지 않은 단지는 호출 자체가 데이터 없음(SQI0002)으로 끝남. 기기 제어는 이 조건을 보지 않으므로 “기기 제어는 되는데 승강기만 안 되는” 단지가 나올 수 있음. 공개노트/기능/홈넷 서버 연동 - 승강기 플랫폼 경로의 주소·인증키는 공통 상수 테이블에서 읽음. 값이 없으면
SQI0002임
입주민 앱의 승강기 호출은 APW 홈넷 프록시를 거치지 않음(2026-09-18 확정). MAW 코드 1~3편 전 범위에 APW 홈넷 프록시를 부르는 곳이 없고, 홈넷서버를 직접 부름(토큰만 APW에서 받아옴). APW 홈넷 프록시의 승강기 경로를 쓰는 것은 가전사 앱 쪽(PIW) 임 → 공개노트/개발/모듈/PIW 연계 서버. 따라서 입주민 앱 호출이 늦는 기준은 홈넷 응답 타임아웃 3초임. 공개노트/기능/우리집제어에 같은 정리가 있음
호출 층은 서버가 계산함 (매입임대 경로)
승강기 플랫폼에는 “몇 층으로 불러 달라”를 숫자로 보내야 해서 서버가 호수에서 층을 뽑아 변환함.
- 호수 뒤 2자리를 떼고 앞부분을 층으로 봄.
1203→ 12층,501→ 5층 - 호수가 두 자리 이하이거나 숫자가 아니면
SQI0002+ 로그호수에서 층수 추출 실패 - 승강기 마스터의 지하층수를 읽어 최하층을 0으로 맞춰 호출층을 다시 계산함. 지상층은
층 + 지하층수 - 1, 지하층은층 + 지하층수
“엉뚱한 층으로 호출된다”는 이 계산이 어긋난 것임. 호수 체계가
1203(12층 3호) 방식이 아닌 단지, 또는 승강기 마스터의 지하층수가 실제와 다른 단지에서 생김. 단지명·동호수와 함께 개발 담당에 전달할 것.
세대에 승강기가 여러 대면 순차로 호출함. 중간 한 대가 실패하면 예외가 나서 나머지는 호출되지 않음.
실패했을 때 앱에 뭐가 보이는가
2026-09-18 코드 확인 기준임.
- 승강기 플랫폼·홈넷서버 실패는 전부 HTTP 500 +
SQI9002로 내려감. 앱에는예상하지 못한 오류가 발생하였습니다. 관리자에게 문의하세요.만 뜨고 실패 사유가 전달되지 않음 - 데이터가 없는 경우(세대 승강기 미등록, 상수 미등록, 층 추출 실패, 홈넷 연동
OFF)만SQI0002로 구분됨 - 승강기 플랫폼 규격의 실패 코드(제어 가능 단지 아님, 대상 승강기 없음, 호출할 수 없는 층 등)는 서버에 정의만 되어 있고 쓰이지 않음. 앱은 이 코드를 받아 볼 수 없음
- 재시도가 없음. 타임아웃(10초)이 나면 그대로 실패임
- 서버가 호출 응답을 검사하지 않음. 그래서
엘리베이터 호출 성공로그는 “요청을 보냈다”는 뜻일 뿐임. 실제 결과는 승강기 호출 이력 로그 테이블(alog.tb_elv_gw_api_rq_l)의 응답 본문을 봐야 함 - 요청 본문의
callType은 홈넷 경로에만 전달됨. 승강기 플랫폼 요청에는 승강기 번호와 층만 들어가callType이 무시됨
앱에서의 동작
전용 화면은 없고 우리집제어 대시보드의 승강기 카드에서만 호출함. BLE와 무관한 순수 REST임.
- 회원 정보의 엘리베이터 계약 여부(
elrContYn)를 먼저 봄 - 계약이 없으면 다이얼로그
관리사무소에 문의하세요. - 계약이 있으면 확인 다이얼로그
엘리베이터를 호출합니다.(취소/확인) → 호출 API 전송 - 버튼이 “호출” → “호출중”으로 바뀌고 30초 뒤 자동으로 돌아옴. 그 사이 다시 누르면 토스트
엘리베이터 호출중입니다
- 카드 자체가 안 보이면 승강기 플랫폼 연동 여부(
elvPlatformYn)가Y가 아님. 회원·단지 설정 문제임. 공개노트/개발/모듈/앱 구조와 보안 - 앱은 호출 요청만 보내고 결과를 확인하지 않음. 앱 화면에 “호출중”이 떴다는 것은 요청을 보냈다는 뜻일 뿐 승강기가 왔다는 뜻이 아님.
- 30초 동안은 재호출이 막히므로 “여러 번 눌렀는데 반응이 없다”는 정상 동작일 수 있음.
현재 지원 범위
- 호출은 됨
- 엘리베이터의 실시간 위치나 호출 현황 조회는 지원하지 않음. 문의가 오면 지원하지 않는 기능이라고 안내함
알려진 문제
| 증상 | 원인 | 조치 | 관련 |
|---|---|---|---|
앱에서 호출했는데 안 옴, 우리 로그는 엘리베이터 호출 성공 | 우리 서버까지는 정상. 홈넷 서버 또는 승강기 쪽 구간 문제 | 성공 로그와 요청 내용을 홈넷사에 메일 전달 | 기본매뉴얼/입주민/엘리베이터 호출이 안 돼요 |
result_code: 5011 | 동(dong_no) 정보가 빠짐. “해당 세대 정보가 없습니다” | 요청에 동이 들어가는지 확인 | 공개노트/기능/홈넷 서버 연동 |
| 같은 세대에서 반복 재발 | 단지·세대 단위로 재발하는 경향 | 홈넷사에 이력을 묶어 전달 | 기본매뉴얼/입주민/엘리베이터 호출이 안 돼요 |
관리사무소에 문의하세요. 팝업만 뜸 | 엘리베이터 계약 여부(elrContYn)가 Y가 아님 | 회원·단지 설정 확인 | 위 “앱에서의 동작” |
| 승강기 카드가 아예 안 보임 | 승강기 플랫폼 연동 여부(elvPlatformYn)가 Y가 아님 | 회원·단지 설정 확인 | 공개노트/개발/모듈/앱 구조와 보안 |
| 다른 층으로 엘리베이터가 옴 | 호수→층 변환 또는 지하층수 값이 단지와 안 맞음 | 단지명·동호수와 함께 개발 담당에 전달 | 위 “호출 층은 서버가 계산함” |
SQI9002만 뜨고 사유를 모름 | 외부 호출 실패가 전부 500으로 뭉개짐 | traceId로 호출 이력 로그의 응답 본문을 봄 | 위 “실패했을 때 앱에 뭐가 보이는가” |
| 승강기가 여러 대인 세대에서 일부만 호출됨 | 순차 호출 중 한 대가 실패해 뒤가 끊김 | 호출 이력 로그에서 몇 번째에서 끊겼는지 확인 | 위 “호출 층은 서버가 계산함” |
인천검단37단지에서 2026-07-22(3701동 906호)와 2026-09-07(302동 1302호) 두 차례 접수됨. 2026-09-07 건은 7/22과 동일한 절차로 확인한 뒤 홈넷사에 메일로 전달함. 두 건 모두 우리 서버 기록상으로는 호출이 정상 처리됨.
홈넷사에 전달한 뒤의 원인은 우리가 추적하지 않음(2026-09-17 확인). 원인은 홈넷 서버 설정이나 통신 문제가 대부분임. 우리 로그에 호출 성공이 남아 있으면 홈넷사에 전달하는 것으로 우리 쪽 처리는 끝남.
관련
공개노트/기능/홈넷 서버 연동 공개노트/기능/우리집제어 공개노트/개발/모듈/MAW 앱 API 서버 공개노트/개발/모듈/앱 구조와 보안 기본매뉴얼/입주민/엘리베이터 호출이 안 돼요 기본매뉴얼/운영/grafana로 로그 보기