2020년 9월 16일 수요일

애플 홈킷과 단축어를 사용한 자동화 관련 (정해진 시작 시간에 홈킷 디바이스들의 여러가지 동작을 정해진 횟수만큼 반복적으로 수행)

 2020.9.17.(목)

동기 및 배경 : 애플 홈킷으로 집안의 전등, 콘센트 등 몇가지 IoT기기를 제어나 모니터링할 수 있게 만들어 놨는 데(실제는 더 많았는 데.. 많이 없애고 아래 보는 바와 같이 꼭 필요한 것만 있음), 홈킷 앱의 '자동화' 기능을 보면 정해진 시간 또는 정해진 이벤트(집에 도착하거나 등)에 디바이스를 온/오프하는 정도로만 사용하게 되어 있는 것 같음. 그러나, 그보다 복잡한 동작을 하도록 할 수 있는가에 대해 다른 외부 디바이스의 도움 없이 애플의 홈킷과 단축어를 통해 가능한 방법 제시

방법 : 

결론부터 말하면 홈킷의 자동화에 단축어를 사용할 수 있음. 여기서는 macOS에 있는 '홈' 앱 기준이지만, iOS에서도 거의 같은 사용자 환경이므로 그대로 적용할 수 있을 것임 

구체적인 예로 아래 그림과 같은 홈킷콘센트에 연결된 모터를 저녁 7시부터 시작하여 10초 가동하고 15초 쉬었다 다시 10초 가동, 15초 휴지를 20번 반복하게 만들 수 있는가에 대한 방법으로 다음과 같이 하면 됨

자동화에서 원하는 시간을 설정하고 해당 홈킷디바이스를 선택하고 "단축어로 변환" 을 누르면.... iOS에서 보던 '단축어'의 명령들이 나나나고.. 단축어 프로그래밍을 하면 됨.. 

그 결과, 다음과 같이 단축어 프로그래밍을 하면 됨. (그림은 윈도우를 크게 늘릴 수 없어서 짤렸지만,) 스크립트에서 n번 반복과 스크립트 n초 대기를 적절히 섞어서 사용하면 됨.



결론 : 

'단축어'와 '자동화'를 잘 섞어서 쓰면 여러가지 재미있는 일을 할 수 있을 것으로 생각됨.
아마도 iOS13 이상, macOS Catalina 이상에서만 되는 것 같음.. 

물론, 집안에 iPad나 appleTV(3세대 이상)를 집안의 홈허브(홈킷 호스트콘트롤러)로 만들어 놓으면 집 바깥에서도 iPhone, Mac, iPad로 콘트롤 할 수 있게 됨