Table des matières:

Enregistreur de données d'historique de thermostat Nest : 6 étapes (avec photos)
Enregistreur de données d'historique de thermostat Nest : 6 étapes (avec photos)

Vidéo: Enregistreur de données d'historique de thermostat Nest : 6 étapes (avec photos)

Vidéo: Enregistreur de données d'historique de thermostat Nest : 6 étapes (avec photos)
Vidéo: Le thermostat connecté Netatmo: Déballage, Installation, Utilisation et Avis ! 2024, Novembre
Anonim
Enregistreur de données d'historique de thermostat Nest
Enregistreur de données d'historique de thermostat Nest

Le thermostat Nest surveille la température, l'humidité et l'utilisation de la chaudière/de la climatisation et les utilisateurs ne peuvent consulter les données historiques que pendant 10 jours. Je voulais collecter des données historiques (> 10 jours) et je suis tombé sur un script de feuilles de calcul Google qui imbriquent des pings à chaque heure définie et obtient également des données météorologiques locales d'openweathermap.org et les enregistre dans la feuille de calcul.

Tout se passait bien pendant un an, et le script a soudainement cessé de collecter des données. Après quelques recherches sur google, j'ai réalisé qu'une ligne toutes les 5 minutes pour google spreadhseet signifie atteindre la limite maximale de cellules qu'une feuille de calcul google peut contenir. J'ai mis à jour le script d'origine pour toujours envoyer un ping à Nest toutes les 5 minutes, mais collecter des données sur 1 ligne par jour. Le script vérifie la dernière ligne et si c'est le même jour, il ajoute les données à la même ligne plutôt que d'ajouter une nouvelle ligne.

Crédit pour le script original. J'ai juste fait quelques modifications pour répondre à mes besoins.

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

Mots clés: historique du thermostat Nest, Nest Heat, historique de la température Nest, piratage du thermostat Nest, astuces pour le thermostat Nest, historique de l'énergie Nest, utilisation quotidienne de Nest, utilisation quotidienne de Nest, télécharger les données du thermostat Nest

Étape 1: Créez une nouvelle feuille Google (faites un enregistrement sous sur ma feuille de calcul partagée)

Créer une nouvelle feuille Google (faire une sauvegarde sous sur ma feuille de calcul partagée)
Créer une nouvelle feuille Google (faire une sauvegarde sous sur ma feuille de calcul partagée)

Commencez par ma feuille google partagée liée ci-dessous (ouvrez ce fichier et cliquez sur Fichier, puis sur "faire une copie" et enregistrez-le dans votre lecteur google).

P. S: Ne me demandez pas de vous donner la permission de modifier ce fichier. Avant d'apporter des modifications, que vous ne pourrez pas apporter car je l'ai partagée en tant que feuille de calcul en lecture seule, effectuez une "copie" dans votre propre lecteur Google, puis procédez aux modifications.

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

Pour les personnes qui ont des problèmes d'autorisation: essayez le script dans le fichier suivant. Il dispose de fonctionnalités supplémentaires liées aux nouveaux protocoles d'autorisation 2.0 de Nest. Je ne l'ai pas essayé, donc si vous rencontrez des questions ou des problèmes, veuillez les poster dans la section commentaires. Crédit à mcr2582.

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

Une autre variante du script par Coder56: Détails supplémentaires dans la section commentaires. Je ne l'ai pas essayé, mais le script est très bien organisé et il semble bien fonctionner pour de nombreux utilisateurs.

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

Étape 2: Copier le script

