Home Automation come la creazione di algoritmi di controllo per sistema eHouse

Building Management eHouse ti permette di creare il vostro proprio overlay (applicazione in esecuzione su un PC server di sistema eHouse) , che rende facile creare i propri algoritmi di programmazione individuali utilizzando il nostro modello EhouseLogAnalizer software per Delphi . Questo software è stato discusso in ” Logs Analyzer casa intelligente eHouse ” un'estensione della funzionalità del sistema eHouse Home Automation .
Con la stabilità di oggi ' ; s PC , e Windows può essere senza soluzione di continuità e il funzionamento continuo del software di gestione intelligente eHouse casa inoltre monitorato dall'applicazione KillExec . exe .
In caso di sospensione del errore di applicazione viene chiusa e riavviata sistema senza intervento dell'utente .
Con una corretta messa a punto di Windows e continuità eHouse sistema può funzionare software intelligente casa sul PC per molti mesi .
Corretto software di scrittura intelligente sistema di controllo domestico richiede misurazioni sequenziali eHouse prove che cambiano (e inviare gli eventi di controllo appropriati, se necessario, – tempo) .
Durante la scrittura di algoritmi di controllo proprio per creare software – bandiere attestano lo svolgimento della manifestazione per non insensatamente invia più volte lo stesso evento: ad esempio , ogni 2 secondi per chiudere tende che sono già chiusi .
Le applicazioni possono essere assegnati a diversi timer:
Prima – Leader come l'aggiornamento del driver di dati 10 secondi .
Un altro – con valori â € <â € <a seconda della variabilità del fenomeno:
ad esempio, . per il controllo di tende , tende da sole per la temperatura esterna e livelli di luce possono essere a pochi minuti .
Nel caso di persiane controllo dell'azionamento , cancelli , marchese , finestre , ecc . può essere utilizzato reed collegati agli ingressi digitali eHouse controllori smart home , prova della loro stretta ed effettuare operazioni di controllo sullo stato di ingresso dati RoomManager , che è molto meglio e più vera di bandiera Sofware , il cui valore può essere impostato in modo errato a causa di errori del software o errori dovuti al disco (non la chiusura della , meccanico , blocco , ecc . ) .

Gli esempi utilizzando i dati dal controller della eHouseLogAnalizer applicazione (in cicli ripetitivi che operano a intervalli di pochi secondi) .

/ / Inizializza i dati della caldaia di controllo HeatManagera
TzewnetrznaPN: = HADC [HM_ZEWNPN] ; / / Esterno Temperatura Nord
TemperaturaGWC: = HADC [HM_GWC] ; / / Temperatura per GWC – Terreno scambiatore di calore per il recuperatore
TemperaturaKominekPlaszcz: = HADC [HM_KOM1] ; / / La temperatura dell'acqua nel sensore camino 1
TemperaturaKominekKonvekcja: = HADC [HM_KOMKONV] ; / Camino a convezione / Temperatura – sensore al camino del lavoro effettivo del camino
TemperaturaKominekPlaszcz: = HADC [HM_KOM2] ; / / Fire acqua sensore di temperatura camicia 2 – (Backup)
TemperaturaWewnÄ ™ trzna: = HADC [HM_TWEWN] ; / / Temperatura interna – per CO
TemperaturaSolar: = HADC [HM_SOLAR] ; / / Temperatura collettore solare tubo di picco (caldo)
TzewnetrznaPD: = HADC [HM_ZEWNPD] ; Temperatura di mezzogiorno / / Esterno
Tkociol: = HADC [HM_KOC] ; / / Caldaia temperatura di picco tubo (caldo)
TemperaturaBuforaCODol: = HADC [HM_BANDOL] ; / / Temperatura CO / serbatoio di acqua calda verso il basso
TemperaturaRecuIn: = HADC [HM_REQIN] ; / / Ingresso recuperatore temperatura aria pulita
TemperaturaRecuOut: = HADC [HM_REQOUT] ; / / Output temperatura dell'aria recuperatore casa
TemperaturaZaworTrojDrozny: = HADC [HM_NAG] ; / / Temperatura regolato a tre – vie come un riscaldatore o per radiatori
TemperaturaRecuWyciog: = HADC [HM_REQWYC] ; / / Estratto temperatura recuperatore della casa aria sporca
TemperaturaBuforaCOGora: = HADC [HM_BANGORA] ; / / Temperatura riscaldamento / serbatoio di acqua calda fino
TemperaturaBuforaCOSrodek: = HADC [HM_BANSRO] ; / / Temperatura riscaldamento / acqua calda Centro serbatoio
/ / Misure dai sensori a RoomManager
TzewWschod: = RMGetTempNr (get_index_rm ( ‘ 55 – 2 ‘ ) , 8) ; / / Esterno Sensore di temperatura a est di RM n . 8 per l'indirizzo 55 – 2
TzewZachod: = RMGetTempNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 8) ; / Sensore / temperatura al di fuori dell'Occidente con No . 8 per RM con l'indirizzo 55 – 3
TzewPolnoc: = RMGetTempNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 8) ; / Sensore / Temperatura di fuori del Nord No . 8 per RM con l'indirizzo 55 – 4
TzewPoludnie: = RMGetTempNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 8) ; / Sensore / di temperatura al di fuori del Sud n . 8 per RM con l'indirizzo 55 – 5
LNaslonecznienieWschod: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 2 ‘ ) , 1) ; / / Il livello di luce ambientale est di sensore No . 1 per RM con l'indirizzo 55 – 2
LNaslonecznienieZachod: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 1) ; / / Sensore di livello luce ambiente West Nessuna . 1 per RM con l'indirizzo 55 – 3
LNaslonecznieniePolnoc: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 1) ; / / Luce ambiente sensore di livello del Nord No . 1 per RM con l'indirizzo 55 – 4
LNaslonecznieniePoludnie: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 1) ; / / Sensore di livello luce ambiente meridionale No . 1 per RM con l'indirizzo 55 – 5
SilaWiatru: =: = RMGetPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 7) ; / / Sensore di livello luce ambiente meridionale No . 1 per RM con l'indirizzo 55 – 5
Algoritmi di controllo può essere arbitraria e può includere uno qualsiasi dei parametri e le misure finora hanno usato e installato alcuni sensori grandezze fisiche .
/ / Algoritmo contenuta nel timer lenta ripetizione tale . ogni 10 minuti
/ / Esempio di energia – efficace controllo di tapparelle e tende da sole (con conseguente significativa riduzione dei costi a causa del sole ' ; s raggi per riscaldare la casa in inverno) e l'accumulo di energia solare libera
/ / Riscaldamento gratuito ed ecologico delle camere sul lato est dell'edificio alla luce solare
se (non RoletyWschod) then / / se non sono più aperti
if (LNaslonecznienieWschod> ; 80), / / ​​se il sole – controllare il valore di empiricamente
if (mese < ; ; 5) e il mese> ; 8) then / / se il mese da settembre ad aprile
if (TzewWschod> ; 0) then / / sensore di temperatura al sole scaldava superiore a 0 ° C
if (ora> ; 8) e (Time < ; ; 11) then / / del mattino, quando il sole splende direttamente da est
iniziare
RoletyWschod: = true ; / / Flag per aprire persiane Est
OtworzRoletyWschod ; / / Funzione di invio di un evento nel sistema i driver eHouse
ZamknijMarkizyWschod ; / / Non dare nulla perché il sole è troppo basso
fine ;
/ / Riscaldamento gratuito ed ecologico delle camere sul lato sud dell'edificio , il sole ' ; s raggi
se (non RoletyPoludnie) then / / se non sono più aperti
if (LNaslonecznieniePolodnie> ; 80), / / ​​se il sole – controllare il valore di empiricamente
if (mese < ; ; 5) e il mese> ; 8) then / / se il mese da settembre ad aprile
if (TzewPoludnie> ; 0) then / / sensore di temperatura al sole scaldava superiore a 0 ° C
if (ora> ; 10) e (Time < ; ; 14) then / / del mattino, quando il sole splende direttamente da sud
iniziare
RoletyPoludnie: = true ; / / Apre il flag persiane meridionale
OtworzRoletyPolodnie ; / / Funzione di invio di un evento nel sistema i driver eHouse
ZamknijMarkizyPolodnie ; / / Non dare nulla perché il sole è troppo basso
fine ;
/ / Riscaldamento gratuito ed ecologico delle camere sul lato ovest del palazzo , il sole ' ; s raggi
se (non RoletyZachod) then / / se non sono più aperti
if (LNaslonecznienieZachod> ; 80), / / ​​se il sole – controllare il valore di empiricamente
if (mese < ; ; 5) e il mese> ; 8) then / / se il mese da settembre ad aprile
if (TzewZachod> ; 0) then / / sensore di temperatura al sole scaldava superiore a 0 ° C
if (ora> ; 14) e (Time < ; ; 18) e poi / / del mattino, quando il sole splende direttamente da ovest
iniziare
RoletyZachod: = true ; / / Flag per aprire persiane occidentale
OtworzRoletyZachod ; / / Funzione di invio di un evento nel sistema i driver eHouse
ZamknijMarkizyZachod ; / / Non dare nulla perché il sole è troppo basso
fine ;
/ / Ecologico ed economico Limitare l'impatto del riscaldamento spazio libero dalla luce del sole in estate – controllo di tende da sole
/ / Controllo tenda – aprire tende a ridurre la radiazione solare e il riscaldamento della casa in estate – est
se (non MarkizaWschodA) then / / se non sono più aperti
if (SilaWiatru < ; ; 5) then / / se non c'è vento
if ((mese> ; 4) e (Mese < ; ; 9)) then / / mesi estivi
if (LNaslonecznienieWschod> ; 50) then / / se il sole splende
if (tempo> ; 6) e (Time < ; ; 12) then / / se le ore del mattino
if (TwewnWschodA> ; 25) then / / se la stanza è troppo caldo
iniziare
MarkizaWschodA: = true ; / / Flag tenda camera aperta A
OtworzMarkizeWchodA ; / / Invia un evento nel sistema i driver eHouse
fine ;
/ / Allo , è possibile replicare il codice per il controllo indipendente di tende da sole in altre aree della facciata orientale di cambiare A ad un valore diverso
/ / Controllo tenda – aprire tende a ridurre la radiazione solare e il riscaldamento della casa nel mezzogiorno d'estate
se (non MarkizaPoludnieA) then / / se non sono più aperti
if (SilaWiatru < ; ; 5) then / / se non c'è vento
if ((mese> ; 4) e (Mese < ; ; 9)) then / / mesi estivi
if (LNaslonecznieniePoludnie> ; 50) then / / se il sole splende
if (ora> ; 8) e (Time < ; ; 18) then / / se l'ora in cui il più difficile Dom opera da sud
if (TwewnPoludnieA> ; 25) then / / se la stanza è troppo caldo
iniziare
MarkizaPoludnieA: = true ; / / Flag tenda camera aperta A
OtworzMarkizePoludnieA ; / / Invia un evento nel sistema i driver eHouse
fine ;
/ / Allo , è possibile replicare il codice per il controllo indipendente di tende da sole in altre aree del prospetto Sud che cambia ad un valore diverso
/ / Controllo tenda – tende aperte per ridurre la radiazione solare e il riscaldamento della casa, nell'estate del lato ovest
se (non MarkizaZachodA) then / / se non sono più aperti
if (SilaWiatru < ; ; 5) then / / se non c'è vento
if ((mese> ; 4) e (Mese < ; ; 9)) then / / mesi estivi
if (LNaslonecznieniePoludnie> ; 50) then / / se il sole splende
if (ora> ; 8) e (Time < ; ; 18) then / / se l'ora in cui il più difficile Dom opera da sud
if (TwewnZachodA> ; 25) then / / se la stanza è troppo caldo
iniziare
MarkizaZachodA: = true ; / / Flag tenda camera aperta A
OtworzMarkizeZachodA ; / / Invia un evento nel sistema i driver eHouse
fine ;
/ / Allo , è possibile replicare il codice per il controllo indipendente di tende da sole in altre aree della facciata occidentale di cambiare A ad un valore diverso
/ / Chiudi il Marchese è troppo vento
if (LNaslonecznieniePoludnie < ; ; 20) then / / se il sole non splende (scelto empiricamente vista pioggia, piogge intense)
if (MarkizaPoludnieA) then / / se tenda aperta
iniziare
MarkizaPoludnieA: = false ; / / Cambia il flag
ZamknijMarkizePoludnieA ; / / Invia eventi al eHouse microprocessore controllori
fine ;
if (LNaslonecznienieZachod < ; ; 20) then / / se il sole non splende (scelto empiricamente)
if (MarkizaZachodA) then / / se tenda aperta
iniziare
MarkizaZachodA: = false ; / / Cambia il flag
ZamknijMarkizeZachodA ; / / Invia eventi al eHouse microprocessore controllori
fine ;
if (LNaslonecznienieWschod < ; ; 20) then / / se il sole non splende (scelto empiricamente)
if (MarkizaWschodA) then / / se tenda aperta
iniziare
MarkizaWschodA: = false ; / / Cambia il flag
ZamknijMarkizeWschodA ; / / Invia eventi al eHouse microprocessore controllori
fine ;
if (SilaWiatru> ; 5) then / / vento per chiudere le persiane
if (MarkizaZachodA o MarkizaWschodA o MarkizaPoludnieA) then / / se si è aperta
iniziare
ZamknijWszystkieMarkizy ; / / Invia un evento nel sistema i driver eHouse
MarkizaZachodA: = false ;
MarkizaWschodA: = false ;
MarkizaPoludnieA: = false ;
fine ;
/ / Chiusura tapparelle controllo automatico della temperatura è troppo bassa per la dissipazione del calore all'esterno attraverso le aperture restrittive fuori dalla finestra
/ / Sud – chiusura per il freddo e la mancanza di sole per il prospetto sud
if (RoletyPoludnie) then / / se è aperto
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

iniziare
RoletyPoludnie: = false ; / / Apre il flag persiane meridionale
ZamknijRoletyPolodnie ; / / Funzione di invio di un evento nel sistema i driver eHouse
/ / ZamknijMarkizyPolodnie ; / / Non dare nulla perché il sole è troppo basso
fine ;
/ / Home tende di chiusura Oriente a freddo e la mancanza di sole per la facciata orientale
if (RoletyWschod) then / / se è aperto
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

iniziare
RoletyWschod: = false ; / / Flag per aprire persiane Est
ZamknijRoletyWschod ; / / Funzione di invio di un evento nel sistema i driver eHouse
/ / ZamknijMarkizyWschod ; / / Non dare nulla perché il sole è troppo basso
fine ;
/ / Chiude il lato occidentale tende il freddo e la mancanza di sole al prospetto ovest
if (RoletyZachod) then / / se è aperto
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

iniziare
RoletyZachod: = false ; / / Flag per aprire persiane occidentale
ZamknijRoletyZachod ; / / Funzione di invio di un evento nel sistema i driver eHouse
/ / ZamknijMarkizyZachod ; / / Non dare nulla perché il sole è troppo basso
fine ;