Pencatat Data Sejarah Termostat Nest: 6 Langkah (dengan Gambar)
Pencatat Data Sejarah Termostat Nest: 6 Langkah (dengan Gambar)
Anonim
Pencatat Data Sejarah Termostat Nest
Pencatat Data Sejarah Termostat Nest

Termostat Nest menjejaki suhu, kelembapan dan penggunaan relau / AC dan pengguna dapat melihat data sejarah hanya selama 10 hari. Saya ingin mengumpulkan data sejarah (> 10 hari) dan menjumpai skrip spreadsheet google yang melakukan ping sarang setiap waktu yang ditetapkan dan juga mendapat data cuaca tempatan dari openweathermap.org dan menyimpan dalam spreadsheet.

Semuanya berjalan lancar selama satu tahun, dan skripnya tiba-tiba berhenti mengumpulkan data. Setelah beberapa carian google, saya menyedari bahawa satu baris setiap 5 minit untuk spreadsheet google bermaksud mencapai had maksimum sel yang dapat ditampung oleh spreadsheet google. Saya mengemas kini skrip asal untuk tetap melakukan ping Nest setiap 5 minit, dan mengumpulkan data dalam 1 baris setiap hari. Skrip memeriksa baris terakhir dan jika pada hari yang sama, maka skrip akan menambahkan data ke baris yang sama daripada menambahkan baris baru.

Kredit untuk skrip asal. Saya hanya membuat beberapa suntingan untuk memenuhi keperluan saya.

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

Kata kunci: Sejarah Nest Thermostat, Nest Heat, Nest Temperature History, Nest Thermostat Hack, Nest Thermostat Tip, Nest Energy History, Nest Daily Use, Nest Daily Use, Download data sarang termostat

Langkah 1: Buat Lembaran Google Baru (Lakukan Simpan Seperti di Spreadsheet Berkongsi Saya)

Buat Lembaran Google Baru (Lakukan Simpan Seperti di Spreadsheet Berkongsi Saya)
Buat Lembaran Google Baru (Lakukan Simpan Seperti di Spreadsheet Berkongsi Saya)

Mulakan dengan helaian google kongsi saya yang dipautkan di bawah (Buka fail itu dan klik Fail dan kemudian "buat salinan" dan simpan di pemacu google anda).

P. S: Jangan minta saya memberi anda kebenaran untuk mengedit fail ini. Sebelum anda membuat sebarang perubahan, yang tidak akan dapat anda lakukan kerana saya membagikannya sebagai hamparan baca sahaja, lakukan "buat salinan" di pemacu google anda sendiri dan kemudian teruskan mengedit.

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

Kepada orang yang menghadapi masalah dengan kebenaran: Cuba skrip dalam fail berikut. Ia mempunyai fungsi tambahan yang berkaitan dengan protokol kebenaran 2.0 baru Nest. Saya belum mencubanya, jadi jika anda menemui sebarang pertanyaan atau masalah, sila hantarkan di ruangan komen. Kreditkan ke mcr2582.

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

Variasi skrip lain oleh Coder56: Maklumat tambahan di bahagian komen. Saya belum mencubanya, tetapi skrip disusun dengan sangat baik dan nampaknya berfungsi dengan baik untuk banyak pengguna.

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

Langkah 2: Salin Skrip

Langkau langkah ini jika anda menyimpan salinan pada helaian google saya yang dikongsi.

  • Pada bar menu, klik Tools -> Script Editor… untuk membuka Script Editor (tetingkap baru)
  • Dalam Skrip Editor hapus semua skrip / fail lalai, dan buat yang baru (saya menyebutnya "NestScript.gs")
  • Potong dan tampal seluruh teks ini dari fail yang dilampirkan ke NestScript.gs, kemudian SIMPAN SKRIP (Untuk langkah ini, sila gunakan skrip dari lembaran google yang saya kongsi pada langkah 1. Sekiranya anda menyimpan salinan pada fail tersebut, anda sudah semestinya mempunyai skrip. Sekiranya tidak, anda boleh membuka fail itu dan pergi ke bahagian skrip dan menyalin melewati teks. Saya memadamkan fail teks skrip yang dilampirkan pada langkah ini kerana tidak terkini dan mungkin menimbulkan kekeliruan.).

Langkah 3: Terapkan Sebagai Aplikasi Web

Terapkan Sebagai Aplikasi Web
Terapkan Sebagai Aplikasi Web
Terapkan Sebagai Aplikasi Web
Terapkan Sebagai Aplikasi Web
  • Pada bar menu, klik Tools -> Script Editor… untuk membuka Script Editor (tetingkap baru)
  • Pada bar menu klik Terbitkan -> Terapkan sebagai Aplikasi Web
  • Pilih "Jalankan Aplikasi sebagai Saya"
  • Pilih Siapa yang mempunyai akses ke aplikasi: "Sesiapa sahaja, bahkan tanpa nama"
  • Salin / perhatikan pautan ke aplikasi web baru anda buat masa ini, dan ia akan ditambahkan ke rutin runDataCollection di bawah (kod pertama) pada langkah-langkah kemudian.

Langkah 4: Pencetus

Pencetus
Pencetus
Pencetus
Pencetus
Pencetus
Pencetus

Di sinilah anda menentukan kekerapan mengumpulkan data.

  • Pada bar menu, klik Pencetus Projek Semasa
  • Klik tambah pencetus baru
  • Untuk Run pilih fungsi runDataCollection, Events: berdasarkan masa, dan pilih selebihnya mengikut pilihan anda (saya lakukan setiap 5 minit)

Langkah 5: Maklumat Tambahan dalam Skrip

Maklumat Tambahan dalam Skrip
Maklumat Tambahan dalam Skrip
Maklumat Tambahan dalam Skrip
Maklumat Tambahan dalam Skrip
Maklumat Tambahan dalam Skrip
Maklumat Tambahan dalam Skrip

Mari ubah suai skrip ke lembaran termostat, bandar dan google khusus anda.

Setiap perubahan disenaraikan dengan nombor baris skrip. Anda harus pergi ke baris itu dalam skrip dan mengemas kini seperti yang diperintahkan di bawah. (Nombor baris harus betul jika baris 40 adalah "runDataCollection () …").

  • Baris 45: tambahkan pautan webapp dalam routing runDataCollection (Inilah yang anda perhatikan dalam salah satu langkah sebelumnya)
  • Baris 53: Nama pengguna dan kata laluan Nest
  • Baris 77: ID peranti termostat

Anda boleh mendapatkan id untuk setiap termostat dengan pergi ke papan pemuka Nest, mengklik pada Thermostat, mengklik ikon roda gigi di kanan atas kemudian menyalin medan "No siri." "Ia akan kelihatan seperti: 02XX01XX471XXX3S

Baris 90: ID Bandar (arahan tambahan dalam skrip di atas baris ini mungkin berguna.)

Untuk mencari ID bandar pergi ke "https://openweathermap.org/find?q=" cari bandar anda, klik pada pautan bandar dan ID akan menjadi nombor 7 digit di URL

Baris 103: ID helaian Google (arahan tambahan dalam skrip di atas baris ini mungkin berguna.)

Id Helaian boleh diambil dari URL shee Lihat corak ini untuk mengetahui lokasi id Lembaran di URL:

Langkah 6: Selesaikan Spreadsheet

Langkau langkah ini jika anda memulakan dengan hamparan bersama saya.

Kedua-dua baris ini mesti ada dalam hamparan agar kod berfungsi.

Baris pertama (Baris tajuk): Ruang memisahkan lajur

Tarikh / Masa Bulan Hari Tahun Suhu Kelembapan Di LuarTempel LuarKelembapan Panas_Guna AC_Ukapan Cuaca AutoAway

Baris Kedua:

Tambahkan tarikh semalam di lajur pertama dan sifar di lajur yang tinggal.

Iaitu ia. Biarkan skrip berjalan dan perlu menambah satu baris setiap hari dan melakukan ping termostat dan cuaca tempatan anda untuk data mengikut frekuensi pencetus yang anda tetapkan.

Sekiranya anda menggunakan semula webapp, gunakan semakan baru. Saya menghadapi masalah menggunakan semakan yang sama dengan skrip tidak berjalan

Sekiranya skrip tidak berjalan, ulangi langkah sebelumnya lagi dan pastikan anda telah mengemas kini skrip seperti yang disarankan oleh langkah-langkah ini dengan tepat. Ini adalah kemungkinan besar masalah dengan skrip tidak berjalan

Masalah yang Diketahui (Sekiranya ada yang mengetahui masalahnya, sila balas di bahagian komen):

1) Skrip gagal memperoleh data dari sarang sepanjang hari. Saya mempunyai pencetus saya setiap 5 minit, yang menghasilkan 288 bacaan sepanjang hari. Saya mendapat ~ 170. Paling rendah yang saya dapat ialah 16 dan tertinggi ialah 264.

Disyorkan: