어디 게시판에 써야하나 잠깐 고민을 했는데
어디든 다 어정쩡하네요
헤놀로지 게시판이 편해서 여기에 적습니다만 문제가 된다면 옮겨주세요
우선 글의 개요는 이렇습니다
- 이벤트 고스트 프로그램을 윈도우 기반 PC에 설치 합니다 – 오토리모트 태스커 플러그인 설치
- 크롬 브라우저에 join app 확장 프로그램을 설치 – api 키 생성
- 이벤트 고스트와 조인 앱 연결 1818포트
- 조인 앱에서 테스트 문자 전송 – 이벤트 고스트에 수신 되는지 확인
- HAOS 에서 join app처럼 테스트 문자 전송 – 이벤트 고스트에 수신 확인
- HAOS 에서 각종 트리거를 통해 동작 서비스 호출을 통해 PC 조작
이렇게 되겠네요
우선 HAOS가 설치가 된 상태라는 가정하에 크게 어려운 점은 없습니다
https://svrforum.com/data/774752
자료실의 이벤트 고스트를 다운 받아서 설치해주세요
설치 위치는 편한대로 하시면 되고요
압축파일 안에 첨부된 파일들은 같은 이름의 폴더에 덮어 씌어 주시면 됩니다.
__init__.py는 AutoRemote 플러그인 이고요
OptionsDialog.py 파일은 이벤트 고스트 옵션 메뉴 선택했을 때 에러가 나는 걸 수정해주는 파일 입니다.
오토리모트.egtree 는 세이브 파일입니다 – 제가 쓰는 기본 트리 파일입니다
설치는 뭐 어려운 게 없을 겁니다 한글이 안되니 영어나 편한 언어 선택하시고 다음다음다음 하시면 설치 끝

설치만 완료 후 옵션 눌러 보시면 에러가 뜰 겁니다
위에서 설명한 파일들 제자리에 넣어주시고 세이브 파일 로드 하시면 옵션 메뉴도 실행 가능하고
위 스샷 처럼 오토리모트 플러그인을 이용한 트리가 열리게 됩니다

옵션은 딱히 건들 게 없습니다 맨 위에 자동 시작만 확인 해주세요
이벤트 고스트 스샷들 보시면 알겠지만 마우스 버튼 클릭이나 클립보드 내용변경 등의 이벤트를 감지하는 게 보이실 겁니다
이런 거 이용해서 매크로 처럼 실행 할 수 있는 프로그램입니다.

다시 위의 오토리모트 플러그인을 더블 클릭 해주세요

아마 기본적으로 설정이 돼있을 겁니다
1818포트 확인 하시고요 안드로이드 모바일도 컨트롤 가능한데 추가 설정이 필요합니다만 그건 패스 하겠습니다.
OK버튼 누르시고 이제 크롬 세팅으로 넘어가겠습니다.
https://chrome.google.com/webstore/detail/join/flejfacjooompmliegamfbpjjdlhokhj
엣지 말고 크롬에서 세팅해주세요
엣지도 크롬 웹스토어 이용은 가능하지만 정상 작동이 안되더라고요
확장 프로그램을 설치 해주시고 확장 프로그램 옵션으로 가주세요
로그인은 편한 걸로 해주세요 저는 여러기기 관리하기 편하게 구글로 로그인 했습니다

어드밴스드 탭으로 이동

오토리모트 플러그인 인 이벤트 고스트부분을 찾아서 1818 포트를 입력해 줍니다.

그 후에 헬프 탭에 조인 온 더 웹을 선택 해주세요

그러면 이런 화면이 뜰 겁니다
스샷의 상단 메뉴 우측 설정 아이콘을 선택 해주세요

오토메이션 탭에 1818 포트 확인 세이브 해주시면 됩니다

다시 첫 화면으로 오셔서 api 생성 메뉴를 선택 해주세요

이런 화면이 보이는데 API키는 노출 안되게 조심 하세요
디바이스 id는 지금 설정 중인 PC의 ID 입니다
다른 PC에서 세팅하면 API키는 같고 디바이스 ID만 달라지는 방식이죠
아래쪽에 여러가지 입력 창이 있는데 이 메뉴들은 웹을 이용해서 쓸 수 있는 코드를 만들어 줍니다
api키 show 버튼을 눌러주고 아래 text 입력 창에 문자를 입력하면

