Isi kandungan:

NEST Termostat Lama Anda: 4 Langkah (dengan Gambar)
NEST Termostat Lama Anda: 4 Langkah (dengan Gambar)

Video: NEST Termostat Lama Anda: 4 Langkah (dengan Gambar)

Video: NEST Termostat Lama Anda: 4 Langkah (dengan Gambar)
Video: How to Make Nest Thermostat Manual 2024, November
Anonim
Image
Image
Bagaimana Termostat Berfungsi
Bagaimana Termostat Berfungsi

Sistem pemanasan di rumah saya mungkin sama lama dengan rumah itu sendiri. Umurnya kira-kira 30 tahun, baik dari segi tahun rumah, tetapi cukup terjebak dalam zaman ais sejauh teknologi ini. Terdapat 2 masalah utama dengan penyelesaian komersial:

  • harga larangan
  • produk sebagai perkhidmatan

Kita semua ingat apa yang berlaku pada Revolv dan saya tidak terlalu berminat untuk menimpa saya pada pertengahan musim sejuk. Oleh itu, saya memberikan anda alat kawalan NEST-Alike yang kelihatan mencurigakan tetapi berfungsi untuk termostat lama anda. Jangan bimbang, saya merancang sebuah kandang yang jauh lebih baik untuk ditambahkan tidak lama lagi!

Ciri-ciri:

  • keupayaan untuk menggunakan termostat yang ada (sekiranya isteri mengeluh mengenainya)
  • akses jauh
  • Mod JAUH
  • penunjuk suhu optimum
  • Bekerja dengan Alexa

Tidak lama lagi (periksa di sini untuk kemas kini)

  • Laman Utama Google
  • Kalendar Google
  • Pelbagai Sensor
  • Kawalan radiator
  • Integrasi IFTT
  • Sokongan petugas
  • Permintaan
  • Kandang yang jauh lebih baik

Langkah 1: Bagaimana Termostat Berfungsi

Bagaimana termostat berfungsi
Bagaimana termostat berfungsi
Bagaimana Termostat Berfungsi
Bagaimana Termostat Berfungsi

Termostat mungkin disambungkan ke TINGGI TINGGI! Jangan cuba melakukan apa-apa kecuali anda memastikan litar dimatikan. Anda boleh membahayakan diri sendiri dan menyebabkan kerosakan pada peralatan yang bersambung. Pertimbangkan untuk berjumpa dengan juruelektrik yang berkelayakan untuk memastikan keselamatan anda

Termostat Honeywell adalah unit yang dipasang di dinding, dikuasakan oleh sumber utama (Sonoff asas memerlukan min 90V, litar saya mempunyai 230V). Kotak disambungkan ke unit kawalan utama (yang merupakan kotak yang lebih maju) dan ia menghantar isyarat apabila suhu turun di bawah paras sasaran. Walaupun unit anda mungkin berbeza, prinsipnya mungkin sama. Sekiranya anda mempunyai 3 wayar dan tiada sambungan radio antara unit yang dipasang di dinding - ini adalah tutorial untuk anda.

Saya tahu bagaimana termostat 3 wayar berfungsi pada prinsipnya, yang tidak menghalang saya meletupkan fius dengan memendekkan 2 wayar secara tidak sengaja! Saya mempunyai 3 wayar yang disambungkan ke unit (dengan keempat bumi). Termostat Honeywell saya tidak wayarles, jadi untuk menukar isyarat, saya boleh menggunakan Sonoff Basic. Sudah tiba masanya untuk membezakannya dan melihat bagaimana isyarat dihantar ke unit. Setelah diperiksa dengan lebih dekat, terminal disambungkan dengan cara berikut:

  1. (biru) - Tanah
  2. (kuning) - isyarat, apabila ditarik tinggi pemanasan dihidupkan
  3. tidak digunakan
  4. (merah) - wayar langsung yang digunakan untuk menarik isyarat tinggi

Untuk mencapai tujuan saya, saya perlu memendekkan wayar langsung dengan wayar isyarat semasa saya mahu pemanasan saya dihidupkan. Sekiranya anda mempunyai termostat yang serupa, anda bernasib baik kerana Sonoff Basic sudah cukup untuk melakukan silap mata.

Langkah 2: Menyiapkan Sonoff Basic Bersedia

Mempersiapkan Sonoff Basic
Mempersiapkan Sonoff Basic
Menyiapkan Sonoff Basic
Menyiapkan Sonoff Basic
Mempersiapkan Sonoff Basic
Mempersiapkan Sonoff Basic

Sebelum kita mula menyambungkan wayar, kita harus menambahkan sensor suhu (DHT11) ke campuran. Pastikan firmware Tasmota dimatikan ke peranti Sonoff anda (saya mempunyai panduan berkelip yang sangat baik di sini) dan Sonoff berkemampuan Tasmota anda dikonfigurasikan dengan betul (juga sudah diliputi oleh saya). Sekarang, yang tinggal hanyalah menyambungkan sensor DHT11 ke Sonoff dan mengkonfigurasinya untuk pelaporan suhu.

DHT11 dilengkapi dengan 3 pin berwayar: Isyarat - GPIO14Vcc - 3.3VGND - GND

Saya telah melalui lubang, saya tidak terganggu dengan penampilannya sekarang, yang saya perlukan hanyalah bukti konsep dan pengesahan. Saya akan membuat kandang yang bagus dan berkilat sebaik sahaja pencetak 3D saya tiba. Saya memberi perhatian lebih kepada bagaimana saya menyambungkan Sonoff, kerana saya harus memastikan bahawa wayar langsung menyambung ke wayar isyarat di hujung peranti Sonoff yang lain. Unit Honeywell mempunyai perintang beban (R) yang dibina di dalamnya yang menghadkan arus. Walaupun litar dilindungi oleh sekering 3A, Adalah bijak untuk menandingi rintangan yang sama untuk perlindungan tambahan. Setelah wayar siap, sudah tiba masanya untuk mematikan kuasa utama dan memasang Sonoff kembali.

Sonoff Tasmota - termostat Honeywell

INPUT Live - Terminal langsung ke-4

INPUT GND - GND terminal pertama

Isyarat OUTPUT - Isyarat terminal ke-2

Saya sebutkan sebelum ini, saya tidak akan tertekan dengan penampilan ini. Isteri telah yakin dan saya dapat menumpukan perhatian pada fungsi dan membersihkan bug yang akan berlaku. Perkara yang baik ialah termostat asal masih berfungsi. Sekiranya saya menaikkannya, ia akan menggantikan yang berdasarkan Sonoff Tasmota. Ini semestinya menjadi sandaran yang baik untuk sebarang kejadian yang tidak dijangka.

Langkah 3: NodeRED

NodeRED
NodeRED
NodeRED
NodeRED
NodeRED
NodeRED

Harap maklum bahawa video mungkin mengandungi rujukan NodeRed lama, saya terus berusaha memperbaiki reka bentuknya. Ini adalah perubahan kecil dan fail artikel dikemas kini

Saya menemui reka bentuk ini dalam talian. Ia kelihatan hebat, namun setelah diperiksa secara dekat, widget tersebut tidak begitu sesuai untuk NodeRED. Ia memerlukan 5 muatan untuk disiapkan, yang bukan bagaimana reka bentuk simpul berfungsi. Saya mengambil masa untuk mencari cara terbaik untuk menyampaikan semua maklumat tersebut untuk mengemas kini widget dan tetap berfungsi. Saya yakin dengan masa saya akan menghabiskan lebih banyak masa untuk reka bentuk sehingga saya dapat mendorong semua kemas kini yang diperlukan dengan satu objek msg. Buat masa ini, ia adalah apa adanya.

Aliran suhu

DHT11 melaporkan setiap X saat kembali ke pelayan NodeRED. Saya meningkatkan frekuensi ini melalui konsol Tasmota. Cukup jalankan perintah untuk menetapkan frekuensi dalam saat:

TelePeriod Menetapkan tempoh telemetri antara 10 dan 3600 saat

Ini dilakukan terutamanya untuk ujian, kerana saya tidak mahu menunggu beberapa minit untuk mengetahui apakah pembetulan pepijat saya berjaya. Mengekalkan frekuensi tinggi akan menyebabkan pemanasan menyala lebih kerap untuk jangka masa yang lebih pendek, jadi jangan menyetelnya hingga 10 saat selain untuk tujuan pengujian. Nod MQTT menarik data dari:

sonoff / tele / SENSOR

dan menyimpan data yang paling berguna dalam objek berikut:

