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

Hente prisdata fra Tibber og presentere dette i OpenHab


Ole

Anbefalte innlegg

  • 3 uker senere...

Fra en Ole til en annen :-)

Jeg 'tror' du kan forenkle en del så du ikke trenger hverken mqtt eller cron.

 

I OH2 kan man bruke executeCommandLine til å kjøre en kommando med parameter og tilordne all output til en String variable.
Har ikke Tibber selv, men gjorde en rask test i et skript jeg allerede hadde satt opp:

 

I Rule fila: 

test = executeCommandLine("/home/omr/blink.sh 24.0",10000);   // (var String test = "" i begynnelsen av rule) 10000 er max tid å vente på at programmet kjører. 10s

logInfo("TVLEDs", "blinking returned:" + test);

 

I scriptet:

echo $0 $1 123
echo 456

 

Logg:

2018-09-02 14:25:05.914 [INFO ] [clipse.smarthome.model.script.TVLEDs] - blinking returned:/home/omr/blink.sh 24.0 123
456

 

Det lar seg sikkert gjøre å kjøre JSON på test.

 

Så finnes det en fantastisk binding som gjør timing til en lek.

Les mer her.

Lenke til kommentar
Del på andre sider

Det er mange måter å gjøre det, ihvertfall med OpenHAB :)

 

Hva som er enklest er somregel en funksjon av hvilken bakgrunnskunnskap man har. Jeg liker standard Linux cron bedre enn OpenHAB sin cron, så lagde for en stund siden mitt eget script som startes uavhengig av OpenHAB, via system-cron. Enda en variant hos meg er å ikke sende data via MQTT inn til OpenHAB, men direkte via OpenHAB sitt REST-interface (python-openhab-pakken).  Scriptet gjør mye annet rart så det er ikke veldig delbart. 

 

Hadde jeg gjort det omigjen ville jeg nok gjort som trådstarter, og brukt et script for å polle Tibber, og publisere på MQTT internt i huset. Da kan samme script også benyttes av ikke-OpenHAB-brukere. Og så kan det startes jevnlig enten via system-cron, eller via OpenHAB sin tilsvarende cron, det bør gå ut på det samme.

Lenke til kommentar
Del på andre sider

Hei,

Jeg valgte å dele min løsning i håp om at andre kunne ha nytte av den.

Som OMR sier det er mange måter å gjøre det på men som nevnt av berland " enklest er somregel en funksjon av hvilken bakgrunnskunnskap man har", videre valgte jeg å gå via mqtt,

da dette også åpner opp for "alle" andre systemer, så lenge de kan håndtere mqtt og json..

Bruker selv mqtt til mye annet, da det er en meget enkel måte å viderformidle data på, som krever minimalt med innsats og datakraft.

Finner også exec bindingen i openhab kronglete å bruke, og med tanke på "gjennbruk" i andre systemer og at jeg allerede bruker mqtt så var valget enkelt.

 

Hvis noen har en bedre måte å løse det på, så er det fritt fram.

Uansett poenget er, kan noen andre ha nytte av det, del...   Det har jeg tenkt å fortsette med..

 

Og Alpøy, hadde jo vært kult med gratis strøm men....

 

/Ole

Lenke til kommentar
Del på andre sider

2 hours ago, Ole said:

Jeg valgte å dele min løsning i håp om at andre kunne ha nytte av den.

Som OMR sier det er mange måter å gjøre det på men som nevnt av berland " enklest er somregel en funksjon av hvilken bakgrunnskunnskap man har", videre valgte jeg å gå via mqtt,

 

Akkurat. Og for meg som ikke bruker mqtt var mitt forslag litt mer lav-terskel. Maange veier til Rome i openHAB ...

executeCommandLine er ikke en del av exec bindingen så vidt jeg vet.

Endret av OMR
Lenke til kommentar
Del på andre sider

  • 6 måneder senere...
  • 2 år senere...
  • 1 år senere...

Fant denne tråden, og kan si litt om hva jeg har gjort ifm Tibber.
Kjøpte meg en Tibber Pulse nå som den var på tilbud til 495,- og har nå fått satt den opp til å levere strømdata inn i OpenHAB via lokal MQTT, dvs ikke via noe tibber API, så er ikke avhengig av noe "eksternt".

 

Jeg kjører min OpenHAB 2-installasjon på en Ubuntu-boks.

Tror jeg kjører min OpenHAB i "simple" mode, dvs at jeg kun gjør ting via PAPERUI-GUI, ikke via filer e.l.

 

Det jeg gjorde for å få inn dataene var:

- Installere Mosquitto på Ubuntu-boksen for å ha en lokal MQTT-broker

- Laste ned, konfigurere og kjøre ElWiz

- Lage en MQTT system broker connection i OpenHAB

- Sette opp en MQTT Broker-thing med topic "tibber"

 

Litt usikker på om jeg klarer å gjenskape alle stegene som jeg gjorde,men skal prøve:

For installasjon av mosquitto gjorde jeg ikke stort annet enn å kjøre steg 1, 2 og 3 herfra: https://www.vultr.com/docs/install-mosquitto-mqtt-broker-on-ubuntu-20-04-server/
For å gjøre det enkelt har jeg ingen sertifikater, passord, brukernavn e.l. på mosquitto

For installasjon av Elwiz gikk jeg hit, og klonet ned prosjektet med Git: https://github.com/iotux/ElWiz#oppsett-av-pulse


Under oppsett av selve Tibber Pulse tror jeg det er viktig at det står http:// foran den siste IP-adressen for at ting skal virke. Bytt her ut med IP der din mosquitto kjører.
Hadde under oppsettet hele tiden koblet til en powerbank. Usikker på om dette hadde noe å si. Plasserte også til å begynne med Tibber Pulsen utenfor sikringsskapet for å være sikker på at den fikk god nettilgang.

 

Jeg fikk opp to "things" av typen ElWiz i OpenHAB, så det virker som det nå finnes en elwiz-binding e.l. Jeg måtte kun sette opp brokeren til å gå mot riktig IP, port og "topic" som jeg da satte til "tibber".

 

Foreløpig henter jeg bare ut dataene i en "dummy"-widget i habpanel. På sikt skal jeg se om jeg får gjort noe mer fancy ting.

 

For meg var det dermed ganske rett fram å få tibber pulse-data inn i OpenHAB via MQTT. Det jeg slet litt med var konfigurasjon av Tibber Pulse via den sitt web-grensesnitt. Dette måtte jeg forsøke et par ganger før det fungerte. Tror det var to ting som var suksess-kriterier:

1. Trykke både "send" og "apply" iht bruksanvisningen

2. Som nevnt over legge inn "http://"+ mqtt-IP i "update_url"-feltet

 

Som sagt litt usikker på om jeg klarer å gjenskape en komplett "tutorial", men kan evt. vise hvilke parametre jeg har lagt inn hvis det er behov for 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.