이런 식으로 웹 주소가 만들어지는데
주소 창에 입력을 하면 디바이스 ID의 이벤트 고스트로 test라는 문자를 전송 합니다
그 외에도 쭉 내려보시면 뭐 이것저것 많이 있습니다 웹열기나 앱실행이나 패키지 실행 등등
안드로이드에서 작동 하기 때문에 이것저것 옵션들이 많이 있죠
저 웹 링크를 ifttt 같은 서비스에서 웹훅으로 사용해도 됩니다만
저희는 홈 어시스턴트와 이벤트 고스트를 이용해서 세팅할 거라 필요는 없습니다
뭐 다른 방법으로 세팅을 해보실 거면 유용하게 쓸 수 있는 기능이죠
어쨌든 이제 이벤트 고스트도 설치가 됐고 조인 앱도 설치가 끝났습니다
그럼 우선 테스트를 해봐야겠죠

send 어쩌고 이벤트 고스트 를 눌러주세요
원하는 텍스트를 적고 전송 기본은 null 입니다

그러면 이벤트 고스트 좌측 하단에 null 신호가 도착한 걸 볼 수 있습니다.
이벤트 고스트에서 뭔가를 설정 해야 하는데 저 번개 모양 null 이 트리거가 됩니다
선택 후 드래그 해서 우측 forced shutdown 으로 끌어서 올려 주시면

이런 식이 되는 거죠
null 신호가 오면 PC가 종료 됩니다
forced: shut Down 은 PC 종료 명령이니 저 상태로 다시 확인 해보지 마세요 PC 꺼집니다;;
어떤 식으로 작동이 되는지 감이 오실 겁니다
- join앱에서 텍스트를 보내고 그 텍스트에 따라서 설정 된 매크로 동작들이 실행 된다
간단하죠
새로운 작업을 만들기 위해서는

매크로 추가 버튼을 눌러주세요

쭉 훓어 보시면 아시겠지만 뭐가 많습니다
파이썬 명령어 실행 부터 마우스 휠버튼 조작까지 여기 없는 것들은 플러그인으로 찾아보시면 대부분 있을 겁니다
PC에서 할 수 있는 건 대부분 다 된다고 보시면 되겠죠
원하는 매크로를 하나 선택을 하시고

저는 슬립 모드를 선택 했습니다
참고로 매크로를 선택 하시면 저렇게 새로운 트리 하나가 생기는 거고요
그 옆에 버튼에 이벤트 추가나 액션 추가는 트리 안에 추가로 생성할 수 있습니다
새로운 트리에 슬립모드 액션이 생겼는데 트리거로 쓸 이벤트가 없죠

아까 조인 앱 테스트 할 때 null 대신에 sleep이라고 보내고 좌측 하단 sleep 번개 아이콘을 끌어서 우측에 올려 줍니다
이러면 조인 앱에서 sleep 라는 텍스트를 보내면 PC가 슬립모드로 전환 되는 매크로가 만들어진 거죠
만약 제대로 작동이 안되면 저 위에 매크로 추가 버튼 우측에 녹색 세모 모양의 execute item 버튼을 눌러서 실행 해주세요
될 수 있으면 테스트는 종료나 슬립 모드 같은 거 말고 간단한 걸로 테스트 하시고 정상 작동 되면 나중에 추가하세요
매크로 다 만드셨으면 세이브 버튼 눌러서 세이브 해주시고요 혹시나 좀 불안하다 싶으시면 save as 메뉴를 통해서
다른 곳에 백업 파일 만들어 주세요
이게 얼마 안되는 내용인데 최대한 자세하게 쓰려다보니 글이 너무 길어지는 거 같네요
그래도 이제 얼마 안남았습니다
HAOS랑 연동은 크게 복잡하지 않습니다 HAOS가 설치 됐다는 가정하에서 말이죠
우선 HA가 아닌 HAOS를 설치 하셨으면 애드온 설치가 가능하고

파일 에디터를 실행 할 수 있다는 이야기죠
파일 에디터를 통해서 /config/configuration.yaml 을 수정해주셔야 합니다
# join명령어 https://www.home-assistant.io/integrations/joaoapps_join/
#Service Data
#joaoapps_join/ring
#joaoapps_join/send_sms {“number”:”5553334444″, “message”:”Hello!”}
#joaoapps_join/send_tasker {“command”:”test”}
#joaoapps_join/send_url {“url”:”http://google.com”}
#joaoapps_join/send_wallpaper {“url”:”http://www.planwallpaper.com/static/images/ZhGEqAP.jpg”}
#joaoapps_join/send_file {“url”:”http://download.thinkbroadband.com/5MB.zip”}
notify:
– platform: joaoapps_join
api_key: 본인의 api 키
device_id: 본인의 디바이스 id
name: 원하는 이름 아래와 같게 설정
joaoapps_join:
– name: 원하는 이름 위와 같게 설정
device_id: 본인의 디바이스 id
api_key: 본인의 api 키




api_key와 device_id 부분에 본인의 값을 넣어주시고요 이름은 위 아래 같게 설정 해주세요
—-참고—-
notify:
– platform: joaoapps_join
api_key: 본인의 api 키
device_id: 본인의 디바이스 id 1번
name: 원하는 이름 아래와 같게 설정 1번이름
– platform: joaoapps_join
api_key: 본인의 api 키
device_id: 본인의 디바이스 id 2번
name: 원하는 이름 아래와 같게 설정 2번이름
joaoapps_join:
– name: 원하는 이름 위와 같게 설정 1번이름
device_id: 본인의 디바이스 id 1번
api_key: 본인의 api 키
– name: 원하는 이름 위와 같게 설정 2번이름
device_id: 본인의 디바이스 id 2번
api_key: 본인의 api 키
여러대의 디바이스를 등록할 때는 이런 식으로 등록 하시면 됩니다.
/config/configuration.yaml 맨 아래쪽에 추가 해주세요
코드를 입력할 때 앞 부분 띄어 쓰기가 제대로 돼야 합니다

이런 식으로 줄이 맞아야 오류가 없습니다
그 후에

개발자 도구에서 구성 내용 확인 눌러서 이상 없으면 재시작 해주세요
그 후에는

새로운 자동화를 통해 자동화를 만드시고 서비스 호출 부분에서 join으로 검색을 하시면 여러가지 서비스가 나옵니다
저희는 text를 호출 해야 하기 때문에 tasker를 선택 해주세요

그 후에 YAML로 편집하기를 선택

{} 안에 “command”:”test” 를 넣어줍니다 물론 test 대신에 원하는 text를 집어 넣으면 됩니다
한 번 넣고 나면

비주얼 편집기 에서도 저런 식으로 표시가 되는데 test 부분만 바꿔 주면 됩니다
위의 서비스 사용법은 코드 입력 할 때 주석 처리 돼있는 부분의 명령어를 이용하시면 됩니다.
# join명령어 https://www.home-assistant.io/integrations/joaoapps_join/
#Service Data
#joaoapps_join/ring
#joaoapps_join/send_sms {“number”:”5553334444″, “message”:”Hello!”}
#joaoapps_join/send_tasker {“command”:”test”}
#joaoapps_join/send_url {“url”:”http://google.com”}
#joaoapps_join/send_wallpaper {“url”:”http://www.planwallpaper.com/static/images/ZhGEqAP.jpg”}
#joaoapps_join/send_file {“url”:”http://download.thinkbroadband.com/5MB.zip”}




서비스 종류에 따라서 { } 안에 어떤 식으로 명령어를 넣어야 할지 적혀있습니다.
여기까지 하셨으면 뭐 다 끝났습니다

이런 식으로 HAOS에서 음성 명령이든 상태 변화든 트리거 설정 하시고 동작 부분에 join 서비스로 실행 하시면
이벤트 고스트에서 만든 매크로 대로 실행이 되는 거죠
중간에 여러 조건문을 통해서 디테일한 설정도 가능합니다
스마트폰이나 스마트 스피커를 통해 음성 명령으로 PC종료 세팅이 가능합니다.
크게 복잡한 내용이 아닌데 글로 적으려니 분량이 많아졌네요
다들 긴글 읽으시느라 고생 하셨습니다
한 번에 성공하시길 바랍니다.

