Ohjelma on suunniteltu toimimaan kotirverkossa eikä sitä sellaisenaan ole turvallista avata julkiseen verkkoon.
Backend hakee päivän pörssisähkön hintatiedot ja lähettää aina lämmityslämpötilan muuttuessa ilmalämpöpumpulle lämpötilan johon pumppu halutaan. Ohjelma toimii ensisijaisesti Daikinin ilmalämpöpumpuilla ja Daikin APIn toimintaan saamisesta löytyy dokumentaatio Daikinin sivuilta. Ohjelman voi muokata toimimaan myös muilla merkeillä kunhan niihin saadaan luotua vastaavanlainen API yhteys.
Frontend käyttää react + vite yhdistelmää, joka luo sivun, josta näkee visuaalisesti milloin pumppu lämmittää, ylläpitää ja teholämmittää. backend ei ole riippuvainen frontendistä eli frontendiä ei ole pakko käyttää, jos haluaa vain suorittaa ohjelman päätehtävää.
-
Mene oikeaan hakemistoon
cd backend -
Lataa riippuvuudet
npm install -
Luo HTTPS-tiedostot Backendin juureen täytyy tehdä tiedostot selfsigned.crt ja selfsigned.key, jotta https yhteys palvelimeen saadaan onnistumaan. Ainakin Daikinin API vaatii tätä https yhteyttä.
-
Luo .env tiedosto .env.example mukaisesti siihen laitetaan Daikinin Developer Portalista saatava secret key.
-
Muokkaa config.json tiedosto
"clientID": "YOUR_CLIENT_ID",Tähän kohtaan Daikinin Developer Portalista saatava Reference ID"URI": "https://192.168.XXX.XXX:3443/",Tähän palvelimen kotiverkon IP sen täytyy olla sama kuin Daikinin Developer Portalissa Redirect URI.
Lisäksi:
"UpTimeInDay": 40, // Kuinka monta varttia pumppu vuorokaudessa lämmittää 40 varttia on 10 tuntia
"AlwaysHighBelowPrice": 1, // Jos sähkön hinta on alle tämän niin pumppu lämmittää lämpötilalla CheapTemp
"AlwaysLowAbovePrice": 30, // Jos sähkön hinta on yli tämän niin pumppu on aina tilassa ExpensiveTemp
"ExpensiveTemp": 19, // Kalliin ajana lämmitys
"BasicTempOn": 22, // Lämmitysaste jota pumppu käyttää kun kyseessä on UpTimeInDay halvimmat ajat.
"CheapTemp": 23, // Lämmitysaste jota käytetään kun sähkö on erityisen halpaa (AlwaysHighBelowPrice)
(Ainakin Daikinilla lämpötilat ovat määritettävissä 0.5 asteen välein)
-
Aja autentikointi
node auth.js -
Kun login onnistuu, sulje auth.js ja käynnistä palvelin
node index.js
VALMIS
-
Mene frontend hakemistoon
cd corewatt-frontend -
Lataa riippuvuudet
npm install -
Muokkaa config.js Kotiverkon apiUrl tulee olla sama kuin backendissä Tailnetin apiUrl voi pysyä oletuksena tai vaihtaa oikeaksi
Nyt frontendin voi ajaa kehittäjätilassa tai rakentaa tuotantoversion.
- Kehittäjätilassa
npm run dev