개요

월패드·홈넷서버에서 “이 세대에 이런 일이 생겼다”고 알려오면 APW가 DB에 남기고 입주민에게 문자(SMS) 또는 푸시를 보냄. 어느 수단으로 가는지는 이벤트 코드마다 정해져 있음.

흐름: 홈넷서버 → POST /api/hn2lh/event(APW) → 수신 이력 저장 → 이벤트 코드별로 SMS 또는 푸시 발송. 서버 구조는 공개노트/개발/모듈/APW 연계 서버.

이벤트 코드별 발송 방식

코드의미수단받는 사람앱 이동 화면문구
SA방범 경보SMS세대원 본인 휴대폰-”우리집 방범장치에서 경보가 울렸습니다.”
SB비상호출SMS비상연락처-”○동 ○호 입주민이 비상호출하였습니다”
SC안전확인 경보(장시간 무동작)SMS비상연락처-”○동 ○호 입주민이 장시간 움직임이 없습니다”
C1차량 입차푸시(topic HSH_CAREL)세대 토픽 구독자입출차”우리집 차가 입차하였습니다”
C2차량 출차푸시(topic HSH_CAREL)세대 토픽 구독자입출차”우리집 차가 출차하였습니다”
E1월간 에너지 목표 초과푸시(topic ENGCNS_AMUSOV)세대 토픽 구독자에너지 목표”에너지 사용량이 목표를 초과하였습니다”
F1층간소음 1단계푸시(token)세대원 각자 토큰층간소음”우리집에서 층간소음이 발생했어요…”
F2층간소음 2단계푸시(token)세대원 각자 토큰층간소음”…기준치 이상 발생했어요…”
CA전기차 충전완료푸시(topic HSH_EV)세대 토픽 구독자차량 충전”전기차 충전이 완료되었습니다”

핵심 규칙

  • 방범·비상호출·안전확인(SA/SB/SC)은 푸시가 아니라 문자임. 홈넷사가 보낸 메시지 내용은 무시하고 2024-07-23부터 고정 문구를 씀. SA는 세대원 휴대폰, SB/SC는 비상연락처(cmn.tb_emcrt_l)로 감
  • 층간소음(F1/F2)만 token 방식 푸시. 나머지 푸시는 topic 방식(["HSH", 세대ID, 토픽]). 방식 차이는 공개노트/개발/push 알림
  • 홈넷 이벤트 코드 → 스마트홈 이벤트 변환 기준은 cmn.tb_evn_m임. 매핑이 없는 코드가 오면 발송하지 않고 1999(실패)로 응답함. 로그 정의 되지 않은 코드를 수신하였습니다
  • 발송 실패 시 홈넷서버에 5999로 오류를 돌려줌. 즉 푸시·SMS 실패가 홈넷사 쪽에서는 API 실패로 보임
  • 과거 숫자 코드(00,10,21,22,30,40,51,52,80)에서 영문 코드로 바뀜. 홈넷 연동규격 V1.1 개선안 적용 시 또 바뀔 예정

층간소음 센서 (홈넷 경유 안 함)

층간소음 알리미 센서는 홈넷서버를 거치지 않고 APW /api/fns로 직접 보고함.

경로하는 일테이블
POST /api/fns/heartbeat센서 생존 신고. 응답에 아직 전송 안 된 제어 설정을 실어 내려줌cmn.tb_nsba_dvc_m(조회), tb_nsba_dvc_brf_h, tb_nsba_dvc_cont_h
POST /api/fns/noiseEvent소음 이벤트 수신 → F1/F2와 같은 경로로 세대원에게 푸시cmn.tb_nsba_dvc_nc_h
  • 센서는 MAC 주소로 식별함. tb_nsba_dvc_m에 등록 안 된 MAC이면 4011(인증정보 불일치)
  • 푸시 이미지 URL은 tb_cstt_mSMAH_APP_NOISE_LEVEL_1_PUSH_IMAGE_URL, ..._2_.... 앱은 이 URL을 쓰지 않고 내장 이미지를 씀

반대 방향 — 스마트홈에서 생긴 일을 홈넷(월패드)에 알림

위는 홈넷 → LH 방향임. 반대로 공지·투표·관리비·전출입처럼 스마트홈에서 생긴 일은 SCW 스케줄러가 주기적으로 모아 홈넷서버로 밀어 넣음. 스케줄러 구조는 공개노트/개발/모듈/SCW 스케줄러 서버.

지금 - pod_hr분 ~ 지금 사이에 생긴 것을 모아 보내므로 실시간이 아니라 주기 단위로 늦게 감.

구분이벤트홈넷 경로
세대별전입·전출(H1/H2, 구 코드 40/41 병행), 관리비 등록(NT010), 임대료 등록(NT011)POST /api/lh2hn/lhHouseholdEvent
단지별신규 공지사항(NT005), 신규 전자투표, 투표 시작(NT006), 신규 안전서비스 세대POST /api/lh2hn/commonEvent
  • 성공 판정은 홈넷 응답 result_code2000인지임. 아니면 실행 이력(cmn.tb_proc_run_h)의 오류 메시지에 notice no:{번호} sended error:{코드} 형태로 누적됨
  • 전입·전출이 신·구 코드 2종으로 병행 발송됨(연동규격 V1.0 → V1.1 전환 중). 홈넷사가 둘 다 처리하면 이중 처리될 수 있음
  • 건별 순차 호출이라 홈넷서버 1대가 느리면 그 뒤 단지 처리가 밀림

“관리비를 올렸는데 월패드에 안 뜬다” → NT010 전달 실패임. cmn.tb_proc_run_h에서 세대별 이벤트 스케줄러(SCW_SCHEDULER_EVENT_SMARTHOME_NOTIFICATION_HOUSEHOLD)의 실행 결과와 오류 메시지를 볼 것.

기기 이벤트 구독 해지

앱을 오래 안 쓴 사용자(리프레시 토큰 만료)의 기기 상태변경 이벤트 구독을 홈넷서버에서 해지함. 안 쓰는 세대에 이벤트가 계속 오는 것을 막는 목적임. SCW 스케줄러가 APW POST /api/proxy-homenet/subscribeDeviceEvent를 해지 유형으로 호출함.

  • 검증 예외를 전부 “만료”로 간주함. 토큰 서명키가 바뀌면 전 사용자의 구독이 해지됨
  • 해지되면 파트너 토큰 값만 비우고 행은 남김
  • 로그 키워드 토큰 검증 중 예외 발생(만료된 것으로 간주), 작업 완료: {n}건 해지됨
  • 구독을 거는 쪽은 공개노트/개발/모듈/OAW 인증 서버

문의별 확인 순서 (관리자)

문의확인로그 키워드
방범이 울렸는데 문자가 안 옴cmn.tb_usr_m에 세대원 휴대폰 번호가 있는지(ARIA 암호화 저장) ② cmn.tb_sms_sndg_l에 발송 이력이 남았는지 ③ 뿌리오 잔액·발신번호. 공개노트/개발/모듈/SMS 발송sms 발송요청 실패, [SMS발송]대상 정보가 없습니다
비상호출·안전확인 문자가 안 옴비상연락처(cmn.tb_emcrt_l) 등록 여부. 세대원 본인이 아니라 비상연락처로 감위와 같음
입차·출차 알림이 안 옴topic 방식이라 앱이 HSH_CAREL 토픽을 구독했는지. 알림 설정 꺼짐, 재로그인 필요 여부push 발송을 위한 topic 정보 중, DB에 존재하지 않습니다
층간소음 알림이 안 옴token 방식이라 tb_usr_m의 푸시 토큰이 최신인지 → 재로그인. 센서 직접 보고면 tb_nsba_dvc_m에 MAC 등록 여부fcm에 등록되지 않은 토큰입니다
새 이벤트를 홈넷사가 보내는데 아무 반응 없음cmn.tb_evn_m에 해당 코드 매핑이 있는지정의 되지 않은 코드를 수신하였습니다
수신 자체가 됐는지smah.tb_hnet_evn_rcv_l, cmn.tb_evn_occ_l에 이력이 있는지. 없으면 홈넷사가 안 보낸 것-

입주민 응대는 기본매뉴얼/입주민/알림이 안 와요.

확인 필요

확인 필요

cmn.tb_evn_m의 이벤트 코드 매핑이 홈넷 연동규격 V1.1 개선안 적용 시 어떻게 바뀌는지, 기존 코드와 병행 지원이 필요한지 담당자 확인 필요.

관련

공개노트/개발/모듈/APW 연계 서버 공개노트/개발/모듈/SCW 스케줄러 서버 공개노트/개발/모듈/OAW 인증 서버 공개노트/개발/push 알림 공개노트/개발/모듈/SMS 발송 공개노트/기능/방범 공개노트/기능/홈넷 서버 연동 기본매뉴얼/입주민/알림이 안 와요 기본매뉴얼/입주민/입출차와 주차등록이 안 돼요