Pencatat Data Histori Nest Thermostat: 6 Langkah (dengan Gambar)
Pencatat Data Histori Nest Thermostat: 6 Langkah (dengan Gambar)
Anonim
Pencatat Data Histori Nest Thermostat
Pencatat Data Histori Nest Thermostat

Termostat Nest melacak suhu, kelembaban, dan penggunaan tungku/AC dan pengguna hanya dapat melihat data historis selama 10 hari. Saya ingin mengumpulkan data historis (>10 hari) dan menemukan skrip google spreadheets yang melakukan ping setiap waktu yang ditentukan dan juga mendapatkan data cuaca lokal dari openweathermap.org dan menyimpannya di spreadsheet.

Semuanya berjalan baik selama setahun, dan skrip tiba-tiba berhenti mengumpulkan data. Setelah beberapa pencarian google, saya menyadari bahwa satu baris setiap 5 menit untuk google spreadhseet berarti mencapai batas maksimal sel yang dapat diakomodasi oleh spreadsheet google. Saya memperbarui skrip asli untuk tetap melakukan ping ke Nest setiap 5 menit, tetapi mengumpulkan data dalam 1 baris per hari. Script memeriksa baris terakhir dan jika itu adalah hari yang sama, maka itu menambahkan data ke baris yang sama daripada menambahkan baris baru.

Kredit untuk skrip asli. Saya hanya membuat beberapa pengeditan sesuai dengan kebutuhan saya.

// karya michael-pesce: https://Gist.github.com/michael-pesce/a4ba55d4fc4…// Karya BEEZLY:

Kata kunci: Nest Thermostat History, Nest Heat, Nest Temperature History, Nest Thermostat Hack, Tips Nest Thermostat, Riwayat Energi Nest, Penggunaan Harian Nest, Penggunaan Harian Nest, Unduh data termostat sarang

Langkah 1: Buat Google Sheet Baru (Lakukan Save As di My Shared Spreadsheet)

Buat Google Sheet Baru (Lakukan Save As di My Shared Spreadsheet)
Buat Google Sheet Baru (Lakukan Save As di My Shared Spreadsheet)

Mulailah dengan lembar google bersama saya yang ditautkan di bawah ini (Buka file itu dan klik File lalu "buat salinan" dan simpan di drive google Anda).

P. S: Jangan minta saya memberi Anda izin untuk mengedit file ini. Sebelum Anda membuat perubahan apa pun, yang tidak akan dapat Anda lakukan karena saya membagikan ini sebagai spreadsheet hanya-baca, lakukan "buat salinan" di drive google Anda sendiri dan kemudian lanjutkan dengan melakukan pengeditan.

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

Untuk orang-orang yang mengalami masalah dengan otorisasi: Coba skrip di file berikut. Ini memiliki fungsi tambahan yang terkait dengan protokol otorisasi 2.0 baru Nest. Saya belum mencobanya, jadi jika Anda menemukan pertanyaan atau masalah, silakan kirim di bagian komentar. Kredit ke mcr2582.

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

Variasi lain dari skrip oleh Coder56: Detail tambahan di bagian komentar. Saya belum mencobanya, tetapi skrip diatur dengan sangat baik dan tampaknya berfungsi dengan baik untuk banyak pengguna.

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

Langkah 2: Salin Skrip

Lewati langkah ini jika Anda menyimpan salinannya di lembar google yang saya bagikan.

  • Pada bilah menu klik Tools -> Script Editor… untuk membuka Script Editor (jendela baru)
  • Di Script Editor hapus semua skrip/file default, dan buat yang baru (saya menyebutnya "NestScript.gs")
  • Potong dan tempel seluruh teks ini dari file terlampir ke NestScript.gs, lalu SIMPAN SKRIP (Untuk langkah ini, silakan gunakan skrip dari google sheet yang saya bagikan pada langkah 1. Jika Anda melakukan simpan salinan pada file itu, Anda seharusnya sudah memiliki skrip. Jika tidak, Anda dapat membuka file itu dan pergi ke bagian skrip dan menyalin teks. Saya menghapus file teks skrip yang dilampirkan pada langkah ini karena tidak mutakhir dan dapat membuat kebingungan.).

Langkah 3: Terapkan Sebagai Aplikasi Web

Terapkan Sebagai Aplikasi Web
Terapkan Sebagai Aplikasi Web
Terapkan Sebagai Aplikasi Web
Terapkan Sebagai Aplikasi Web
  • Pada bilah menu klik Tools -> Script Editor… untuk membuka Script Editor (jendela baru)
  • Pada bilah menu, klik Terbitkan -> Terapkan sebagai Aplikasi Web
  • Pilih "Jalankan Aplikasi sebagai Saya"
  • Pilih Siapa yang memiliki akses ke aplikasi: "Siapa saja, bahkan anonim"
  • Salin/catat tautan ke aplikasi web baru Anda untuk saat ini, dan itu akan ditambahkan ke rutinitas runDataCollection di bawah (kode pertama) di langkah selanjutnya.

Langkah 4: Pemicu

Pemicu
Pemicu
Pemicu
Pemicu
Pemicu
Pemicu

Di sinilah Anda menentukan seberapa sering mengumpulkan data.

  • Pada bilah menu, klik Pemicu Proyek Saat Ini
  • Klik tambahkan pemicu baru
  • Untuk Run pilih fungsi runDataCollection, Events: time-driven, dan pilih sisanya sesuai preferensi Anda (saya lakukan setiap 5 menit)

Langkah 5: Informasi Tambahan dalam Script

Informasi Tambahan dalam Skrip
Informasi Tambahan dalam Skrip
Informasi Tambahan dalam Skrip
Informasi Tambahan dalam Skrip
Informasi Tambahan dalam Skrip
Informasi Tambahan dalam Skrip

Mari ubah skrip ke termostat, kota, dan lembar google spesifik Anda.

Setiap perubahan dicantumkan dengan nomor baris skrip. Anda harus pergi ke baris itu di skrip dan memperbarui seperti yang diinstruksikan di bawah ini. (Nomor baris harus benar jika baris 40 adalah "runDataCollection()…").

  • Baris 45: tambahkan tautan webapp di perutean runDataCollection (Ini yang Anda catat di salah satu langkah sebelumnya)
  • Baris 53: Nama pengguna dan kata sandi Nest
  • Baris 77: ID perangkat termostat

Anda bisa mendapatkan id untuk setiap termostat dengan membuka dasbor Nest, mengeklik Termostat, mengeklik ikon roda gigi di kanan atas, lalu menyalin kolom "No serial.". Ini akan terlihat seperti: 02XX01XX471XXX3S

Baris 90: ID Kota (petunjuk tambahan dalam skrip di atas baris ini mungkin membantu.)

Untuk menemukan ID kota, buka "https://openweathermap.org/find?q=" cari kota Anda, klik tautan kota dan ID akan menjadi 7 digit nomor di URL

Baris 103: ID lembar Google (petunjuk tambahan dalam skrip di atas baris ini mungkin membantu.)

ID Sheet dapat diambil dari URL shee Lihat pola ini untuk mengetahui lokasi id Sheet di URL:https://docs.google.com/spreadsheets/d/THIS_IS_WHERE_THE_SHEET_ID_IS/edit#gid=123456789

Langkah 6: Selesaikan Spreadsheet

Lewati langkah ini jika Anda memulai dengan spreadsheet bersama saya.

Kedua baris ini harus ada di spreadsheet agar kode berfungsi.

Baris pertama (Baris tajuk): Spasi memisahkan kolom

Tanggal/Waktu Bulan Hari Tahun Suhu Kelembaban LuarSuhu LuarKelembaban Panas_Penggunaan AC_Penggunaan Cuaca AutoAway

Baris kedua:

Tambahkan tanggal kemarin di kolom pertama dan nol di kolom yang tersisa.

Hanya itu saja. Biarkan skrip berjalan dan skrip akan menambahkan satu baris per hari dan melakukan ping termostat dan cuaca lokal Anda untuk data per frekuensi pemicu yang Anda tetapkan.

Jika Anda menerapkan ulang aplikasi web, gunakan revisi baru. Saya mengalami masalah menggunakan revisi yang sama dengan skrip yang tidak berjalan

Jika skrip tidak berjalan, ulangi langkah sebelumnya lagi dan pastikan Anda telah memperbarui skrip seperti yang disarankan oleh langkah-langkah ini secara akurat. Ini adalah kemungkinan besar penyebab masalah dengan skrip tidak berjalan

Masalah yang Diketahui (Jika seseorang mengetahui perbaikannya, harap balas di bagian komentar):

1) Skrip gagal mendapatkan data dari sarang sepanjang hari. Saya memiliki pemicu saya setiap 5 menit, yang seharusnya menghasilkan total 288 bacaan sepanjang hari. Saya mendapatkan ~170. Terendah yang saya dapatkan adalah 16 dan tertinggi adalah 264.