Innholdsfortegnelse:

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

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

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

Nesttermostat sporer temperatur, fuktighet og bruk av ovn/vekselstrøm, og brukerne kan bare se historiske data i 10 dager. Jeg ønsket å samle historiske data (> 10 dager) og kom over Google -regnearkskript som pinger nest hver gang og også får lokale værdata fra openweathermap.org og lagrer i regnearket.

Alt gikk bra i et år, og manuset stoppet plutselig med å samle inn data. Etter litt google -søk innså jeg at en rad hvert 5. minutt for google spreadhseet betyr å treffe maksgrensen for celler et google -regneark kan imøtekomme. Jeg oppdaterte det originale skriptet til å fortsatt pinge Nest hvert 5. minutt, men samler inn data på en rad per dag. Script kontrollerer den siste raden, og hvis det er samme dag, legger den dataene til den samme raden i stedet for å legge til en ny rad.

Kreditt for det originale manuset. Jeg har nettopp gjort noen redigeringer som passer mine behov.

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

Stikkord: Nest Thermostat History, Nest Heat, Nest Temperature History, Nest Thermostat Hack, Nest Thermostat Tips, Nest Energy History, Nest Daily Use, Nest Daily Usage, Last ned nest termostat data

Trinn 1: Lag et nytt Google -ark (Lagre som på mitt delte regneark)

Lag et nytt Google -ark (Lagre som i mitt delte regneark)
Lag et nytt Google -ark (Lagre som i mitt delte regneark)

Start med det delte Google -arket mitt som er koblet nedenfor (Åpne den filen, klikk på Fil og deretter "lag en kopi" og lagre i Google -stasjonen).

PS: Ikke be meg om å gi deg tillatelse til å redigere denne filen. Før du gjør noen endringer, som du ikke vil kunne gjøre fordi jeg delte dette som et skrivebeskyttet regneark, gjør du en "lag en kopi" i din egen google -stasjon og fortsett med å gjøre endringer.

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

Til folk som har problemer med autorisasjon: Prøv skriptet i den følgende filen. Den har tilleggsfunksjonalitet knyttet til Nests nye 2.0 -autorisasjonsprotokoller. Jeg har ikke prøvd det, så hvis du støter på spørsmål eller problemer, vennligst legg inn i kommentarfeltet. Kreditt til mcr2582.

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

En annen variant av manuset av Coder56: Ytterligere detaljer i kommentarfeltet. Jeg har ikke prøvd det, men skriptet er organisert veldig bra, og det ser ut til å fungere bra for mange brukere.

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

Trinn 2: Kopier skript

Hopp over dette trinnet hvis du lagret en kopi på det delte Google -arket mitt.

  • Klikk på Verktøy -> Skriptredigering … på menylinjen … for å åpne Skripteditor (nytt vindu)
  • Slett alle standardskript/filer i Script Editor, og lag et nytt (jeg kalte det "NestScript.gs")
  • Klipp ut og lim inn hele teksten fra den vedlagte filen i NestScript.gs, deretter LAGR SKRIFTEN (For dette trinnet, vennligst bruk skriptet fra google -arket jeg delte i trinn 1. Hvis du lagret en kopi av den filen, kan du skulle allerede ha skriptet. Hvis du ikke gjorde det, kan du åpne den filen og gå til skriptdelen og kopiere forbi teksten. Jeg slettet teksttekstfilen som var vedlagt dette trinnet, siden den ikke var oppdatert og kan skape forvirring.).

Trinn 3: Distribuer som webapp

Distribuer som webapp
Distribuer som webapp
Distribuer som webapp
Distribuer som webapp
  • Klikk på Verktøy -> Skriptredigering … på menylinjen … for å åpne Skripteditor (nytt vindu)
  • Klikk på Publiser -> Distribuer som webapp på menylinjen
  • Velg "Utfør appen som meg"
  • Velg Hvem som har tilgang til appen: "Alle, til og med anonyme"
  • Kopier/legg merke til koblingen til den nye webappen din for øyeblikket, og den blir lagt til i runDataCollection -rutinen nedenfor (den første koden) i senere trinn.

Trinn 4: Utløsere

Utløsere
Utløsere
Utløsere
Utløsere
Utløsere
Utløsere

Det er her du definerer hvor ofte du skal samle inn data.

  • Klikk på Aktuelle prosjektets utløsere på menylinjen
  • Klikk på legg til ny utløser
  • For Kjør, velg funksjonen runDataCollection, Events: tidsdrevet, og velg resten etter dine preferanser (jeg gjør hvert 5. minutt)

Trinn 5: Tilleggsinformasjon i Script

Tilleggsinformasjon i Script
Tilleggsinformasjon i Script
Tilleggsinformasjon i Script
Tilleggsinformasjon i Script
Tilleggsinformasjon i Script
Tilleggsinformasjon i Script

La oss endre skriptet til din spesifikke termostat, by og google -ark.

Hver endring er oppført med et linjenummer i skriptet. Du må gå til den linjen i skriptet og oppdatere som beskrevet nedenfor. (Linjenumre bør være riktige hvis linje 40 er "runDataCollection () …").

  • Linje 45: legg til webapp -lenke i runDataCollection -ruting (Dette er hva du noterte i et av de foregående trinnene)
  • Linje 53: Nest brukernavn og passord
  • Linje 77: ID for termostatenhet

Du kan få ID -en for hver termostat ved å gå til Nest -dashbordet, klikke på termostaten, klikke på tannhjulikonet øverst til høyre og deretter kopiere feltet "Serienr." ". Det vil se slik ut: 02XX01XX471XXX3S

Linje 90: By -ID (tilleggsinstruksjoner i skriptet over denne linjen kan være nyttig.)

For å finne by -ID, gå til "https://openweathermap.org/find?q=" søk etter byen din, klikk på bykoblingen og ID -en vil være det syv -sifrede nummeret i URL -en

Linje 103: Google -ark -ID (flere instruksjoner i skriptet over denne linjen kan være nyttige.)

Ark -ID -en kan hentes fra nettadressen. Se dette mønsteret for hvor ark -ID -en er i URL -adressen:

Trinn 6: Fullfør regnearket

Hopp over dette trinnet hvis du begynte med det delte regnearket mitt.

Disse to linjene må være i regnearket for at koden skal fungere.

Første linje (topptekst): Mellomrom skiller kolonner

Dato/Tid Måned Dag År Temp Fuktighet Utenfor Temp Utenfor Fuktighet Heat_Usage AC_Usage Vær AutoAway

Andre linje:

Legg til gårsdagens dato i den første kolonnen og nuller i de resterende kolonnene.

Det er det. La skriptet kjøre, og det bør legge til en rad per dag og pinge termostaten og det lokale været for data per triggerfrekvensen du angir.

Hvis du distribuerer webappen på nytt, bruker du den nye revisjonen. Jeg hadde problemer med å bruke de samme versjonene da skriptet ikke kjørte

Hvis skriptet ikke kjører, går du over de forrige trinnene igjen og sørger for at du har oppdatert skriptet som foreslått av disse trinnene nøyaktig. Dette er den mest sannsynlige årsaken til at skriptet ikke kjører

Kjente problemer (hvis noen vet løsningen, vennligst svar i kommentarfeltet):

1) Skriptet kan ikke hente data fra reiret hele dagen. Jeg har min utløser hvert 5. minutt, noe som skal resultere i totalt 288 lesninger i løpet av en dag. Jeg får rundt 170. Laveste jeg hadde fått er 16 og høyeste er 264.

Anbefalt: