eventghost + join app으로 PC 컨트롤 하기 (ft. HAOS)

어디 게시판에 써야하나 잠깐 고민을 했는데

어디든 다 어정쩡하네요

 

헤놀로지 게시판이 편해서 여기에 적습니다만 문제가 된다면 옮겨주세요

 

우선 글의 개요는 이렇습니다

 

  • 이벤트 고스트 프로그램을 윈도우 기반 PC에 설치 합니다 – 오토리모트 태스커 플러그인 설치
  • 크롬 브라우저에 join app 확장 프로그램을 설치 – api 키 생성
  • 이벤트 고스트와 조인 앱 연결 1818포트 
  • 조인 앱에서 테스트 문자 전송 – 이벤트 고스트에 수신 되는지 확인
  • HAOS 에서 join app처럼 테스트 문자 전송 – 이벤트 고스트에 수신 확인
  • HAOS 에서 각종 트리거를 통해 동작 서비스 호출을 통해 PC 조작

이렇게 되겠네요 

 

우선 HAOS가 설치가 된 상태라는 가정하에 크게 어려운 점은 없습니다

 

 

https://svrforum.com/data/774752

 

자료실의 이벤트 고스트를 다운 받아서 설치해주세요  

 

설치 위치는 편한대로 하시면 되고요

압축파일 안에 첨부된 파일들은 같은 이름의 폴더에 덮어 씌어 주시면 됩니다.

 

__init__.py는 AutoRemote 플러그인 이고요

OptionsDialog.py 파일은 이벤트 고스트 옵션 메뉴 선택했을 때 에러가 나는 걸 수정해주는 파일 입니다.

오토리모트.egtree 는 세이브 파일입니다 – 제가 쓰는 기본 트리 파일입니다

 

설치는 뭐 어려운 게 없을 겁니다 한글이 안되니 영어나 편한 언어 선택하시고 다음다음다음 하시면 설치 끝

 

image.png.jpg

설치만 완료 후 옵션 눌러 보시면 에러가 뜰 겁니다

위에서 설명한 파일들 제자리에 넣어주시고 세이브 파일 로드 하시면 옵션 메뉴도 실행 가능하고 

위 스샷 처럼 오토리모트 플러그인을 이용한 트리가 열리게 됩니다

 

image.png.jpg

옵션은 딱히 건들 게 없습니다 맨 위에 자동 시작만 확인 해주세요

 

이벤트 고스트 스샷들 보시면 알겠지만 마우스 버튼 클릭이나 클립보드 내용변경 등의 이벤트를 감지하는 게 보이실 겁니다

이런 거 이용해서 매크로 처럼 실행 할 수 있는 프로그램입니다.

 

image.png.jpg

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

 

image.png.jpg

아마 기본적으로 설정이 돼있을 겁니다

 

1818포트 확인 하시고요 안드로이드 모바일도 컨트롤 가능한데 추가 설정이 필요합니다만 그건 패스 하겠습니다.

 

OK버튼 누르시고 이제 크롬 세팅으로 넘어가겠습니다.

 

 

https://chrome.google.com/webstore/detail/join/flejfacjooompmliegamfbpjjdlhokhj

 

엣지 말고 크롬에서 세팅해주세요

엣지도 크롬 웹스토어 이용은 가능하지만 정상 작동이 안되더라고요

 

확장 프로그램을 설치 해주시고 확장 프로그램 옵션으로 가주세요

 

로그인은 편한 걸로 해주세요 저는 여러기기 관리하기 편하게 구글로 로그인 했습니다

 

image.png.jpg

 

어드밴스드 탭으로 이동

 

image.png.jpg

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

 

image.png.jpg

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

 

image.png.jpg

그러면 이런 화면이 뜰 겁니다

 

스샷의 상단 메뉴 우측 설정 아이콘을 선택 해주세요

 

image.png.jpg

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

 

image.png.jpg

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

 

image.png.jpg

이런 화면이 보이는데 API키는 노출 안되게 조심 하세요

디바이스 id는 지금 설정 중인 PC의 ID 입니다 

다른 PC에서 세팅하면 API키는 같고 디바이스 ID만 달라지는 방식이죠 

 

아래쪽에 여러가지 입력 창이 있는데 이 메뉴들은 웹을 이용해서 쓸 수 있는 코드를 만들어 줍니다 

 

api키 show 버튼을 눌러주고 아래 text 입력 창에 문자를 입력하면

 

image.png.jpg

이런 식으로 웹 주소가 만들어지는데

 

주소 창에 입력을 하면 디바이스 ID의 이벤트 고스트로 test라는 문자를 전송 합니다

 

그 외에도 쭉 내려보시면 뭐 이것저것 많이 있습니다 웹열기나 앱실행이나 패키지 실행 등등

 

안드로이드에서 작동 하기 때문에 이것저것 옵션들이 많이 있죠

 

저 웹 링크를 ifttt 같은 서비스에서 웹훅으로 사용해도 됩니다만

저희는 홈 어시스턴트와 이벤트 고스트를 이용해서 세팅할 거라 필요는 없습니다

 

뭐 다른 방법으로 세팅을 해보실 거면 유용하게 쓸 수 있는 기능이죠

 

어쨌든 이제 이벤트 고스트도 설치가 됐고 조인 앱도 설치가 끝났습니다

 

그럼 우선 테스트를 해봐야겠죠

 

image.png.jpg

send 어쩌고 이벤트 고스트 를 눌러주세요

 

원하는 텍스트를 적고 전송 기본은 null 입니다

 

image.png.jpg

그러면 이벤트 고스트 좌측 하단에 null 신호가 도착한 걸 볼 수 있습니다.

 

이벤트 고스트에서 뭔가를 설정 해야 하는데 저 번개 모양 null 이 트리거가 됩니다 

 

선택 후 드래그 해서 우측 forced shutdown 으로 끌어서 올려 주시면

image.png.jpg

이런 식이 되는 거죠 

null 신호가 오면 PC가 종료 됩니다

forced: shut Down 은 PC 종료 명령이니 저 상태로 다시 확인 해보지 마세요 PC 꺼집니다;;

 

어떤 식으로 작동이 되는지 감이 오실 겁니다

 

  • join앱에서 텍스트를 보내고 그 텍스트에 따라서 설정 된 매크로 동작들이 실행 된다

 

간단하죠

 

새로운 작업을 만들기 위해서는 

image.png.jpg

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

 

image.png.jpg

쭉 훓어 보시면 아시겠지만 뭐가 많습니다 

 

파이썬 명령어 실행 부터 마우스 휠버튼 조작까지 여기 없는 것들은 플러그인으로 찾아보시면 대부분 있을 겁니다

 

PC에서 할 수 있는 건 대부분 다 된다고 보시면 되겠죠

 

원하는 매크로를 하나 선택을 하시고 

 

image.png.jpg

 

저는 슬립 모드를 선택 했습니다 

참고로 매크로를 선택 하시면 저렇게 새로운 트리 하나가 생기는 거고요 

그 옆에 버튼에 이벤트 추가나 액션 추가는 트리 안에 추가로 생성할 수 있습니다

 

새로운 트리에 슬립모드 액션이 생겼는데 트리거로 쓸 이벤트가 없죠

 

image.png.jpg

아까 조인 앱 테스트 할 때 null 대신에 sleep이라고 보내고 좌측 하단 sleep 번개 아이콘을 끌어서 우측에 올려 줍니다

 

이러면 조인 앱에서 sleep 라는 텍스트를 보내면 PC가 슬립모드로 전환 되는 매크로가 만들어진 거죠

 

만약 제대로 작동이 안되면 저 위에 매크로 추가 버튼 우측에 녹색 세모 모양의 execute item 버튼을 눌러서 실행 해주세요

 

될 수 있으면 테스트는 종료나 슬립 모드 같은 거 말고 간단한 걸로 테스트 하시고 정상 작동 되면 나중에 추가하세요

 

매크로 다 만드셨으면 세이브 버튼 눌러서 세이브 해주시고요 혹시나 좀 불안하다 싶으시면 save as 메뉴를 통해서

 

다른 곳에 백업 파일 만들어 주세요

 

 

 

이게 얼마 안되는 내용인데 최대한 자세하게 쓰려다보니 글이 너무 길어지는 거 같네요

 

그래도 이제 얼마 안남았습니다

 

HAOS랑 연동은 크게 복잡하지 않습니다 HAOS가 설치 됐다는 가정하에서 말이죠

 

우선 HA가 아닌 HAOS를 설치 하셨으면 애드온 설치가 가능하고 

 

image.png.jpg

파일 에디터를 실행 할 수 있다는 이야기죠

 

파일 에디터를 통해서 /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 키

Loading
Loading
Loading
Loading

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 맨 아래쪽에 추가 해주세요

코드를 입력할 때 앞 부분 띄어 쓰기가 제대로 돼야 합니다

image.png.jpg

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

 

그 후에 

 

image.png.jpg

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

 

그 후에는 

 

image.png.jpg

새로운 자동화를 통해 자동화를 만드시고 서비스 호출 부분에서 join으로 검색을 하시면 여러가지 서비스가 나옵니다

 

저희는 text를 호출 해야 하기 때문에 tasker를 선택 해주세요

 

image.png.jpg

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

 

image.png.jpg

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

 

한 번 넣고 나면 

 

image.png.jpg

비주얼 편집기 에서도 저런 식으로 표시가 되는데 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”}

Loading
Loading
Loading
Loading

서비스 종류에 따라서  { } 안에 어떤 식으로 명령어를 넣어야 할지 적혀있습니다.

 

여기까지 하셨으면 뭐 다 끝났습니다

 

image.png.jpg

이런 식으로 HAOS에서 음성 명령이든 상태 변화든 트리거 설정 하시고 동작 부분에 join 서비스로 실행 하시면 

이벤트 고스트에서 만든 매크로 대로 실행이 되는 거죠 

 

중간에 여러 조건문을 통해서 디테일한 설정도 가능합니다

스마트폰이나 스마트 스피커를 통해 음성 명령으로 PC종료 세팅이 가능합니다.

 

 

크게 복잡한 내용이 아닌데 글로 적으려니 분량이 많아졌네요 

 

다들 긴글 읽으시느라 고생 하셨습니다 

 

한 번에 성공하시길 바랍니다.

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다