'자면 깨워줘'메커니즘을 만들고.

10441 단어 IFTTTGAStech
경보를 설정하고 싶지 않다.
말은 그렇지만 늦잠도 자고 싶지 않다.
그러니까'자면'깨워주세요.

구조


仕組みの図
총괄적으로 IFTTTGoogle Apps Script가 한 일이 바로 이런 느낌이다.코드량이 적고 비교적 간단하다.11시에 일을 시작하니까 10시 50분까지 잘 때 깨워 주세요.
IFTT에 익숙하지 않은 사람에게 덧붙이면 If This, Then That의 생략은'Eft'로 읽는다.이름 그대로'삐삐 하면 XXX'조합 서비스를 설정할 수 있다.이 조합을 애플릿이라고 부른다.이번에는 IFTT를 이용해'침대에서 나온 후 전자 표의 값을 업데이트한다'는 애플릿을 만들었다.
이후 많이 썼는데 요약하면'위싱스 슬립이 좋구나'.

잠자는 센서


Withings Sleep
센서Withings Sleep.아마존에서 13000엔 정도 구매합니다.수면 추적뿐만 아니라 잠/일어날 때도 IFTTT와 합작할 수 있다.수면을 점수로 받는 것만으로도 즐겁지만 외부 협력을 할 수 있다면 꿈이 넓어진다.
https://www.withings.com/jp/ja/sleep

'자는'상태 관리


スプレッドシートのスクリーンショット
잠자는 상태는 스프레드시트로 설정됐다.겸사겸사 휴가와 외박할 때 스크립트를 무효화시키는 로고를 미리 설정합니다.
IFTTTでWithings Sleepを連携
그리고 IFTTT와 Withings Sleep을 합쳐 취침 후1, 기상 후0에 설정한 애플릿을 만들어 상태 관리를 완료한다.
IFTTTでWebhooksを設定
이후 IFTT의Webhooks를 트리거로 실행VoIP Calls했기 때문에 미리 작은 프로그램을 만들었다.웹훅 이벤트를 만들면 이런 느낌의 URL이 나옵니다.
https://maker.ifttt.com/trigger/event-name/with/key/xxxxxxxxxx

시작 스크립트


Google Apps Script(GAS)에는 작업 시작 전에 잠이 들면 깨워달라는 각본을 적었다.공휴일은 CalendarApp 취득일본의 명절 후 판정된다.GAS의 장점은 이곳을 쉽게 완성할 수 있다는 것이다.그리고 언제부터인가 V8 runtime 움직이기 시작했다.
const SPREADSHEET_ID = 'xxxxxxxxxx'
const SHEET_NAME = 'State'
const ACTIVE_CELL = 'B1'
const SLEEPING_CELL = 'B2'

const HOLIDAY_CALENDAR_ID = 'ja.japanese#[email protected]'
const IFTTT_WEBHOOK_URL = 'xxxxxxxxxx'

function wakeUp() {
  const sheet = SpreadsheetApp.openById(SPREADSHEET_ID).getSheetByName(SHEET_NAME)
  const isActive = sheet.getRange(ACTIVE_CELL).getValue() === '1'
  const isSleeping = sheet.getRange(SLEEPING_CELL).getValue() === '1'

  if (isActive && isSleeping && isWeekday()) {
    UrlFetchApp.fetch(IFTTT_WEBHOOK_URL, { method: 'post' })
  }
}

function isWeekday() {
  const today = new Date()
  const dayOfWeek = today.getDay()

  if (dayOfWeek === 0 || dayOfWeek === 6) {
    return false
  }

  const calendar = CalendarApp.getCalendarById(HOLIDAY_CALENDAR_ID)
  const events = calendar.getEventsForDay(today)

  if (events.length) {
    return false
  }

  return true
}
달력과 함께 연휴, 유휴, 외박을 고려하면 가장 이상적이지만 의욕이 없어 활용으로 보완한다.자기가 쓰는 휴일 달력을 만들어도 그 달력의 활용이 일어나는데 어쨌든 번거롭다.
GAS에서는 매일 10:50의 작은 단위로 트리거를 설정할 수 없기 때문에 아래의 보도를 참고하여 힘을 주어 난관을 돌파했다.대략적으로 말하면 10:50에 트리거의 함수를 설정한 다음에 매일'9:00~10:00'의 어딘가에서 실행한다.트리거의 트리거를 설정할 때 하크감이 강하다.날짜와 시간을 처리할 때 appsscript.json에 시간대를 설정하는 것을 잊지 마세요.
https://qiita.com/sumi-engraphia/items/465dd027e17f44da4d6a

동작 확인


아침에 침대에서 기다리다 무사히 IFTT에서 전화가 왔어요.대답 후'도망...도망...도망...도망가라...도망가라'로 설정한 뒤 자동으로 소리를 내며 광기에 가까운 공포와 함께 비할 바 없는 공허함에 습격한다.1점의 오차는 귀여움.
IFTTTから電話
늦잠 자면 IFTT에 전기가 들어오는 세상에서

출처


https://github.com/nishinoshake/wake-me-up

좋은 웹페이지 즐겨찾기