Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

[Guide] - [Android] - [Tasker] Kontrollere brytere fra startskjerm


Merko

Anbefalte innlegg

Tenkte jeg skulle dele min erfaring med Tasker, slik at man kan kontrollere enheter i HomeSeer, Domotics, OpenHAB eller lignende.

 

Da jeg kun har erfaring med Homeseer, så vil eksemplene bli mot det systemet, men gjerne del "prefix" for de andre systemene, så kan jeg legge de med i tråden her.

 

Denne Guiden vil kun fungere med Android telefon\nettbrett.

 

Du trenger følgende.

xc8r7SH.jpg Android telefon \ nettbrett.

   ExgdrYC.png     Appen Tasker

 

Det vi skal lage i denne guiden er, knapper på startskjermen hvor man kan kontrollere av\på brytere, slik som illustrert på bildet under.

 

mHqVfe8.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Etter at du har lastet ned og installert Tasker, åpner du appen. Om du ikke har gjort noen prosjekter tidligere i Tasker, så vil du få en lignende skjer som dette etter oppstart.

D5OUCO4.png

 

 

Vil anbefale at du først som sist, deaktiverer "Beginner Mode", fra instillinger (Se videoanimasjon under)

 

jOl4u8m.gif

 

Når du har fått god kontroll på Tasker, så vil du garantert lage mange forskjellige prosjekter. Ikke bare mot hjemmeautomasjon, men også andre ting som du kommer på med tiden.. Derfor vil jeg anbefale at du oppretter et nytt prosjekt i tasker, slik at du har kontroll på 'Taskene'.

 

Steg 1

 

Før vi begynner, så oppretter vi et nytt prosjekt med navnet "Hjemmeautomasjon". Spiller ingen rolle hva du navngir denne, om så det er "HomeSeer", "OpenHAB" eller lignende. Det er bare for at du selv skal ha kontroll på dette. I dette eksemplet bruker jeg "Hjemmeautomasjon" som prosjekt-navn.

 

Hold nede på RJNuA34.png i et par sekunder. Du vil da få opp en ny meny, hvor du kan trykke "Add" for å opprette nytt prosjekt. Velg et navn og bekreft.

 

CsvtBCV.gif

 

 

Steg 2

Når dette er gjort, så kan man gå igang med å opprette en 'Task'.
Dette er noe som skjer når vi trykker på knappen på startskjermen.

  1. Gå over til "Tasker" fanen øverst.
  2. Trykk på + ikonet nede til høyre
  3. Navngi Tasken med feks "Lys Stue" (eller Gang, Kjøkken ol).
    Dette er navnet som vil havne under knappen på startskjermen, Bekreft.

 

Når dette er gjort vil du få opp en tom skjerm, hvor du kan legge inn forskjellige oppgaver som skal kjøres.

 

UOtYQV1.gif

 

 

Steg 3

Nå som vi har navngitt Tasken, så kan vi legge til en 'Action' eller handling som utføres når knappen på startskjermen trykkes.

  1. Trykk på + ikonet nede i midten av skjermen
  2. Velg 'Net' som er helt i midten.
  3. Deretter velg 'HTTP GET'

 

S5Lxt01.gif

 

Du vil da få opp et nytt skjermbilde hvor vi må fylle ut litt informasjon til HomeSeer serveren.

I det øverste feltet må du skrive inn IP'en til din HomeSeer

 

I mitt tilfelle så er IP'en: 10.0.0.111, denne er jo selvfølgelig forskjellig hos de fleste, så her må du skrive inn din Homeseer IP.

Kjører du på Port 80 (som er standard), så skriverdu kun IP uten port. Bruker du en egen port til Homeseer legger du den til etter IPen.

eks: 10.0.0.111:8082

 

Under "Path", så må man skrive inn JSON-stien til Homeseer, slik at når man besøker den adressen så vil den enten skru lampen av eller på.

I dette tilfellet blir det: JSON?request=ControlDeviceByLabel&ref=82&label=On

 

"ref=82" tilsvarer enhet (device) nr 82 i oppsettet. For meg er denne spesifikke lampen nr 82. hos deg kan det gjerne være 10 eller 150.

Du finner denne ID'en ved når du går inn på homeseer, velger den av\på bryteren du vil kontrollere

qBEzYoM.png

 

Trykker man på navnet på bryteren "Switch Stue/Vindu" (for meg), så vil man se sin egen "ref=ID" i addresselinjen øverst i nettleseren. eks

LRn1SID.png

 

Mens "label=On", vil bety at den skrur på bryteren på den aktuelle enheten. Denne endres til "Off" dersom du skal skru av bryteren igjen.

Har du en DimmerSwitch  hvor du kan justere lysstyrken, slik som dette:

vOl0ZL4.png

 

så bruker du følgende Path istedenfor. JSON?request=ControlDeviceByValue&ref=82&value=50

for 50%, eller 100, 25, 0. osv. Dette kommer jeg tilbake til en senere i en annen guide, for hvordan man enkelt kan lage en dimmer switch på hjemskjermen! :)

 

I dette eksemplet forsetter vi med: JSON?request=ControlDeviceByLabel&ref=82&label=On   som path.

Når du har fylt ut din IP adresse og ditt eget "ref" nummer, så vil du få noe lignende dette:

 

3IFGQRc.png

 

Trykk deretter "tilbake"-knappen på telefonen. Ikke trykk på y0IeCBy.png som er øverst i menyen, da vil den tro at du vil endre handling og informasjonen du har skrevet inn går tapt.

 

Når du har gått tilbake, så vil du se at du har lagt til én handling, som gir et signal til Homeseer serveren om at den skal skru på lyset.

 

KVyO7ne.png

 

Du kan nå gå inn på Homeseer og skru av bryteren. Når det er gjort trykker du på pNUn4s6.png-knappen i Tasker, så skal lyset\bryteren i teorien gå på.

Går lyset på, så fortsetter du videre! Skjer det ingenting så må du gå igjennom koden så se at du har skrevet det inn korrekt. Problemer, så spør du i tråden her :)

 

Steg 4

Nå som vi har lagd en handling som slår på lyset, så må vi lage det slik at om man trykker knappen igjen så vil knappen skru seg av.

For å gjøre dette så må man opprette en "If"-statement, slik at "Om lyset er av, skru det på, ellers skru det av".

 

Når du er inne på tasken "Lys Stue" (eller hva du har navngitt den), så trykker du på + nede, slik man kan legge til en ny handling i tasken.

  1. Trykk på +
  2. Deretter "Task"
  3. Så "If"

 

Du får da opp et nytt vindu hvor du kan lage en variabel. I det første feltet kan du skrive inn %LysStue Man bør alltid starte med stor forbokstav på variablene. Man får da tilgang på de fra andre "Tasker"(oppgaver), noe som er nyttig på langt sikt. I felt nummer 2 skriver du "Off"

 

lqGIzVm.gif

 

Når det er gjort vil man oppdage at "IF"-en er under spørringen til HomeSeer. Denne må vi flytte opp et hakk, sli kat den sjekker om lyset er "Off" først.

Om man tar tak i høyre delen av linjen på "If", så kan man "dra" den oppover med fingeren (eller nedover), slik at man kan endre rekkefølgen.

 

ZCc1d72.gif

 

Nå som vi har fått litt orden i sysakene, så legger vi til at den endrer variablen %LysStue til "On" etter at Tasken har sendt en kommand til homeseer om at den skal skru den på.

For å gjøre dette:

  1. Trykk + nede i midten for å opprette ny handling
  2. Trykk videre på Variables
  3. Deretter Variable Set

 

Skriv inn %LysStue i første feltet og "On" i feltet under. Man kan også trykke på merkelappen til høyre, så få opp variablene i en liste, noe som går litt fortere når det på sikt blir en del variabler man vil ha med. Se animasonsklippet under.

 

yGjuoGc.gif

 

Når dette er gjort legger man inn en "Else"-statement.

 

  1. Trykk +
  2. Deretter Task
  3. Else

 

Så bruker du tilbake-knappen på telefonen.

Du vil da se at den har lagt på en "Else" i slutten. Så det tasken nå vil gjøre er å sjekke om variablen "LysStue" er Off, om den er det så skrur den på lyset. viss ikke så gjør den noe annet. I vårt eksempel skal den skru lyset av.

 

Nå må vi kopiere "HTTP GET"-handlingen, slik at vi slipper og fylle ut all informasjonen på nytt.

Hold nede fingeren på "HTTP GET" i et par sekunder. Deretter trykker du NSgtW5m.png som kopierer handlingen.

Hold ned på "HTTP GET" igjen, så trykk på nps26Py.png den vil da lime inn handlingen igjen.

 

Da vi har 2 like handlinger, så må vi flytte ned den ene, slik at den er plassert under "Else". Da de på nåværende tidspunkt er identiske, så spiller det ingen rolle hvilken av dem vi flytter ned.

 

rxd2qxZ.gif

 

Når dette er gjort går du inn på den nederste "HTTP GET" handlingen og endrer Path'en slik at den slutter på "Off".

JSON?request=ControlDeviceByLabel&ref=82&label=Off

 

Gå så tilbake og legg til en "Variable Set", hvor du endrer %LysStue til "Off".

Deretter kan du legge til en "End If" som er plassert samme sted som du fant "If" og "Else"

 

ezgif.gif

XC61Yac.png

 

 

Nå som vi har kommet så langt, så kan du igjen forsøke og trykke på pNUn4s6.png -knappen. Trykk gjerne et par ganger (vent litt mellom hver gang), så ser du om lyset går på eller av. :)

 

Steg 6

 

Nå som dette er gjort må vi finne et ikon som passer til handlingen. For å gjøre dette trykker man på 2X8e7Z3.png deretter "Built-in icon" Scroll deg nedover, så finner du noe som passer :)

 

Nå er handlingen ferdig. Nå må vi bare få den over på startskjermen. Gå til startskjermen på telefonen, legg deretter til en "Widget". Prosedyren for dette er litt forskjellig fra telefon til telefon.

 

ezgif2.gif

 

 

Viola!

 

Har du spørsmål, eller problemer eller andre inputs, så kommenter gjerne! :)

Dette er forøvrig min første "Guide" så man kan desverre ikke forvente for mye. :P

 

På sikt regner meg jeg med at jeg lager guider på hvordan man lager slider på hjemskjermen slik at man kan regulere lysstyrken, eller nivået på rullergardiner ol. Evt 'hurtigtast' på låseskjermen til ting om man befinner seg hjemme i huset, dersom dette er av interesse.  :)

 

Endret av Merko
  • Like 6
Lenke til kommentar
Del på andre sider

  • 1 måned senere...

Det er korrekt, du kan jo alltids hente ut statusen først. Eksempel med en gang du trykker på knappen, så vil den først sjekke status, deretter endre variablen.

Kan nok oppdatere med den funksjonen etterhvert :) er igrunnen en enkel sak.

Lenke til kommentar
Del på andre sider

Enkel og enkel :P har ikke satt meg helt inn i det, men kan man på en enkel måte hente status uten javascript f.eks?

 

PS: Jeg tror ikke dette er mulig, men er det mulig å få f.eks dobbeltapp funksjon? på veggbryterene mine har jeg tapp for av, tapp for på og dobbeltapp for 100% dim, noe slikt hadde vært genialt som taskerwidget også.

Lenke til kommentar
Del på andre sider

Flott guide ?  Selv bruker jeg Tasker i kombinasjon med Tellstick Net, som også har Tasker plugin (som gjør ting litt lettere).

Uansett, guiden er også nyttig i forhold til alt det andre Tasker kan brukes til. Med bruk av variabler så kan det meste gjøres. Et annet tips er 

å sjekke ut de forskjellige "Autoapps", enormt med muligheter der også. 

Lenke til kommentar
Del på andre sider

Den 14.9.2016 klokken 18.35, Evelen skrev:

PS: Jeg tror ikke dette er mulig, men er det mulig å få f.eks dobbeltapp funksjon? på veggbryterene mine har jeg tapp for av, tapp for på og dobbeltapp for 100% dim, noe slikt hadde vært genialt som taskerwidget også.

Jeg kan teste imorgen\søndag. Men tror ikke det skal være noe problem med dobbeltapp funksjon.

 

Bare sette opp en variabel som økes på fort trykk. så la den utløse kommandoen etter type 0.3-0.5 sekunder etter at man har trykket.

Da teller den først hvor mange ganger du har trykket og gjør en task ut ifra det.

Lenke til kommentar
Del på andre sider

  • 2 uker senere...
6 timer siden, Lazarus skrev:

Litt off topic, Hva bruker du for å lage de "screenshot" GIF-ene?

Brukte bare et program som tar opptak av skjermen (100vis av de på playstore), så et noe som gjør om video til gif. egentlig ganske enkelt :P

Lenke til kommentar
Del på andre sider

Jeg har det ikke installet, så husker ikke, men om man søker på "Screen Recorder" eller noe tilsvarende, så kommer det opp veldig mange forslag.

 

Mange telefoner (eks Sony) har skjermopptak innebygd. Ellers kan man gjøre det via Tasker, men husker ikke 100% kommandoen for det.

 

Skal se om jeg finner tilbake til det jeg brukte når jeg lagde disse filmsnuttene

  • Like 1
Lenke til kommentar
Del på andre sider

  • 1 måned senere...
Den 11.11.2016 klokken 20.37, Andreas skrev:

Slettet alt og installerte tasker på nytt.. da virker det..

..men jeg får en feilmelding 

Fra tasker "no active profiles"

Noen som har vært borti dette?

Feilmelding?

 

Det er bare en melding som sier at du ikke har noen profiler som er aktive.

 

Jeg får også den meldingen på startskjermen om jeg ikke har noen profiler som kjører. bare ignorere den :)

Lenke til kommentar
Del på andre sider

12 minutter siden, Andreas skrev:

jeg vil gjerne ha den bort.. hvordan kan man ha en "profil som kjører" uten at det krever mye resurser?

 

Du kan alternativt Gå på Tasker > Menu > Preferences > Monitor > Hukk av "Run in Foreground" og sett Notification Incon til gjennomsiktig (første ikonet).

 

Da skal den forsvinne.

Lenke til kommentar
Del på andre sider

  • 1 måned senere...

Glimrende guide, takk for den. Jeg sleit litt med å få det til å fungere. Kanskje samme problem som Andreas hadde:

 

Den ‎11‎.‎11‎.‎2016 klokken 19.45, Andreas skrev:

Ok.. jeg får det ikke til å fungere..

Virker det på virtuelle enheter også?

Ingenting vises i loggen i HS heller.. 

 

 

Uansett, mye prøving og feiling. Fant til slutt ut at path må skrives med små bokstaver, ikke innledende caps slik det står i guiden.

 

JSON?request=ControlDeviceByLabel&ref=82&label=On

JSON?request=controldevicebylabel&ref=82&label=on

 

Jeg fikk heller ingen meldinger i loggen, og tilsynelatende var alt i orden, bortsett fra at aktuell device ikke reagerte. Med små bokstaver fungerer det glimrende.

  • Like 1
Lenke til kommentar
Del på andre sider

  • 1 måned senere...

Prøver å hente ut en JSON string med Tasker HTTPP Get, men den liker ikke at jeg har @ i adressen, da fjerner den alt mellom https:// og @.. vært borti dette?

 

Edit. Fant ut at jeg måtte sette resten av koden i Path feltet, kun selve www.adresse.com i server feltet, alt etter det i path :)

Endret av Actibus
  • Like 1
Lenke til kommentar
Del på andre sider

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.