Indholdsfortegnelse:

Nest Thermostat History Data Logger: 6 trin (med billeder)
Nest Thermostat History Data Logger: 6 trin (med billeder)

Video: Nest Thermostat History Data Logger: 6 trin (med billeder)

Video: Nest Thermostat History Data Logger: 6 trin (med billeder)
Video: Nest Thermostat Review 2024, November
Anonim
Nest Thermostat History Data Logger
Nest Thermostat History Data Logger

Nesttermostat sporer temperatur, fugtighed og ovn/AC -brug, og brugerne kan kun se historiske data i 10 dage. Jeg ønskede at indsamle historiske data (> 10 dage) og stødte på et Google -regnearks script, der pinger nest hver gang og også får lokale vejrdata fra openweathermap.org og gemmer i regnearket.

Alt gik godt i et år, og scriptet stoppede pludselig med at indsamle data. Efter noget google -søgning indså jeg, at en række hvert 5. minut for google spreadhseet betyder, at man når den maksimale grænse for celler, et google -regneark kan rumme. Jeg opdaterede det originale script til stadig at pinge Nest hvert 5. minut, men indsamler data i 1 række om dagen. Script kontrollerer den sidste række, og hvis det er samme dag, tilføjer det dataene til den samme række i stedet for at tilføje en ny række.

Kredit for det originale manuskript. Jeg har lige foretaget et par redigeringer, der passer til mine behov.

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

Nøgleord: 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 termostat data

Trin 1: Opret et nyt Google Sheet (Gem et som på mit delte regneark)

Opret et nyt Google Sheet (Gem som i mit delte regneark)
Opret et nyt Google Sheet (Gem som i mit delte regneark)

Start med mit delte google -ark, der er linket herunder (Åbn den fil, klik på File og derefter "lav en kopi" og gem i dit google -drev).

PS: Spørg mig ikke om at give dig tilladelse til at redigere denne fil. Inden du foretager ændringer, som du ikke vil kunne foretage, fordi jeg delte dette som et skrivebeskyttet regneark, skal du lave en "lav en kopi" i dit eget google -drev og derefter fortsætte med at foretage redigeringer.

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

Til folk, der har problemer med autorisation: Prøv scriptet i følgende fil. Det har yderligere funktionalitet relateret til Nests nye 2.0 -godkendelsesprotokoller. Jeg har ikke prøvet det, så hvis du støder på spørgsmål eller problemer, bedes du skrive i kommentarfeltet. Kredit til mcr2582.

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

En anden variant af scriptet af Coder56: Yderligere detaljer i kommentarfeltet. Jeg har ikke prøvet det, men scriptet er organiseret meget godt, og det ser ud til at fungere godt for mange brugere.

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

Trin 2: Kopier script

Spring dette trin over, hvis du gemte en kopi på mit delte Google -ark.

  • Klik på Værktøjer -> Script Editor på menulinjen … for at åbne Script Editor (nyt vindue)
  • Slet alle scripts/filer i Script Editor, og opret et nyt (jeg kaldte det "NestScript.gs")
  • Klip og indsæt hele denne tekst fra den vedhæftede fil i NestScript.gs, og GEM derefter SKRIFTEN (For dette trin skal du bruge scriptet fra google -arket, jeg delte i trin 1. Hvis du lagrede en kopi af den fil, kan du skulle allerede have scriptet. Hvis du ikke gjorde det, kan du åbne den fil og gå til scriptafsnittet og kopiere forbi teksten. Jeg slettede scripttekstfilen, der var knyttet til dette trin, da den ikke var opdateret og kan skabe forvirring.).

Trin 3: Distribuer som webapp

Distribuer som webapp
Distribuer som webapp
Distribuer som webapp
Distribuer som webapp
  • Klik på Værktøjer -> Script Editor på menulinjen … for at åbne Script Editor (nyt vindue)
  • Klik på Publicer -> Implementer som webapp på menulinjen
  • Vælg "Udfør appen som mig"
  • Vælg Hvem der har adgang til appen: "Enhver, endda anonym"
  • Kopier/noter linket til din nye webapp for nu, og det tilføjes til runDataCollection -rutinen herunder (den første kode) i senere trin.

Trin 4: Udløser

Udløser
Udløser
Udløser
Udløser
Udløser
Udløser

Det er her, du definerer, hvor ofte data skal indsamles.

  • På menulinjen skal du klikke på Aktuelle projekts udløsere
  • Klik på tilføj ny udløser
  • For Kør, vælg funktionen runDataCollection, Events: tidsdrevet, og vælg resten efter dine præferencer (jeg gør hvert 5. minut)

Trin 5: Yderligere oplysninger i Script

Yderligere oplysninger i script
Yderligere oplysninger i script
Yderligere oplysninger i script
Yderligere oplysninger i script
Yderligere oplysninger i script
Yderligere oplysninger i script

Lad os ændre scriptet til din specifikke termostat, by og Google -ark.

Hver ændring er angivet med et linjenummer i scriptet. Du bliver nødt til at gå til den linje i scriptet og opdatere som beskrevet nedenfor. (Linjenumre skal være korrekte, hvis linje 40 er "runDataCollection () …").

  • Linje 45: tilføj webapp -link i runDataCollection -routingen (Dette er, hvad du bemærkede i et af de foregående trin)
  • Linje 53: Nest brugernavn og adgangskode
  • Linje 77: Termostatenheds -id

Du kan få id'et for hver termostat ved at gå til Nest -instrumentbrættet, klikke på termostaten, klikke på tandhjulsikonet øverst til højre og derefter kopiere feltet "Serienr." ". Det vil se sådan ud: 02XX01XX471XXX3S

Linje 90: By -id (yderligere instruktioner i scriptet over denne linje kan være nyttige.)

For at finde by -id skal du gå til "https://openweathermap.org/find?q=" søg efter din by, klik på bylinket, og id'et vil være det 7 -cifrede nummer i URL'en

Linje 103: Google -ark -id (yderligere instruktioner i scriptet over denne linje kan være nyttige.)

Ark -id'et kan hentes fra den rene webadresse Se dette mønster for, hvor ark -id'et er i webadressen:

Trin 6: Afslut regnearket

Spring dette trin over, hvis du startede med mit delte regneark.

Disse to linjer skal være i regnearket for at koden skal fungere.

Første linje (overskriftsrække): Mellemrum adskiller kolonner

Dato/tid Måned Dag År Temp Fugtighed udenfor Temp udenforFugtighed Heat_Usage AC_Usage Vejr AutoAway

Anden linje:

Tilføj gårsdagens dato i den første kolonne og nuller i de resterende kolonner.

Det er det. Lad scriptet køre, og det skal tilføje en række om dagen og pinge din termostat og lokale vejr efter data pr. Triggerfrekvens, du har indstillet.

Hvis du omplacerer webapp'en, skal du bruge den nye version. Jeg havde problemer med at bruge de samme versioner, da scriptet ikke kørte

Hvis scriptet ikke kører, skal du gå over de foregående trin igen og sørge for, at du har opdateret scriptet som foreslået af disse trin nøjagtigt. Dette er den mest sandsynlige årsag til, at scriptet ikke kører

Kendte problemer (Hvis nogen kender rettelsen, skal du svare i kommentarfeltet):

1) Script kan ikke hente data fra reden hele dagen. Jeg har min udløser hvert 5. minut, hvilket skulle resultere i i alt 288 læsninger i løbet af en dag. Jeg får ~ 170. Laveste jeg havde fået er 16 og højeste er 264.

Anbefalede: