Nest Thermostat History Data Logger: 6 ნაბიჯი (სურათებით)
Nest Thermostat History Data Logger: 6 ნაბიჯი (სურათებით)
Anonim
Nest Thermostat History Data Logger
Nest Thermostat History Data Logger

Nest თერმოსტატი აკონტროლებს ტემპერატურას, ტენიანობას და ღუმელს/AC გამოყენებას და მომხმარებლებს შეუძლიათ ისტორიული მონაცემების ნახვა მხოლოდ 10 დღის განმავლობაში. მე მინდოდა ისტორიული მონაცემების შეგროვება (> 10 დღე) და დამხვდა Google ცხრილების სკრიპტი, რომელიც პინგებში ბუდობს ყოველ ჯერზე და ასევე იღებს ამინდის მონაცემებს openweathermap.org– დან და ინახავს ცხრილში.

ერთი წლის განმავლობაში ყველაფერი კარგად მიდიოდა და სცენარმა უცებ შეწყვიტა მონაცემთა შეგროვება. Google– ის ძიების შემდეგ მივხვდი, რომ google spreadhseet– ის ყოველ 5 წუთში ერთი სტრიქონი ნიშნავს იმას, რომ მოხვდეს უჯრედების მაქსიმალური ლიმიტი, რომელსაც Google ცხრილები იტევს. მე განვაახლე ორიგინალური სკრიპტი პინგ Nest– ში ყოველ 5 წუთში და ვაგროვებ მონაცემებს 1 რიგში დღეში. სკრიპტი ამოწმებს ბოლო სტრიქონს და თუ ის ერთი და იგივე დღეა, ის ამატებს მონაცემებს იმავე სტრიქონს, ვიდრე ახალი სტრიქონის დამატებას.

კრედიტი ორიგინალური სცენარისთვის. მე მხოლოდ რამდენიმე შესწორება შევასრულე ჩემი საჭიროებების შესაბამისად.

// მაიკლ-პესეს ნამუშევარი: https://gist.github.com/michael-pesce/a4ba55d4fc4…// BEEZLY- ის ნამუშევარი:

საკვანძო სიტყვები: Nest თერმოსტატის ისტორია, Nest Heat, Nest ტემპერატურის ისტორია, Nest Thermostat Hack, Nest Thermostat რჩევები, Nest ენერგიის ისტორია, Nest ყოველდღიური გამოყენება, Nest ყოველდღიური გამოყენება, ბუდის თერმოსტატის მონაცემების ჩამოტვირთვა

ნაბიჯი 1: შექმენით ახალი Google ცხრილი (შეინახეთ როგორც ჩემს გაზიარებულ ცხრილში)

შექმენით ახალი Google ცხრილი (შეინახეთ როგორც ჩემს გაზიარებულ ცხრილში)
შექმენით ახალი Google ცხრილი (შეინახეთ როგორც ჩემს გაზიარებულ ცხრილში)

დაიწყეთ ჩემი გაზიარებული Google ფურცლით, რომელიც დაკავშირებულია ქვემოთ (გახსენით ეს ფაილი და დააწკაპუნეთ ფაილზე და შემდეგ "გააკეთეთ ასლი" და შეინახეთ თქვენს Google დისკზე).

P. S: ნუ მთხოვთ, რომ მოგცეთ ნება ამ ფაილის რედაქტირებისთვის. სანამ რაიმე ცვლილებებს შეიტანთ, რომელთა განხორციელებასაც ვერ შეძლებთ, რადგან მე გავუზიარე ეს მხოლოდ წაკითხული ცხრილის სახით, გააკეთეთ „გააკეთეთ ასლი“თქვენს საკუთარ google დისკზე და შემდეგ განაგრძეთ რედაქტირების განხორციელება.

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

იმ ადამიანებს, რომლებსაც აქვთ ავტორიზაციის პრობლემა: სცადეთ შემდეგი ფაილის სკრიპტი. მას აქვს დამატებითი ფუნქციონირება დაკავშირებული Nest– ის ახალ 2.0 ავტორიზაციის პროტოკოლებთან. მე არ მიცდია, ასე რომ თუ რაიმე შეკითხვას ან საკითხს წააწყდებით, გთხოვთ განათავსოთ კომენტარების განყოფილებაში. კრედიტი mcr2582.

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

სკრიპტის კიდევ ერთი ვარიაცია Coder56– ის მიერ: დამატებითი დეტალები კომენტარების განყოფილებაში. მე არ მიცდია, მაგრამ სკრიპტი ძალიან კარგად არის ორგანიზებული და როგორც ჩანს კარგად მუშაობს ბევრი მომხმარებლისთვის.

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

ნაბიჯი 2: დააკოპირეთ სკრიპტი

გამოტოვეთ ეს ნაბიჯი, თუ თქვენ შეინახეთ ასლი ჩემს გაზიარებულ Google ფურცელზე.

  • მენიუს ზოლში დააწკაპუნეთ ინსტრუმენტებზე -> სკრიპტის რედაქტორზე … სკრიპტის რედაქტორის გასახსნელად (ახალი ფანჯარა)
  • სკრიპტის რედაქტორში წაშალეთ ყველა ნაგულისხმევი სკრიპტი/ფაილი და შექმენით ახალი (მე მას ვუწოდე "NestScript.gs")
  • გათიშეთ და ჩასვით მთელი ტექსტი თანდართული ფაილიდან NestScript.gs– ში, შემდეგ შეინახეთ სკრიპტი (ამ ნაბიჯისათვის გთხოვთ გამოიყენოთ სკრიპტი Google– ის ფურცლიდან, რომელიც მე გავაზიარე 1 – ში. თუ თქვენ შეინახეთ ასლი ამ ფაილზე, თქვენ უკვე უნდა ჰქონდეს სკრიპტი. თუ არა თქვენ შეგიძლიათ გახსნათ ეს ფაილი და გადადით სკრიპტის განყოფილებაში და დააკოპირეთ ტექსტი. მე წავშალე სკრიპტის ტექსტური ფაილი, რომელიც დაერთო ამ ნაბიჯს, რადგან ის არ იყო განახლებული და შეიძლება გამოიწვიოს დაბნეულობა.).

ნაბიჯი 3: განათავსეთ როგორც ვებ აპლიკაცია

განლაგება როგორც ვებ აპლიკაცია
განლაგება როგორც ვებ აპლიკაცია
განლაგება როგორც ვებ აპლიკაცია
განლაგება როგორც ვებ აპლიკაცია
  • მენიუს ზოლში დააწკაპუნეთ ინსტრუმენტებზე -> სკრიპტის რედაქტორზე … სკრიპტის რედაქტორის გასახსნელად (ახალი ფანჯარა)
  • მენიუს ზოლში დააწკაპუნეთ გამოქვეყნება -> განთავსება როგორც ვებ აპლიკაცია
  • აირჩიეთ "შეასრულე აპლიკაცია, როგორც მე"
  • აირჩიეთ ვის აქვს აპლიკაციაზე წვდომა: "ნებისმიერს, თუნდაც ანონიმურს"
  • ახლა დააკოპირეთ/გაითვალისწინეთ თქვენი ახალი ვებ აპლიკაციის ბმული და ის მოგვიანებით დაემატება runDataCollection რუტინას (პირველი კოდი).

ნაბიჯი 4: იწვევს

იწვევს
იწვევს
იწვევს
იწვევს
იწვევს
იწვევს

ეს არის ის, სადაც თქვენ განსაზღვრავთ რამდენად ხშირად უნდა შეაგროვოთ მონაცემები.

  • მენიუს ზოლში დააწკაპუნეთ მიმდინარე პროექტის გამომწვევებზე
  • დააწკაპუნეთ ახალი ტრიგერის დამატებაზე
  • გაშვებისთვის შეარჩიეთ ფუნქცია runDataCollection, მოვლენები: დროზე ორიენტირებული და დანარჩენი თქვენი სურვილისამებრ (მე ვაკეთებ ყოველ 5 წუთში)

ნაბიჯი 5: დამატებითი ინფორმაცია სკრიპტში

დამატებითი ინფორმაცია სკრიპტში
დამატებითი ინფორმაცია სკრიპტში
დამატებითი ინფორმაცია სკრიპტში
დამატებითი ინფორმაცია სკრიპტში
დამატებითი ინფორმაცია სკრიპტში
დამატებითი ინფორმაცია სკრიპტში

მოდით შევცვალოთ სკრიპტი თქვენს კონკრეტულ თერმოსტატზე, ქალაქსა და Google ფურცელზე.

თითოეული ცვლილება ჩამოთვლილია სკრიპტის ხაზის ნომრით. თქვენ მოგიწევთ სკრიპტის იმ ხაზზე გადასვლა და განახლება, როგორც ქვემოთ მითითებულია. (ხაზის ნომრები უნდა იყოს სწორი, თუ სტრიქონი 40 არის "runDataCollection () …").

  • ხაზი 45: დაამატეთ webapp ბმული runDataCollection მარშრუტიზაციაში (ეს არის ის, რაც თქვენ აღნიშნეთ ერთ -ერთ წინა საფეხურზე)
  • ხაზი 53: Nest მომხმარებლის სახელი და პაროლი
  • ხაზი 77: თერმოსტატის მოწყობილობის ID

თითოეული თერმოსტატის პირადობის მოწმობა შეგიძლიათ მიიღოთ Nest– ის საინფორმაციო დაფაზე, დააწკაპუნოთ თერმოსტატზე, დააწკაპუნოთ გადაცემათა კოლოფის ხატზე ზედა მარჯვნივ და დააკოპიროთ ველი „სერიული ნომერი“. ის გამოიყურება დაახლოებით ასე: 02XX01XX471XXX3S

ხაზი 90: ქალაქის ID (დამატებითი ინსტრუქციები ამ სტრიქონის ზემოთ სკრიპტში შეიძლება იყოს სასარგებლო.)

ქალაქის პირადობის საპოვნელად ეწვიეთ "https://openweathermap.org/find?q=" თქვენი ქალაქის ძებნას, დააწკაპუნეთ ქალაქის ბმულზე და ID იქნება URL– ის 7 ციფრიანი ნომერი

სტრიქონი 103: Google ფურცლის ID (დამატებითი ინსტრუქციები ამ სტრიქონის ზემოთ სკრიპტში შეიძლება იყოს სასარგებლო.)

Sheet id შეიძლება ამოიწეროს shee URL იხილეთ ეს ნიმუში, სადაც არის Sheet id URL:

ნაბიჯი 6: დაასრულეთ ცხრილები

გამოტოვეთ ეს ნაბიჯი, თუ დაიწყეთ ჩემი გაზიარებული ცხრილით.

ეს ორი ხაზი უნდა იყოს ცხრილში, რომ კოდი იმუშაოს.

პირველი ხაზი (სათაურის რიგი): სივრცე ჰყოფს სვეტებს

თარიღი/დრო თვე თვე წელი ტემპერატურა ტენიანობა გარეთ ტემპი გარეთ ტენიანობა სითბო_მოხმარება AC_გამოყენება ამინდი ავტოგზა

მეორე ხაზი:

დაამატეთ გუშინდელი თარიღი პირველ სვეტში და ნულოვანი დარჩენილ სვეტებში.

Სულ ესაა. გაუშვით სკრიპტი და უნდა დაამატოთ ერთი სტრიქონი დღეში და დააჭიროთ თქვენს თერმოსტატს და ადგილობრივ ამინდს მონაცემებისათვის თქვენს მიერ დაყენებული ტრიგერის სიხშირის მიხედვით.

თუ თქვენ ხელახლა განათავსებთ webapp- ს, გამოიყენეთ ახალი გადასინჯვა. მე მქონდა პრობლემები იმავე გადახედვისას სკრიპტის გაშვებასთან დაკავშირებით

თუ სკრიპტი არ მუშაობს, კვლავ გადადით წინა ნაბიჯებზე და დარწმუნდით, რომ განახლებულია სკრიპტი, როგორც ეს ნაბიჯები გვთავაზობს ზუსტად. ეს არის სკრიპტის გაუმართაობის პრობლემის ყველაზე სავარაუდო მიზეზი

ცნობილი საკითხები (თუ ვინმემ იცის გამოსწორება, გთხოვთ მიპასუხოთ კომენტარების განყოფილებაში):

1) სკრიპტი არ იღებს მონაცემებს ბუდიდან მთელი დღის განმავლობაში. მე მაქვს ჩემი გამომწვევი ყოველ 5 წუთში, რის შედეგადაც სულ 288 კითხვა იკითხება მთელი დღის განმავლობაში. ვიღებ 170 ფუნტს. ყველაზე დაბალი რაც მე მივიღე არის 16 და ყველაზე მაღალი არის 264.

გირჩევთ: