IFTTT를 curl로 조작

IFTTT를 curl로 조작



스마트 플러그를 스크립트에서 조작하고 싶습니다.



최근 Smart Plug(소위 원격 조작이 가능한 콘센트)가 저렴해지고 있습니다. 다만, 스마트폰으로부터 On/Off 하는 것만으로는 아깝다.
자가 서버(라고 하는 Raspberry Pi군)가 일정 온도 이상이 되면, 마음대로 외장 팬을 On으로 할 수 없는 것이라고 생각하고 있었다.

그래서 IFTTT에 있는 Webhook과 Smart Life를 조합해 자동화에 도전해 보았다.

  • Webhook : 작성한 애플릿에 curl 인터페이스를 제공하는 서비스

  • Smart Life : Smart Plug의 일파 ​​(스마트 폰, Smart Life 앱에서 작동하는 것)

  • Meross : Smart Plug의 일파 ​​(스마트 폰, Meross 앱에서 작동하는 것)

  • IFTTT에서 My Applet 만들기


  • 오른쪽 상단의 New Applet을 클릭하십시오.
  • "if +this then that"가 나오므로 +this를 클릭하십시오.
  • "Choose a service"로 검색 바가 나오므로 "webhook"을 입력
  • webhook이 나오므로 클릭
  • 굉장히, 늘어난 화면이 등장. 맨 왼쪽, "Receive a web request"를 클릭
  • 등록 할 이벤트 이름을 입력

    이벤트 명칭은 curl로 액세스하는 URL이 사용하는 문자열이므로 공백이나 특수 문자는 피하는 것이 무난합니다.
  • 이제 +this 파트가 종료되었습니다. +that을 클릭하여 후반전에
  • smart life를 입력하고 smart life 서비스를 선택합니다.

    또는 "meross"에서도 가능
  • 사용할 서비스를 선택합니다. (이 예에서는 Turn off를 선택하고 계속)
  • 어떤 장치를 제어할지 묻기 때문에 풀다운에서 선택. (여기의 예는, 스마트 폰으로 "empty"라고 명명한 device를 지정)

  • Meross에서도 거의 같은 전개. (여기에서는 스마트 폰으로 "USB Fan"이라고 명명 한 device를 지정)


    11. 마지막으로, 확인 화면을 묶고 Finish를 클릭



    12. My Applet에 등록되어 있는지 확인하고 종료



    webhook 사용법 확인




  • 상단의 검색 버튼 클릭
  • 서비스의 탭 클릭 (기본값은 애플릿이므로 오른쪽)
  • 그러면 webhook이 표시됩니다. 웹후크 클릭


  • 오른쪽 상단에 주목. 'Documentation'과 'Settings'가 나타난다

  • Documentation 액세스 방법을 설명하는 설명서

  • 설정 액세스 방법에 사용할 토큰 관리


  • 설정




  • URL에 기재된 URL이, webhook로 이용하는 URL. 토큰 부분이 있기 때문에 사실은 더 긴 URL 데스
  • Edit connection을 누르면 토큰이 변경됩니다. 즉, 표시되는 URL의 토큰 부분이 변경되어 가는 것을 확인할 수 있다

  • Documentation





    {event}라고 쓰여 있는 곳에, 이벤트명으로 지정한 것을 넣어 사용한다. 여기의 예이면 TurnOffFan이됩니다.

    Curl 해보기



    그럼, 실제로, curl 해 본다. 위의 Documentation에 쓰여진 manma 실행
    $ curl -X POST https://maker.ifttt.com/trigger/{TurnOffFan}/with/key/abcdefghijklmnopqrstuv
    Congratulations! You've fired the TurnOffFan event
    

    무사히 팬이 멈추면 성공. (실제로 멈추었습니다)

    좋은 웹페이지 즐겨찾기