Home Automation cum ar fi crearea de algoritmi de control proprii pentru sistemul eHouse

Clădire de gestionare eHouse vă permite să creați propriul dvs. suprapunere (aplicație care rulează pe un PC care sistemul server de eHouse) , ceea ce îl face ușor de a crea propriile algoritmi individuale de programare folosind șablonul nostru EhouseLogAnalizer software-ul pentru Delphi . Acest software a fost discutat în ” Activitate Analizor inteligent acasă eHouse ” o extindere a funcționalității sistemului eHouse Home Automation .
Cu stabilitatea de astăzi " ; s PC-uri , și Windows poate fi funcționarea fără întreruperi și continuă a eHouse casa inteligenta software de management, de asemenea, monitorizate de aplicare KillExec . exe .
În caz de suspendare a eroare aplicație este închis și a început din nou, fără a sistemului de intervenție de utilizare .
Cu buna înființat de Windows și de continuitate eHouse Sistemul poate lucra software-ul inteligent acasă pe PC-ul pentru mai multe luni .
Corespunzătoare software-ul scris inteligent sistem de control acasă necesită măsurători succesive de testare eHouse schimbătoare (și trimite evenimente de control corespunzătoare, dacă este necesar – timp) .
Când scrieți dvs. algoritmi de control proprii pentru a crea software – steaguri care atestă finalizarea evenimentului a nu trimite în mod repetat fără sens același eveniment: de exemplu, , la fiecare 2 secunde pentru a închide jaluzelele care sunt deja închise .
Cererile pot fi atribuite mai multe Timers:
În primul rând – Leading cum ar fi actualizarea driverul de date 10 secunde .
Un alt – cu valori â € <â € <în funcție de variabilitatea fenomenului:
de exemplu, . pentru controlul de jaluzele , Copertine pentru temperatura exterioară și de nivelul de iluminare poate fi de câteva minute .
În cazul în care blind-uri de control de acționare , porți , marchiză , ferestre , etc . pot fi folosite stuf conectate la intrările digitale eHouse casa inteligentă controlere , dovezi de aproape și de a face operațiunile de control cu ​​privire la starea de introducere a datelor RoomManager , care este mult mai bine și mai adevărat decât pavilionul Programe , a căror valoare poate fi setată incorect ca urmare a bug-uri software sau erori datorate unității (nu închiderea , mecanic , bloca , etc . ) .

Exemple folosind datele de la operatorii din eHouseLogAnalizer cerere (în bucle repetitive care funcționează la intervale la fiecare câteva secunde) .

/ / Initializeaza datele din cazan HeatManagera controler
TzewnetrznaPN: = HADC [HM_ZEWNPN] ; / / Extern Temperatura de Nord
TemperaturaGWC: = HADC [HM_GWC] ; / / Temperatură pentru GWC – Schimbător de căldură sol pentru recuperatorul
TemperaturaKominekPlaszcz: = HADC [HM_KOM1] ; / / Temperatura apei din horn 1 senzor
TemperaturaKominekKonvekcja: = HADC [HM_KOMKONV] ; / / Temperatura de convectie cămin – senzorului la coș de fum de lucru efectiv al șemineu
TemperaturaKominekPlaszcz: = HADC [HM_KOM2] ; / / Jacheta de temperatură apă Senzor de foc 2 – (Backup)
TemperaturaWewnÄ ™ trzna: = HADC [HM_TWEWN] ; / / Intern temperatura camerei – pentru CO
TemperaturaSolar: = HADC [HM_SOLAR] ; / / Temperatura conductei colectoare solare de vârf (la cald)
TzewnetrznaPD: = HADC [HM_ZEWNPD] ; / / În afara temperatura la amiază
Tkociol: = HADC [HM_KOC] ; / / Cazan temperatura vârfului tubului (la cald)
TemperaturaBuforaCODol: = HADC [HM_BANDOL] ; / / Temperatura CO / rezervorul de apă caldă în jos
TemperaturaRecuIn: = HADC [HM_REQIN] ; / / Intrare Recuperatoare de temperatura aerului curat
TemperaturaRecuOut: = HADC [HM_REQOUT] ; / / Ieșire temperatura aerului Recuperatoare de acasă
TemperaturaZaworTrojDrozny: = HADC [HM_NAG] ; / / Temperatura controlat trei – căi, cum ar fi o sursă de încălzire sau pentru radiatoare
TemperaturaRecuWyciog: = HADC [HM_REQWYC] ; / / Extract de temperatura recuperator al casei de aer murdar
TemperaturaBuforaCOGora: = HADC [HM_BANGORA] ; / / Temperatura de încălzire / rezervorul de apă caldă de până
TemperaturaBuforaCOSrodek: = HADC [HM_BANSRO] ; / / Temperatura de încălzire / apă caldă rezervorul de centru
/ / Măsurătorile de la senzorii de la RoomManager
TzewWschod: = RMGetTempNr (get_index_rm ( ‘ 55 – 2 ‘ ) , 8) ; / / În exterior Senzor Temperatura est a RM nr . 8 pentru adresa 55 – 2
TzewZachod: = RMGetTempNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 8) ; / Senzor / Temperatura în afara Vest, cu nr . 8 pentru RM cu adresa 55 – 3
TzewPolnoc: = RMGetTempNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 8) ; / Senzor / Temperatura în afara North nr . 8 pentru RM cu adresa 55 – 4
TzewPoludnie: = RMGetTempNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 8) ; / Senzor / Temperatura în afara South nr . 8 pentru RM cu adresa 55 – 5
LNaslonecznienieWschod: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 2 ‘ ) , 1) ; / / Nivelul de lumina ambientala de est a senzorului nr . 1 pentru RM cu adresa 55 – 2
LNaslonecznienieZachod: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 1) ; / / De lumină ambientală senzor de nivel de Vest nr . 1 pentru RM cu adresa 55 – 3
LNaslonecznieniePolnoc: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 1) ; / / De lumină ambientală senzor de nivel de Nord nr . 1 pentru RM cu adresa 55 – 4
LNaslonecznieniePoludnie: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 1) ; / / De lumină ambientală senzor de nivel de Sud nr . 1 pentru RM cu adresa 55 – 5
SilaWiatru: =: = RMGetPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 7) ; / / De lumină ambientală senzor de nivel de Sud nr . 1 pentru RM cu adresa 55 – 5
Algoritmii de control poate fi arbitrară și poate include oricare din parametrii și măsurătorilor până în prezent s-au folosit și instalat senzori anumite cantități fizice .
/ / Algoritmul conținute în timer-o astfel de reiterare lentă . la fiecare 10 minute
/ / Exemplu de energie – control eficient al rulouri, copertine (rezultând în economii semnificative de costuri datorate soarelui " ; s raze pentru a încălzi casa în timpul iernii) și acumularea de energie solară gratuită
/ / Încălzire gratuit și ecologice de camere pe partea de est a clădirii la lumina soarelui
în cazul în care (nu RoletyWschod), atunci / / în cazul în care nu mai sunt deschise
în cazul în care (LNaslonecznienieWschod> ; 80), apoi / / dacă soarele – verifica valoarea empiric
în cazul în care (Luna < ; ; 5) și luna> ; 8), apoi / / daca lună de la septembrie-aprilie
în cazul în care (TzewWschod> ; 0), apoi Senzor / / temperatura în soare încălzit mai mare decât 0C
în cazul în care (Ora> ; 8) și (Ora < ; ; 11), apoi / / în dimineața, când soarele straluceste direct de la est
începe
RoletyWschod: = true ; / / Flag pentru a deschide obloane de Est
OtworzRoletyWschod ; / / Functia de trimitere a unui eveniment pentru eHouse sistemul de drivere
ZamknijMarkizyWschod ; / / Nu da nimic, pentru că soarele este prea mică
capăt ;
/ / Încălzire gratuit și ecologice de camere pe partea de sud a clădirii , soarelui " ; razele
în cazul în care (nu RoletyPoludnie), atunci / / în cazul în care nu mai sunt deschise
în cazul în care (LNaslonecznieniePolodnie> ; 80), apoi / / dacă soarele – verifica valoarea empiric
în cazul în care (Luna < ; ; 5) și luna> ; 8), apoi / / daca lună de la septembrie-aprilie
în cazul în care (TzewPoludnie> ; 0), apoi Senzor / / temperatura în soare încălzit mai mare decât 0C
în cazul în care (ora> ; 10) și (Ora < ; ; 14), apoi / / în dimineața, când soarele straluceste direct de la sud
începe
RoletyPoludnie: = true ; / / Deschide obloanele de pavilion sud
OtworzRoletyPolodnie ; / / Functia de trimitere a unui eveniment pentru eHouse sistemul de drivere
ZamknijMarkizyPolodnie ; / / Nu da nimic, pentru că soarele este prea mică
capăt ;
/ / Încălzire gratuit și ecologice de camere pe partea de vest a clădirii , soarelui " ; razele
în cazul în care (nu RoletyZachod), atunci / / în cazul în care nu mai sunt deschise
în cazul în care (LNaslonecznienieZachod> ; 80), apoi / / dacă soarele – verifica valoarea empiric
în cazul în care (Luna < ; ; 5) și luna> ; 8), apoi / / daca lună de la septembrie-aprilie
în cazul în care (TzewZachod> ; 0), apoi Senzor / / temperatura în soare încălzit mai mare decât 0C
în cazul în care (ora> ; 14) și (Ora < ; ; 18), apoi / / în dimineața, când soarele straluceste direct de la vest
începe
RoletyZachod: = true ; / / Flag pentru a deschide obloane de Vest
OtworzRoletyZachod ; / / Functia de trimitere a unui eveniment pentru eHouse sistemul de drivere
ZamknijMarkizyZachod ; / / Nu da nimic, pentru că soarele este prea mică
capăt ;
/ / Ecologice și economice Limitarea impactului de încălzire a spațiului liber de lumina soarelui în timpul verii – de control Copertine
/ / De control awning – deschide Copertine pentru a reduce radiația solară și încălzirea casă în timpul verii – est
în cazul în care (nu MarkizaWschodA), atunci / / în cazul în care nu mai sunt deschise
în cazul în care (SilaWiatru < ; ; 5) atunci / / dacă nu vântului
în cazul în care ((Luna> ; 4) și (Luna < ; ; 9)), atunci / / lunile de vară
în cazul în care (LNaslonecznienieWschod> ; 50), apoi / / daca soarele straluceste
în cazul în care (timp> ; 6) și (Ora < ; ; 12), apoi / / daca ore de dimineata
în cazul în care (TwewnWschodA> ; 25), apoi / / daca camera este prea cald
începe
MarkizaWschodA: = true ; / / Steag Tent cameră deschisă A
OtworzMarkizeWchodA ; / / Trimite un eveniment pentru eHouse sistemul de drivere
capăt ;
/ / În mod similar , puteti replica codul de control independent al copertine în alte zone ale fațadei de est a schimba de la A la o valoare diferită
/ / De control awning – deschide Copertine pentru a reduce radiația solară și încălzirea casei în amiaza de vara
în cazul în care (nu MarkizaPoludnieA), atunci / / în cazul în care nu mai sunt deschise
în cazul în care (SilaWiatru < ; ; 5) atunci / / dacă nu vântului
în cazul în care ((Luna> ; 4) și (Luna < ; ; 9)), atunci / / lunile de vară
în cazul în care (LNaslonecznieniePoludnie> ; 50), apoi / / daca soarele straluceste
în cazul în care (Ora> ; 8) și (Ora < ; ; 18), apoi / / daca ora in care cea mai grea soarele funcționează de la sud
în cazul în care (TwewnPoludnieA> ; 25), apoi / / daca camera este prea cald
începe
MarkizaPoludnieA: = true ; / / Steag Tent cameră deschisă A
OtworzMarkizePoludnieA ; / / Trimite un eveniment pentru eHouse sistemul de drivere
capăt ;
/ / În mod similar , puteti replica codul de control independent al copertine în alte zone ale cota de Sud o schimbare la o valoare diferită
/ / De control awning – Copertine deschise pentru a reduce radiația solară și încălzirea casei, în vara anului partea de vest
în cazul în care (nu MarkizaZachodA), atunci / / în cazul în care nu mai sunt deschise
în cazul în care (SilaWiatru < ; ; 5) atunci / / dacă nu vântului
în cazul în care ((Luna> ; 4) și (Luna < ; ; 9)), atunci / / lunile de vară
în cazul în care (LNaslonecznieniePoludnie> ; 50), apoi / / daca soarele straluceste
în cazul în care (Ora> ; 8) și (Ora < ; ; 18), apoi / / daca ora in care cea mai grea soarele funcționează de la sud
în cazul în care (TwewnZachodA> ; 25), apoi / / daca camera este prea cald
începe
MarkizaZachodA: = true ; / / Steag Tent cameră deschisă A
OtworzMarkizeZachodA ; / / Trimite un eveniment pentru eHouse sistemul de drivere
capăt ;
/ / În mod similar , puteti replica codul de control independent al copertine în alte zone ale fatadei de vest a schimba de la A la o valoare diferită
/ / Închidere Marchizul este vântul prea mult
în cazul în care (LNaslonecznieniePoludnie < ; ; 20), apoi / / dacă soarele nu strălucește (ales având în vedere empiric de ploaie și de ploi)
în cazul în care (MarkizaPoludnieA), apoi / / daca este deschisa Tent
începe
MarkizaPoludnieA: = false ; / / Modificarea pavilion
ZamknijMarkizePoludnieA ; / / Trimite evenimente pentru a eHouse microprocesor controlorilor
capăt ;
în cazul în care (LNaslonecznienieZachod < ; ; 20), apoi / / dacă soarele nu strălucește (alese empiric)
în cazul în care (MarkizaZachodA), apoi / / daca este deschisa Tent
începe
MarkizaZachodA: = false ; / / Modificarea pavilion
ZamknijMarkizeZachodA ; / / Trimite evenimente pentru a eHouse microprocesor controlorilor
capăt ;
în cazul în care (LNaslonecznienieWschod < ; ; 20), apoi / / dacă soarele nu strălucește (alese empiric)
în cazul în care (MarkizaWschodA), apoi / / daca este deschisa Tent
începe
MarkizaWschodA: = false ; / / Modificarea pavilion
ZamknijMarkizeWschodA ; / / Trimite evenimente pentru a eHouse microprocesor controlorilor
capăt ;
în cazul în care (SilaWiatru> ; 5) atunci / / vantului pentru a închide blind-urile
în cazul în care (MarkizaZachodA sau MarkizaWschodA sau MarkizaPoludnieA), atunci / / dacă unul este deschis
începe
ZamknijWszystkieMarkizy ; / / Trimite un eveniment pentru eHouse sistemul de drivere
MarkizaZachodA: = false ;
MarkizaWschodA: = false ;
MarkizaPoludnieA: = false ;
capăt ;
/ / Obloane de închidere temperatură de control automat este prea mic pentru a scăpa de căldură în afara prin orificiile restrictive în afara ferestrei
/ / Sud – închiderea obturatoarelor de la frig și lipsa de soare pentru cota de sud
în cazul în care (RoletyPoludnie), apoi / / în cazul în care este deschis
în cazul în care (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

începe
RoletyPoludnie: = false ; / / Deschide obloanele de pavilion sud
ZamknijRoletyPolodnie ; / / Functia de trimitere a unui eveniment pentru eHouse sistemul de drivere
/ / ZamknijMarkizyPolodnie ; / / Nu da nimic, pentru că soarele este prea mică
capăt ;
/ / Acasă Est blind-urile de închidere de la frig și lipsa de soare pentru fatada de Est
în cazul în care (RoletyWschod), apoi / / în cazul în care este deschis
în cazul în care (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

începe
RoletyWschod: = false ; / / Flag pentru a deschide obloane de Est
ZamknijRoletyWschod ; / / Functia de trimitere a unui eveniment pentru eHouse sistemul de drivere
/ / ZamknijMarkizyWschod ; / / Nu da nimic, pentru că soarele este prea mică
capăt ;
/ / Închideți partea de vest jaluzele rece și lipsa de soare pentru cota de vest
în cazul în care (RoletyZachod), apoi / / în cazul în care este deschis
în cazul în care (TzewZachod < – 10) then // temperature sensor below the western – 10C indicating the large cold and lack of sun heating the sensor on the west side

începe
RoletyZachod: = false ; / / Flag pentru a deschide obloane de Vest
ZamknijRoletyZachod ; / / Functia de trimitere a unui eveniment pentru eHouse sistemul de drivere
/ / ZamknijMarkizyZachod ; / / Nu da nimic, pentru că soarele este prea mică
capăt ;