Home Automation såsom at oprette dine egne styrealgoritmer for systemet eHouse

Building Management eHouse tillader dig at oprette din egen overlay (program, der kører på en pc, som eHouse system server) , hvilket gør det nemt at oprette dine egne individuelle programmering algoritmer ved hjælp af vores software EhouseLogAnalizer skabelon til Delphi . Denne software er blevet diskuteret i ” Logs Analyzer intelligente hjem eHouse ” en forlængelse af systemets funktionalitet eHouse Home Automation .
Med stabilitet dag ' ; s pc'er , og Windows kan være sømløs og uafbrudt drift af det intelligente hjem management software eHouse også overvåget af ansøgningen KillExec . exe .
I tilfælde af suspension af ansøgningen fejl lukkes og startes igen uden brugerens medvirken-system .
Med korrekt opsætning af Windows og systemet eHouse kontinuitet kan arbejde smart home-software på pc'en i mange måneder .
Korrekt skriftligt software smart home kontrolsystem kræver sekventiel testning eHouse skiftende målinger (og sende passende kontrolforanstaltninger events hvis det er nødvendigt – tid) .
Når du skriver dine egne reguleringsalgoritmer at skabe software – flag bevidner gennemførelsen af ​​arrangementet til meningsløst ikke gentagne gange sende den samme begivenhed: for eksempel , hver 2 sekunder for at lukke blinds, der allerede er lukket .
Ansøgninger kan henføres til flere Timers:
Første – Førende såsom opdatering af data driver 10 sekunder .
En anden – med værdier â € <â € <afhængig variation af fænomenet:
fx . til styring af persienner , markiser til udendørs temperatur og lys niveauer kan være et par minutter .
I tilfælde af drev persienner , gates , Marquess , vinduer , etc . kan bruges reed forbindes til de digitale indgange eHouse smart hjem controllere , dokumentation for deres tætte og gøre kontroloperationer om status for input data RoomManager , som er meget bedre og sandere end flag Sofware , hvis værdi kan være indstillet forkert som et resultat af software fejl eller fejl på grund af drevet (ikke lukningen af , mekaniske , blokere , etc . ) .

Eksempler ved hjælp af data fra regulatorer i stævningen eHouseLogAnalizer (i gentagne loops, der opererer med intervaller hver få sekunder) .

/ / Initialiser data fra regulatoren kedlen HeatManagera
TzewnetrznaPN: = HADC [HM_ZEWNPN] ; / / Udetemperatur North
TemperaturaGWC: = HADC [HM_GWC] ; / / Temperatur for GWC – Jorden varmeveksler for rekuperatoren
TemperaturaKominekPlaszcz: = HADC [HM_KOM1] ; / / Temperaturen af ​​vandet i skorstenen 1 sensor
TemperaturaKominekKonvekcja: = HADC [HM_KOMKONV] ; / / Temperatur konvektion pejs – sensor på skorstenen af ​​det faktiske arbejde i pejsen
TemperaturaKominekPlaszcz: = HADC [HM_KOM2] ; / / Fire vandkappe temperatur sensor 2 – (Backup)
TemperaturaWewnÄ ™ trzna: = HADC [HM_TWEWN] ; / / Intern stuetemperatur – for CO
TemperaturaSolar: = HADC [HM_SOLAR] ; / / Temperatur solfanger rør top (hot)
TzewnetrznaPD: = HADC [HM_ZEWNPD] ; / / Udetemperatur middag
Tkociol: = HADC [HM_KOC] ; / / Kedel rør temperatur peak (varm)
TemperaturaBuforaCODol: = HADC [HM_BANDOL] ; / / Temperatur CO / varmtvandsbeholder ned
TemperaturaRecuIn: = HADC [HM_REQIN] ; / / Input rekuperator temperatur ren luft
TemperaturaRecuOut: = HADC [HM_REQOUT] ; / / Output lufttemperatur rekuperator home
TemperaturaZaworTrojDrozny: = HADC [HM_NAG] ; / / Temperatur kontrolleret tre – envejsventil såsom en varmer eller radiatorer
TemperaturaRecuWyciog: = HADC [HM_REQWYC] ; / / Uddrag rekuperator temperatur af huset beskidt luft
TemperaturaBuforaCOGora: = HADC [HM_BANGORA] ; / / Temperatur opvarmning / varmt vand tank op
TemperaturaBuforaCOSrodek: = HADC [HM_BANSRO] ; / / Temperatur opvarmning / varmtvandsbeholder center
/ / Målinger fra følerne til RoomManager
TzewWschod: = RMGetTempNr (get_index_rm ( ‘ 55 – 2 ‘ ) , 8) ; / / Udetemperaturføler øst for RM Nej . 8 for adressen 55 – 2
TzewZachod: = RMGetTempNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 8) ; / / Temperaturføler udenfor Vesten med nr. . 8 til RM med adressen 55 – 3
TzewPolnoc: = RMGetTempNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 8) ; / / Temperaturføler uden for Nord-Nej . 8 til RM med adressen 55 – 4
TzewPoludnie: = RMGetTempNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 8) ; / / Temperaturføler uden for South Nej . 8 til RM med adressen 55 – 5
LNaslonecznienieWschod: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 2 ‘ ) , 1) ; / / Niveauet af omgivende lys øst for sensor nr. . 1 for RM med adressen 55 – 2
LNaslonecznienieZachod: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 1) ; / / Omgivende lys niveausensor West Intet . 1 for RM med adressen 55 – 3
LNaslonecznieniePolnoc: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 1) ; / / Omgivende lys niveausensor North Nej . 1 for RM med adressen 55 – 4
LNaslonecznieniePoludnie: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 1) ; / / Omgivende lys niveausensor Southern Nej . 1 for RM med adressen 55 – 5
SilaWiatru: =: = RMGetPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 7) ; / / Omgivende lys niveausensor Southern Nej . 1 for RM med adressen 55 – 5
Styringsalgoritmer kan være vilkårlig og kan omfatte enhver af de parametre og målinger har hidtil brugt og installeret sensorer visse fysiske størrelser .
/ / Algoritme indeholdt i den langsomme gentagelse timeren sådan . hvert 10. minut
/ / Example af energi – effektiv styring af rulleskodder og markiser (hvilket resulterer i betydelige omkostningsbesparelser på grund af solen ' ; s stråler til at opvarme huset om vinteren) og ophobningen af ​​gratis solenergi
/ / Fri og økologisk opvarmning af værelser på den østlige side af bygningen for sollys
if (ikke RoletyWschod) derefter / / hvis de ikke længere er åben
if (LNaslonecznienieWschod> ; 80) derefter / / hvis solen – kontrollere værdien af ​​empirisk
if (Måned < ; ; 5) og måned> ; 8) derefter / / hvis den måned fra september til april
if (TzewWschod> ; 0) derefter / / temperaturføler i solen varmede højere end 0C
if (Tid> ; 8) og (Time < ; ; 11) derefter / / om morgenen, når solen skinner direkte fra øst
begynde
RoletyWschod: = true ; / / Flag for at åbne skodder East
OtworzRoletyWschod ; / / Funktion for at sende en hændelse til systemet drivere eHouse
ZamknijMarkizyWschod ; / / Giv ikke noget, fordi solen er for lav
ende ;
/ / Fri og økologisk opvarmning af værelser på sydsiden af ​​bygningen , solen ' ; s stråler
if (ikke RoletyPoludnie) derefter / / hvis de ikke længere er åben
if (LNaslonecznieniePolodnie> ; 80) derefter / / hvis solen – kontrollere værdien af ​​empirisk
if (Måned < ; ; 5) og måned> ; 8) derefter / / hvis den måned fra september til april
if (TzewPoludnie> ; 0) derefter / / temperaturføler i solen varmede højere end 0C
hvis (time> ; 10) og (Time < ; ; 14) derefter / / om morgenen, når solen skinner direkte fra syd
begynde
RoletyPoludnie: = true ; / / Åbn skodder sydlige flag
OtworzRoletyPolodnie ; / / Funktion for at sende en hændelse til systemet drivere eHouse
ZamknijMarkizyPolodnie ; / / Giv ikke noget, fordi solen er for lav
ende ;
/ / Fri og økologisk opvarmning af værelser på den vestlige side af bygningen , solen ' ; s stråler
if (ikke RoletyZachod) derefter / / hvis de ikke længere er åben
if (LNaslonecznienieZachod> ; 80) derefter / / hvis solen – kontrollere værdien af ​​empirisk
if (Måned < ; ; 5) og måned> ; 8) derefter / / hvis den måned fra september til april
if (TzewZachod> ; 0) derefter / / temperaturføler i solen varmede højere end 0C
hvis (time> ; 14) og (Time < ; ; 18) derefter / / om morgenen, når solen skinner direkte fra vest
begynde
RoletyZachod: = true ; / / Flag for at åbne skodder Western
OtworzRoletyZachod ; / / Funktion for at sende en hændelse til systemet drivere eHouse
ZamknijMarkizyZachod ; / / Giv ikke noget, fordi solen er for lav
ende ;
/ / Økologiske og økonomiske begrænse virkningerne af fri rumopvarmning af sollys om sommeren – kontrol markiser
/ / Control fortelt – åbne markiser til at reducere solstrålingen og opvarmning af huset i sommeren – øst
if (ikke MarkizaWschodA) derefter / / hvis de ikke længere er åben
if (SilaWiatru < ; ; 5) derefter / / hvis ingen vind
if ((Måned> ; 4) og (Month < ; ; 9)) derefter / / sommer måneder
if (LNaslonecznienieWschod> ; 50) derefter / / hvis solen skinner
if (tid> ; 6) og (Time < ; ; 12) derefter / / hvis timer om morgenen
if (TwewnWschodA> ; 25) derefter / / hvis rummet er for varmt
begynde
MarkizaWschodA: = true ; / / Flag fortelt åbent rum A
OtworzMarkizeWchodA ; / / Send en begivenhed til systemet drivere eHouse
ende ;
/ / Tilsvarende , kan du kopiere koden for uafhængig kontrol af markiser i andre områder af den østlige facade af skiftende A til en anden værdi
/ / Control fortelt – åbne markiser til at reducere solstrålingen og opvarmning af huset i sommeren middag
if (ikke MarkizaPoludnieA) derefter / / hvis de ikke længere er åben
if (SilaWiatru < ; ; 5) derefter / / hvis ingen vind
if ((Måned> ; 4) og (Month < ; ; 9)) derefter / / sommer måneder
if (LNaslonecznieniePoludnie> ; 50) derefter / / hvis solen skinner
if (Tid> ; 8) og (Time < ; ; 18) derefter / / hvis time, hvor solen hårdest opererer fra syd
if (TwewnPoludnieA> ; 25) derefter / / hvis rummet er for varmt
begynde
MarkizaPoludnieA: = true ; / / Flag fortelt åbent rum A
OtworzMarkizePoludnieA ; / / Send en begivenhed til systemet drivere eHouse
ende ;
/ / Tilsvarende , kan du kopiere koden for uafhængig kontrol af markiser i andre områder af det sydlige højde A Skift til en anden værdi
/ / Control fortelt – åbne markiser til at reducere solstrålingen og opvarmning af huset i sommeren west side
if (ikke MarkizaZachodA) derefter / / hvis de ikke længere er åben
if (SilaWiatru < ; ; 5) derefter / / hvis ingen vind
if ((Måned> ; 4) og (Month < ; ; 9)) derefter / / sommer måneder
if (LNaslonecznieniePoludnie> ; 50) derefter / / hvis solen skinner
if (Tid> ; 8) og (Time < ; ; 18) derefter / / hvis time, hvor solen hårdest opererer fra syd
if (TwewnZachodA> ; 25) derefter / / hvis rummet er for varmt
begynde
MarkizaZachodA: = true ; / / Flag fortelt åbent rum A
OtworzMarkizeZachodA ; / / Send en begivenhed til systemet drivere eHouse
ende ;
/ / Tilsvarende , kan du kopiere koden for uafhængig kontrol af markiser på andre områder i den vestlige facade af skiftende A til en anden værdi
/ / Luk Marquis er for meget vind
if (LNaslonecznieniePoludnie < ; ; 20) derefter / / hvis solen ikke skinner (valgt empirisk under Regn og nedbør)
if (MarkizaPoludnieA) derefter / / hvis åben fortelt
begynde
MarkizaPoludnieA: = false ; / / Skift flaget
ZamknijMarkizePoludnieA ; / / Send hændelser til mikroprocessoren controllere eHouse
ende ;
if (LNaslonecznienieZachod < ; ; 20) derefter / / hvis solen ikke skinner (valgt empirisk)
if (MarkizaZachodA) derefter / / hvis åben fortelt
begynde
MarkizaZachodA: = false ; / / Skift flaget
ZamknijMarkizeZachodA ; / / Send hændelser til mikroprocessoren controllere eHouse
ende ;
if (LNaslonecznienieWschod < ; ; 20) derefter / / hvis solen ikke skinner (valgt empirisk)
if (MarkizaWschodA) derefter / / hvis åben fortelt
begynde
MarkizaWschodA: = false ; / / Skift flaget
ZamknijMarkizeWschodA ; / / Send hændelser til mikroprocessoren controllere eHouse
ende ;
if (SilaWiatru> ; 5) derefter / / Wind for at lukke blinds
if (MarkizaZachodA eller MarkizaWschodA eller MarkizaPoludnieA) derefter / / hvis man er åben
begynde
ZamknijWszystkieMarkizy ; / / Send en begivenhed til systemet drivere eHouse
MarkizaZachodA: = false ;
MarkizaWschodA: = false ;
MarkizaPoludnieA: = false ;
ende ;
/ / Lukke skodder automatisk kontrol temperatur er for lav til varme slippe ud gennem de begrænsende åbninger uden for vinduet
/ / South – lukning skodder på den kolde og mangel på sol for den sydlige højde
if (RoletyPoludnie) derefter / / hvis den er åben
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

begynde
RoletyPoludnie: = false ; / / Åbn skodder sydlige flag
ZamknijRoletyPolodnie ; / / Funktion for at sende en hændelse til systemet drivere eHouse
/ / ZamknijMarkizyPolodnie ; / / Giv ikke noget, fordi solen er for lav
ende ;
/ / Forside East lukning blinds på kulde og mangel på sol for den østlige facade
if (RoletyWschod) derefter / / hvis den er åben
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

begynde
RoletyWschod: = false ; / / Flag for at åbne skodder East
ZamknijRoletyWschod ; / / Funktion for at sende en hændelse til systemet drivere eHouse
/ / ZamknijMarkizyWschod ; / / Giv ikke noget, fordi solen er for lav
ende ;
/ / Luk blinds vestside kulde og mangel på sol mod vest højde
if (RoletyZachod) derefter / / hvis den er åben
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

begynde
RoletyZachod: = false ; / / Flag for at åbne skodder Western
ZamknijRoletyZachod ; / / Funktion for at sende en hændelse til systemet drivere eHouse
/ / ZamknijMarkizyZachod ; / / Giv ikke noget, fordi solen er for lav
ende ;