Daftar Isi:

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, Juli
Anonim
Image
Image
Bagaimana Termostat Bekerja
Bagaimana Termostat Bekerja

Sistem pemanas di rumah saya mungkin setua rumah itu sendiri. Ini berusia sekitar 30 tahun, yang baik-baik saja dalam hal tahun rumah, tetapi cukup banyak terjebak di zaman es sejauh menyangkut teknologi. Ada 2 masalah utama dengan solusi komersial:

  • harga mahal
  • produk sebagai layanan

Kita semua ingat apa yang terjadi pada Revolv dan saya tidak terlalu ingin hal ini terjadi pada saya di tengah musim dingin. Dengan mengingat hal itu, saya memberi Anda pengontrol NEST-Alike yang tampak sangat mencurigakan tetapi berfungsi untuk termostat lama Anda. Jangan khawatir, saya berencana membuat kandang yang jauh lebih baik untuk segera ditambahkan!

Fitur:

  • kemampuan untuk menggunakan termostat yang ada (jika istri mengeluh tentang hal itu)
  • akses jarak jauh
  • Modus JAUH
  • indikator suhu optimal
  • Bekerja dengan Alexa

Segera (periksa di sini untuk pembaruan)

  • Beranda Google
  • Google Kalender
  • Beberapa Sensor
  • Kontrol radiator
  • Integrasi IFTT
  • Dukungan tugas
  • Permintaan
  • Kandang yang terlihat jauh lebih baik

Langkah 1: Cara Kerja Termostat

Bagaimana Termostat Bekerja
Bagaimana Termostat Bekerja
Bagaimana Termostat Bekerja
Bagaimana Termostat Bekerja

Termostat kemungkinan terhubung ke TEGANGAN TINGGI! Jangan mencoba melakukan apa pun kecuali Anda memastikan sirkuitnya mati. Anda dapat membahayakan diri sendiri dan menyebabkan kerusakan pada peralatan yang terhubung. Pertimbangkan untuk berkonsultasi dengan ahli listrik yang memenuhi syarat untuk memastikan keselamatan Anda

Termostat Honeywell adalah unit yang dipasang di dinding, ditenagai oleh listrik (dasar Sonoff membutuhkan min 90V, sirkuit saya memiliki 230V). Kotak terhubung ke unit pengendali utama (yang merupakan kotak yang lebih maju) dan mengirimkan sinyal ketika suhu turun di bawah level target. Meskipun unit Anda mungkin berbeda, prinsipnya kemungkinan besar sama. Jika Anda memiliki 3 kabel dan tidak ada koneksi radio antara unit yang dipasang di dinding – ini adalah tutorial untuk Anda.

Saya tahu bagaimana termostat 3-kawat bekerja pada prinsipnya, yang tidak menghentikan saya dari meniup sekering dengan menyingkat 2 kabel secara tidak sengaja! Saya memiliki 3 kabel yang terhubung ke unit (dengan yang ke-4 adalah bumi). Termostat Honeywell saya tidak nirkabel, jadi untuk mengganti sinyal, saya bisa menggunakan Sonoff Basic. Saatnya membongkar dan melihat bagaimana sinyal dikirim ke unit. Setelah diperiksa lebih dekat, terminal terhubung dengan cara berikut:

  1. (biru) – Tanah
  2. (kuning) – sinyal, saat ditarik tinggi, pemanas menyala
  3. tidak digunakan
  4. (merah) – kabel hidup yang digunakan untuk menarik sinyal tinggi

Untuk mencapai tujuan saya, saya harus menyingkat kabel hidup dengan kabel sinyal ketika saya ingin pemanas saya dihidupkan. Jika Anda memiliki termostat yang terhubung serupa, Anda beruntung karena Sonoff Basic akan cukup untuk melakukan triknya.

Langkah 2: Mempersiapkan Sonoff Basic

Mempersiapkan Sonoff Basic
Mempersiapkan Sonoff Basic
Mempersiapkan Sonoff Basic
Mempersiapkan Sonoff Basic
Mempersiapkan Sonoff Basic
Mempersiapkan Sonoff Basic

Sebelum kita mulai menghubungkan kabel, kita harus menambahkan sensor suhu (DHT11) ke dalam campuran. Pastikan Anda memiliki firmware Tasmota yang di-flash ke perangkat Sonoff Anda (saya memiliki panduan flashing yang sangat baik di sini) dan Sonoff Anda yang mendukung Tasmota dikonfigurasi dengan benar (juga sudah saya bahas). Sekarang, yang tersisa hanyalah menghubungkan sensor DHT11 ke Sonoff dan mengonfigurasinya untuk pelaporan suhu.

DHT11 dilengkapi dengan 3 pin kabel: Sinyal - GPIO14Vcc - 3.3VGND - GND

Saya melubangi, saya tidak peduli dengan tampilannya sekarang, yang saya butuhkan hanyalah bukti konsep dan validasi. Saya akan membuat kandang yang bagus dan mengkilap setelah printer 3D saya tiba. Saya memberikan perhatian ekstra pada cara saya menyambungkan Sonoff, karena saya harus memastikan bahwa kabel langsung terhubung ke kabel sinyal di ujung lain perangkat Sonoff. Unit Honeywell memiliki resistor beban (R) yang terpasang di dalamnya yang membatasi arus. Sementara sirkuit dilindungi oleh sekering 3A, adalah cerdas untuk mencocokkan resistansi yang sama untuk perlindungan ekstra. Setelah kabel siap, saatnya untuk mematikan daya utama dan menyambungkan kembali Sonoff.

Sonoff Tasmota - termostat Honeywell

INPUT Live - Live terminal ke-4

INPUT GND - GND terminal pertama

Sinyal OUTPUT - Sinyal terminal ke-2

Saya sebutkan sebelumnya bahwa untuk saat ini, saya tidak akan menekankan tentang penampilan ini. Istri telah diyakinkan dan saya dapat fokus pada fungsionalitas dan membersihkan bug yang akan terjadi. Hal yang baik adalah bahwa termostat asli masih berfungsi. Jika saya menyalakannya, itu akan menimpa yang berbasis Sonoff Tasmota. Ini harus menjadi cadangan yang bagus untuk setiap kejadian tak terduga.

Langkah 3: NodeRED

NodeRED
NodeRED
NodeRED
NodeRED
NodeRED
NodeRED

Harap perhatikan bahwa video mungkin berisi referensi NodeRed yang lebih lama, saya terus berupaya meningkatkan desain. Ini adalah perubahan kecil dan file artikel selalu diperbarui

Saya menemukan desain ini secara online. Kelihatannya bagus, namun setelah diperiksa dengan cermat, widget tersebut tidak terlalu cocok untuk NodeRED. Perlu 5 muatan untuk disetel, yang bukan cara kerja desain serupa node. Butuh beberapa waktu bagi saya untuk mencari cara terbaik untuk menyampaikan semua informasi itu untuk memperbarui widget dan membuatnya tetap berfungsi. Saya yakin seiring waktu saya akan menghabiskan lebih banyak waktu pada desain sehingga saya dapat mendorong semua pembaruan yang diperlukan dengan satu objek pesan. Untuk saat ini, itu adalah apa adanya.

Aliran suhu

DHT11 melaporkan setiap X detik kembali ke server NodeRED. Saya meningkatkan frekuensi ini melalui konsol Tasmota. Jalankan saja perintah untuk mengatur frekuensi dalam detik:

TelePeriod Atur periode telemetri antara 10 dan 3600 detik

Ini sebagian besar dilakukan untuk pengujian, karena saya tidak ingin menunggu beberapa menit untuk melihat apakah perbaikan bug saya berhasil. Menjaga frekuensi tetap tinggi akan menyebabkan pemanasan lebih sering menyala untuk periode waktu yang lebih singkat, jadi jangan menyetelnya ke 10 detik selain untuk tujuan pengujian. Node MQTT menarik data dari:

sonoff/tele/SENSOR

dan menyimpan data yang paling berguna dalam objek berikut:

msg.payload. DHT11. Temperature msg.payload. DHT11. Humidity

Untuk membatasi kesalahan, saya menambahkan simpul halus untuk rata-rata hasil dan memperbarui variabel aliran: NodeRED:

Node Fungsi - Perbarui 'TempAmbient'

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

Pembaruan widget

Saya memutuskan bahwa 5 detik adalah kecepatan refresh yang baik, oleh karena itu saya mendorong semua nilai yang diperlukan dengan frekuensi ini. Satu-satunya pengecualian adalah penggeser, yang karena alasan yang jelas merespons secara instan.

Setiap node yang sesuai mengirimkan payload dengan topik yang ditetapkan ke widget nest-alike.

  • warna (pemanasan|pendinginan*|mati & hvac_state)
  • daun (benar|salah & has_leaf)
  • jauh (benar|salah & menjauh)
  • Suhu sekitar (angka & suhu_ambien)
  • Suhu target (angka & suhu_target)

*tidak digunakan

NodeRED: Node Fungsi - Pembaruan Widget

warna

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

jika (z = x){

flow.set('status pemanas', "mati"); flow.set('HeatingSwitch', "OFF"); } msg.payload = z; msg.topic = "suhu_ambien"; kembali pesan;

daun

x = flow.get('TempAmbient'); if (x > 17 && x < 23){ flow.set('leaf', true); msg.payload = benar; msg.topic = "has_leaf"; kembali pesan; } else{flow.set('daun', salah); msg.payload = salah; msg.topic = "has_leaf"; kembali pesan; }

Penimpaan warna

x = aliran.get('jauh'); if (x === true){ msg.topic = "hvac_state"; msg.payload = "mati"; kembali pesan; }

msg.topic = "hvac_state";

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

kembali pesan;

Jauh

x = aliran.get('jauh'); if (x === true){ flow.set('heatingSwitch', "OFF"); flow.set('status pemanas', "mati"); }

msg.topic = "pergi";

msg.payload = flow.get('jauh'); kembali pesan;

Suhu Target

if (msg.topic === "update"){ msg.topic = "target_temperature"; msg.payload = flow.get('TempTarget'); kembali pesan; }

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

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

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

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

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

kembali pesan;

Seperti yang Anda lihat, saya memilih keluar untuk variabel aliran, jadi saya bisa mengingat nilainya pada waktu tertentu. Saya memiliki aliran debug yang pada dasarnya membaca semua nilai yang disimpan.

  • 'TempAmbinet' – menyimpan suhu saat ini
  • 'TempTarget' – menyimpan nilai target temp
  • 'leaf' – menampilkan daun jika diperlukan
  • 'jauh' – menampilkan status tandang jika diperlukan
  • 'heatingState' – mengubah warna tampilan
  • 'heatingSwitch' – mengontrol status relai.

Tantangannya adalah untuk benar-benar memastikan bahwa informasi diperbarui pada "pembaruan" dan ketika diminta melalui cara lain (Alexa, dll). Inilah sebabnya mengapa Anda akan melihat kondisi yang berbeda di JavaScript. Setiap kali nilai diperbarui, dikirim ke variabel aliran dan widget disegarkan.

Penggeser

Pengujian mengungkapkan bahwa pembaruan slider tambahan (slider mendorong suhu target) diperlukan. Slider mengirimkan payload (angka) dengan topik terkait slider) saat dipindahkan. Selain itu, saya ingin slider masuk ke posisi yang benar jika beberapa antarmuka web ada. Untuk melakukan ini, setiap 5 detik saya cukup memperbarui posisi slider ke suhu target saat ini.

NodeRED: Node Fungsi - Perbarui penggeser'

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

Kontrol relai

Kontroler relai sederhana, dibutuhkan (untuk saat ini) dua input. Benar | salah Alexa dan interaksi yang mengikuti pembaruan ke variabel aliran "Sakelar pemanas". Tidak perlu tindakan instan, jadi untuk kesederhanaan, ini berjalan pada frekuensi pembaruan 5 detik yang sama dengan aliran lainnya.

Relai terhubung melalui MQTT. Node memposting perintah ON|OFF ke topik:

sonoff/cmnd/POWER1

Node fungsi menerima true|false dari Alexa dan juga mengubah status input sesuai dengan variabel aliran 'heatingSwitch'.

NodeRED: Node Fungsi - Relai Kontrol'

if (msg.command === "TurnOffRequest"){ msg.payload = "OFF"; kembali pesan; }

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

msg.payload = "ON"; flow.set('TempTarget', 21); kembali pesan; } if (msg.topic === "update"){ msg.payload = flow.get('heatingSwitch'); } kembali pesan;

Integrasi Alexa

Ini adalah perangkat pertama yang saya harus matikan "pengakuan otomatis". Alih-alih secara otomatis mengasumsikan respons, saya telah menghasilkannya karena saya ingin kemampuan untuk menanyakan suhu yang disetel. Pada prinsipnya, msg.payload = true|false menunjukkan jika permintaan telah berhasil, dan template yang ditemukan di sini melakukan sisanya. Jika Anda baru mengenal Alexa dan NodeRed, pastikan untuk membaca ini.

Saya memutuskan untuk memberikan ucapan terima kasih secara terpisah (saya tahu ini bukan cara terbaik) untuk dapat mengendalikan semuanya sedikit lebih baik. Benar setiap respon harus diberikan pada akhir rantai perintah. Milik saya mempertaruhkan untuk tidak mengembalikan kesalahan jika ini terjadi. Perhatikan, agar konsisten, saya hanya memperbarui variabel, sedangkan loop penyegaran, mendorong nilai baru ke widget.

NodeRED: Node Fungsi - Memproses Tanggapan Alexa'

// Berapa suhu target termostatif (msg.command === "GetTemperatureReadingRequest"){ x =flow.get('TempTarget'); msg.extra = { "pembacaan suhu": { "nilai": x}, "applianceResponseTimestamp": Tanggal baru().toISOString()}; msg.payload = benar; kembali pesan; } // Atur suhu ke (tidak lebih rendah dari 10 atau lebih dari 30) if (msg.command === "SetTargetTemperatureRequest"){ if (msg.payload 30) { var range = { min: 10,0, max: 30.0 } msg.payload = salah; msg.extra = jangkauan; } else { msg.extra = { targetTemperature: { nilai: msg.payload } }; msg.payload = benar; } kembali pesan; } // Hidupkan if (msg.command === "TurnOnRequest"){ msg.payload = true; flow.set('jauh', salah); flow.set('TempTarget', 21); kembali pesan; } // Matikan jika (msg.command === "TurnOffRequest"){ msg.payload = true; flow.set('jauh', benar); kembali pesan;

Langkah 4: Kesimpulan

Kesimpulan
Kesimpulan

Jika Anda mengekspos dasbor NodeRED ke WAN, seluruh sistem pemanas dapat dikontrol dari jarak jauh. Saya sarankan Anda untuk membaca artikel berikut untuk mendapatkan kecepatan dengan keamanan NodeRED dan NodeRED.

  • NodeRED untuk pemula
  • Keamanan NodeRED

Selain itu, jika Anda ingin mendapatkan informasi tentang pembaruan proyek ini - pertimbangkan untuk mengikuti saya di platform pilihan Anda:

  • Facebo oke
  • Indonesia
  • Instagram
  • Youtube

Dan jika Anda ingin membelikan saya kopi atau mendukung saya dengan cara yang lebih berkelanjutan:

  • Paypal
  • pelindung

Saya harap Anda menikmati proyek ini!

Direkomendasikan: