Nest Thermostat History Data Logger: 6 stappe (met foto's)
Nest Thermostat History Data Logger: 6 stappe (met foto's)
Anonim
Nest Thermostat History Data Logger
Nest Thermostat History Data Logger

'N Nest -termostaat volg temperatuur, humiditeit en oond-/AC -gebruik, en gebruikers kan historiese data slegs vir 10 dae sien. Ek wou historiese data versamel (> 10 dae) en het 'n Google -sigblaaie -skrip teëgekom wat elke vasgestelde tyd pes maak en ook plaaslike weerdata kry van openweathermap.org en stoor in die sigblad.

Alles het 'n jaar goed gegaan, en die script het skielik opgehou om data te versamel. Na 'n paar Google -soektogte, het ek besef dat een ry elke 5 minute vir Google Spreadhseet beteken dat u die maksimum limiet van selle bereik wat 'n Google -sigblad kan akkommodeer. Ek het die oorspronklike skrif opgedateer om Nest elke 5 minute te ping, maar ek versamel data in 1 ry per dag. Script kontroleer die laaste ry, en as dit dieselfde dag is, voeg dit die data by dieselfde ry in plaas van om 'n nuwe ry by te voeg.

Krediet vir die oorspronklike skrif. Ek het net 'n paar wysigings gemaak wat by my behoeftes pas.

// die werk van michael-pesce: https://gist.github.com/michael-pesce/a4ba55d4fc4…// BEEZLY se werk:

Sleutelwoorde: Nest Thermostat History, Nest Heat, Nest Temperature History, Nest Thermostat Hack, Nest Thermostat Tips, Nest Energy History, Nest Daily Use, Nest Daily Usage, Download nest thermostat data

Stap 1: Skep 'n nuwe Google -blad (stoor soos op my gedeelde sigblad)

Skep 'n nuwe Google -blad (stoor soos op my gedeelde sigblad)
Skep 'n nuwe Google -blad (stoor soos op my gedeelde sigblad)

Begin met my gedeelde Google -blad wat hieronder gekoppel is (maak die lêer oop, klik op File en dan 'maak 'n kopie' en stoor dit in u Google Drive).

PS: Vra my nie om u toestemming te gee om hierdie lêer te wysig nie. Voordat u enige veranderinge aanbring wat u nie sal kan aanbring nie, omdat ek dit as 'n leesblaaieblad gedeel het, moet u 'maak 'n kopie' in u eie Google Drive en gaan voort met die wysigings.

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

Vir mense wat probleme ondervind met magtiging: Probeer die script in die volgende lêer. Dit het ekstra funksies wat verband hou met Nest se nuwe 2.0 -magtigingsprotokolle. Ek het dit nog nie probeer nie, so as u enige vrae of probleme ondervind, plaas dit in die kommentaar -afdeling. Krediet na mcr2582.

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

Nog 'n variasie van die draaiboek deur Coder56: Bykomende besonderhede in die kommentaarafdeling. Ek het dit nie probeer nie, maar die script is baie goed georganiseer en dit lyk asof dit baie gebruikers goed werk.

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

Stap 2: Kopieer script

Slaan hierdie stap oor as u wel 'n kopie op my gedeelde Google -blad gestoor het.

  • Klik op die menubalk Tools -> Script Editor … om Script Editor oop te maak (nuwe venster)
  • Vee in die Script Editor al die standaard scripts/lêers uit en skep 'n nuwe (ek noem dit "NestScript.gs")
  • Knip en plak die hele teks uit die aangehegte lêer in NestScript.gs, en stoor dan die teks (gebruik hierdie skrif vir die stap van die Google -blad wat ek in stap 1 gedeel het). moet alreeds die script hê. As u dit nie gedoen het nie, kan u die lêer oopmaak en na die scriptafdeling gaan en die teks verby kopieer..).

Stap 3: Ontplooi as 'n webprogram

Ontplooi as webprogram
Ontplooi as webprogram
Ontplooi as webprogram
Ontplooi as webprogram
  • Klik op die menubalk Tools -> Script Editor … om Script Editor oop te maak (nuwe venster)
  • Klik op die menubalk Publiseer -> Implementeer as webprogram
  • Kies "Voer die program as ek uit"
  • Kies Wie toegang tot die app het: "Enigiemand, selfs anoniem"
  • Kopieer/let nou eers op die skakel na u nuwe webprogram, en dit sal in latere stappe bygevoeg word tot die runDataCollection -roetine hieronder (die eerste kode).

Stap 4: Snellers

Snellers
Snellers
Snellers
Snellers
Snellers
Snellers

Dit is waar u definieer hoe gereeld data ingesamel moet word.

  • Klik in die menubalk op Aktuele projekte se snellers
  • Klik Voeg nuwe sneller by
  • Kies vir Run die funksie runDataCollection, Events: time-driven, en kies die res volgens u voorkeur (ek doen elke 5 minute)

Stap 5: Bykomende inligting in die script

Bykomende inligting in die skrif
Bykomende inligting in die skrif
Bykomende inligting in die skrif
Bykomende inligting in die skrif
Bykomende inligting in die skrif
Bykomende inligting in die skrif

Kom ons verander die skrif na u spesifieke termostaat, stad en Google -blad.

Elke verandering word gelys met 'n reëlnommer van die skrif. U moet na die reël in die script gaan en bywerk soos hieronder aangedui. (Lynnommers moet korrek wees as reël 40 'runDataCollection () …' is).

  • Reël 45: voeg webapp -skakel by in die runDataCollection -routing (dit is wat u in een van die vorige stappe opgemerk het)
  • Reël 53: Nest gebruikersnaam en wagwoord
  • Reël 77: Termostaat -toestel -ID

U kan die ID vir elke termostaat kry deur na die Nest -dashboard te gaan, op die termostaat te klik, op die ratikoon regs bo te klik en dan die veld "Serienr." "Te kopieer. Dit sal ongeveer soos volg lyk: 02XX01XX471XXX3S

Reël 90: Stad -ID (bykomende instruksies in die skrif bo hierdie reël kan nuttig wees.)

Om die stad -ID te vind, gaan na 'https://openweathermap.org/find?q=' soek na u stad, klik op die stadskakel en die ID sal die 7 -syfer -nommer in die URL wees

Reël 103: Google -blad -ID (bykomende instruksies in die skrif bo hierdie reël kan nuttig wees.)

Die blad -ID kan van die blote URL gegryp word. Sien hierdie patroon vir waar die blad -ID in die URL is:

Stap 6: Voltooi die sigblad

Slaan hierdie stap oor as u met my gedeelde sigblad begin het.

Hierdie twee reëls moet in die sigblad wees om die kode te laat werk.

Eerste reël (opskrifry): spasie skei kolomme

Datum/Tyd Maand Dag Jaar Temp Humiditeit Buite Temp Buite Humiditeit Warmteverbruik AC_Gebruik Weer AutoAway

Tweede reël:

Voeg gister se datum in die eerste kolom en nulle in die oorblywende kolomme by.

Dit is dit. Laat die script hardloop, en dit moet 'n ry per dag byvoeg, en u termostaat en die plaaslike weer vir data per ping -frekwensie wat u stel.

Gebruik die nuwe hersiening as u die webapp herontplooi. Ek het probleme gehad met die gebruik van dieselfde hersienings met script wat nie werk nie

As die skrip nie werk nie, gaan weer oor die vorige stappe en maak seker dat u die skrif akkuraat opgedateer het, soos deur hierdie stappe voorgestel. Dit is die waarskynlikste oorsaak van die probleem dat script nie werk nie

Bekende kwessies (antwoord iemand in die kommentaar -afdeling as iemand die oplossing ken):

1) Skrif slaag nie daarin om gedurende die dag data uit die nes te kry nie. Ek het my sneller elke 5 minute, wat in totaal 288 lesings per dag moet oplewer. Ek kry ~ 170. Die laagste wat ek gekry het, is 16 en die hoogste is 264.