Home Automation seperti membuat algoritma sendiri Anda kontrol untuk sistem eHouse

Gedung Manajemen eHouse memungkinkan Anda untuk membuat overlay sendiri (aplikasi yang berjalan pada PC yang eHouse sistem server) , yang membuatnya mudah untuk membuat algoritma sendiri pemrograman individu menggunakan template software EhouseLogAnalizer kami untuk Delphi . Perangkat lunak ini telah dibahas dalam ” Log Analyzer rumah pintar eHouse ” perpanjangan fungsi dari sistem eHouse Home Automation .
Dengan stabilitas hari ini ; s PC , dan Windows dapat beroperasi mulus dan terus menerus dari eHouse manajemen rumah perangkat lunak cerdas juga dipantau oleh aplikasi KillExec . exe .
Dalam kasus suspensi dari kesalahan aplikasi ditutup dan mulai lagi tanpa sistem pengguna intervensi .
Dengan tepat set up Windows dan kontinuitas sistem eHouse dapat bekerja software rumah pintar pada PC selama berbulan-bulan .
Menulis perangkat lunak yang tepat rumah pintar sistem kontrol memerlukan pengukuran eHouse pengujian berurutan berubah (dan mengirim peristiwa kontrol yang tepat jika diperlukan – waktu) .
Saat menulis algoritma Anda sendiri kontrol untuk membuat software – bendera membuktikan penyelesaian acara untuk tidak masuk akal tidak berulang kali mengirim acara yang sama: misalnya , setiap 2 detik untuk menutup tirai yang sudah ditutup .
Aplikasi dapat ditugaskan untuk Timers beberapa:
Pertama – Terkemuka seperti memperbarui driver data 10 detik .
Lain – dengan nilai-nilai â € <â € <tergantung pada variabilitas dari fenomena tersebut:
misalnya . untuk mengendalikan tirai , awning untuk suhu di luar ruangan dan tingkat cahaya mungkin beberapa menit .
Dalam kasus tirai kontrol drive , gerbang , marquess , Jendela , dll . dapat digunakan buluh terhubung ke input digital eHouse pengendali rumah pintar , bukti dekat mereka dan membuat operasi kontrol pada keadaan input data RoomManager , yang jauh lebih baik dan lebih benar daripada bendera sofware , yang nilainya dapat diatur salah sebagai akibat dari bug perangkat lunak atau kesalahan karena drive (bukan penutupan , mekanis , memblokir , dll . ) .

Contoh menggunakan data dari pengendali dalam eHouseLogAnalizer aplikasi (dalam loop berulang beroperasi pada interval setiap beberapa detik) .

/ / Inisialisasi data dari boiler HeatManagera kontroler
TzewnetrznaPN: = HADC [HM_ZEWNPN] ; / / Eksternal Suhu Utara
TemperaturaGWC: = HADC [HM_GWC] ; / / Suhu untuk GWC – Tanah penukar panas untuk recuperator
TemperaturaKominekPlaszcz: = HADC [HM_KOM1] ; / / Suhu air di sensor 1 cerobong asap
TemperaturaKominekKonvekcja: = HADC [HM_KOMKONV] ; / Perapian / Suhu konveksi – sensor pada cerobong asap dari pekerjaan yang sebenarnya dari perapian
TemperaturaKominekPlaszcz: = HADC [HM_KOM2] ; / / Water jaket sensor suhu 2 – (Backup)
TemperaturaWewnÄ ™ trzna: = HADC [HM_TWEWN] ; / / Suhu internal kamar – untuk CO
TemperaturaSolar: = HADC [HM_SOLAR] ; / / Suhu surya kolektor pipa puncak (hot)
TzewnetrznaPD: = HADC [HM_ZEWNPD] ; / / Di luar suhu siang
Tkociol: = HADC [HM_KOC] ; / Tabung / Boiler suhu puncak (panas)
TemperaturaBuforaCODol: = HADC [HM_BANDOL] ; / / Suhu CO / tangki air panas bawah
TemperaturaRecuIn: = HADC [HM_REQIN] ; / / Input recuperator suhu udara bersih
TemperaturaRecuOut: = HADC [HM_REQOUT] ; / / Output suhu udara recuperator rumah
TemperaturaZaworTrojDrozny: = HADC [HM_NAG] ; / / Suhu dikontrol tiga – arah katup seperti pemanas atau untuk radiator
TemperaturaRecuWyciog: = HADC [HM_REQWYC] ; / / Ekstrak recuperator suhu rumah udara kotor
TemperaturaBuforaCOGora: = HADC [HM_BANGORA] ; / / Suhu pemanasan / tangki air panas sampai
TemperaturaBuforaCOSrodek: = HADC [HM_BANSRO] ; / / Suhu pemanasan / air panas tangki pusat
/ / Pengukuran dari sensor untuk RoomManager
TzewWschod: = RMGetTempNr (get_index_rm ( ‘ 55 – 2 ‘ ) , 8) ; / / Suhu Outdoor Sensor timur dari RM No . 8 untuk alamat 55 – 2
TzewZachod: = RMGetTempNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 8) ; / / Sensor suhu di luar Barat dengan No . 8 untuk RM dengan alamat 55 – 3
TzewPolnoc: = RMGetTempNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 8) ; / / Sensor suhu luar North Tidak ada . 8 untuk RM dengan alamat 55 – 4
TzewPoludnie: = RMGetTempNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 8) ; / / Sensor suhu luar Selatan No . 8 untuk RM dengan alamat 55 – 5
LNaslonecznienieWschod: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 2 ‘ ) , 1) ; / / Tingkat ambient light timur dari sensor ada . 1 untuk RM dengan alamat 55 – 2
LNaslonecznienieZachod: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 1) ; / / Tingkat cahaya sensor Barat Tidak Ambient . 1 untuk RM dengan alamat 55 – 3
LNaslonecznieniePolnoc: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 1) ; / / Tingkat cahaya sensor Utara Tidak Ambient . 1 untuk RM dengan alamat 55 – 4
LNaslonecznieniePoludnie: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 1) ; / / Tingkat cahaya sensor Selatan Tidak Ambient . 1 untuk RM dengan alamat 55 – 5
SilaWiatru: =: = RMGetPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 7) ; / / Tingkat cahaya sensor Selatan Tidak Ambient . 1 untuk RM dengan alamat 55 – 5
Kontrol algoritma dapat sewenang-wenang dan mungkin termasuk salah satu parameter pengukuran dan sejauh ini telah digunakan dan dipasang sensor kuantitas fisik tertentu .
/ / Algoritma yang terkandung dalam waktu pengulangan lambat seperti . setiap 10 menit
/ / Contoh energi – efisien kontrol rol daun jendela dan awning (menghasilkan penghematan biaya yang signifikan karena matahari ' ; s sinar untuk memanaskan rumah di musim dingin) dan akumulasi energi surya bebas
/ Pemanas / Bebas dan ekologi kamar di sisi timur bangunan sinar matahari
if (tidak RoletyWschod) maka / / jika mereka tidak lagi terbuka
if (LNaslonecznienieWschod> ; 80) kemudian / / jika matahari – memeriksa nilai empiris
if (Bulan < ; ; 5) dan bulan> ; 8) maka / / jika bulan dari September-April
if (TzewWschod> ; 0) sensor kemudian / / suhu di bawah sinar matahari hangat lebih tinggi dari 0C
if (Waktu> ; 8) dan (Waktu < ; ; 11) kemudian / / di pagi hari ketika matahari bersinar langsung dari timur
mulai
RoletyWschod: = true ; / / Bendera untuk membuka jendela Timur
OtworzRoletyWschod ; / / Fungsi untuk mengirim suatu peristiwa ke eHouse sistem driver
ZamknijMarkizyWschod ; / / Jangan memberikan apa-apa karena matahari terlalu rendah
akhir ;
/ Pemanas / Bebas dan ekologi kamar di sisi selatan bangunan , matahari ' ; s sinar
if (tidak RoletyPoludnie) maka / / jika mereka tidak lagi terbuka
if (LNaslonecznieniePolodnie> ; 80) kemudian / / jika matahari – memeriksa nilai empiris
if (Bulan < ; ; 5) dan bulan> ; 8) maka / / jika bulan dari September-April
if (TzewPoludnie> ; 0) sensor kemudian / / suhu di bawah sinar matahari hangat lebih tinggi dari 0C
if (jam> ; 10) dan (Waktu < ; ; 14) kemudian / / di pagi hari ketika matahari bersinar langsung dari selatan
mulai
RoletyPoludnie: = true ; / / Buka jendela bendera selatan
OtworzRoletyPolodnie ; / / Fungsi untuk mengirim suatu peristiwa ke eHouse sistem driver
ZamknijMarkizyPolodnie ; / / Jangan memberikan apa-apa karena matahari terlalu rendah
akhir ;
/ Pemanas / Bebas dan ekologi kamar di sisi barat bangunan , matahari ' ; s sinar
if (tidak RoletyZachod) maka / / jika mereka tidak lagi terbuka
if (LNaslonecznienieZachod> ; 80) kemudian / / jika matahari – memeriksa nilai empiris
if (Bulan < ; ; 5) dan bulan> ; 8) maka / / jika bulan dari September-April
if (TzewZachod> ; 0) sensor kemudian / / suhu di bawah sinar matahari hangat lebih tinggi dari 0C
if (jam> ; 14) dan (Waktu < ; ; 18) kemudian / / di pagi hari ketika matahari bersinar langsung dari barat
mulai
RoletyZachod: = true ; / / Bendera untuk membuka jendela Barat
OtworzRoletyZachod ; / / Fungsi untuk mengirim suatu peristiwa ke eHouse sistem driver
ZamknijMarkizyZachod ; / / Jangan memberikan apa-apa karena matahari terlalu rendah
akhir ;
/ / Ekologi dan ekonomis Membatasi dampak pemanasan ruang bebas oleh sinar matahari di musim panas – kontrol awning
/ / Kontrol tenda – membuka awning untuk mengurangi radiasi matahari dan pemanasan rumah di musim panas – timur
if (tidak MarkizaWschodA) maka / / jika mereka tidak lagi terbuka
if (SilaWiatru < ; ; 5) kemudian / / jika tidak ada angin
if ((Bulan> ; 4) dan (Bulan < ; ; 9)) maka / / musim panas bulan
if (LNaslonecznienieWschod> ; 50) kemudian / / jika matahari bersinar
if (waktu> ; 6) dan (Waktu < ; ; 12) maka / / jika jam pagi
if (TwewnWschodA> ; 25) kemudian / / jika ruangan terlalu hangat
mulai
MarkizaWschodA: = true ; / / Bendera tenda ruang terbuka A
OtworzMarkizeWchodA ; / / Kirim acara ke eHouse sistem driver
akhir ;
/ / Demikian , Anda dapat meniru kode untuk kontrol independen awning di daerah lain dari fasad timur mengubah A untuk nilai yang berbeda
/ / Kontrol tenda – membuka awning untuk mengurangi radiasi matahari dan pemanasan rumah di siang musim panas
if (tidak MarkizaPoludnieA) maka / / jika mereka tidak lagi terbuka
if (SilaWiatru < ; ; 5) kemudian / / jika tidak ada angin
if ((Bulan> ; 4) dan (Bulan < ; ; 9)) maka / / musim panas bulan
if (LNaslonecznieniePoludnie> ; 50) kemudian / / jika matahari bersinar
if (Waktu> ; 8) dan (Waktu < ; ; 18) kemudian / / jika jam di mana matahari paling sulit beroperasi dari selatan
if (TwewnPoludnieA> ; 25) kemudian / / jika ruangan terlalu hangat
mulai
MarkizaPoludnieA: = true ; / / Bendera tenda ruang terbuka A
OtworzMarkizePoludnieA ; / / Kirim acara ke eHouse sistem driver
akhir ;
/ / Demikian , Anda dapat meniru kode untuk kontrol independen awning di daerah lain dari ketinggian Selatan A Mengubah ke nilai yang berbeda
/ / Kontrol tenda – awning terbuka untuk mengurangi radiasi matahari dan pemanasan rumah pada musim panas sisi barat
if (tidak MarkizaZachodA) maka / / jika mereka tidak lagi terbuka
if (SilaWiatru < ; ; 5) kemudian / / jika tidak ada angin
if ((Bulan> ; 4) dan (Bulan < ; ; 9)) maka / / musim panas bulan
if (LNaslonecznieniePoludnie> ; 50) kemudian / / jika matahari bersinar
if (Waktu> ; 8) dan (Waktu < ; ; 18) kemudian / / jika jam di mana matahari paling sulit beroperasi dari selatan
if (TwewnZachodA> ; 25) kemudian / / jika ruangan terlalu hangat
mulai
MarkizaZachodA: = true ; / / Bendera tenda ruang terbuka A
OtworzMarkizeZachodA ; / / Kirim acara ke eHouse sistem driver
akhir ;
/ / Demikian , Anda dapat meniru kode untuk kontrol independen awning di daerah lain dari fasad barat mengubah A untuk nilai yang berbeda
/ / Tutup Marquis adalah angin terlalu banyak
if (LNaslonecznieniePoludnie < ; ; 20) kemudian / / jika matahari tidak bersinar (dipilih secara empiris Memiliki Hujan dan curah hujan)
if (MarkizaPoludnieA) maka / / jika terbuka tenda
mulai
MarkizaPoludnieA: = false ; / / Mengubah bendera
ZamknijMarkizePoludnieA ; / / Kirim peristiwa ke eHouse mikroprosesor pengendali
akhir ;
if (LNaslonecznienieZachod < ; ; 20) kemudian / / jika matahari tidak bersinar (dipilih secara empiris)
if (MarkizaZachodA) maka / / jika terbuka tenda
mulai
MarkizaZachodA: = false ; / / Mengubah bendera
ZamknijMarkizeZachodA ; / / Kirim peristiwa ke eHouse mikroprosesor pengendali
akhir ;
if (LNaslonecznienieWschod < ; ; 20) kemudian / / jika matahari tidak bersinar (dipilih secara empiris)
if (MarkizaWschodA) maka / / jika terbuka tenda
mulai
MarkizaWschodA: = false ; / / Mengubah bendera
ZamknijMarkizeWschodA ; / / Kirim peristiwa ke eHouse mikroprosesor pengendali
akhir ;
if (SilaWiatru> ; 5) kemudian / / angin untuk menutup tirai
if (MarkizaZachodA atau MarkizaWschodA atau MarkizaPoludnieA) maka / / jika ada yang terbuka
mulai
ZamknijWszystkieMarkizy ; / / Kirim acara ke eHouse sistem driver
MarkizaZachodA: = false ;
MarkizaWschodA: = false ;
MarkizaPoludnieA: = false ;
akhir ;
/ / Menutup jendela kontrol suhu otomatis terlalu rendah untuk panas untuk melarikan diri luar melalui bukaan ketat di luar jendela
/ / South – menutup jendela di dingin dan kurangnya sinar matahari untuk elevasi selatan
if (RoletyPoludnie) maka / / jika terbuka
if (TzewPoludnie < – 10) then // temperature sensor smaller than the southern – 10C indicating the large cold and lack of sun heating the sensor on the south side

mulai
RoletyPoludnie: = false ; / / Buka jendela bendera selatan
ZamknijRoletyPolodnie ; / / Fungsi untuk mengirim suatu peristiwa ke eHouse sistem driver
/ / ZamknijMarkizyPolodnie ; / / Jangan memberikan apa-apa karena matahari terlalu rendah
akhir ;
/ / Home blinds penutupan Timur pada dingin dan kurangnya sinar matahari untuk fasad Timur
if (RoletyWschod) maka / / jika terbuka
if (TzewWschod < – 10) then // temperature sensor lower than the Eastern – 10C indicating the large cold and lack of sun heating the sensor on the east side

mulai
RoletyWschod: = false ; / / Bendera untuk membuka jendela Timur
ZamknijRoletyWschod ; / / Fungsi untuk mengirim suatu peristiwa ke eHouse sistem driver
/ / ZamknijMarkizyWschod ; / / Jangan memberikan apa-apa karena matahari terlalu rendah
akhir ;
/ / Tutup sisi tirai barat yang dingin dan kurangnya sinar matahari ke elevasi barat
if (RoletyZachod) maka / / jika terbuka
if (TzewZachod < – 10) then // temperature sensor below the western – 10C indicating the large cold and lack of sun heating the sensor on the west side

mulai
RoletyZachod: = false ; / / Bendera untuk membuka jendela Barat
ZamknijRoletyZachod ; / / Fungsi untuk mengirim suatu peristiwa ke eHouse sistem driver
/ / ZamknijMarkizyZachod ; / / Jangan memberikan apa-apa karena matahari terlalu rendah
akhir ;