홈킷 콘트롤러(HomeKit Controller)


HomeKit 컨트롤러 통합구성요소는 홈어시스턴트에 “Works with HomeKit” 로고가 새겨진 액세서리를 연결할 수 있습니다. 이 통합구성요소는 HomeKit을 통해 홈어시스턴트 장치를 제어하게 해주는 HomeKit 통합구성요소와 혼동해서는 안됩니다.

zeroconf 통합구성요소가 활성화된 경우 페어링할 준비가 된 HomeKit 호환 장치를 자동으로 감지합니다. 이는 default_config 구성요소를 통해 기본적으로 활성화됩니다.

검색된 장치를 확인하려면 홈어시스턴트 대시보드의 “통합구성요소” 페이지를 참조하십시오. “Configure(구성요소)”를 클릭하면 HomeKit PIN을 입력할 수 있으며 장치는 홈어시스턴트 인스턴스에 추가되어야합니다. 장치가 현재 HomeKit을 통해 Apple 장치와 페어링된 경우 Home Assistant와 페어링하려면 장치를 재설정해야합니다. 홈어시스턴트가 장치와 작동하도록 설정하려면, HomeKit 연동으로 다시 Siri 및 Apple Home으로 다시 되돌릴 수 있습니다.

지원되는 장치

현재 홈어시스턴트에는 다음과 같은 장치 유형이 지원됩니다. :

  • Alarm Control Panel (HomeKit 보안 시스템)
  • Climate (HomeKit 온도 조절기 및 에어컨)
  • Cover (HomeKit 차고 제어 장치, 창문 또는 창 덮개)
  • Light (HomeKit 라이트)
  • Lock (HomeKit 자물쇠)
  • Switch (HomeKit 스위치)
  • Binary Sensor (HomeKit 모션, 접촉 및 연기 센서)
  • Sensor (HomeKit 습도, 온도, 이산화탄소 및 조도 센서)
  • Fan
  • Air Quality

이러한 장치 유형에 대한 HomeKit IP 액세서리는 다음과 같은 주의사항과 함께 작동시킬 수 있습니다.:

  • 기기가 WiFi 기반이며 물리적인 컨트롤이나 화면이 없는 경우 액세서리를 WiFi 네트워크에 가져 오려면 iPhone 또는 iPad와 같은 Apple HomeKit 기기가 필요할 수 있습니다. 예를 들어 Koogeek LS1의 경우 액세서리를 iOS 장치의 HomeKit에 추가 한 다음 iOS 장치에서 제거해야합니다. LS1은 페어링되지 않은 상태로 유지되지만 여전히 WiFi에 있습니다. 그러면 홈어시스턴트가 이를 찾아 페어링할 수 있습니다.
  • HomeKit PIN을 알아야합니다. 이 파일이 없으면 복구할 방법이 없습니다. 이 경우 제조업체에 문의하여 사용 가능한 옵션을 확인하십시오.

홈어시스턴트는 현재 HomeKit BLE를 지원하지 않습니다.

HomeKit Controller는 현재 이 통합구성요소에서 지원되지 않는 일부 HomeKit 장치를 네트워크에서 감지할 수 있습니다. 이러한 예로는 HomeKit 디스플레이 (예: HomeKit 지원으로 업데이트된 Vizio TV)가 있습니다. 페어링 프로세스를 진행하는 경우 이러한 장치가 홈어시스턴트와 페어링될 수 있지만, entity가 작성되지 않고 홈어시스턴트로 이러한 장치를 제어할 수 없습니다. 그러나 홈어시스턴트와 장치를 페어링하면 홈어시스턴트가 새 장치를 찾을 때 생성된 지속적 알림((persistent notification)이 제거됩니다.

문제 해결

HOMEKIT PIN이 없습니다

인증된 HomeKit 지원 장치를 구입할 때 PIN은 액세서리 자체의 메뉴얼 또는 스티커에 있을 수 있습니다.

온도조절기와 같은 화면이 있는 장치는 포장에 PIN 코드가 전혀 없을 수 있습니다. 홈어시스턴트 프론트 엔드에서 “설정”을 클릭할 때마다 액세서리가 새로운 페어링 코드를 생성하여 디스플레이에 표시합니다.

장치에 디스플레이가 없고 해당 제조사에서 제품 출시 후 HomeKit 지원으로 업그레이드된 경우이면 페어링 코드가 없을 수 있습니다. 이를 다루는 것은 제조업체마다 다릅니다. 일부 제조업체에서는 iOS 앱에서 페어링 코드를 볼 수 있습니다. 이외의 어떤 제품들은 제조사의 자체앱을 사용하여 HomeKit을 설정하도록 강요하고 페어링 PIN을 허용하지 않습니다. - 이런 기기는 당장 해당 기기에서 HomeKit Controller를 사용할 수 없습니다.

PIN 코드를 분실한 경우 액세서리를 페어링하지 못할 수 있습니다. 할 수 있는 일이 있는지 제조업체에 문의해야합니다.

액세서리가 곧바로 업데이트되지 않습니다

이는 정상적인 현상입니다. - HomeKit 컨트롤러는 현재 로컬 폴링 기반 통합구성요소입니다. 분당 한 번씩 액세서리의 최신 상태를 폴링합니다.

홈어시스턴트가 내 장치를 찾을 수 없습니다

IP 기반 액세서리의 경우 홈어시스턴트는 해당 장치와 동일한 네트워크에 있는 장치만 찾을 수 있습니다. 액세서리가 WiFi 기반이고 Wi-Fi 네트워크에 연결하기위한 사용자 인터페이스가 없는 경우 Apple HomeKit 컨트롤러 장비 (iPhone 또는 iPad)가 필요합니다. 반드시 컨트롤러에서 해당 액세서리를 페어링 한 다음 UI에서 페어링을 제거해야합니다 (단, 액세서리 자체는 재설정하지 마십시오). 그러면 액세서리가 WiFi 네트워크에 있지만 페어링되지 않은 상태로 유지되며 홈어시스턴트가 찾을 수 있습니다.

홈어시스턴트는 아직 페어링되지 않은 액세서리만 찾을 수 있습니다. 홈어시스턴트 설정을 재설정하더라도 액세서리는 여전히 페어링 된 것으로 간주하여 홈어시스턴트와 함께 사용할 수 없습니다. 제조업체의 지침에 따라 액세서리를 재설정해야합니다. 일부 장치에는 “Reset HomeKit” 옵션이 있으며 일부 장치는 전체 리셋이 필요할 수 있습니다.

APPLE 기기가 없어도 HOMEKIT 컨트롤러가 네트워크에서 기기를 찾습니다

이것은 완전히 정상입니다. 다른 많은 상용 IoT 제품과 달리 HomeKit 프로토콜은 Apple 에코 시스템에 의존하지 않는 로컬 및 오프라인 프로토콜입니다. “Works with HomeKit” 장치를 사용하기 위해 Apple 온라인 계정이 필요하지 않습니다. 일부 WiFi 기기는 WiFi로 가져 오기 위해 iOS 기기가 잠깐 동안 필요할 수 있지만, 네트워크에 Apple 하드웨어가 필요하지 않은 기기도 있습니다.

많은 IoT 장치가 출시 후 HomeKit 업그레이드를 받고 있습니다. 이는 HomeKit 지원없이 장치를 구입한 경우에도 장치가 Home Assistant에서 homekit_controller 장치로 표시되기 시작한다는 것을 의미합니다. 이는 기본 통합구성요소보다 더 나은 선택일 수 있습니다. 예를 들어 많은 Climate 장치에는 온라인 전용 API와 HomeKit API가 있습니다. HomeKit은 익숙한 모든 설정 및 제어 기능을 표시하지 않을 수는 있지만, 인터넷 연결이 끊어지거나 클라우드 서비스가 중단 되더라도 끊어지지 않습니다.

HOMEKIT 컨트롤러가 업데이트를 스킵하는 경고가 로그에 표시됩니다.

다음과 같은 로그 항목을 말합니다. :

HomeKit controller update skipped as previous poll still in flight

이러한 경우 HomeKit 컨트롤러 자체가 직접 책임을 지지는 않습니다. 이는 홈어시스턴트 인스턴스에 과부하가 걸리지 않도록하는 안전 기능입니다. 이는 홈어시스턴트가 액세서리를 폴링하려고 했지만 이전 폴링이 여전히 진행 중임을 의미합니다. 이는 액세서리를 폴링하는 데 1 분 이상이 걸린다는 것을 의미합니다. 여러 가지 원인이 있을 수 있습니다. :

  • 홈어시스턴트 인스턴스에 대한 blocking synchronous integrations 이 너무 많습니다. 모든 synchronous integrations은 스레드 풀을 공유하며 실행할 작업이 많으면 대기하고 지연이 발생합니다. 최악의 경우 이 대기열은 비워질 수 있는 것보다 빠르게 build up 될 수 있습니다. 빠른 하드웨어가 도움이 될 수 있지만 일부 통합구성요소를 비활성화해야 할 수도 있습니다.
  • 액세서리에 대한 네트워크 연결이 불량하고 HomeKit Controller가 액세서리에 안정적으로 데이터전송을 할 수 없습니다. WiFi 범위를 개선하거나 손상된 케이블을 교체하려면 네트워크 설정을 변경해야합니다.
  • 간헐적인 네트워크 문제를 일으키는 액세서리 자체에 문제가 있습니다.

이 경우 HomeKit Controller는 인스턴스의 back presssure build up을 피하기 위해 폴링을 건너뜁니다.