msg.payload. DHT11. Temperature msg.payload. DHT11. Kelembapan

Untuk mengehadkan ralat, saya menambahkan simpul lancar untuk rata-rata hasilnya dan mengemas kini pemboleh ubah aliran: NodeRED:

Node Fungsi - Kemas kini 'TempAmbient'

flow.set ('TempAmbient', msg.payload. DHT11. Temperature); kembali msg;

Kemas kini widget

Saya memutuskan bahawa 5 saat adalah kadar penyegaran yang baik, oleh itu saya mendorong semua nilai yang diperlukan dengan kekerapan ini. Satu-satunya pengecualian adalah gelangsar, yang dengan alasan yang jelas bertindak balas dengan serta-merta.

Setiap nod yang sesuai menghantar muatan dengan topik yang ditetapkan ke widget yang hampir sama.

  • warna (pemanasan | penyejukan * | mati & hvac_state)
  • daun (benar | palsu & has_leaf)
  • pergi (benar | palsu & jauh)
  • Suhu ambien (bilangan & suhu persekitaran)
  • Suhu sasaran (bilangan & suhu_ target)

*tidak digunakan

NodeRED: Node Fungsi - Kemas kini Widget

warna

x = flow.get ('TempTarget'); // targetz = flow.get ('TempAmbient'); // ambien

jika (z = x) {

flow.set ('HeatState', "off"); flow.set ('warmSwitch', "OFF"); } msg.payload = z; msg.topic = "ambient_temperature"; kembalikan msg;

daun

x = flow.get ('TempAmbient'); jika (x> 17 && x <23) {flow.set ('leaf', true); msg.payload = benar; msg.topic = "has_leaf"; kembalikan msg; } lain {flow.set ('leaf', false); msg.payload = salah; msg.topic = "has_leaf"; kembalikan msg; }

Warna yang diganti

x = flow.get ('jauh'); jika (x === benar) {msg.topic = "hvac_state"; msg.payload = "mati"; kembalikan msg; }

msg.topic = "hvac_state";

msg.payload = flow.get ('HeatState');

kembalikan msg;

Jauh

x = flow.get ('jauh'); jika (x === benar) {flow.set ('warmSwitch', "OFF"); flow.set ('HeatState', "off"); }

msg.topic = "jauh";

msg.payload = flow.get ('pergi'); kembalikan msg;

Temp Sasaran

jika (msg.topic === "kemas kini") {msg.topic = "target_temperature"; msg.payload = flow.get ('TempTarget'); kembalikan msg; }

jika (msg.command === "SetTargetTemperatureRequest") {

flow.set ('jauh', salah); msg.topic = "target_temperature"; flow.set ('TempTarget', msg.payload); }

jika (msg.topic === "slider") {

flow.set ('jauh', salah); msg.topic = "target_temperature"; flow.set ('TempTarget', msg.payload); }

jika (msg.command === "GetTemperatureReadingRequest") {}

kembalikan msg;

Seperti yang anda lihat, saya memilih untuk memilih pemboleh ubah aliran, jadi saya dapat mengingat nilainya pada waktu tertentu. Saya mempunyai aliran debug yang pada dasarnya membaca semua nilai yang tersimpan.

  • ‘TempAmbinet’ - menyimpan suhu semasa
  • ‘TempTarget’ - memegang nilai sasaran temp
  • 'Daun' - memaparkan daun jika diperlukan
  • 'Pergi' - memaparkan status pergi jika diperlukan
  • ‘HeatState’ - menukar warna paparan
  • ‘WarmSwitch’ - mengawal keadaan geganti.

Tantangannya adalah untuk benar-benar memastikan bahawa maklumat tersebut diperbarui pada "kemas kini" dan ketika diminta melalui cara lain (Alexa, dll). Inilah sebabnya mengapa anda akan melihat keadaan yang berbeza dalam JavaScript. Setiap kali nilai diperbarui, dikirim ke variabel aliran dan widget disegarkan.

Gelangsar

Pengujian menunjukkan bahawa pembaharuan slider tambahan (slider mendorong suhu sasaran) diperlukan. Slider menghantar muatan (nombor) dengan topik slider) yang berkaitan ketika dipindahkan. Selain itu, saya mahu slaid masuk ke kedudukan yang betul jika terdapat banyak antara muka web. Untuk melakukan ini, setiap 5 saat saya hanya mengemas kini kedudukan gelangsar ke suhu sasaran semasa.

NodeRED: Node Fungsi - Kemas kini slaid '

msg.payload = flow.get ('TempTarget'); kembalikan msg;

Kawalan geganti

Pengawal geganti mudah, ia memerlukan (buat masa ini) dua input. Alexa benar | salah dan interaksi yang mengikuti kemas kini ke pemboleh ubah aliran "Switch Switch". Tidak perlu tindakan segera, jadi untuk kesederhanaan, ia berjalan pada frekuensi kemas kini 5sec yang sama dengan aliran yang lain.

Relay disambungkan melalui MQTT. Node menyiarkan arahan ON | OFF ke topik:

sonoff / cmnd / KUASA1

Node fungsi menerima true | false dari Alexa dan juga mengubah keadaan input mengikut pemboleh ubah aliran 'pemanasanSwitch'.

NodeRED: Node Fungsi - Relay Kawalan '

jika (msg.command === "TurnOffRequest") {msg.payload = "OFF"; kembalikan msg; }

jika (msg.command === "TurnOnRequest") {

msg.payload = "ON"; flow.set ('TempTarget', 21); kembalikan msg; } jika (msg.topic === "kemas kini") {msg.payload = flow.get ('warmSwitch'); } kembalikan msg;

Integrasi Alexa

Ini adalah peranti pertama yang saya terpaksa mematikan "pengakuan automatik". Daripada secara automatik menganggap tindak balas, saya telah menghasilkan jawapan kerana saya mahukan kemampuan untuk menanyakan suhu yang ditetapkan. Pada prinsipnya, msg.payload = true | false menunjukkan jika permintaan telah berjaya, dan templat yang terdapat di sini melakukan yang lain. Sekiranya anda baru menggunakan Alexa dan NodeRed, pastikan anda membaca ini.

Saya memutuskan untuk menyampaikan pengakuan secara berasingan (saya tahu ini bukan cara terbaik) untuk dapat mengawal semuanya sedikit lebih baik. Dengan betul setiap tindak balas harus diberikan di hujung rantai arahan. Tambang berisiko tidak akan mengembalikan kesilapan sekiranya ini berlaku. Perhatikan, agar konsisten, saya hanya mengemas kini pemboleh ubah, sementara gelung penyegaran, mendorong nilai baru ke widget.

NodeRED: Node Fungsi - Proses Respons Alexa '

// Berapakah sasaran suhu termostat jika (msg.command === "GetTemperatureReadingRequest") {x = flow.get ('TempTarget'); msg.extra = {"temperatureReading": {"value": x}, "applianceResponseTimestamp": tarikh baru (). toISOString ()}; msg.payload = benar; kembalikan msg; } // Tetapkan suhu ke (tidak lebih rendah dari 10 atau lebih dari 30) jika (msg.command === "SetTargetTemperatureRequest") {if (msg.payload 30) {var range = {min: 10.0, max: 30.0} msg.payload = salah; msg.extra = julat; } lain {msg.extra = {targetTemperature: {value: msg.payload}}; msg.payload = benar; } kembalikan msg; } // Hidupkan jika (msg.command === "TurnOnRequest") {msg.payload = true; flow.set ('jauh', salah); flow.set ('TempTarget', 21); kembalikan msg; } // Matikan jika (msg.command === "TurnOffRequest") {msg.payload = true; flow.set ('jauh', benar); kembalikan msg;

Langkah 4: Kesimpulannya

Kesimpulannya
Kesimpulannya

Sekiranya anda memaparkan papan pemuka NodeRED ke WAN, keseluruhan sistem pemanasan dapat dikendalikan dari jauh. Saya mengesyorkan anda membaca artikel berikut untuk mendapatkan kelajuan dengan keselamatan NodeRED dan NodeRED.

  • NodeRED untuk pemula
  • Keselamatan NodeRED

Sebagai tambahan, jika anda ingin mendapatkan maklumat mengenai kemas kini projek ini - pertimbangkan untuk mengikuti saya di platform pilihan anda:

  • Facebo ok
  • Twi tter
  • Instagram
  • Youtube

Sekiranya anda ingin membeli kopi atau menyokong saya dengan cara yang lebih berterusan:

  • Paypal
  • Patreon

Saya harap anda telah menikmati projek ini!

Disyorkan: