Hvordan bruke Tasker med Home-Assistant

Tasker er et kraftig verktøy for å lage automatiserte oppgaver i Android. Dette kan for eksempel bli brukt til å rapportere hendelser på mobiltelefonen til Home-Assistant. Denne guiden viser akkurat hvordan dette gjøres, men er ikke en generell guide til Tasker.
Stegene er basert på en post av “bokub” i Home-Assistant forumet (link nederst).

Generer Access Token

  • Gå til din Home-Assistant profilside ved å klikke på brukernavnet nede til venstre. Eller gå direkte til http://<ip>:<port>/profile.
  • Bla ned til bunnen av siden og velg Create Token under Long-Lived Access Tokens.
  • Gi den et gjenkjennelig navn og klikk ok. Kopier så “access token” og velg OK.

Lag Tasker Variabler

  • I Tasker velg VARS-fanen og lag en ny task ved å klikke på pluss-ikonet nede til høyre. Gi den et navn “HA_URL“, og klikk på av-huk symbolet.
  • Klikk på variabelen og gi den en verdi tilsvarende Home-Assistant adressen.
    http://<ip>:<port>
  • Følg samme to steg for å lage en ny variabel “HA_TOKEN” med verdien av tidligere generert token.
    eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiI3MmM5OTQ2MzRlYjY0NjZlOWY1MjA4NDYzMGY5ZDA4OCIsImlhdCI6MTU3MDEwMDcwNSwiZXhwIjoxODg1NDYwNzA1fQ.AgDBuyEBszDLsASUUiH4FZdHX9lDKPVUgnBPkjA3uqA
  • Med begge variabler klikk “Apply” av-huk logoen oppe til høyre.

Lag en task for oppkalling

  • I Tasker velg TASKS-fanen og lag en ny task med pluss-ikonet nede til høyre.
    Gi den et navn, “HA_CALL“, og klikk av-huket.
  • Tasker navigerer nå til Task Edit. Klikk pluss-ikonet nede til høyre for å lage en ny action. Velg Code og deretter JavaScriptlet (Det går an å bla i denne menyen).
  • Lim inn følgende kode i code feltet:
const url = global('%HA_URL') + local('par1');
const token= 'Bearer ' + global('%HA_TOKEN');
const xhttp = new XMLHttpRequest();
xhttp.open('POST', url, false);
xhttp.setRequestHeader('Authorization', token);
xhttp.send(local('par2'));
if( xhttp.status != 200 ) { 
    console.error(xhttp.status + ' - ' + xhttp.responseText); 
}
  • Klikk <- tilbakeknappen oppe til venstre to ganger for å gå tilbake til Tasks.
  • Klikk så Apply av-huket oppe i høyre hjørne.

Bruk

Vi kan nå bruke HA_TASK innenfor en annen task for å kontrollere Home-Assistant via deres API. Denne testen demonstrerer “toggle” (veksle) av en input_boolean fra Tasker.

input_boolean:
  tasker_test:
    name: Tasker Test
  • I Tasker velg TASKS-fanen og lag en ny task med pluss ikonet nede til høyre. Gi den et navn, “HA_TASK“, og klikk av-huket.
  • Tasker vil navigeres til Task Edit. Klikk pluss-ikonet nede til høyre for å lage en ny action. Velg TaskPerform Task.
  • Klikk forstørrelsesglass-ikonet ved Name og velg HA_CALL (NB: Dette må velges, manuell skriving av “HA_CALL” vil ikke fungere).
  • i Parameter 1 skriv: /api/services/input_boolean/toggle
  • I Parameter 2 skriv: {"entity_id":"input_boolean.tasker_test"}
  • Velg <- tilbakeknappen oppe til venstre hjørne for å gå tilbake til Edit Task.
  • Klikk så Play ikonet for å teste om dette fungerer.

Ved å se på Input Boolean entity-en i Home-Assistant ser man at status har blitt endret (dersom alt er gjort rett).

Slik gjøres det. Parameter 1 og Parameter 2 kan endres etter bruk.informasjon om riktige services (tjenester), entity and JSON service data kan bli funnet i Home-Assistant GUI-et under Services innenfor Developer Tools.

Ble dette noe komplisert? Da burde du sjekke ut Home Assistant Plug-In for Tasker.

Kilder

Share