[Homelab] Tapo P110M이 Home Assistant에서 인증 실패할 때: 전원 안 끄고 Matter로 붙이기


집 Home Assistant(쿠버네티스에서 matter-server와 같이 돌리는 중)에 TP-Link Tapo 스마트 플러그를 붙이다가 생긴 일입니다. 같은 계정으로 P100M은 잘 붙는데 P110M만 인증에 실패했습니다. 하필 이 플러그에 서버가 물려 있어서 리셋도 못 하는 상황이었고요.

🚨 증상

HA의 TP-Link Smart Home(tplink) 통합에 Tapo 계정을 넣으면 이렇게 나옵니다.

Unable to authenticate: Device response did not match our challenge on ip 10.x.x.x,
check that your e-mail and password (both case-sensitive) are correct.

계정은 맞습니다. 같은 계정으로 P100M은 붙었으니까요.

🔍 원인: TSS 온보딩

tplink 통합은 KLAP이라는 로컬 프로토콜로 인증하는데, 이때 TP-Link 계정 이메일/비밀번호의 해시를 챌린지-응답에 씁니다.

그런데 TP-Link에는 TSS(TP-Link Simple Setup)라는 온보딩 방식이 있습니다. 새 기기를 꼽았을 때 네트워크에 이미 Tapo 기기가 있으면, 그 기기로부터 Wi-Fi와 계정 정보를 넘겨받아 알아서 셋업되는 편한 기능인데요. 이 경로로 셋업되면 기기에 저장되는 자격증명 해시 형식이 달라져서 로컬 KLAP 인증이 깨진다는 사례가 python-kasa / Home Assistant 이슈에 여러 번 올라와 있습니다. P110M은 다른 Tapo가 이미 있는 상태에서 추가한 거라 TSS를 탄 것으로 보입니다.

확인하고 싶다면 python-kasa CLI로 볼 수 있습니다. 디버그 출력의 obd_src가 tss면 이 케이스, tplink면 정상 온보딩입니다.

kasa --host <플러그 IP> --username <이메일> --password <비번> --debug discover

🚫 정석 해결법은 리셋… 근데 서버가 물려 있다

정석은 팩토리 리셋 후 Tapo 앱에서 자동 발견 팝업을 누르지 않고 ‘기기 추가’로 수동 추가해서 TSS를 피하는 겁니다. 문제는 이 플러그에 서버가 물려 있어서 전원을 끊을 수 없다는 것.

💡 대안: Matter로 붙이기

TSS가 망가뜨리는 건 “계정 해시를 쓰는 KLAP 경로”뿐입니다. Matter 커미셔닝은 셋업 코드와 인증서 기반(PASE/CASE)이라 TP-Link 계정과 아예 상관이 없습니다. 그래서 TSS로 온보딩된 기기도 Matter로는 문제없이 붙습니다.

절차는 이렇습니다.

  • 펌웨어부터 확인: P110M의 Matter 에너지 모니터링은 펌웨어 1.3.2부터입니다. 업데이트하면 기기가 재부팅되니 서버가 물려 있다면 타이밍을 골라야 합니다. 저는 이미 최신이라 패스.
  • Tapo 앱에서 페어링 코드 생성: 해당 플러그 → 기기 설정 → Matter → 코드 생성. 리셋도 없고 릴레이도 켜진 상태 그대로입니다.
  • HA에서 추가: 설정 → 기기 및 서비스 → 통합 추가 → Matter → 코드 입력. 기기가 이미 Wi-Fi에 붙어 있으니 BLE 없이 네트워크로 찾습니다.
  • 커미셔닝 창은 일정 시간 뒤 닫힙니다: 코드 만들고 바로 입력하세요. 놓쳤으면 코드만 다시 만들면 됩니다.

Matter는 멀티 패브릭이라 Tapo 앱 등록은 그대로 두고 HA가 추가 관리자로 붙는 구조입니다.

🏠 Matter로 붙이면 뭐가 다른가

  • 완전 로컬: 커미셔닝이 끝나면 HA의 matter-server와 기기가 직접 통신합니다. TP-Link 계정도 클라우드도 필요 없어서 인터넷이 끊겨도 동작합니다.
  • 구독 방식: 폴링이 아니라 상태 변경을 구독하는 구조라 반영이 빠릅니다.
  • 대신 엔티티는 적음: tplink 통합은 오늘/이번 달 사용량, LED 제어 같은 것까지 주는데, Matter 에너지 모니터링은 현재 전력 + 누적 에너지 위주입니다.

사실 기존 tplink 통합도 등록 후에는 로컬로 통신합니다. 계정은 인증 해시를 만드는 데만 쓰이고요. 그래서 잘 되는 기기는 굳이 옮기지 않고, 인증이 꼬이는 기기만 Matter로 넘기는 게 노력 대비 제일 좋습니다.

☸️ 쿠버네티스에서 HA를 돌린다면

Matter는 기기를 mDNS로 찾습니다. 저는 Home Assistant와 matter-server 파드를 둘 다 hostNetwork로 띄워서 같은 L2에 있게 해 두었습니다. 파드 네트워크에 그냥 올리거나 IoT 기기가 다른 VLAN에 있다면 mDNS 리플렉터 같은 게 필요합니다. 코드를 넣었는데 기기를 못 찾는다면 여기부터 보세요.

📝 정리

  • Device response did not match our challenge는 계정 오타보다 TSS 온보딩을 먼저 의심하세요.
  • 리셋이 어렵다면 Matter로 붙이면 됩니다. Tapo 앱에서 코드만 만들면 되고 전원은 안 끊깁니다.
  • 펌웨어 업데이트는 재부팅이 따라오니, 물려 있는 기기가 있다면 순서에 주의.
  • 쿠버네티스에서는 mDNS가 닿는지가 관건입니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다