Innehållsförteckning:

Nest Thermostat History Data Logger: 6 steg (med bilder)
Nest Thermostat History Data Logger: 6 steg (med bilder)

Video: Nest Thermostat History Data Logger: 6 steg (med bilder)

Video: Nest Thermostat History Data Logger: 6 steg (med bilder)
Video: What To Know Before You Buy A Nest Thermostat (All 3 Models) 2024, November
Anonim
Nest Thermostat History Data Logger
Nest Thermostat History Data Logger

Nest -termostaten spårar temperatur, luftfuktighet och användning av ugn/AC och användare kan endast se historiska data i 10 dagar. Jag ville samla historisk data (> 10 dagar) och stötte på google -kalkylark -skript som pingar häckar varje fastställd tid och som också får lokala väderdata från openweathermap.org och sparar i kalkylarket.

Allt gick bra i ett år, och manuset slutade plötsligt samla in data. Efter lite google -sökning insåg jag att en rad var 5: e minut för google spreadhseet innebär att man når maxgränsen för celler som ett google -kalkylblad kan rymma. Jag uppdaterade det ursprungliga skriptet till att fortfarande pinga Nest var 5: e minut, men men samlar in data på 1 rad per dag. Skriptet kontrollerar den sista raden och om det är samma dag lägger den till data på samma rad istället för att lägga till en ny rad.

Kredit för originalmanuset. Jag har precis gjort några ändringar som passar mina behov.

// michael-pesces arbete: https://gist.github.com/michael-pesce/a4ba55d4fc4…// BEEZLYs arbete:

Nyckelord: Nest Thermostat History, Nest Heat, Nest Temperature History, Nest Thermostat Hack, Nest Thermostat Tips, Nest Energy History, Nest Daily Use, Nest Daily Usage, Ladda ner nesttermostatdata

Steg 1: Skapa ett nytt Google -ark (Spara som i mitt delade kalkylblad)

Skapa ett nytt Google -ark (Spara som i mitt delade kalkylblad)
Skapa ett nytt Google -ark (Spara som i mitt delade kalkylblad)

Börja med mitt delade Google -ark som är länkat nedan (Öppna den filen och klicka på Arkiv och sedan "gör en kopia" och spara i din google -enhet).

PS: Be mig inte att ge dig behörighet att redigera den här filen. Innan du gör några ändringar, som du inte kommer att kunna göra eftersom jag delade detta som ett skrivskyddat kalkylblad, gör en "gör en kopia" i din egen google -enhet och fortsätt sedan med att redigera.

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

Till personer som har problem med behörighet: Prova skriptet i följande fil. Den har ytterligare funktioner relaterade till Nests nya 2,0 -auktoriseringsprotokoll. Jag har inte provat det, så om du stöter på några frågor eller problem, vänligen posta i kommentarsfältet. Kredit till mcr2582.

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

En annan variant av manuset av Coder56: Ytterligare detaljer i kommentarsfältet. Jag har inte provat det, men skriptet är organiserat mycket bra och det verkar fungera bra för många användare.

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

Steg 2: Kopiera skript

Hoppa över det här steget om du sparade en kopia på mitt delade Google -ark.

  • Klicka på Verktyg -> Skriptredigerare … i menyraden för att öppna Skriptredigerare (nytt fönster)
  • Ta bort alla standardskript/filer i Script Editor och skapa en ny (jag kallade den "NestScript.gs")
  • Klipp ut och klistra in hela den här texten från den bifogade filen i NestScript.gs, sedan SPARA SKRIFTEN (För detta steg, använd skriptet från Google -arket som jag delade i steg 1. Om du sparade en kopia på den filen, du borde redan ha skriptet. Om du inte gjorde det kan du öppna den filen och gå till skriptsektionen och kopiera förbi texten. Jag tog bort texttextfilen som bifogades detta steg eftersom den inte var aktuell och kan skapa förvirring.).

Steg 3: Distribuera som webbapp

