Índice:

Registrador de dados do histórico do termostato Nest: 6 etapas (com fotos)
Registrador de dados do histórico do termostato Nest: 6 etapas (com fotos)

Vídeo: Registrador de dados do histórico do termostato Nest: 6 etapas (com fotos)

Vídeo: Registrador de dados do histórico do termostato Nest: 6 etapas (com fotos)
Vídeo: Nest Learning Thermostat Set Up Manual Guide | Google Wi-Fi Smart Learning Thermostat 3rd Gen 2024, Novembro
Anonim
Registrador de dados do histórico do termostato Nest
Registrador de dados do histórico do termostato Nest

O termostato Nest rastreia a temperatura, umidade e uso do forno / CA, e os usuários podem ver os dados históricos apenas por 10 dias. Eu queria coletar dados históricos (> 10 dias) e me deparei com o script de planilhas do Google que aninham os pings a cada hora definida e também obtém dados meteorológicos locais de openweathermap.org e salva na planilha.

Tudo estava indo bem por um ano e o script de repente parou de coletar dados. Depois de algumas pesquisas no Google, percebi que uma linha a cada 5 minutos para o Google Spreadsheet significa atingir o limite máximo de células que uma planilha do Google pode acomodar. Eu atualizei o script original para ainda executar ping no Nest a cada 5 minutos, mas coletar dados em 1 linha por dia. O script verifica a última linha e, se for o mesmo dia, anexa os dados à mesma linha em vez de adicionar uma nova linha.

Crédito pelo roteiro original. Acabei de fazer algumas edições para atender às minhas necessidades.

// trabalho de michael-pesce: https://gist.github.com/michael-pesce/a4ba55d4fc4…// trabalho de BEEZLY:

Palavras-chave: 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

Etapa 1: Criar uma nova planilha do Google (salvar como na minha planilha compartilhada)

Criar uma nova planilha do Google (salvar como na minha planilha compartilhada)
Criar uma nova planilha do Google (salvar como na minha planilha compartilhada)

Comece com minha planilha compartilhada do Google com um link abaixo (abra esse arquivo e clique em Arquivo e, em seguida, "faça uma cópia" e salve no seu Google Drive).

P. S: não me peça permissão para editar este arquivo. Antes de fazer qualquer alteração, que não será possível porque eu compartilhei isso como uma planilha somente leitura, faça uma "cópia" em seu próprio Google Drive e, em seguida, prossiga com as edições.

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

Para as pessoas que estão tendo problemas com a autorização: Experimente o script no arquivo a seguir. Possui funcionalidade adicional relacionada aos novos protocolos de autorização 2.0 da Nest. Ainda não tentei, então se você tiver alguma dúvida ou problema, poste na seção de comentários. Crédito para mcr2582.

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

Outra variação do script de Coder56: detalhes adicionais na seção de comentários. Não tentei, mas o script é muito bem organizado e parece estar funcionando bem para muitos usuários.

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

Etapa 2: Copiar o Script

Pule esta etapa se você salvou uma cópia em minha planilha compartilhada do Google.

  • Na barra de menu, clique em Ferramentas -> Editor de Script … para abrir o Editor de Script (nova janela)
  • No Editor de scripts, exclua todos os scripts / arquivos padrão e crie um novo (chamei-o de "NestScript.gs")
  • Recorte e cole todo o texto do arquivo anexado em NestScript.gs e, em seguida, SALVE O SCRIPT (para esta etapa, use o script da planilha do Google que compartilhei na etapa 1. Se você salvou uma cópia desse arquivo, já deve ter o script. Se não tiver, você pode abrir esse arquivo e ir para a seção de script e copiá-lo após o texto. Excluí o arquivo de texto de script que estava anexado a esta etapa porque ele não estava atualizado e pode criar confusão.).

Etapa 3: implantar como aplicativo da web

Implantar como aplicativo da web
Implantar como aplicativo da web
Implantar como aplicativo da web
Implantar como aplicativo da web
  • Na barra de menu, clique em Ferramentas -> Editor de Script … para abrir o Editor de Script (nova janela)
  • Na barra de menu, clique em Publicar -> Implementar como aplicativo da Web
  • Selecione "Execute o aplicativo como eu"
  • Selecione Quem tem acesso ao aplicativo: "Qualquer pessoa, mesmo anônima"
  • Copie / anote o link para seu novo aplicativo da web por enquanto e ele será adicionado à rotina runDataCollection abaixo (o primeiro código) em etapas posteriores.

Etapa 4: gatilhos

Gatilhos
Gatilhos
Gatilhos
Gatilhos
Gatilhos
Gatilhos

É aqui que você define a frequência com que os dados serão coletados.

  • Na barra de menu clique em Gatilhos do Projeto Atual
  • Clique em adicionar novo gatilho
  • Para Executar selecione a função runDataCollection, Events: time-driven, e selecione o resto de acordo com sua preferência (eu faço a cada 5 minutos)

Etapa 5: Informações adicionais no script

Informações Adicionais no Script
Informações Adicionais no Script
Informações Adicionais no Script
Informações Adicionais no Script
Informações Adicionais no Script
Informações Adicionais no Script

Vamos modificar o script para seu termostato, cidade e planilha do Google específicos.

Cada alteração é listada com um número de linha do script. Você terá que ir para essa linha no script e atualizar conforme as instruções abaixo. (Os números das linhas devem estar corretos se a linha 40 for "runDataCollection ()…").

  • Linha 45: adicione o link do webapp no roteamento runDataCollection (isso é o que você observou em uma das etapas anteriores)
  • Linha 53: nome de usuário e senha do Nest
  • Linha 77: ID do dispositivo termostato

Você pode obter a identificação de cada termostato acessando o painel do Nest, clicando no termostato, clicando no ícone de engrenagem no canto superior direito e copiando o campo "Número de série" ". Ele será semelhante a: 02XX01XX471XXX3S

Linha 90: ID da cidade (instruções adicionais no script acima desta linha podem ser úteis)

Para encontrar o ID da cidade, vá para "https://openweathermap.org/find?q=" pesquise sua cidade, clique no link da cidade e o ID será o número de 7 dígitos no URL

Linha 103: ID da planilha do Google (instruções adicionais no script acima desta linha podem ser úteis)

O ID da folha pode ser obtido no URL da folha Veja este padrão para onde o ID da folha está no URL:

Etapa 6: finalizar a planilha

Pule esta etapa se você começou com minha planilha compartilhada.

Essas duas linhas precisam estar na planilha para que o código funcione.

Primeira linha (linha de cabeçalho): o espaço separa as colunas

Data / Hora Mês Dia Ano Temp Umidade Externa Temp. Externa Umidade Calor_Usage AC_Usage Weather AutoAway

Segunda linha:

Adicione a data de ontem na primeira coluna e zeros nas colunas restantes.

É isso. Deixe o script rodar e ele deve adicionar uma linha por dia e pingar seu termostato e clima local para dados de acordo com a frequência de disparo que você definir.

Se você reimplantar o webapp, use a nova revisão. Tive problemas ao usar as mesmas revisões com o script não funcionando

Se o script não estiver em execução, repita as etapas anteriores e certifique-se de ter atualizado o script conforme sugerido por essas etapas com precisão. Esta é a causa mais provável do problema com o script não rodando

Problemas conhecidos (se alguém souber a solução, responda na seção de comentários):

1) O script não consegue obter dados do ninho ao longo do dia. Eu tenho meu gatilho a cada 5 minutos, o que deve resultar em um total de 288 leituras ao longo do dia. Recebo ~ 170. O valor mais baixo que obtive é 16 e o mais alto é 264.

Recomendado: