Home Automation som att skapa din egen styralgoritmer för system eHouse

Bygga Hantering eHouse kan du skapa din egen överlägg (program som körs på en PC som eHouse systemet server) , vilket gör det enkelt att skapa egna individuella programmering algoritmer med hjälp av vår mall programvara EhouseLogAnalizer för Delphi . Denna programvara har diskuterats i ” Loggar Analyzer smarta hem eHouse ” en förlängning av systemets funktionalitet eHouse Home Automation .
Med stabiliteten av dagens ; s datorer , och Windows kan vara smidig och kontinuerlig drift av det intelligenta hemmet programvara eHouse också övervakas av ansökan KillExec . exe .
I fråga om upphävande av tillämpningen fel stängs och startas igen utan åtgärder från användaren systemet .
Med rätt inrättandet av Windows och systemet eHouse kontinuitet kan arbeta smart hem programvara på datorn i flera månader .
Korrekt skrivprogram smarta hem system kräver sekventiella tester eHouse förändrade mätningar (och skicka lämpliga kontrollsystem händelser om det behövs – tid) .
När du skriver dina egna styralgoritmer för att skapa programvara – flaggor som styrker att fullborda den händelse att meningslöst inte upprepade gånger skicka samma händelse: till exempel , varje 2 sekunder för att stänga persienner som redan är stängda .
Ansökan kan tilldelas flera Timers:
Först – Ledande exempel uppdatera uppgifterna föraren 10 sekunder .
En annan – med värden â € <â € <beroende på variationen av fenomenet:
t.ex. . för styrning av persienner , markiser för utomhustemperatur och nivåer ljus kan vara några minuter .
I fallet av persienner Drive Control , grindar , Marquess , fönster , etc . kan användas vass anslutas till de digitala ingångarna eHouse smarta hem styrenheter , bevis på deras nära och göra styroperationer om läget i indata RoomManager , som är mycket bättre och sannare än flagga Sofware , vars värde kan vara felaktigt inställd på grund av programvarufel eller fel på grund av den enhet (inte stängningen av , mekanisk , blockera , etc . ) .

Exempel med hjälp av data från regulatorer i programmet eHouseLogAnalizer (i återkommande slingor arbetar i intervaller med några sekunders) .

