Turinys:

„Nest“termostato istorijos duomenų kaupiklis: 6 žingsniai (su paveikslėliais)
„Nest“termostato istorijos duomenų kaupiklis: 6 žingsniai (su paveikslėliais)

Video: „Nest“termostato istorijos duomenų kaupiklis: 6 žingsniai (su paveikslėliais)

Video: „Nest“termostato istorijos duomenų kaupiklis: 6 žingsniai (su paveikslėliais)
Video: Google Nest Thermostat 2020 vs Nest Learning Thermostat 2024, Lapkritis
Anonim
„Nest“termostato istorijos duomenų kaupiklis
„Nest“termostato istorijos duomenų kaupiklis

„Nest“termostatas seka temperatūrą, drėgmę ir krosnies/kintamosios srovės naudojimą, o naudotojai gali matyti tik 10 dienų istorinius duomenis. Norėjau surinkti istorinius duomenis (> 10 dienų) ir aptikau „Google“skaičiuoklių scenarijų, kuris kiekvieną kartą nustato lizdus, taip pat gauna vietos orų duomenis iš „openweathermap.org“ir išsaugo skaičiuoklėje.

Metus viskas klostėsi gerai, o scenarijus staiga nustojo rinkti duomenis. Po tam tikros „Google“paieškos supratau, kad viena „Google“skaičiuoklės eilutė kas 5 minutes reiškia maksimalios langelių, kuriuos gali sutalpinti „Google“skaičiuoklė, pasiekimą. Aš atnaujinau pradinį scenarijų, kad vis dar „ping“„Nest“kas 5 minutes, bet renku duomenis 1 eilutėje per dieną. „Script“tikrina paskutinę eilutę ir, jei ji yra tą pačią dieną, ji prideda duomenis prie tos pačios eilutės, o ne prideda naują.

Kreditas už originalų scenarijų. Aš tiesiog padariau keletą pakeitimų, kad atitiktų mano poreikius.

// michael-pesce darbas: https://gist.github.com/michael-pesce/a4ba55d4fc4…// BEEZLY darbas:

Raktiniai žodžiai: „Nest“termostato istorija, „Nest“šiluma, „Nest“temperatūros istorija, „Nest“termostato įsilaužimas, „Nest“termostato patarimai, „Nest“energijos istorija, „Nest“kasdienis naudojimas, „Nest“kasdienis naudojimas, „Nest“termostato duomenų atsisiuntimas

1 veiksmas: sukurkite naują „Google“lapą (išsaugokite kaip mano bendrinamoje skaičiuoklėje)

Sukurkite naują „Google“lapą (išsaugokite kaip mano bendrinamoje skaičiuoklėje)
Sukurkite naują „Google“lapą (išsaugokite kaip mano bendrinamoje skaičiuoklėje)

Pradėkite nuo mano bendrinamo „Google“lapo, susieto žemiau (atidarykite tą failą ir spustelėkite Failas, tada „pasidarykite kopiją“ir išsaugokite „Google“diske).

P. S: Neprašykite, kad duočiau jums leidimą redaguoti šį failą. Prieš atlikdami bet kokius pakeitimus, kurių negalėsite atlikti, nes aš juos bendrinau kaip tik skaitomą skaičiuoklę, „pasidarykite kopiją“savo „Google“diske ir atlikite redagavimą.

docs.google.com/spreadsheets/d/1zTHUfiltWomhPYmfD3TYRRoJZsgcjrQ_A2xHSTK5_dE/edit?usp=sharing

Žmonėms, turintiems problemų dėl autorizacijos: Išbandykite šiame faile esantį scenarijų. Jis turi papildomų funkcijų, susijusių su naujais „Nest“2.0 įgaliojimo protokolais. Aš to neišbandžiau, todėl jei susidursite su klausimais ar problemomis, rašykite komentarų skiltyje. Kreditas mcr2582.

www.dropbox.com/s/8rbtg7pb0xl9n9x/nest%20t…

Kitas „Coder56“scenarijaus variantas: papildoma informacija komentarų skiltyje. Aš to neišbandžiau, tačiau scenarijus yra labai gerai organizuotas ir atrodo, kad jis gerai veikia daugeliui vartotojų.

docs.google.com/spreadsheets/d/15bTn9_Cv9I…

2 veiksmas: nukopijuokite scenarijų

Praleiskite šį veiksmą, jei išsaugojote kopiją mano bendrinamame „Google“lape.

  • Meniu juostoje spustelėkite Įrankiai -> Scenarijų rengyklė…, kad atidarytumėte scenarijų rengyklę (naujas langas)
  • Skriptų rengyklėje ištrinkite visus numatytuosius scenarijus/failus ir sukurkite naują (aš jį pavadinau „NestScript.gs“)
  • Iškirpkite ir įklijuokite visą šį tekstą iš pridėto failo į „NestScript.gs“, tada IŠSAUGOTI NUORODĄ (Norėdami tai padaryti, naudokite scenarijų iš „Google“lapo, kurį bendrinau 1 veiksme. Jei išsaugojote to failo kopiją, turėtų jau turėti scenarijų. Jei to nepadarėte, galite atidaryti tą failą ir eiti į scenarijaus skiltį ir nukopijuoti tekstą. Ištryniau prie šio veiksmo pridėtą scenarijaus teksto failą, nes jis nebuvo atnaujintas ir gali sukelti painiavos.).

3 veiksmas: diegti kaip žiniatinklio programą

Diegti kaip žiniatinklio programą
Diegti kaip žiniatinklio programą
Diegti kaip žiniatinklio programą
Diegti kaip žiniatinklio programą
  • Meniu juostoje spustelėkite Įrankiai -> Scenarijų rengyklė…, kad atidarytumėte scenarijų rengyklę (naujas langas)
  • Meniu juostoje spustelėkite Skelbti -> Diegti kaip žiniatinklio programą
  • Pasirinkite „Vykdyti programą kaip aš“
  • Pasirinkite Kas turi prieigą prie programos: „Visi, net anoniminiai“
  • Kol kas nukopijuokite/atkreipkite dėmesį į nuorodą į naują žiniatinklio programą ir vėliau ji bus įtraukta į toliau pateiktą „runDataCollection“tvarką (pirmasis kodas).

4 žingsnis: aktyvikliai

Trigeriai
Trigeriai
Trigeriai
Trigeriai
Trigeriai
Trigeriai

Čia galite nustatyti, kaip dažnai rinkti duomenis.

  • Meniu juostoje spustelėkite Dabartinio projekto paleidikliai
  • Spustelėkite pridėti naują aktyviklį
  • „Run“pasirinkite funkciją „runDataCollection“, „Events“: pagal laiką ir pasirinkite likusią dalį pagal savo pageidavimus (darau kas 5 minutes)

5 veiksmas: papildoma informacija scenarijuje

Papildoma informacija scenarijuje
Papildoma informacija scenarijuje
Papildoma informacija scenarijuje
Papildoma informacija scenarijuje
Papildoma informacija scenarijuje
Papildoma informacija scenarijuje

Pakeiskime scenarijų į konkretų termostatą, miestą ir „Google“lapą.

Kiekvienas pakeitimas pateikiamas su scenarijaus eilutės numeriu. Turėsite eiti į tą scenarijaus eilutę ir atnaujinti, kaip nurodyta toliau. (Eilučių numeriai turėtų būti teisingi, jei 40 eilutė yra „runDataCollection ()…“).

  • 45 eilutė: pridėkite žiniatinklio programos nuorodą į „runDataCollection“maršrutą (tai pažymėjote atlikdami vieną iš ankstesnių veiksmų)
  • 53 eilutė: „Nest“naudotojo vardas ir slaptažodis
  • 77 eilutė: termostato įrenginio ID

Kiekvieno termostato ID galite sužinoti apsilankę „Nest“prietaisų skydelyje, spustelėję termostatą, spustelėję krumpliaračio piktogramą viršutiniame dešiniajame kampe, tada nukopijuodami lauką „Serijos Nr.“. Jis atrodys maždaug taip: 02XX01XX471XXX3S

90 eilutė: miesto ID (gali būti naudingos papildomos instrukcijos virš scenarijaus virš šios eilutės.)

Norėdami rasti miesto ID, eikite į „https://openweathermap.org/find?q=“savo miesto paiešką, spustelėkite miesto nuorodą ir ID bus 7 skaitmenų URL

103 eilutė: „Google“lapo ID (gali būti naudingos papildomos instrukcijos, pateiktos virš šios eilutės esančiame scenarijuje.)

Skaičiuoklės ID galima paimti iš „Shee“URL Žiūrėti šį modelį, kur yra „Sheet ID“URL:

6 veiksmas: užbaikite skaičiuoklę

Praleiskite šį veiksmą, jei pradėjote nuo mano bendrinamos skaičiuoklės.

Šios dvi eilutės turi būti skaičiuoklėje, kad kodas veiktų.

Pirma eilutė (antraštės eilutė): tarpas atskiria stulpelius

Data/laikas Mėnuo Diena Metai Temperatūra Drėgmė lauke Temperatūra laukeRūgštis Šiluma_naudojimas AC_naudojimas Oras AutoAway

Antra eilutė:

Pirmame stulpelyje pridėkite vakarykštę datą, o likusiuose - stulpelius.

Viskas. Leiskite scenarijui veikti ir jis turėtų pridėti vieną eilutę per dieną, o jūsų termostatas ir vietinis oras pinga, kad gautumėte duomenis pagal nustatytą trigerio dažnį.

Jei iš naujo įdiegiate žiniatinklio programą, naudokite naują versiją. Turėjau problemų naudojant tas pačias versijas, kai scenarijus nebuvo paleistas

Jei scenarijus neveikia, dar kartą peržiūrėkite ankstesnius veiksmus ir įsitikinkite, kad tiksliai atnaujinote scenarijų, kaip siūloma šiais veiksmais. Tai yra labiausiai tikėtina priežastis, dėl kurios scenarijus neveikia

Žinomos problemos (jei kas nors žino pataisymą, atsakykite komentarų skiltyje):

1) Scriptui nepavyksta gauti duomenų iš lizdo visą dieną. Aš turiu trigerį kas 5 minutes, o tai turėtų parodyti 288 nuskaitymus per dieną. Gaunu ~ 170. Žemiausia, ką gavau, yra 16, o didžiausia - 264.

Rekomenduojamas: