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

GUIDE: Tibber-widget for iOS!


Anbefalte innlegg

Mange har savnet at det ikke finnes en iOS-widget til Tibber-appen.

Men, Tibber har jo et fantastisk API, så da kan man jo lage det selv! ;)

 

3 forskjellige størrelser:

IMG_1589.jpg.3e56b8234a92f7cb0559692d40eea6c4.jpg

 

tibbermedium.jpeg.6f75a866b13e6840645de2292c8e83d9.jpeg

 

large.thumb.jpg.d45c2af56de69e142754122ff30e5760.jpg

 

Instrukser og kode finner man på GitHub her:

https://github.com/svenove/iOSTibberWidget

 

Her ligger også instruksene på norsk:

Spoiler

Her er fremgangsmåten:

1. Last ned appen "Scriptable": https://apps.apple.com/no/app/scriptable/id1405459188

2. Start appen, trykk på "+" oppe i høyre hjørne

3. Trykk på teksten "Untitled Scripts" helt øverst og bytt navn til "TibberSmall"/"TibberMedium"/"TibberLarge" (avhengig av hvilken størrelse widget du skal ha).

4.

a) For liten widget, lim inn teksten i denne lenken i TibberSmall: 

https://github.com/svenove/iOSTibberWidget/blob/main/TibberSmall.js?raw=1

 

b) For medium widget, lim inn teksten i denne lenken i TibberMedium:

https://github.com/svenove/iOSTibberWidget/blob/main/TibberMedium.js?raw=1

 

c) For stor widget, lim inn teksten i denne lenken i TibberLarge:

https://github.com/svenove/iOSTibberWidget/blob/main/TibberLarge.js?raw=1

 

5. Finn din personlige Tibber-token ved å logge inn med din Tibber-konto her: https://developer.tibber.com/settings/accesstoken

6. Bytt ut token på linjen med "TIBBERTOKEN=" i scriptet med din personlige token og velg "Done".

7. For TibberLarge, sett variablen i linje 34 til true eller false for å velge om du vil vise med nettleie. Husk også å endre beløpene i linje 35 og 36.

8. Lukk "Scriptable"-appen og trykk og hold på hjemskjermen der du vil ha widget (slik at appene begynner å "riste"), trykk på "+" øverst til venstre, velg "Scriptable". Velg liten, medium eller stor widget og trykk "Legg til widget".

9. Widget ligger nå der med "Select script in widget configurator". Trykk og hold på den, og velg "Rediger widget".

10. For "Script", velg "TibberSmall"/"TibberMedium"/"TibberLarge" (avhengig av hvilken størrelse widget du valgte),
"When interacting"="Open URL",
"URL"="tibber://"

Hvis du har flere "hjem" (hytte, f.eks), skriv 0, 1 eller 2 som "parameter" for å velge hvilket "hjem" du vil vise.

 

Widget er nå klar til bruk! :) 

 

Kom gjerne med innspill til endringer eller del dine egne forbedringer! :) 

 

PS:

Er du ikke Tibber-kunde finner du invite-lenke i signaturen min, som gir oss 500 kr hver. :) 

Endret av ZoRaC
Flyttet koden til Github
  • Like 5
Lenke til kommentar
Del på andre sider

Moskus skrev (6 minutter siden):

Merk at det er begrensninger på hvor mange ganger token kan brukes samtidig... det kan være man får begrensninger hvis man har koblet Tibber til smarthuset også. Lurer på om begrensningen er to samtidige oppkoblinger.


Godt poeng. :) 

Men siden denne ikke bruker stream, men henter bare en enkelt gang ved hver oppdatering ca 1-3 ganger i timen, så rammes man kanskje ikke av det?

Lenke til kommentar
Del på andre sider

Hva gjør jeg feil når jeg får følgende feilmelding?

Quote

 

Exception Occured

Error on line 66:73: TypeError: null is not an object (evaluating 'json["data"]["viewer"]["homes"][0]["currentSubscription"]["pricaInfo"]

 

Er det begrensningen Moskus nevner som jeg støter på?

Eller kan det være det at jeg har 2 målere i koblet mot min Tibber-bruker?

Lenke til kommentar
Del på andre sider

Hillmar skrev (39 minutter siden):

Hva gjør jeg feil når jeg får følgende feilmelding?

Er det begrensningen Moskus nevner som jeg støter på?

Eller kan det være det at jeg har 2 målere i koblet mot min Tibber-bruker?

 

Over denne linjen:

"// Array med alle dagens timepriser"

Kan du legge til:

console.log(json["data"]["viewer"]["homes"]);

 

Trykk deretter på "play" nede til høyre i det vinduet. Det skal da dukke opp et ettall ved siden av knappen som du kan trykke på. Legg ut et skjermbilde av det den viser her.

Lenke til kommentar
Del på andre sider

8 hours ago, ZoRaC said:

 

Over denne linjen:

"// Array med alle dagens timepriser"

Kan du legge til:

console.log(json["data"]["viewer"]["homes"]);

 

Trykk deretter på "play" nede til høyre i det vinduet. Det skal da dukke opp et ettall ved siden av knappen som du kan trykke på. Legg ut et skjermbilde av det den viser her.

Hjelper dette deg å forstå?

4797E70D-C398-4A43-94E8-CC0C8763028B.thumb.png.50590286ea2a4dd3e55d0b8441d737eb.png

Lenke til kommentar
Del på andre sider

26 minutes ago, ZoRaC said:


Jeg antar det står noe litt lengre opp i den console-loggen også? Kan du lime inn det her?

Quote

2021-12-13 23:33:20: [{"currentSubscription":null,"consumption":null},{"currentSubscription":{"priceInfo":{"current":{"total":1.6568},"today":[{"total":1.6806},{"total":1.6675},{"total":1.6183},{"total":1.5742},{"total":1.6545},{"total":1.7097},{"total":1.732},{"total":1.7531},{"total":1.8045},{"total":1.796},{"total":1.7816},{"total":1.7769},{"total":1.7812},{"total":1.7806},{"total":1.7862},{"total":1.7835},{"total":1.8211},{"total":1.786},{"total":1.7677},{"total":1.7366},{"total":1.6766},{"total":1.674},{"total":1.616},{"total":1.6568}]}},"consumption":{"pageInfo":{"totalCost":103.236065625,"totalConsumption":59.58}}}]
2021-12-13 23:33:20: Error on line 67:73: TypeError: null is not an object (evaluating 'json["data"]["viewer"]["homes"][0]["currentSubscription"]["priceInfo"]')

Her har jeg kopiert ut hele.

Lenke til kommentar
Del på andre sider

9 hours ago, ZoRaC said:


Kan du prøve å bytte ut [0] med [1] i linje 67? Ved første øyekast ser det ut til at det kan være løsningen. :) 

Takk for tipset. Måtte endre tilsvarende på linje 83, 84 og 87 også, men så fungerte det.

 

  • Like 1
Lenke til kommentar
Del på andre sider

Hillmar skrev (På 14.12.2021 den 9.01):

Takk for tipset. Måtte endre tilsvarende på linje 83, 84 og 87 også, men så fungerte det.

 

Har lagt inn "HOME_NR" som variable i scriptet nå, sånn at man bare trenger å endre det ett sted. :) 

  • Like 1
Lenke til kommentar
Del på andre sider

Heisan. 
 

Diggar Widget'en. Er det mulig å legge inn ID/postnr./adresse i denne, for dei av oss som har fleire bustadar inne i Tibber-appen..? Har lagra to separate utgåver i Scriptable, men det hadde vore fint om eg kunne skille dei med f.eks postnr. eller noko anna. 

 

 

Lenke til kommentar
Del på andre sider

FreddySB skrev (10 minutter siden):

 

Diggar Widget'en. Er det mulig å legge inn ID/postnr./adresse i denne, for dei av oss som har fleire bustadar inne i Tibber-appen..?

 


Enkleste løsning er å bytte ut ordet «oppdatert» med adressen i hver sin kopi av scriptet:

let time = lw.addText("Oppdatert: " + hour + ":" + min);
  • Like 1
Lenke til kommentar
Del på andre sider

FreddySB skrev (På 27.12.2021 den 21.29):

Ser at Tibber-API'et har eit field som heiter "appNickname", om det evt. i framtida lar seg gjere å implementere. Sjølv er eg for grønn på dette. 

 

Får se om det er mange som etterspør dette, i såfall kan jeg sikkert legge det til. :) 

Lenke til kommentar
Del på andre sider

Ken Robert skrev (4 timer siden):

Når jeg søker etter Scriptable på widget, finner den ingenting. Tips?

 

Var en annen som hadde opplevd det samme. Da løste det seg med å slette og installere Scriptable-appen på nytt. Prøvd det?

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.