/ / Initiera data från regulatorn pannan HeatManagera
TzewnetrznaPN: = HADC [HM_ZEWNPN] ; / / Extern Temperatur Norr
TemperaturaGWC: = HADC [HM_GWC] ; / / Temperatur för GWC – Marken värmeväxlare för rekuperatorn
TemperaturaKominekPlaszcz: = HADC [HM_KOM1] ; / / Temperaturen på vattnet i skorstenen 1 sensorn
TemperaturaKominekKonvekcja: = HADC [HM_KOMKONV] ; / / Temperatur konvektion eldstad – sensorn vid skorstenen av den faktiska arbete spisen
TemperaturaKominekPlaszcz: = HADC [HM_KOM2] ; / / Brand vatten jacka temperaturgivare 2 – (Säkerhetskopiering)
TemperaturaWewnÄ ™ trzna: = HADC [HM_TWEWN] ; / / Intern rumstemperatur – för CO
TemperaturaSolar: = HADC [HM_SOLAR] ; / / Temperatur solfångare rör topp (varm)
TzewnetrznaPD: = HADC [HM_ZEWNPD] ; / / Yttertemperaturmätare kl
Tkociol: = HADC [HM_KOC] ; / / Panna rör temperatur topp (varm)
TemperaturaBuforaCODol: = HADC [HM_BANDOL] ; / / Temperatur CO / varmvattenberedare ner
TemperaturaRecuIn: = HADC [HM_REQIN] ; / / Input rekuperator temperatur ren luft
TemperaturaRecuOut: = HADC [HM_REQOUT] ; / / Output lufttemperatur rekuperator hem
TemperaturaZaworTrojDrozny: = HADC [HM_NAG] ; / / Temperaturstyrd tre – vägsventil som ett värmeelement eller för radiatorer
TemperaturaRecuWyciog: = HADC [HM_REQWYC] ; / / Utdrag rekuperator temperatur i huset smutsig luft
TemperaturaBuforaCOGora: = HADC [HM_BANGORA] ; / / Temperatur värme / varmvatten tank upp
TemperaturaBuforaCOSrodek: = HADC [HM_BANSRO] ; / / Temperatur värme / varmvattenberedare centrum
/ / Mätningar från sensorerna till RoomManager
TzewWschod: = RMGetTempNr (get_index_rm ( ‘ 55 – 2 ‘ ) , 8) ; / / Utetemperaturgivare öster om RM Nej . 8 för adressen 55 – 2
TzewZachod: = RMGetTempNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 8) ; / / Temperaturgivare utanför västvärlden med No . 8 för RM med adressen 55 – 3
TzewPolnoc: = RMGetTempNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 8) ; / / Temperaturgivare utanför North Ingen . 8 för RM med adressen 55 – 4
TzewPoludnie: = RMGetTempNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 8) ; / / Temperaturgivare utanför South Ingen . 8 för RM med adressen 55 – 5
LNaslonecznienieWschod: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 2 ‘ ) , 1) ; / / Nivån på omgivande ljus öster om sensorn Nej . 1 för RM med adressen 55 – 2
LNaslonecznienieZachod: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 1) ; / / Omgivande ljus nivågivare West Ingen . 1 för RM med adressen 55 – 3
LNaslonecznieniePolnoc: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 1) ; / / Omgivande ljus nivågivare North Ingen . 1 för RM med adressen 55 – 4
LNaslonecznieniePoludnie: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 1) ; / / Omgivande ljus nivågivare södra Nej . 1 för RM med adressen 55 – 5
SilaWiatru: =: = RMGetPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 7) ; / / Omgivande ljus nivågivare södra Nej . 1 för RM med adressen 55 – 5
Styralgoritmer kan vara godtycklig och kan innefatta någon av parametrarna och mätningar som hittills har använt och installerat sensorer vissa fysikaliska storheter .
/ / Algoritm i den långsamma upprepningen timern sådan . var 10 minuter
/ / Exempel på energi – effektiv kontroll av jalusier och markiser (vilket resulterar i betydande kostnadsbesparingar på grund av solen " ; strålar att värma huset på vintern) och ansamling av solenergi
/ / Fri och ekologiska uppvärmning av rum på östra sidan av byggnaden för solljus
Om (inte RoletyWschod) sedan / / om de inte längre öppna
om (LNaslonecznienieWschod> ; 80) och sedan / / om solen – kontrollera värdet på empiriskt
if (månad < ; ; 5) och månad> ; 8) och sedan / / om månaden från september till april
om (TzewWschod> ; 0) och sedan / / temperaturgivare i solen värmde högre än 0C
if (tid> ; 8) och (Tid < ; ; 11) och sedan / / på morgonen när solen skiner direkt från öster
börja
RoletyWschod: = true ; / / Flagga för att öppna luckor East
OtworzRoletyWschod ; / / Funktion för att skicka en händelse i systemet förare eHouse
ZamknijMarkizyWschod ; / / Ge inte något eftersom solen står för lågt
slut ;
/ / Fri och ekologiska uppvärmning av rum på den södra sidan av byggnaden , solen " ; strålar
Om (inte RoletyPoludnie) sedan / / om de inte längre öppna
om (LNaslonecznieniePolodnie> ; 80) och sedan / / om solen – kontrollera värdet på empiriskt
if (månad < ; ; 5) och månad> ; 8) och sedan / / om månaden från september till april
om (TzewPoludnie> ; 0) och sedan / / temperaturgivare i solen värmde högre än 0C
if (timme> ; 10) och (Tid < ; ; 14) och sedan / / på morgonen när solen skiner direkt från söder
börja
RoletyPoludnie: = true ; / / Öppna fönsterluckorna södra flaggan
OtworzRoletyPolodnie ; / / Funktion för att skicka en händelse i systemet förare eHouse
ZamknijMarkizyPolodnie ; / / Ge inte något eftersom solen står för lågt
slut ;
/ / Fri och ekologiska uppvärmning av rum på den västra sidan av byggnaden , solen " ; strålar
Om (inte RoletyZachod) sedan / / om de inte längre öppna
om (LNaslonecznienieZachod> ; 80) och sedan / / om solen – kontrollera värdet på empiriskt
if (månad < ; ; 5) och månad> ; 8) och sedan / / om månaden från september till april
om (TzewZachod> ; 0) och sedan / / temperaturgivare i solen värmde högre än 0C
if (timme> ; 14) och (Tid < ; ; 18) och sedan / / på morgonen när solen skiner direkt från väst
börja
RoletyZachod: = true ; / / Flagga för att öppna luckor Western
OtworzRoletyZachod ; / / Funktion för att skicka en händelse i systemet förare eHouse
ZamknijMarkizyZachod ; / / Ge inte något eftersom solen står för lågt
slut ;
/ / Ekologiska och ekonomiska begränsa effekterna av fritt uppvärmning av solljus på sommaren – kontroll markiser
/ / Kontroll markis – öppna markiser för att minska solinstrålningen och värma huset under sommaren – öst
Om (inte MarkizaWschodA) sedan / / om de inte längre öppna
om (SilaWiatru < ; ; 5) och sedan / / om ingen vind
if ((månad> ; 4) och (Månad < ; ; 9)) och sedan / / sommarmånaderna
om (LNaslonecznienieWschod> ; 50) och sedan / / om solen skiner
if (tid> ; 6) och (Tid < ; ; 12) och sedan / / om på morgonen
om (TwewnWschodA> ; 25) och sedan / / om rummet är för varmt
börja
MarkizaWschodA: = true ; / / Flagga markis öppet rum A
OtworzMarkizeWchodA ; / / Skicka en händelse i systemet förare eHouse
slut ;
/ / Likaså , Du kan replikera koden för oberoende kontroll av markiser i andra delar av östra fasaden att ändra A till ett annat värde
/ / Kontroll markis – öppna markiser för att minska solinstrålningen och värma huset under sommaren middagstid
Om (inte MarkizaPoludnieA) sedan / / om de inte längre öppna
om (SilaWiatru < ; ; 5) och sedan / / om ingen vind
if ((månad> ; 4) och (Månad < ; ; 9)) och sedan / / sommarmånaderna
om (LNaslonecznieniePoludnie> ; 50) och sedan / / om solen skiner
if (tid> ; 8) och (Tid < ; ; 18) och sedan / / om den timme då solen hårdast arbetar från söder
om (TwewnPoludnieA> ; 25) och sedan / / om rummet är för varmt
börja
MarkizaPoludnieA: = true ; / / Flagga markis öppet rum A
OtworzMarkizePoludnieA ; / / Skicka en händelse i systemet förare eHouse
slut ;
/ / Likaså , Du kan replikera koden för oberoende kontroll av markiser i andra delar av södra höjden en föränderlig till ett annat värde
/ / Kontroll markis – öppna markiser för att minska solinstrålningen och värma huset under sommaren västra sidan
Om (inte MarkizaZachodA) sedan / / om de inte längre öppna
om (SilaWiatru < ; ; 5) och sedan / / om ingen vind
if ((månad> ; 4) och (Månad < ; ; 9)) och sedan / / sommarmånaderna
om (LNaslonecznieniePoludnie> ; 50) och sedan / / om solen skiner
if (tid> ; 8) och (Tid < ; ; 18) och sedan / / om den timme då solen hårdast arbetar från söder
om (TwewnZachodA> ; 25) och sedan / / om rummet är för varmt
börja
MarkizaZachodA: = true ; / / Flagga markis öppet rum A
OtworzMarkizeZachodA ; / / Skicka en händelse i systemet förare eHouse
slut ;
/ / Likaså , Du kan replikera koden för oberoende kontroll av markiser i andra delar av västra fasaden att ändra A till ett annat värde
/ / Stäng markisen är för mycket vind
om (LNaslonecznieniePoludnie < ; ; 20) och sedan / / om solen inte skiner (vald empiriskt ha Regn och regn)
if (MarkizaPoludnieA) sedan / / om öppen markis
börja
MarkizaPoludnieA: = false ; / / Ändra flaggan
ZamknijMarkizePoludnieA ; / / Skicka händelser till mikroprocessorn styrenheter eHouse
slut ;
om (LNaslonecznienieZachod < ; ; 20) och sedan / / om solen inte skiner (vald empiriskt)
if (MarkizaZachodA) sedan / / om öppen markis
börja
MarkizaZachodA: = false ; / / Ändra flaggan
ZamknijMarkizeZachodA ; / / Skicka händelser till mikroprocessorn styrenheter eHouse
slut ;
om (LNaslonecznienieWschod < ; ; 20) och sedan / / om solen inte skiner (vald empiriskt)
if (MarkizaWschodA) sedan / / om öppen markis
börja
MarkizaWschodA: = false ; / / Ändra flaggan
ZamknijMarkizeWschodA ; / / Skicka händelser till mikroprocessorn styrenheter eHouse
slut ;
om (SilaWiatru> ; 5) och sedan / / Wind för att stänga mörkarna
if (MarkizaZachodA eller MarkizaWschodA eller MarkizaPoludnieA) och sedan / / om man är öppen
börja
ZamknijWszystkieMarkizy ; / / Skicka en händelse i systemet förare eHouse
MarkizaZachodA: = false ;
MarkizaWschodA: = false ;
MarkizaPoludnieA: = false ;
slut ;
/ / Utgående fönsterluckor automatik temperaturen är för låg för värmen att fly ut genom de restriktiva öppningarna utanför fönstret
/ / South – stänga luckor vid kyla och brist på solen för södra höjd
if (RoletyPoludnie) och sedan / / om det är öppet
om (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

börja
RoletyPoludnie: = false ; / / Öppna fönsterluckorna södra flaggan
ZamknijRoletyPolodnie ; / / Funktion för att skicka en händelse i systemet förare eHouse
/ / ZamknijMarkizyPolodnie ; / / Ge inte något eftersom solen står för lågt
slut ;
/ / Hem East avslutande mörkar på kyla och brist på solen för östra fasaden
if (RoletyWschod) och sedan / / om det är öppet
om (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

börja
RoletyWschod: = false ; / / Flagga för att öppna luckor East
ZamknijRoletyWschod ; / / Funktion för att skicka en händelse i systemet förare eHouse
/ / ZamknijMarkizyWschod ; / / Ge inte något eftersom solen står för lågt
slut ;
/ / Stäng mörkar västra sidan kylan och brist på sol i väster höjden
if (RoletyZachod) och sedan / / om det är öppet
om (TzewZachod < – 10) then // temperature sensor below the western – 10C indicating the large cold and lack of sun heating the sensor on the west side

börja
RoletyZachod: = false ; / / Flagga för att öppna luckor Western
ZamknijRoletyZachod ; / / Funktion för att skicka en händelse i systemet förare eHouse
/ / ZamknijMarkizyZachod ; / / Ge inte något eftersom solen står för lågt
slut ;