Table des matières:
- Étape 1: Créez une nouvelle feuille Google (faites un enregistrement sous sur ma feuille de calcul partagée)
- Étape 2: Copier le script
- Étape 3: Déployer en tant qu'application Web
- Étape 4: déclencheurs
- Étape 5: Informations supplémentaires dans le script
- Étape 6: Finaliser la feuille de calcul
Vidéo: Enregistreur de données d'historique de thermostat Nest : 6 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
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)
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
- 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
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
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é:
Enregistreur de données GPS Cap : 7 étapes (avec photos)
Enregistreur de données GPS Cap : voici un excellent projet de week-end, si vous aimez faire de la randonnée ou de longues balades à vélo et que vous avez besoin d'un enregistreur de données GPS pour garder une trace de toutes vos randonnées/tours que vous avez effectués… Une fois que vous avez terminé la construction et téléchargé les données du module GPS du tr
Comment faire un enregistreur de données en temps réel d'humidité et de température avec Arduino UNO et carte SD - Simulation d'enregistreur de données DHT11 dans Proteus : 5 étapes
Comment faire un enregistreur de données en temps réel d'humidité et de température avec Arduino UNO et carte SD | Simulation de l'enregistreur de données DHT11 dans Proteus : Introduction : salut, c'est Liono Maker, voici le lien YouTube. Nous réalisons un projet créatif avec Arduino et travaillons sur des systèmes embarqués. Enregistreur de données : un enregistreur de données (également un enregistreur de données ou un enregistreur de données) est un appareil électronique qui enregistre des données au fil du temps avec
Enregistreur de données GPS bricolage pour votre prochain trajet / sentier de randonnée : 11 étapes (avec photos)
Enregistreur de données GPS bricolage pour votre prochain trajet / sentier de randonnée : il s'agit d'un enregistreur de données GPS que vous pouvez utiliser à plusieurs fins, par exemple si vous souhaitez enregistrer votre long trajet en voiture que vous avez pris le week-end pour vérifier les couleurs d'automne. ou vous avez un sentier préféré que vous visitez chaque année à l'automne et vous v
Lecteur/enregistreur ScanUp NFC et enregistreur audio pour aveugles, malvoyants et autres : 4 étapes (avec photos)
Lecteur/enregistreur ScanUp NFC et enregistreur audio pour aveugles, malvoyants et autres : j'étudie le design industriel et le projet est le travail de mon semestre. L'objectif est de soutenir les personnes malvoyantes et aveugles avec un appareil, qui permet d'enregistrer de l'audio au format .WAV sur une carte SD et d'appeler cette information par un tag NFC. Alors dans
Faire un enregistreur de données avec le Raspberry Pi : 3 étapes (avec photos)
Faire un enregistreur de données avec le Raspberry Pi : Cet enregistreur de données simple prend des mesures de lumière régulières avec un LDR analogique (photorésistance) et les stocke dans un fichier texte sur votre Raspberry Pi. Cet enregistreur de données mesurera et enregistrera le niveau de lumière toutes les 60 secondes, vous permettant de surveiller l'h