Artikel ini adalah kelanjutan logis dari
topik yang sebelumnya diangkat
tentang sistem pemantauan rumah negara. Bagi seseorang yang belum membaca artikel sebelumnya, beberapa pemikiran dalam artikel ini mungkin aneh. Biarkan saya mengingatkan Anda: sudah dalam proses merancang dan memilih komponen dasar, menjadi jelas bahwa pemantauan kerja sistem rumah negara tidak akan berakhir dan bahwa Anda perlu tidak hanya memantau, tetapi fondasi rumah pintar. Sekarang mari kita lihat bagaimana acara berkembang. Seperti sebelumnya, saya tidak akan memberikan daftar lengkap program atau diagram terperinci. Tugas saya adalah menunjukkan alur pemikiran dan mungkin memulai diskusi.

Apa yang Anda inginkan dari rumah pintar?
Pertama, Anda perlu memahami, tetapi apa yang sebenarnya harus pintar di rumah yang cerdas. Ini bukan tentang definisi kanonik apa pun, tetapi tentang apa yang terlintas dalam pikiran ketika Anda memiliki seperangkat alat yang kuat seperti yang dijelaskan dalam artikel sebelumnya:
openHAB + Arduino / nFR24L01 +. Saya mendapat daftar "Daftar Keinginan" utama:
- Belajarlah untuk mengendalikan kekuatan ketel listrik tergantung pada suhu di rumah dan di jalan, dan bahkan lebih baik lagi, dengan memperhitungkan ramalan cuaca. Sebelum ini, daya ketel hanya diatur oleh sakelar mekanis pada ketel itu sendiri dan pengoperasian ketel tidak optimal baik dalam hal beban pada jaringan maupun dalam hal penghematan energi akibat matahari ( lihat di sini ).
- Untuk mengecualikan manipulasi manual pompa on / off (pasokan air, resirkulasi DHW), rel handuk yang dipanaskan, termostat radiator, dll. pada saat kedatangan / keberangkatan. Baik dan, tentu saja, lihat status perangkat ini.
- Belajarlah untuk menghidupkan dan mematikan lampu, air mancur dan perangkat lain, tergantung pada waktu hari dan tahun, keberadaan pemilik di rumah dan beberapa faktor lainnya. Dalam formulasi yang lebih umum - untuk membuat algoritma dan mengotomatisasi kontrol perangkat yang kontrolnya rutin, untuk mengecualikan klik monoton dari sakelar tradisional, terutama dalam gelap. Semuanya harus hidup dan mati secara otomatis.
- Gunakan algoritma yang menghemat energi. Misalnya, tahap pertama boiler dihidupkan untuk waktu yang lama akan memungkinkan untuk menerima lebih banyak energi dari Matahari daripada 2-3 tahap yang secara periodik dinyalakan / dimatikan oleh suhu garis balik. Yaitu Anda bisa mendapatkan penghematan energi karena beban yang lebih bijaksana.
- Sistem pemantauan dan kontrol yang lahir pada saat ini sudah cukup untuk menerapkan hanya sebagian dari persyaratan ini. Misalnya, sudah dimungkinkan untuk mengendalikan boiler secara bertahap, tetapi belum jelas dengan algoritme apa, dengan mempertimbangkan pembatasan konsumsi listrik dan mempertimbangkan keseimbangan prioritas untuk memanaskan rumah dan menyiapkan air panas. Selain itu, versi pertama sistem tidak termasuk semua aktuator yang diperlukan, misalnya, tidak ada perangkat kontrol pompa, tidak semua lampu di rumah otomatis. Ada permintaan khusus tambahan, misalnya, "untuk membuat gambar disorot." Selain itu, permintaan ini sendiri telah diubah menjadi "mengaktifkan dan mematikan lampu latar gambar secara otomatis tergantung pada waktu, pencahayaan, dan faktor lainnya."
Total: ada fondasi yang dapat diperluas, ada tujuan. Kami menganalisis data apa yang hilang. Pertama, tidak ada parameter listrik yang cukup, setidaknya yang berikut: konsumsi rumah saat ini, daya yang diterima dari Matahari. Kedua, ramalan cuaca tidak cukup. Selain itu, tidak ada cukup aktuator kompak. Saya perhatikan bahwa pengontrol terminal dengan aktuator (relay) yang dijelaskan dalam artikel sebelumnya semuanya multifungsi dan tidak terlalu kompak. Dan selain buatan sendiri. Beberapa perangkat, misalnya, melakukan kepala termostat yang dikendalikan pada radiator pemanas sendiri, tidak ada gunanya sama sekali, Anda perlu membelinya.
Terima parameter listrik
Jadi, kita mulai dengan parameter listrik. Hal pertama yang terlintas dalam pikiran adalah untuk menempatkan sensor saat ini berdasarkan efek Hall, sensor 220V sudah ada di sana, tetap untuk mengukur tegangan pada panel dan baterai. Semuanya dapat dilakukan pada sensor yang terpisah. Namun, semua pengukuran ini sudah dilakukan oleh pembangkit listrik berdasarkan inverter
Xantrex dan
pengontrol MPPT . Seperti yang kita ingat, perangkat ini digabungkan menjadi bus Xanbus eksklusif, yang merupakan transportasi untuk interaksi perangkat melalui protokol Modbus. Dan baginya ada gateway TCP-Modbus khusus
Conext ComBox , yang memungkinkan Anda membaca dan mengatur parameter sistem pada jaringan lokal. Inilah yang Anda butuhkan! Pada gilirannya, untuk openHAB ada TCP-Modbus yang mengikat khusus, yang tetap terhubung dan dikonfigurasikan. Jadi, gateway telah dibeli, dokumentasi telah dipelajari, mengikat ke openHAB terhubung dan dikonfigurasi, item didefinisikan, aturan dasar ditulis. Akibatnya, parameter berikut mulai tiba di rumah pintar: tegangan pada input jaringan dan generator, tegangan pada output inverter, arus beban, daya beban dalam W dan VA, tegangan pada panel surya dan baterai, arus pada input dan output pengontrol MPPT, arus muatan baterai, daya yang diterima oleh energi matahari yang diberikan, jumlah energi matahari yang dikumpulkan yang diberikan ke sistem, diberikan kembali ke jaringan. Bahkan suhu baterai terbaca, sekali ini membantu menghindari panas berlebih.
Partisipasi dalam pengembangan openHABSelama debugging, kesalahan terdeteksi dalam fungsi gateway TCP-Modbus. Melalui forum, openHAB pergi ke pengembang, di antara penguji lainnya. Akibatnya, pengikatan telah diselesaikan dalam beberapa iterasi dan telah bekerja selama lebih dari dua tahun.
Gateway TCP-Modbus untuk membaca parameter perangkat Shneider Electric (Xantrex) yang terhubung ke jaringan Xanbus.Terima ramalan cuaca
Selanjutnya Anda bisa mendapatkan ramalan cuaca dengan berbagai cara, misalnya, mendaftar penyedia.

Namun, ada cara yang lebih jelas: untuk mengambil data perkiraan langsung dari situs cuaca, misalnya, yandex.ru/pogoda. Untuk melakukan ini, saya menulis sebuah utilitas dalam C yang, menggunakan pustaka
ikal , menyimpan halaman HTML ke file. Dalam permintaan HTTP, utilitas mengirim situs koordinat rumah. File yang dihasilkan diuraikan dan diekstrak darinya dengan puluhan parameter: suhu, waktu matahari terbit dan terbenam, perkiraan suhu malam, arah angin dan kekuatan. Algoritma rumah pintar menggunakan perkiraan suhu malam, waktu matahari terbenam. Data yang tersisa hanya ditampilkan secara informatif di antarmuka. Dalam openHAB, data ditransfer oleh utilitas yang sama melalui API REST yang nyaman yang didukung oleh openHAB. Pada gilirannya, utilitas C itu sendiri diluncurkan menggunakan alat reguler openHAB setiap 4 jam. Jadi, semuanya cukup sederhana, dan kesulitan utama adalah pengembangan algoritma untuk mem-parsing halaman HTML yang disimpan. Tapi artikel saya bukan tentang itu.
Pada gambar - layar rumah pintar dengan data cuaca yang diperoleh dari koordinat rumah dari yandex.ru/pogodaOtomatis manajemen perangkat rutin

Saat bekerja untuk mendapatkan ramalan cuaca, seorang teman memberi saya relay WiFi yang dikontrol dan seluruh kabel ekstensi listrik dengan tiga relay dan tiga pasang soket
USR IOT . Pada saat ini, saya sudah sedikit menguasai openHAB dan dengan sedikit kegembiraan saya mulai mengembangkan perangkat baru dan memasukkannya ke dalam rumah pintar. Relai didefinisikan untuk mengontrol pompa lubang bor, dan kabel ekstensi terletak di gudang dan digunakan untuk mengontrol pencahayaan kolam, air mancur, dan cahaya di gudang. Untuk perangkat USR, IOT menemukan dokumentasi di jaringan yang menggambarkan protokol kontrol, tetapi saya masih harus mendengarkan lalu lintas jaringan menggunakan
Wireshark . Akibatnya, saya belajar membuat perintah kontrol dan mengurai respons dari perangkat. Untuk mengontrol relai, saya menulis sebuah program dalam C yang disebut dengan aturan dari openHAB, dan saya menghubungkan kabel ekstensi secara langsung menggunakan TCP yang mengikat openHAB.
Di foto di sebelah kanan, kabel ekstensi USRIOT dengan outlet yang dikontrol WiFi.Tetap menulis aturan:
- Nyalakan pompa lubang bor. Saat melucuti rumah, hidupkan pompa, saat mempersenjatai, matikan pompa. Ini sederhana, karena keadaan perlindungan sistem belajar membaca dari alarm pada tahap "pemantauan". Dan parameter ini selanjutnya digunakan dalam banyak aturan. Untuk tujuan ini, deteksi kehadiran di rumah sering digunakan, misalnya, melalui tag Bluetooth, dengan mendaftarkan perangkat seluler di jaringan lokal, dll. Namun, metode ini tidak sangat stabil, dan tidak diinginkan untuk digunakan dalam aturan yang serius.
- Nyalakan air mancur di kolam. Saya dulu menggunakan timer elektronik, tetapi mereka terbakar secara teratur dan tidak tahu tentang keberadaan pemilik di rumah. Sekarang "era baru" otomatisasi telah dibuka. Air mancur menyala jika rumah dilucuti, jika suhu di jalan (kita belajar bagaimana mengukur pada tahap "pemantauan") setidaknya 5 derajat (air mancur tidak diperlukan di musim dingin) dan waktunya adalah pukul 08:00. Air mancur mati pada pukul 23:00, selalu. Yaitu aturannya sedikit "asimetris" dan sangat nyaman.
- Lampu latar kolam menyala. Saya harus mengatakan bahwa lampu latar itu sendiri muncul karena keinginan untuk menyalakannya secara otomatis. Lampu latar menyala ketika rumah dilucuti, ketika penerangan di jalan lebih rendah dari parameter yang ditentukan dalam pengaturan, dan pada pergerakan di teras rumah utama atau rumah tamu. Yaitu tidak akan menyala sebelum pemilik ingin melihatnya. Semua parameter untuk kontrol muncul pada tahap "pemantauan". Matikan pukul 01:00, selalu.
- Menyalakan lampu di gudang. Ini adalah aturan terlucu. Lampu menyala jika rumah dilucuti, jika tingkat iluminasi di bawah ambang batas yang telah ditentukan, jika suhu udara di bawah 15 derajat, dan jika pergerakan di teras terdeteksi. Matikan setelah 5 menit, dengan gerakan berulang di teras waktu pembakaran diperpanjang 5 menit. Semuanya diimplementasikan hanya dengan alat openHAB biasa. Pertanyaannya adalah: mengapa suhu digunakan dalam aturan? Sangat sederhana: kayu bakar untuk perapian disimpan di gudang. Jika di malam hari dalam cuaca dingin saya pergi ke teras, maka mungkin di belakang kayu bakar :) dan lebih baik jika lampu menyala di gudang.
Perlu dicatat bahwa dalam semua aturan, perangkat hidup dan mati secara otomatis. Tetapi pada saat yang sama mereka dapat dikontrol secara manual melalui antarmuka openHAB. Perangkat USR IOT yang dijelaskan juga memiliki tombol kontrol fisik pada case, jadi penting untuk mempelajari cara membaca status perangkat. Salah satu cara untuk memperbarui status semua aktuator, serta sensor, adalah menyurvei mereka dari openHAB dengan penghitung waktu, misalnya, setiap 15 menit. Untuk perangkat buatan sendiri, sebagai tambahan, adalah wajib untuk mengirim status ketika keadaan tombol kontrol / sakelar berubah.
Mari kita kembali satu langkah. Tugas awal adalah mempelajari cara mengontrol pemanasan secara fleksibel agar rumah terasa hangat, selalu ada air panas, dan Anda tidak harus secara teratur pergi ke ruang ketel untuk mengatur pengoperasian ketel. Dan dalam hal ini, untuk meminimalkan kemungkinan boiler mati sebagai akibat dari aktuasi relai batas beban, yang dipasang di panel dan membatasi konsumsi saat ini dengan memutuskan beban non-prioritas, yang meliputi boiler dan boiler. Pada saat yang sama, pada tahap pertama, pemanas boiler dimatikan selama 5 menit, dan jika ini tidak membantu, maka boiler juga dimatikan selama 10 menit (tahap kedua). Biarkan saya mengingatkan Anda bahwa konsumsi di rumah terbatas dan semuanya listrik di rumah, tidak ada gas, jadi Anda harus memantau konsumsi. Dan alangkah baiknya menggunakan energi Matahari secara maksimal. Berikut adalah beberapa aturan yang dihasilkan.
Grup pertama. Rumah dilucuti:
- Setiap 20 menit, periksa suhu di rumah dan, jika di bawah yang ditentukan sebelumnya (22 derajat), tambahkan satu tingkat daya ketel. Tapi, lakukan ini jika ambang arus beban tidak terlampaui, misalnya, pada 25,6 A. Jika suhu lebih tinggi dari nilai yang ditetapkan, maka matikan satu tahap boiler setiap 20 menit, hanya menyisakan yang pertama. Sebagai hasilnya, kami mendapatkan "akselerasi" yang mulus dari sistem pemanas dan melindungi diri kami dari penutupan total karena kelebihan beban. Logikanya umum adalah ini: jika konsumen listrik yang kuat bekerja di rumah, misalnya, kompor, ketel, microwave atau bahkan penyedot debu, maka energi yang mereka konsumsi akhirnya masuk ke panas yang tersisa di rumah dan mengapa tidak mengejar boiler untuk menyala dengan kapasitas penuh. Lebih baik membiarkan boiler bekerja pada tahap pertama, tetapi tidak mati selama 10 menit sebagai akibat dari relai pembatas beban.
- Jika suhu air panas di boiler lebih rendah dari 35 derajat, nyalakan tahap pertama boiler dan pemanas. Jika suhu air lebih dari 35 derajat, dan suhu udara di rumah lebih tinggi dari yang ditetapkan (23 derajat), matikan tahap pertama boiler. Jika suhu air di atas 37 derajat - matikan pemanas. Selain itu, semua inklusi hanya boleh dilakukan jika arus beban tidak lebih dari 25.6A. Kalau tidak, relai pembatas beban akan bekerja dan selama 10 menit tidak ada yang bisa dinyalakan sama sekali. Lakukan semua pemeriksaan saat memperbarui pembacaan sensor suhu air panas. Aturan ini memastikan ketersediaan air panas, pemanasan cepat dengan konsumsi energi minimal.
- Jika suhu cairan pendingin di sirkuit surya lebih tinggi dari suhu air panas, yang pada gilirannya di atas 35 derajat, matikan pemanas pemanas. Dengan demikian, dimungkinkan untuk menghemat listrik dan tidak dibiarkan tanpa air panas.
- Jika suhu di rumah lebih dari yang ditetapkan (23 derajat), dan suhu air panas lebih dari 35 derajat, matikan boiler sepenuhnya. Kalau tidak, akan ada konsumsi listrik yang berlebihan, dan otomatisasi boiler akan sering mematikannya dengan suhu di saluran balik.
- Jika tidak ada tegangan pada elemen pemanas boiler, meskipun dihidupkan dari rumah pintar, maka tahap pertama relai beban telah terputus. Jika Anda membatasi kekuatan boiler, Anda dapat menghindari pemadamannya. Matikan langkah kedua dan ketiga. Kemudian mereka akan menyalakan diri mereka sendiri, dengan aturan lain, jika perlu. Demikian pula, kami memeriksa tegangan suplai boiler. Jika menghilang, tahap kedua dari relai beban telah terputus, kita hanya menyisakan tahap pertama dari boiler, kita mematikan semua yang lain, termasuk pemanas boiler; Mereka akan dimasukkan kemudian oleh aturan lain. Hal ini dilakukan untuk mengurangi kemungkinan operasi yang berulang dari relai beban dan untuk memastikan aliran panas yang maksimum dan seragam ke dalam rumah.
Kelompok kedua. Rumah itu berjaga-jaga.
- Jika suhu luar di bawah minus 8 derajat, nyalakan boiler tahap kedua. (yang pertama menyala secara otomatis sejak pemasangan pengontrol GSM universal, lihat di sini, di bawah potongan pertama ). Jika suhu luar ruangan di bawah -15 derajat, nyalakan boiler tahap ketiga. Ini memastikan operasi yang optimal dari sistem pemanas sambil mempertahankan suhu ekonomis yang diberikan di rumah. Ketika suhu naik di jalan, langkah-langkah dimatikan berurutan. Aturan ini memungkinkan Anda untuk membuat boiler bekerja lebih seragam dan efisien.
- Jika ada cahaya tinggi di jalan, nyalakan boiler secara preventif, tanpa menunggu peralatan otomatis mempertahankan suhu ekonomis (8 derajat). Atur boiler kembali ke mode otomatis jika suhu mencapai nilai yang dihitung. Nilai yang dihitung dihitung dengan rumus empiris, yang menggunakan minimum suhu malam hari sebelumnya dan perkiraan suhu malam. Selain itu, boiler kembali ke mode otomatis jika daya listrik yang diterima dari Matahari turun di bawah 500 watt. Indikator ini diperhalus pada beberapa lintasan aturan yang dijalankan setiap menit. Akibatnya, aturan ini memungkinkan Anda menghemat listrik: karena memanaskan rumah, boiler akan bekerja lebih sedikit dalam gelap dan mengonsumsi lebih sedikit energi dari jaringan.
Cuplikan layar lingkungan pengembangan desainer OpenHAB dengan dua aturan untuk pemanasan dan air panas domestik.Hasil Awal:
- Sasaran yang ditetapkan dicapai dengan cara yang sepenuhnya tidak berdebu. Bagian terbesar dari tenaga kerja tidak terkait dengan peralatan, tetapi dengan pemrograman. Dan dari pemrograman ini, sebagian besar berasal dari pengembangan dan debugging aturan di openHAB.
- Sudah pada tahap awal pengembangan rumah pintar, taruhan pada solusi "teknologi agnostik" dibenarkan. Aturan yang dijelaskan di atas menggunakan data yang diterima dari pengontrol buatan di Arduino, dari gateway TCP-Modbus yang dibeli, diterima dari Internet, mis. dari sumber yang sepenuhnya heterogen. Manajemen perangkat ditambahkan melalui TCP / IP. Semua ini diatur secara harmonis dari openHAB. Tapi, tentu saja, dengan openHAB ini menjadi satu titik kegagalan. Itulah mengapa benar menggunakan Linux sebagai sistem operasi di bawah openHAB. Oleh karena itu, saya harus pindah dari waktu ke waktu untuk menghubungkan server ke LAN melalui WiFi ke kabel biasa. Saya juga harus memasok UPS individu, meskipun pasokan listrik yang berlebihan di seluruh rumah. Kesimpulannya, saya harus meletakkan soket Xiaomi WiFi yang dikendalikan pada catu daya server, menghubungkannya ke jaringan WiFi terpisah, itu berfungsi sebagai argumen terakhir ketika server membeku.
- Kesadaran telah datang bahwa Internet benda dan rumah pintar memang membuka cakrawala untuk kualitas hidup yang baru. Benar-benar meningkatkan kenyamanan. Memang ada tabungan. , , , . .
, .