Home Automation eksempel opprette din egen kontroll algoritmer for system eHouse

Building Management eHouse lar deg lage din egen overlay (applikasjon kjører på en PC som eHouse system server) , som gjør det enkelt å lage dine egne individuelle programmering algoritmer bruker vår programvare EhouseLogAnalizer mal for Delphi . Denne programvaren har blitt diskutert i ” Logger Analyzer smarthus eHouse ” en forlengelse av funksjonaliteten i systemet eHouse Home Automation .
Med stabiliteten av dagens ; s PCer , og Windows kan være sømløs og kontinuerlig drift av intelligente hjem programvare eHouse også overvåket av programmet KillExec . exe .
I tilfelle av suspensjon av søknaden feilen er lukket og startet på nytt uten at brukeren system .
Med riktig oppsett av Windows og system eHouse kontinuitet kan jobbe smart hjem programvare på PC for mange måneder .
Riktig skriving smarthus system krever sekvensiell testing eHouse endrede målinger (og sende kontrollgrupper hendelser hvis nødvendig – tid) .
Når du skriver din egen kontroll algoritmer for å lage programvare – flagg bevitner fullføring av hendelsen til meningsløst ikke gjentatte ganger sender samme hendelse: for eksempel , hvert 2. sekund å lukke persienner som allerede lukket .
Søknader kan tildeles flere Timers:
Første – Ledende eksempel oppdatere data driver 10 sekunder .
En annen – med verdier â € <â € <avhengig variasjon av fenomenet:
f.eks . for styring av persienner , fortelt til utetemperatur og lysnivåer kan være et par minutter .
I tilfelle av diskkontroll persienner , porter , Marquess , vinduer , etc . kan brukes siv koblet til de digitale inngangene eHouse smarthus kontrollere , bevis på nært deres og gjøre kontrolloperasjoner om tilstanden inndata RoomManager , som er mye bedre og sannere enn flagg Sofware , der verdien kan settes feil som følge av programvarefeil eller feil som følge av stasjonen (ikke nedleggelsen av , mekanisk , blokkere , etc . ) .

Eksempler hjelp av data fra kontrollerne i søknaden eHouseLogAnalizer (i repeterende looper opererer i intervaller med noen sekunders) .

/ / Initialiser data fra kontrolleren kjele HeatManagera
TzewnetrznaPN: = HADC [HM_ZEWNPN] ; / / Ekstern temperatur Nord
TemperaturaGWC: = HADC [HM_GWC] ; / / Temperatur for GWC – Bakken varmeveksler for recuperator
TemperaturaKominekPlaszcz: = HADC [HM_KOM1] ; / / Temperaturen av vannet i skorsteinen 1 sensor
TemperaturaKominekKonvekcja: = HADC [HM_KOMKONV] ; / / Temperatur konveksjon peis – sensoren skorsteinen av selve arbeidet av peisen
TemperaturaKominekPlaszcz: = HADC [HM_KOM2] ; / / Brann vannkappe temperatur sensor 2 – (Backup)
TemperaturaWewnÄ ™ trzna: = HADC [HM_TWEWN] ; / / Intern romtemperatur – for CO
TemperaturaSolar: = HADC [HM_SOLAR] ; / / Temperatur solfanger rør topp (hot)
TzewnetrznaPD: = HADC [HM_ZEWNPD] ; / / Utetemperaturmåler middag
Tkociol: = HADC [HM_KOC] ; / / Boiler tube temperatur peak (varme)
TemperaturaBuforaCODol: = HADC [HM_BANDOL] ; / / Temperatur CO / varmtvannsbereder ned
TemperaturaRecuIn: = HADC [HM_REQIN] ; / / Input recuperator temperatur ren luft
TemperaturaRecuOut: = HADC [HM_REQOUT] ; / / Output lufttemperatur recuperator hjem
TemperaturaZaworTrojDrozny: = HADC [HM_NAG] ; / / Frysetrailer tre – veisventil eksempel en varmer eller for radiatorer
TemperaturaRecuWyciog: = HADC [HM_REQWYC] ; / / Extract recuperator temperatur i huset skitne luften
TemperaturaBuforaCOGora: = HADC [HM_BANGORA] ; / / Temperatur oppvarming / varmtvann tank opp
TemperaturaBuforaCOSrodek: = HADC [HM_BANSRO] ; / / Temperatur oppvarming / varmtvann tank sentrum
/ / Mål fra sensorene til RoomManager
TzewWschod: = RMGetTempNr (get_index_rm ( ‘ 55 – 2 ‘ ) , 8) ; / / Utetemperaturføler øst for RM Ingen . 8 for adressen 55 – 2
TzewZachod: = RMGetTempNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 8) ; / / Temperaturføler utenfor Vesten med No . 8 for RM med adressen 55 – 3
TzewPolnoc: = RMGetTempNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 8) ; / / Temperaturføler utenfor Nord Nei . 8 for RM med adressen 55 – 4
TzewPoludnie: = RMGetTempNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 8) ; / / Temperaturføler utenfor South Ingen . 8 for RM med adressen 55 – 5
LNaslonecznienieWschod: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 2 ‘ ) , 1) ; / / Nivået av omgivelseslys øst for sensor Nei . 1 for RM med adressen 55 – 2
LNaslonecznienieZachod: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 1) ; / / Lysnivået sensor West Ingen . 1 for RM med adressen 55 – 3
LNaslonecznieniePolnoc: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 1) ; / / Lysnivået sensor North Ingen . 1 for RM med adressen 55 – 4
LNaslonecznieniePoludnie: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 1) ; / / Lysnivået sensor Southern Ingen . 1 for RM med adressen 55 – 5
SilaWiatru: =: = RMGetPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 7) ; / / Lysnivået sensor Southern Ingen . 1 for RM med adressen 55 – 5
Reguleringsalgoritmer kan være vilkårlig og kan inneholde noen av parametrene og målinger så langt har brukt og installert sensorer visse fysiske størrelser .
/ / Algorithm inneholdt i den langsomme repetisjon timer slik . hvert 10. minutt
/ / Eksempel på energi – effektiv kontroll av persienner og markiser (som resulterer i betydelige kostnadsbesparelser på grunn av solen ' ; s stråler for å varme opp huset om vinteren) og akkumulering av gratis solenergi
/ / Gratis og økologisk oppvarming av rom på østsiden av bygningen for sollys
if (ikke RoletyWschod) / deretter / hvis de ikke lenger er åpen
if (LNaslonecznienieWschod> ; 80) / deretter / hvis solen – sjekke verdien av empirisk
if (måned < ; ; 5) og måned> ; 8) deretter / / om måneden fra september til april
if (TzewWschod> ; 0) og deretter / / temperaturføler i solen varmet høyere enn 0C
if (Tid> ; 8) og (Time < ; ; 11) deretter / / i morgen når solen skinner direkte fra øst
begynne
RoletyWschod: = true ; / / Flagg for å åpne skodder Øst
OtworzRoletyWschod ; / / Funksjon for å sende en hendelse til systemloggen drivere eHouse
ZamknijMarkizyWschod ; / / Ikke gi noe fordi solen er for lav
end ;
/ / Gratis og økologisk oppvarming av rom på sørsiden av bygningen , solen ' ; stråler
if (ikke RoletyPoludnie) / deretter / hvis de ikke lenger er åpen
if (LNaslonecznieniePolodnie> ; 80) / deretter / hvis solen – sjekke verdien av empirisk
if (måned < ; ; 5) og måned> ; 8) deretter / / om måneden fra september til april
if (TzewPoludnie> ; 0) og deretter / / temperaturføler i solen varmet høyere enn 0C
if (time> ; 10) og (Time < ; ; 14) deretter / / i morgen når solen skinner direkte fra sør
begynne
RoletyPoludnie: = true ; / / Åpne skodder sørlige flagg
OtworzRoletyPolodnie ; / / Funksjon for å sende en hendelse til systemloggen drivere eHouse
ZamknijMarkizyPolodnie ; / / Ikke gi noe fordi solen er for lav
end ;
/ / Gratis og økologisk oppvarming av rom på vestsiden av bygningen , solen ' ; stråler
if (ikke RoletyZachod) / deretter / hvis de ikke lenger er åpen
if (LNaslonecznienieZachod> ; 80) / deretter / hvis solen – sjekke verdien av empirisk
if (måned < ; ; 5) og måned> ; 8) deretter / / om måneden fra september til april
if (TzewZachod> ; 0) og deretter / / temperaturføler i solen varmet høyere enn 0C
if (time> ; 14) og (Time < ; ; 18) deretter / / i morgen når solen skinner direkte fra vest
begynne
RoletyZachod: = true ; / / Flagg for å åpne skodder Western
OtworzRoletyZachod ; / / Funksjon for å sende en hendelse til systemloggen drivere eHouse
ZamknijMarkizyZachod ; / / Ikke gi noe fordi solen er for lav
end ;
/ / Økologiske og økonomiske Begrense virkningen av ledig plass oppvarming av sollys i sommer – kontroll markiser
/ / Control markise – åpne markiser for å redusere solstråling og varme opp huset i sommer – øst
if (ikke MarkizaWschodA) / deretter / hvis de ikke lenger er åpen
if (SilaWiatru < ; ; 5) / deretter / hvis ingen vind
if ((måned> ; 4) og (måned < ; ; 9)) deretter / / sommeren
if (LNaslonecznienieWschod> ; 50) deretter / / hvis solen skinner
if (tid> ; 6) og (Time < ; ; 12) deretter / / hvis timer om morgenen
if (TwewnWschodA> ; 25) deretter / / hvis rommet er for varmt
begynne
MarkizaWschodA: = true ; / / Flagg markise åpent rom A
OtworzMarkizeWchodA ; / / Send en hendelse til systemet drivere eHouse
end ;
/ / Tilsvarende , du kan gjenskape koden for uavhengig kontroll av fortelt i andre områder av den østlige fasaden endre A til en annen verdi
/ / Control markise – åpne markiser for å redusere solstråling og oppvarming av huset i sommer middag
if (ikke MarkizaPoludnieA) / deretter / hvis de ikke lenger er åpen
if (SilaWiatru < ; ; 5) / deretter / hvis ingen vind
if ((måned> ; 4) og (måned < ; ; 9)) deretter / / sommeren
if (LNaslonecznieniePoludnie> ; 50) deretter / / hvis solen skinner
if (Tid> ; 8) og (Time < ; ; 18) deretter / / hvis den timen hvor solen hardest opererer fra sør
if (TwewnPoludnieA> ; 25) deretter / / hvis rommet er for varmt
begynne
MarkizaPoludnieA: = true ; / / Flagg markise åpent rom A
OtworzMarkizePoludnieA ; / / Send en hendelse til systemet drivere eHouse
end ;
/ / Tilsvarende , du kan gjenskape koden for uavhengig kontroll av fortelt i andre områder av Sør høyde A skifter til en annen verdi
/ / Control markise – åpne markiser for å redusere solstråling og oppvarming av huset i løpet av sommeren vestsiden
if (ikke MarkizaZachodA) / deretter / hvis de ikke lenger er åpen
if (SilaWiatru < ; ; 5) / deretter / hvis ingen vind
if ((måned> ; 4) og (måned < ; ; 9)) deretter / / sommeren
if (LNaslonecznieniePoludnie> ; 50) deretter / / hvis solen skinner
if (Tid> ; 8) og (Time < ; ; 18) deretter / / hvis den timen hvor solen hardest opererer fra sør
if (TwewnZachodA> ; 25) deretter / / hvis rommet er for varmt
begynne
MarkizaZachodA: = true ; / / Flagg markise åpent rom A
OtworzMarkizeZachodA ; / / Send en hendelse til systemet drivere eHouse
end ;
/ / Tilsvarende , du kan gjenskape koden for uavhengig kontroll av fortelt i andre områder av den vestlige fasaden endre A til en annen verdi
/ / Lukk Marquis er for mye vind
if (LNaslonecznieniePoludnie < ; ; 20) deretter / / hvis solen ikke skinner (valgt empirisk ha Regn og nedbør)
if (MarkizaPoludnieA) deretter / / hvis åpen markise
begynne
MarkizaPoludnieA: = false ; / / Endre flagget
ZamknijMarkizePoludnieA ; / / Send hendelser til mikroprosessoren kontrollere eHouse
end ;
if (LNaslonecznienieZachod < ; ; 20) deretter / / hvis solen ikke skinner (valgt empirisk)
if (MarkizaZachodA) deretter / / hvis åpen markise
begynne
MarkizaZachodA: = false ; / / Endre flagget
ZamknijMarkizeZachodA ; / / Send hendelser til mikroprosessoren kontrollere eHouse
end ;
if (LNaslonecznienieWschod < ; ; 20) deretter / / hvis solen ikke skinner (valgt empirisk)
if (MarkizaWschodA) deretter / / hvis åpen markise
begynne
MarkizaWschodA: = false ; / / Endre flagget
ZamknijMarkizeWschodA ; / / Send hendelser til mikroprosessoren kontrollere eHouse
end ;
if (SilaWiatru> ; 5) deretter / / Wind å lukke blinds
if (MarkizaZachodA eller MarkizaWschodA eller MarkizaPoludnieA) deretter / / hvis man er åpen
begynne
ZamknijWszystkieMarkizy ; / / Send en hendelse til systemet drivere eHouse
MarkizaZachodA: = false ;
MarkizaWschodA: = false ;
MarkizaPoludnieA: = false ;
end ;
/ / Regnskapstallene skodder automatikk temperatur er for lav for varmen å unnslippe utenfor gjennom restriktive åpninger utenfor vinduet
/ / Sør – lukke skodder på kulde og mangel på sol for Sør høyde
if (RoletyPoludnie) deretter / / hvis den er åpen
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

begynne
RoletyPoludnie: = false ; / / Åpne skodder sørlige flagg
ZamknijRoletyPolodnie ; / / Funksjon for å sende en hendelse til systemloggen drivere eHouse
/ / ZamknijMarkizyPolodnie ; / / Ikke gi noe fordi solen er for lav
end ;
/ / Hjem East avsluttende blinds på kulde og mangel på sol for den østlige fasaden
if (RoletyWschod) deretter / / hvis den er åpen
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

begynne
RoletyWschod: = false ; / / Flagg for å åpne skodder Øst
ZamknijRoletyWschod ; / / Funksjon for å sende en hendelse til systemloggen drivere eHouse
/ / ZamknijMarkizyWschod ; / / Ikke gi noe fordi solen er for lav
end ;
/ / Lukk blinds vestsiden kulde og mangel på sol i vest høyde
if (RoletyZachod) deretter / / hvis den er åpen
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

begynne
RoletyZachod: = false ; / / Flagg for å åpne skodder Western
ZamknijRoletyZachod ; / / Funksjon for å sende en hendelse til systemloggen drivere eHouse
/ / ZamknijMarkizyZachod ; / / Ikke gi noe fordi solen er for lav
end ;