Ignorez cette étape si vous avez enregistré une copie sur ma feuille Google partagée.

  • Dans la barre de menu, cliquez sur Outils -> Éditeur de script… pour ouvrir l'Éditeur de script (nouvelle fenêtre)
  • Dans Script Editor, supprimez tous les scripts/fichiers par défaut et créez-en un nouveau (je l'ai appelé "NestScript.gs")
  • Coupez et collez tout ce texte du fichier joint dans NestScript.gs, puis ENREGISTRER LE SCRIPT (Pour cette étape, veuillez utiliser le script de la feuille Google que j'ai partagée à l'étape 1. Si vous avez enregistré une copie de ce fichier, vous devrait déjà avoir le script. Si ce n'est pas le cas, vous pouvez ouvrir ce fichier et accéder à la section script et copier le texte. J'ai supprimé le fichier texte du script qui était joint à cette étape car il n'était pas à jour et peut créer une confusion.).

Étape 3: Déployer en tant qu'application Web

Déployer en tant qu'application Web
Déployer en tant qu'application Web
Déployer en tant qu'application Web
Déployer en tant qu'application Web
  • Dans la barre de menu, cliquez sur Outils -> Éditeur de script… pour ouvrir l'Éditeur de script (nouvelle fenêtre)
  • Dans la barre de menu, cliquez sur Publier -> Déployer en tant qu'application Web
  • Sélectionnez "Exécuter l'application en tant que moi"
  • Sélectionnez Qui a accès à l'application: « Tout le monde, même anonyme »
  • Copiez/prenez note du lien vers votre nouvelle application Web pour le moment, et il sera ajouté à la routine runDataCollection ci-dessous (le premier code) dans les étapes ultérieures.

Étape 4: déclencheurs

Déclencheurs
Déclencheurs
Déclencheurs
Déclencheurs
Déclencheurs
Déclencheurs

C'est ici que vous définissez la fréquence de collecte des données.

  • Dans la barre de menu, cliquez sur les déclencheurs du projet en cours
  • Cliquez sur ajouter un nouveau déclencheur
  • Pour Run, sélectionnez la fonction runDataCollection, Events: time-driven et sélectionnez le reste selon vos préférences (je le fais toutes les 5 minutes)

Étape 5: Informations supplémentaires dans le script

Informations supplémentaires dans le script
Informations supplémentaires dans le script
Informations supplémentaires dans le script
Informations supplémentaires dans le script
Informations supplémentaires dans le script
Informations supplémentaires dans le script

Modifions le script en fonction de votre thermostat, de votre ville et de votre feuille Google.

Chaque modification est répertoriée avec un numéro de ligne du script. Vous devrez accéder à cette ligne dans le script et mettre à jour comme indiqué ci-dessous. (Les numéros de ligne doivent être corrects si la ligne 40 est "runDataCollection()…").

  • Ligne 45: ajouter un lien webapp dans le routage runDataCollection (C'est ce que vous avez noté dans l'une des étapes précédentes)
  • Ligne 53: nom d'utilisateur et mot de passe Nest
  • Ligne 77: ID de l'appareil de thermostat

Vous pouvez obtenir l'identifiant de chaque thermostat en accédant au tableau de bord Nest, en cliquant sur le thermostat, en cliquant sur l'icône représentant une roue dentée en haut à droite, puis en copiant le champ "N° de série". Cela ressemblera à quelque chose comme: 02XX01XX471XXX3S

Ligne 90: ID de la ville (des instructions supplémentaires dans le script au-dessus de cette ligne peuvent être utiles.)

Pour trouver l'identifiant de la ville, allez sur "https://openweathermap.org/find?q=" recherchez votre ville, cliquez sur le lien de la ville et l'identifiant sera le numéro à 7 chiffres dans l'URL

Ligne 103: ID de feuille Google (des instructions supplémentaires dans le script au-dessus de cette ligne peuvent être utiles.)

L'ID de la feuille peut être récupéré à partir de l'URL de la feuille Voir ce modèle pour savoir où se trouve l'ID de la feuille dans l'URL:

Étape 6: Finaliser la feuille de calcul

Ignorez cette étape si vous avez commencé avec ma feuille de calcul partagée.

Ces deux lignes doivent être dans la feuille de calcul pour que le code fonctionne.

Première ligne (ligne d'en-tête): un espace sépare les colonnes

Date/Heure Mois Jour Année Temp Humidity OutsideTemp OutsideHumidity Heat_Usage AC_Usage Météo AutoAway

Deuxième ligne:

Ajoutez la date d'hier dans la première colonne et des zéros dans les colonnes restantes.

C'est ça. Laissez le script s'exécuter et il devrait ajouter une ligne par jour et envoyer un ping à votre thermostat et à la météo locale pour les données selon la fréquence de déclenchement que vous avez définie.

Si vous redéployez la webapp, utilisez la nouvelle révision. J'ai eu des problèmes en utilisant les mêmes révisions avec le script ne s'exécutant pas

Si le script n'est pas en cours d'exécution, reprenez les étapes précédentes et assurez-vous d'avoir mis à jour le script comme suggéré par ces étapes avec précision. C'est la cause la plus probable du problème avec le script qui ne s'exécute pas

Problèmes connus (si quelqu'un connaît le correctif, veuillez répondre dans la section commentaires):

1) Le script ne parvient pas à obtenir les données de Nest tout au long de la journée. J'ai mon déclencheur toutes les 5 minutes, ce qui devrait donner un total de 288 lectures par jour. J'obtiens ~170. Le plus bas que j'avais obtenu est de 16 et le plus élevé est de 264.

Conseillé: