Mündəricat:
- Addım 1: Termostat necə işləyir
- Addım 2: Sonoffun Əsas Hazırlanması
- Addım 3: NodeRED
- Addım 4: Nəticə
Video: Köhnə Termostatınızı NESTləşdirin: 4 Addım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Evimin istilik sistemi, yəqin ki, evin özü qədər köhnədir. Təxminən 30 yaşı var, bu ev illəri baxımından əladır, lakin texnologiyaya gəldikdə buz dövründə çox sıxışıblar. Ticarət həlləri ilə əlaqədar 2 əsas problem var:
- qadağan edən qiymət
- məhsul xidmət olaraq
Revolvun başına gələnləri hamımız xatırlayırıq və qışın ortasında mənimlə belə bir hadisənin baş verməsinə çox da həvəsli deyiləm. Bunu nəzərə alaraq sizə köhnə termostatınız üçün inanılmaz dərəcədə şübhəli görünən, lakin işlək NEST-Alike nəzarətçi təqdim edirəm. Narahat olmayın, tezliklə əlavə ediləcək daha yaxşı bir korpus planlaşdırıram!
Xüsusiyyətləri:
- mövcud bir termostatdan istifadə etmək bacarığı (arvad bu barədə inləsə)
- uzaqdan giriş
- AWAY rejimi
- optimal temperatur göstəricisi
- Alexa ilə işləyir
Tezliklə (yeniləmələr üçün buraya baxın)
- Google Evi
- Google Təqvim
- Çoxlu Sensorlar
- Radiator idarəediciləri
- IFTT inteqrasiyası
- Tasker dəstəyi
- HTTP İstəkləri
- Daha yaxşı görünən bir korpus
Addım 1: Termostat necə işləyir
Termostat, ehtimal ki, YÜKSEK GERİLİMƏ bağlıdır! Dövrənin söndüyünə əmin olmadıqca heç bir şey etməyə çalışmayın. Özünüzə zərər verə və bağlı qurğuya zərər verə bilərsiniz. Təhlükəsizliyinizi təmin etmək üçün ixtisaslı elektrikçiyə müraciət etməyi düşünün
Honeywell termostatı, duvara monte edilmiş bir cihazdır, elektrik şəbəkəsindən işləyir (Sonoff əsasları üçün minimum 90V lazımdır, dövrəmdə 230V var). Qutu əsas idarəetmə qurğusuna bağlıdır (daha inkişaf etmiş bir qutudur) və temperatur hədəf səviyyəsinin altına düşəndə siqnal göndərir. Vahidiniz fərqli ola bilsə də, çox güman ki, prinsip eynidir. 3 teliniz varsa və divara quraşdırılmış qurğu arasında radio bağlantısı yoxdursa-bu sizin üçün bir dərsdir.
3 telli termostatların prinsipcə necə işlədiyini bilirəm ki, bu da təsadüfən 2 teli qısaltmaqla mənim qoruyucumu söndürməyimə mane olmadı! Ünitəyə qoşulmuş 3 telim var (4 -cü yerdədir). Honeywell termostatım simsiz deyil, buna görə də siqnalı dəyişdirmək üçün Sonoff Basic -dən istifadə edə bilərəm. Ayrılmağın və siqnalın qurğuya necə göndərildiyini görməyin vaxtıdır. Daha yaxından araşdırıldıqda terminal aşağıdakı şəkildə bağlanır:
- (mavi) - Torpaq
- (sarı) - siqnal, yüksək çəkildikdə qızdırma açılır
- istifadədə deyil
- (qırmızı) - siqnalı yüksək çəkmək üçün istifadə olunan canlı tel
Məqsədimə çatmaq üçün, istiliyimin açılmasını istədiyim zaman canlı teli siqnal teli ilə qısaltmalıyam. Bənzər bir əlaqəli bir termostatınız varsa, şansınız var, çünki Sonoff Basic hiylə etmək üçün kifayət edəcəkdir.
Addım 2: Sonoffun Əsas Hazırlanması
Telləri bağlamağa başlamazdan əvvəl, qarışığa bir temperatur sensoru (DHT11) əlavə etməliyik. Sonoff cihazınızda Tasmota firmware proqramının olduğundan əmin olun (burada əla yanıb-sönən bələdçim var) və Tasmota ilə işləyən Sonoff-un düzgün konfiqurasiya edildiyinə əmin olun (artıq mənim tərəfimdən də əhatə olunmuşdur). İndi DHT11 sensorunu Sonoff -a bağlamaq və onu temperatur hesabatı üçün konfiqurasiya etmək qalır.
DHT11, 3 pinli simli ilə gəlir: Siqnal - GPIO14Vcc - 3.3VGND - GND
Bir deşik açdım, indi necə göründüyündən narahat deyiləm, ehtiyacım olan konsepsiyanın və təsdiqin sübutudur. 3D printerim gəldikdən sonra gözəl və parlaq bir korpus düzəldəcəyəm. Sonoff cihazının digər ucundakı siqnal telinə qoşulduğundan əmin olmaq üçün Sonoff -u necə bağladığıma xüsusi diqqət yetirdim. Honeywell vahidinin içərisində cərəyanı məhdudlaşdıran yük müqaviməti (R) var. Dövrə 3A qoruyucu ilə qorunsa da, əlavə qoruma üçün eyni müqavimətə uyğun olmaq ağıllıdır. Telləri hazırladıqdan sonra, elektrik enerjisini söndürmək və Sonoffu geri çəkmək vaxtı gəldi.
Sonoff Tasmota - Honeywell termostatı
INPUT Live - 4 -cü terminal Canlı
GİRİŞ GND - 1 -ci terminal GND
Çıxış siqnalı - 2 -ci terminal siqnalı
Bundan əvvəl qeyd etdim, bunun görünüşü ilə bağlı heç bir fikir söyləməyəcəyəm. Arvad əmin oldu və mən funksionallığa diqqət yetirəcəyəm və baş verəcək bütün səhvləri təmizləyə bilərəm. Yaxşı şey, orijinal termostatın hələ də işləməsidir. Mən onu açsam, Sonoff Tasmota əsaslı birini ləğv edəcək. Bu gözlənilməz hadisələr üçün əla bir ehtiyat olmalıdır.
Addım 3: NodeRED
Unutmayın ki, videoda köhnə NodeRed istinadları ola bilər, dizaynı təkmilləşdirmək üçün daim çalışıram. Bunlar kiçik dəyişikliklərdir və məqalə faylları yenilənir
İnternetdə bu dizaynla tanış oldum. Gözəl görünür, lakin yaxından araşdırıldıqda widget həqiqətən NodeRED üçün uyğun deyil. Qurulmaq üçün 5 yükə ehtiyac var, bu da eyni dizaynın işləməməsi ilə əlaqədardır. Vidceti yeniləmək və işlək vəziyyətdə saxlamaq üçün bütün bu məlumatları ötürməyin ən yaxşı yolunu anlamaq bir az vaxt aldı. Əminəm ki, vaxt keçdikcə dizaynda daha çox vaxt sərf edəcəyəm ki, lazım olan bütün yeniləmələri tək bir msg obyekti ilə itələyim. Hələlik, olduğu kimi qaldı.
Temperatur axını
DHT11 hər X saniyədə NodeRED serverinə hesabat verir. Tasmota'nın konsolu ilə bu tezliyi artırdım. Tezliyi saniyədə təyin etmək üçün əmri işlədin:
TelePeriod Telemetriya müddətini 10 ilə 3600 saniyə arasında təyin edin
Hata düzəltmələrimin işlədiyini görmək üçün bir neçə dəqiqə gözləmək istəmədiyim üçün bu, əsasən testlər üçün edilir. Tezliyi yüksək tutmaq istiliyin daha qısa müddət ərzində daha tez -tez alovlanmasına səbəb olacaq, buna görə də test məqsədləri xaricində 10 saniyəyə təyin etməkdən çəkinin. MQTT nodu məlumatları buradan götürür:
sonoff/tele/SENSOR
və ən faydalı məlumatları aşağıdakı obyektlərdə saxlayır:
msg.payload. DHT11. Sıcaklıq msg.payload. DHT11. Nəmlik
Səhvləri məhdudlaşdırmaq üçün nəticələri ortalamaq üçün hamar bir düyün əlavə etdim və axın dəyişənini yenilədim: NodeRED:
Funksiya Node - 'TempAmbient' yeniləyin
flow.set ('TempAmbient', msg.payload. DHT11. Temperature); msg qaytar;
Widget yeniləməsi
5 saniyənin yaxşı bir yeniləmə sürəti olduğuna qərar verdim, buna görə də bu tezliklə bütün lazımi dəyərləri itələyirəm. Yalnız istisna, açıq səbəbdən dərhal cavab verən sürüşdürücüdür.
Hər bir uyğun qovluq, təyin olunmuş mövzu ilə birlikdə yükü eyni yuva vidjetinə göndərir.
- rəng (isidici | soyutma*| söndürülmüş və hvac_state)
- yarpaq (doğru | yalan & has_leaf)
- uzaq (doğru | yalan və uzaqda)
- Ətraf mühitin temperaturu (nömrə və mühit temperaturu)
- Hədəf istiliyi (nömrə və hədəf_temperatur)
*istifadədə deyil
NodeRED: Function Node - Widget Güncellemesi
rəng
x = flow.get ('TempTarget'); // targetz = flow.get ('TempAmbient'); // ətraf
əgər (z = x) {
flow.set ('heatState', "off"); flow.set ('heatSwitch', "OFF"); } msg.payload = z; msg.topic = "mühit_temperaturu"; msg qaytar;
yarpaq
x = flow.get ('TempAmbient'); if (x> 17 && x <23) {flow.set ('leaf', true); msg.payload = doğru; msg.topic = "has_leaf"; msg qaytar; } başqa {flow.set ('yarpaq', yalan); msg.payload = yalan; msg.topic = "has_leaf"; msg qaytar; }
Rəng uzaqlaşdırılır
x = flow.get ('uzaqda'); əgər (x === doğru) {msg.topic = "hvac_state"; msg.payload = "off"; msg qaytar; }
msg.topic = "hvac_state";
msg.payload = flow.get ('heatState');
msg qaytar;
Uzaqda
x = flow.get ('uzaqda'); if (x === doğru) {flow.set ('heatSwitch', "OFF"); flow.set ('heatState', "off"); }
msg.topic = "uzaqda";
msg.payload = flow.get ('uzaqda'); msg qaytar;
Hədəf İstiliyi
əgər (msg.topic === "yeniləmə") {msg.topic = "target_temperature"; msg.payload = flow.get ('TempTarget'); msg qaytar; }
əgər (msg.command === "SetTargetTemperatureRequest") {
flow.set ('uzaqda', yalan); msg.topic = "target_temperature"; flow.set ('TempTarget', msg.payload); }
əgər (msg.topic === "kaydırıcı") {
flow.set ('uzaqda', yalan); msg.topic = "target_temperature"; flow.set ('TempTarget', msg.payload); }
əgər (msg.command === "GetTemperatureReadingRequest") {}
msg qaytar;
Gördüyünüz kimi, axın dəyişənlərini seçdim, buna görə də istənilən vaxt dəyəri xatırlaya bildim. Əsasən bütün saxlanılan dəyərləri oxuyan bir ayıklama axını var.
- 'TempAmbinet' - cari tempi saxlayır
- 'TempTarget' - müvəqqəti hədəf dəyərini saxlayır
- 'Yarpaq' - lazım olduqda yarpağı göstərir
- 'Uzaqda' - lazım olduqda uzaq vəziyyətini göstərir
- 'HeatState' - ekranın rəngini dəyişir
- 'HeatSwitch' - rölin vəziyyətinə nəzarət edir.
Çətinlik, məlumatın "yeniləmə" və digər vasitələrlə (Alexa və s.) Bu səbəbdən JavaScript -də fərqli şərtlər görəcəksiniz. Dəyərlər hər dəfə yeniləndikdə, axın dəyişəninə göndərilir və widget yenilənir.
Sürgü
Test, əlavə bir kaydırıcı yeniləməsinə ehtiyac olduğunu ortaya qoydu (kaydırıcı hədəf temperaturunu itələyir). Sürgü, yükü (nömrəni) köçürüldükdə əlaqəli mövzu "kaydırıcı" ilə göndərir. Bunun üzərinə, birdən çox veb interfeysi yerində olarsa, kaydırıcının düzgün mövqeyə girməsini istəyirəm. Bunu etmək üçün hər 5 saniyədə kaydırıcının mövqeyini cari hədəf istiliyinə qədər yeniləyirəm.
NodeRED: Function Node - Kaydırıcıyı yeniləyin
msg.payload = flow.get ('TempTarget'); msg qaytar;
Röleyə nəzarət
Röle nəzarətçisi sadədir, (hazırda) iki giriş tələb edir. Alexa'nın doğru | yanlış və "istilik açarı" axını dəyişəninin yenilənməsindən sonra gələn qarşılıqlı əlaqə. Ani bir hərəkətə ehtiyac yoxdur, buna görə sadəlik üçün axının qalan hissəsi ilə eyni 5 saniyəlik yeniləmə tezliyində işləyir.
Röle MQTT vasitəsilə bağlanır. Node mövzuya ON | OFF əmrləri göndərir:
sonoff/cmnd/POWER1
Funksiya nodu Alexa -dan true | false qəbul edir və həmçinin 'heatSwitch' axını dəyişəninə görə girişin vəziyyətini dəyişir.
NodeRED: Function Node - Control Relay '
if (msg.command === "TurnOffRequest") {msg.payload = "OFF"; msg qaytar; }
əgər (msg.command === "TurnOnRequest") {
msg.payload = "ON"; flow.set ('TempTarget', 21); msg qaytar; } əgər (msg.topic === "yeniləmə") {msg.payload = flow.get ('heatSwitch'); } msg qaytar;
Alexa inteqrasiyası
Bu, "avtomatik tanıma" nı söndürməli olduğum ilk cihazdır. Avtomatik olaraq cavab almaq əvəzinə, müəyyən edilmiş temperaturu sorğulamaq istədiyim üçün bir cavab yaratdım. Prinsipcə, msg.payload = true | false, sorğunun müvəffəqiyyətli olub olmadığını göstərir və qalanını burada tapılan şablonlar edir. Alexa və NodeRed -də yenisinizsə, bunu oxuduğunuzdan əmin olun.
Hamısını bir az daha yaxşı idarə edə bilmək üçün ayrı -ayrılıqda (bu ən yaxşı yol olmadığını bilirəm) keçməyə qərar verdim. Düzgün olaraq hər bir cavab əmr zəncirinin sonunda verilməlidir. Mənimki, bu baş verərsə, səhvləri geri qaytarmamaqla risk edir. Diqqət yetirin ki, ardıcıl olmaq üçün yalnız dəyişənləri yeniləyirəm, yeniləmə döngəsi isə yeni dəyərləri vidjetə itələyir.
NodeRED: Funksiya Nodu - Alexa Cavablarını Prosesi
// Termostatın hədəf temperaturu nədir (msg.command === "GetTemperatureReadingRequest") {x = flow.get ('TempTarget'); msg.extra = {"temperatureReading": {"value": x}, "applianceResponseTimestamp": new Date (). toISOString ()}; msg.payload = doğru; msg qaytar; } // İstiliyi (10 -dan aşağı və ya 30 -dan çox olmayan) olaraq təyin edin (msg.command === "SetTargetTemperatureRequest") {if (msg.payload 30) {var range = {min: 10.0, max: 30.0} msg.payload = yalan; msg.extra = aralıq; } başqa {msg.extra = {targetTemperature: {dəyər: msg.payload}}; msg.payload = doğru; } msg qaytar; } // Yandırın, əgər (msg.command === "TurnOnRequest") {msg.payload = true; flow.set ('uzaqda', yalan); flow.set ('TempTarget', 21); msg qaytar; } // Bunu söndürün, əgər (msg.command === "TurnOffRequest") {msg.payload = true; flow.set ('uzaqda', doğru); msg qaytar;
Addım 4: Nəticə
NodeRED tablosunu WAN -a çıxararsanız, bütün istilik sistemi uzaqdan idarə oluna bilər. NodeRED və NodeRED təhlükəsizliyi ilə sürətləndirmək üçün aşağıdakı məqalələri oxumağı məsləhət görürəm.
- Yeni başlayanlar üçün NodeRED
- NodeRED təhlükəsizliyi
Bundan əlavə, bu layihənin yenilikləri haqqında məlumat almaq istəyirsinizsə - məni seçdiyiniz platformada izləməyi düşünün:
- Facebo tamam
- İki qat
- Sən ol
Mənə bir qəhvə almaq və ya daha davamlı bir şəkildə dəstək olmaq istəsəniz:
- Paypal
- Patreon
Ümid edirəm ki, layihədən zövq aldınız!
Tövsiyə:
Köhnə Dinamiklərin Bluetooth Boombox -a Çevrilməsi: 8 Addım (Şəkillərlə birlikdə)
Bluetooth Boombox -a Köhnə Dinamik Dönüşümü: Hər kəsə salam! Bu quruluşda mənimlə birlikdə olduğun üçün çox sağ ol! Detallara girməzdən əvvəl, ən aşağıdakı müsabiqədə bu Təlimata səs verməyi düşünün. Dəstək çox yüksək qiymətləndirilir! Başladığımdan bir neçə il keçdi
Köhnə Laptopdan Vintage Look Media PC: 30 Addım (Şəkillərlə birlikdə)
Köhnə Laptopdan Vintage Look Media PC: Bu xüsusi təlimat/videoda rahat bir mini uzaq klaviatura ilə idarə olunan inteqrasiya edilmiş dinamikləri olan sərin görünüşlü kiçik media kompüteri hazırlayıram. Kompüter köhnə bir dizüstü kompüterlə təchiz edilmişdir. Bu quruluş haqqında kiçik bir hekayə. Bir il əvvəl Matti gördüm
Köhnə hissələrdən dünyanın ən kiçik Bluetooth dinamik: 8 addım (şəkillərlə birlikdə)
Köhnə hissələrdən dünyanın ən kiçik Bluetooth hoparlörü: Bu layihəni bəyənmisinizsə, burada zibil qutusuna xəzinə yarışmasında qalib gəlmək üçün səs verməyi düşünün -https://www.instructables.com/contest/trashytreasure2020/ Bu Təlimat kitabında necə edəcəyinizi öyrənəcəksiniz. ultra kiçik bir evdə hazırlanmış bluetooth dinamik
Köhnə ATX -dən Laboratoriya Güc Təchizatı: 8 Addım (Şəkillərlə birlikdə)
Köhnə ATX -dən Laboratoriya Güc Təchizatı: Uzun müddətdir laboratoriya məqsədləri üçün enerji təchizatı yox idi, amma bəzən lazım olardı. Tənzimlənən gərginlikdən başqa çıxış cərəyanını məhdudlaşdırmaq da çox faydalıdır. yeni yaradılmış PCB -lərin sınanması halında. Buna görə qərar verdim
Köhnə Telefonu və Köhnə Dinamikləri STEREO olaraq yenidən istifadə edin: 4 addım
Köhnə Telefonu və Köhnə Dinamikləri STEREO Olaraq Yenidən İstifadə Edin: Ümumi dəyəri 5 avrodan az olan bir neçə ümumi komponentdən istifadə edərək bir cüt köhnə dinamik və köhnə bir smartfonu radio, mp3 çalma podkastları və internet radiosu olan stereo qurğuya çevirin! Beləliklə, 5-10 yaşlı ağıllı kolleksiyamız var