Distribuera som webbapp
Distribuera som webbapp
Distribuera som webbapp
Distribuera som webbapp
  • Klicka på Verktyg -> Skriptredigerare … i menyraden för att öppna Skriptredigerare (nytt fönster)
  • Klicka på Publicera -> Distribuera som webbapp i menyraden
  • Välj "Kör appen som jag"
  • Välj Vem som har åtkomst till appen: "Vem som helst, även anonym"
  • Kopiera/notera länken till din nya webbapp för tillfället, och den kommer att läggas till i runDataCollection -rutinen nedan (den första koden) i senare steg.

Steg 4: Utlösare

Utlösare
Utlösare
Utlösare
Utlösare
Utlösare
Utlösare

Det är här du definierar hur ofta du ska samla in data.

  • Klicka på Aktuella projektets utlösare i menyraden
  • Klicka på lägg till ny utlösare
  • För Run väljer du funktionen runDataCollection, Events: tidsdriven och väljer resten enligt dina önskemål (jag gör var 5: e minut)

Steg 5: Ytterligare information i Script

Ytterligare information i Script
Ytterligare information i Script
Ytterligare information i Script
Ytterligare information i Script
Ytterligare information i Script
Ytterligare information i Script

Låt oss ändra skriptet till din specifika termostat, stad och Google -blad.

Varje ändring listas med ett radnummer i skriptet. Du måste gå till den raden i skriptet och uppdatera enligt instruktionerna nedan. (Radnummer ska vara korrekta om rad 40 är "runDataCollection () …").

  • Rad 45: lägg till webapplänk i runDataCollection -routingen (Detta är vad du noterade i ett av de föregående stegen)
  • Rad 53: Nest -användarnamn och lösenord
  • Rad 77: Termostatenhetens ID

Du kan få id för varje termostat genom att gå till Nest -instrumentpanelen, klicka på termostaten, klicka på kugghjulsikonen längst upp till höger och sedan kopiera fältet "Serienr.". Det kommer att se ut ungefär som: 02XX01XX471XXX3S

Rad 90: Stad -ID (ytterligare instruktioner i skriptet ovanför denna rad kan vara till hjälp.)

För att hitta stads -ID, gå till "https://openweathermap.org/find?q=" sök efter din stad, klicka på stadslänken så blir id: et det 7 -siffriga numret i URL: en

Rad 103: Google -blad -ID (ytterligare instruktioner i skriptet ovanför denna rad kan vara till hjälp.)

Ark -id kan hämtas från den rena URL: en. Se det här mönstret för var Ark -id finns i webbadressen:

Steg 6: Slutför kalkylarket

Hoppa över det här steget om du började med mitt delade kalkylblad.

Dessa två rader måste finnas i kalkylarket för att koden ska fungera.

Första raden (rubrikrad): Mellanslag separerar kolumner

Datum/Tid Månad Dag År Temp Luftfuktighet Utomhus Temp Utanför Luftfuktighet Värme_användning AC_Usage Väder AutoAway

Andra linjen:

Lägg till gårdagens datum i den första kolumnen och nollor i de återstående kolumnerna.

Nu räcker det. Låt skriptet köras och det bör lägga till en rad per dag och pinga din termostat och lokala väder för data per triggerfrekvensen du ställer in.

Om du distribuerar om webbappen använder du den nya versionen. Jag hade problem med att använda samma versioner med skript som inte kördes

Om skriptet inte körs går du igenom de föregående stegen igen och ser till att du har uppdaterat skriptet som föreslås i dessa steg korrekt. Detta är den troligaste orsaken till att skriptet inte körs

Kända problem (om någon vet åtgärden, svara i kommentarsfältet):

1) Skriptet kan inte hämta data från boet hela dagen. Jag har min utlösare var 5: e minut, vilket ska resultera i totalt 288 läsningar under en dag. Jag får ~ 170. Lägsta jag hade fått är 16 och högst är 264.

Rekommenderad: