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.
- Åpne configuration.yaml og lag en ny Input Boolean, restart så Home-Assistant.
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 Task så Perform 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.