Sommario:
- Passaggio 1: crea un nuovo foglio Google (salva con nome sul mio foglio di calcolo condiviso)
- Passaggio 2: copia lo script
- Passaggio 3: distribuire come app Web
- Passaggio 4: trigger
- Passaggio 5: informazioni aggiuntive nello script
- Passaggio 6: finalizzare il foglio di calcolo
Video: Registratore di dati cronologico del termostato Nest: 6 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Il termostato Nest tiene traccia della temperatura, dell'umidità e dell'utilizzo del forno/aria condizionata e gli utenti possono visualizzare i dati storici solo per 10 giorni. Volevo raccogliere dati storici (> 10 giorni) e mi sono imbattuto nello script di fogli di calcolo di Google che esegue il ping ogni volta che viene impostato e ottiene anche i dati meteorologici locali da openweathermap.org e salva nel foglio di calcolo.
Tutto stava andando bene per un anno e la sceneggiatura ha improvvisamente smesso di raccogliere dati. Dopo alcune ricerche su google, mi sono reso conto che una riga ogni 5 minuti per google spreadhseet significa raggiungere il limite massimo di celle che un foglio di calcolo di google può ospitare. Ho aggiornato lo script originale per eseguire il ping di Nest ogni 5 minuti, ma raccolgo dati in 1 riga al giorno. Lo script controlla l'ultima riga e, se è lo stesso giorno, aggiunge i dati alla stessa riga anziché aggiungere una nuova riga.
Credito per la sceneggiatura originale. Ho solo apportato alcune modifiche per soddisfare le mie esigenze.
// Il lavoro di michael-pesce: https://gist.github.com/michael-pesce/a4ba55d4fc4…// Il lavoro di BEEZLY:
Parole chiave: Cronologia del termostato Nest, Nest Heat, Cronologia della temperatura Nest, Hack del termostato Nest, Suggerimenti per il termostato Nest, Cronologia dell'energia Nest, Uso quotidiano Nest, Uso quotidiano Nest, Scarica i dati del termostato Nest
Passaggio 1: crea un nuovo foglio Google (salva con nome sul mio foglio di calcolo condiviso)
Inizia con il mio foglio google condiviso collegato di seguito (apri quel file e fai clic su File, quindi "fai una copia" e salva nel tuo google drive).
P. S: Non chiedermi di darti il permesso di modificare questo file. Prima di apportare modifiche, che non sarai in grado di apportare perché ho condiviso questo come foglio di calcolo di sola lettura, fai una "copia" nel tuo Google Drive e poi procedi con le modifiche.
docs.google.com/spreadsheets/d/1zTHUfiltWomhPYmfD3TYRRoJZsgcjrQ_A2xHSTK5_dE/edit?usp=sharing
Per le persone che hanno problemi con l'autorizzazione: provare lo script nel file seguente. Ha funzionalità aggiuntive relative ai nuovi protocolli di autorizzazione 2.0 di Nest. Non l'ho provato, quindi se incontri domande o problemi, pubblica nella sezione commenti. Ringraziamo mcr2582.
www.dropbox.com/s/8rbtg7pb0xl9n9x/nest%20t…
Un'altra variazione dello script di Coder56: ulteriori dettagli nella sezione commenti. Non l'ho provato, ma lo script è organizzato molto bene e sembra funzionare bene per molti utenti.
docs.google.com/spreadsheets/d/15bTn9_Cv9I…
Passaggio 2: copia lo script
Salta questo passaggio se hai salvato una copia sul mio foglio Google condiviso.
- Nella barra dei menu fare clic su Strumenti -> Script Editor… per aprire Script Editor (nuova finestra)
- In Script Editor elimina tutti gli script/file predefiniti e creane uno nuovo (l'ho chiamato "NestScript.gs")
- Taglia e incolla questo intero testo dal file allegato in NestScript.gs, quindi SALVA LO SCRIPT (Per questo passaggio, utilizza lo script dal foglio di Google che ho condiviso nel passaggio 1. Se hai salvato una copia su quel file, dovrebbe già avere lo script. Se non l'hai fatto, puoi aprire quel file e andare alla sezione dello script e copiare oltre il testo. Ho eliminato il file di testo dello script che era allegato a questo passaggio perché non era aggiornato e potrebbe creare confusione.).
Passaggio 3: distribuire come app Web
- Nella barra dei menu fare clic su Strumenti -> Script Editor… per aprire Script Editor (nuova finestra)
- Nella barra dei menu fai clic su Pubblica -> Distribuisci come app Web
- Seleziona "Esegui l'app come me"
- Seleziona Chi ha accesso all'app: "Chiunque, anche anonimo"
-
Copia / prendi nota del collegamento alla tua nuova app Web per ora e verrà aggiunto alla routine runDataCollection di seguito (il primo codice) nei passaggi successivi.
Passaggio 4: trigger
Qui è dove definisci la frequenza con cui raccogliere i dati.
- Nella barra dei menu fai clic su Trigger del progetto corrente
- Fai clic su aggiungi nuovo trigger
- Per Esegui seleziona la funzione runDataCollection, Events: time-driven e seleziona il resto secondo le tue preferenze (lo faccio ogni 5 minuti)
Passaggio 5: informazioni aggiuntive nello script
Modifichiamo lo script in base al tuo termostato, città e foglio google specifici.
Ogni modifica è elencata con un numero di riga dello script. Dovrai andare a quella riga nello script e aggiornare come indicato di seguito. (I numeri di riga dovrebbero essere corretti se la riga 40 è "runDataCollection()…").
- Riga 45: aggiungi collegamento webapp nel routing runDataCollection (questo è quello che hai notato in uno dei passaggi precedenti)
- Riga 53: nome utente e password Nest
- Riga 77: ID dispositivo termostato
Puoi ottenere l'ID per ogni termostato andando nella dashboard di Nest, facendo clic sul termostato, facendo clic sull'icona a forma di ingranaggio in alto a destra, quindi copiando il campo "Numero di serie". Avrà un aspetto simile a: 02XX01XX471XXX3S
Riga 90: ID città (ulteriori istruzioni nello script sopra questa riga potrebbero essere utili)
Per trovare l'ID della città vai su "https://openweathermap.org/find?q=" cerca la tua città, fai clic sul collegamento della città e l'ID sarà il numero di 7 cifre nell'URL
Riga 103: ID foglio Google (ulteriori istruzioni nello script sopra questa riga potrebbero essere utili)
L'ID foglio può essere preso dall'URL shee Vedi questo pattern per sapere dove si trova l'ID foglio nell'URL:https://docs.google.com/spreadsheets/d/THIS_IS_WHERE_THE_SHEET_ID_IS/edit#gid=123456789
Passaggio 6: finalizzare il foglio di calcolo
Salta questo passaggio se hai iniziato con il mio foglio di calcolo condiviso.
Queste due righe devono essere nel foglio di calcolo affinché il codice funzioni.
Prima riga (riga di intestazione): lo spazio separa le colonne
Data/Ora Mese Giorno Anno Temp Umidità Temperatura Esterna Umidità Esterna Heat_Usage AC_Usage Weather AutoAway
Seconda linea:
Aggiungi la data di ieri nella prima colonna e gli zeri nelle colonne rimanenti.
Questo è tutto. Lascia eseguire lo script e dovrebbe aggiungere una riga al giorno e eseguire il ping del termostato e del meteo locale per i dati in base alla frequenza di attivazione impostata.
Se ridistribuisci la webapp, usa la nuova revisione. Ho avuto problemi nell'usare le stesse revisioni con lo script non in esecuzione
Se lo script non è in esecuzione, ripassa i passaggi precedenti e assicurati di aver aggiornato lo script come suggerito da questi passaggi in modo accurato. Questa è la causa più probabile del problema con lo script non in esecuzione
Problemi noti (se qualcuno conosce la correzione, risponda nella sezione commenti):
1) Lo script non riesce a ottenere i dati dal nido durante il giorno. Ho il mio trigger ogni 5 minuti, il che dovrebbe portare a un totale di 288 letture durante il giorno. Ottengo ~170. Il minimo che ho ottenuto è 16 e il massimo è 264.
Consigliato:
Registratore di dati GPS Cap: 7 passaggi (con immagini)
GPS Cap Data Logger: ecco un ottimo progetto per il fine settimana, se ti piace fare trekking o fare lunghi giri in bicicletta e hai bisogno di un registratore di dati GPS per tenere traccia di tutti i tuoi viaggi/giri che hai fatto… Una volta completata la costruzione e scaricato i dati dal modulo GPS del tr
Come creare un registratore di dati in tempo reale di umidità e temperatura con Arduino UNO e SD-Card - Simulazione del data logger DHT11 in Proteus: 5 passaggi
Come creare un registratore di dati in tempo reale di umidità e temperatura con Arduino UNO e SD-Card | Simulazione DHT11 Data-logger in Proteus: Introduzione: ciao, sono Liono Maker, ecco il link YouTube. Stiamo realizzando un progetto creativo con Arduino e lavoriamo su sistemi embedded.Data-Logger: Un data logger (anche data-logger o data recorder) è un dispositivo elettronico che registra i dati nel tempo w
Registratore di dati GPS fai-da-te per il prossimo viaggio/sentiero escursionistico: 11 passaggi (con immagini)
Registratore di dati GPS fai-da-te per il tuo prossimo viaggio/sentiero escursionistico: questo è un registratore di dati GPS che puoi utilizzare per più scopi, ad esempio se vuoi registrare il tuo lungo viaggio che hai fatto durante il fine settimana per controllare i colori dell'autunno. o hai un sentiero preferito che visiti durante l'autunno ogni anno e tu
Registratore di dati per il monitoraggio della corrente CA: 9 passaggi (con immagini)
Registratore di dati di monitoraggio della corrente CA: Ciao a tutti, benvenuti nel mio primo istruibile! Di giorno sono un collaudatore per un'azienda che fornisce apparecchiature per il riscaldamento industriale, di notte sono un appassionato di tecnologia e fai da te. Parte del mio lavoro consiste nel testare le prestazioni dei riscaldatori, o
Registratore di dati Alaska: 5 passaggi (con immagini)
Datalogger Alaska: l'Alaska è sull'orlo dell'avanzare del cambiamento climatico. La sua posizione unica di avere un paesaggio abbastanza incontaminato popolato da una varietà di canarini delle miniere di carbone consente molte possibilità di ricerca. Il nostro amico Monty è un archeologo che aiuta con