Home Automation, такі як створення власних алгоритмів управління системою EHouse

Управління будівлею EHouse дозволяє вам створити свій власний накладення (додаток, що працює на ПК, який EHouse системи сервера) , яка дозволяє легко створити свій власний індивідуальний алгоритм програмування з використанням нашого програмного забезпечення EhouseLogAnalizer шаблон для Delphi . Ця програма була обговорена в ” Журнали Analyzer розумний будинок EHouse ” розширення функціональності системи EHouse Home Automation .
З стабільності сьогоднішнього ; з ПК , і вікон може бути цілісною і безперервної роботи інтелектуальних EHouse програмного забезпечення для управління будинком також контролюється застосування KillExec . ехе .
У разі призупинення помилка додатка закритий і почав знову без втручання користувача системи .
При правильному настройка Windows, і система EHouse безперервності може працювати інтелектуальне програмне забезпечення вдома на комп'ютері протягом багатьох місяців .
Правильне написання програмного забезпечення інтелектуальна система управління будинком вимагає послідовного тестування EHouse зміни вимірювань (і відправляти відповідні події контролем, якщо це необхідно – час) .
При написанні власних алгоритмів управління для створення програмного забезпечення – Прапори, що свідчать про завершення події безглуздо не раз відправити і ту ж подію: наприклад, , кожні 2 секунди, щоб закрити жалюзі, які вже закриті .
Додатки можуть бути призначені декілька таймерів:
По-перше – Провідні таких як оновлення даних драйверів 10 секунд .
Ще один – зі значеннями â € <â € <в залежності від мінливості явища:
наприклад, . для управління жалюзі , тенти для температури зовнішнього повітря та рівень освітленості може бути декілька хвилин .
У разі керування приводом жалюзі , Ворота , маркіз , вікна , і т.д. . можуть бути використані очерету підключені до цифрових входів EHouse контролери Smart будинку , докази їх близьких і зробити управління операціями на стан вхідних даних RoomManager , який набагато краще і вірніше, ніж прапор Sofware , , Значення якого може бути встановлена ​​неправильно, в результаті помилки в програмному забезпеченні або помилки, пов'язані з диска (а не закриття , механічний , блокувати , і т.д. . ) .

Приклади з використанням даних з контролера в додатку eHouseLogAnalizer (в повторюваних петель, що працюють на інтервали кожні кілька секунд) .

/ / Ініціалізація даних з котла контролер HeatManagera
TzewnetrznaPN: = HADC [HM_ZEWNPN] ; / / Зовнішня температура Північної
TemperaturaGWC: = HADC [HM_GWC] ; / / Температура для GWC – Земля теплообмінник для рекуператора
TemperaturaKominekPlaszcz: = HADC [HM_KOM1] ; / / Температура води в трубі 1 датчик
TemperaturaKominekKonvekcja: = HADC [HM_KOMKONV] ; / / Температура конвекції каміна – датчик в трубу фактичної роботи каміна
TemperaturaKominekPlaszcz: = HADC [HM_KOM2] ; / / Пожежна водяною сорочкою температура датчика 2 – (Backup)
TemperaturaWewnÄ ™ trzna: = HADC [HM_TWEWN] ; / / Внутрішня температура в приміщенні – для CO
TemperaturaSolar: = HADC [HM_SOLAR] ; / / Температура сонячного колектора труби пік (гарячим)
TzewnetrznaPD: = HADC [HM_ZEWNPD] ; / / Зовнішня температура опівдні
Tkociol: = HADC [HM_KOC] ; / / Казана пік трубку температури (гарячої)
TemperaturaBuforaCODol: = HADC [HM_BANDOL] ; / / Температура CO / гарячої води вниз
TemperaturaRecuIn: = HADC [HM_REQIN] ; / / Вхід рекуператора температура чистого повітря
TemperaturaRecuOut: = HADC [HM_REQOUT] ; / / Вивід температури повітря рекуператор будинку
TemperaturaZaworTrojDrozny: = HADC [HM_NAG] ; / / Контроль температури три – ходового клапана, такі як нагрівач або для радіаторів
TemperaturaRecuWyciog: = HADC [HM_REQWYC] ; / / Фрагмент рекуператора температура в будинку брудного повітря
TemperaturaBuforaCOGora: = HADC [HM_BANGORA] ; / / Температури опалення / гарячої води до
TemperaturaBuforaCOSrodek: = HADC [HM_BANSRO] ; / / Температури опалення / гарячого центру резервуар для води
/ / Вимірів від датчиків до RoomManager
TzewWschod: = RMGetTempNr (get_index_rm ( ‘ 55 – 2 ‘ ) , 8) ; / / Відкритий сході датчик температури РМ немає . 8 для адресою 55 – 2
TzewZachod: = RMGetTempNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 8) ; / / Датчик температури за межами Заходу не . 8 для RM з адресою 55 – 3
TzewPolnoc: = RMGetTempNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 8) ; / / Датчик температури за межами Північної Немає . 8 для RM з адресою 55 – 4
TzewPoludnie: = RMGetTempNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 8) ; / / Датчик температури за межами Південної Немає . 8 для RM з адресою 55 – 5
LNaslonecznienieWschod: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 2 ‘ ) , 1) ; / / Рівень освітленості схід від датчика немає . 1 для RM з адресою 55 – 2
LNaslonecznienieZachod: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 1) ; / / Навколишнього світла датчик рівня Заході немає . 1 для RM з адресою 55 – 3
LNaslonecznieniePolnoc: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 1) ; / / Навколишнього світла датчик рівня Північного Немає . 1 для RM з адресою 55 – 4
LNaslonecznieniePoludnie: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 1) ; / / Навколишнього світла датчик рівня Південного Немає . 1 для RM з адресою 55 – 5
SilaWiatru: =: = RMGetPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 7) ; / / Навколишнього світла датчик рівня Південного Немає . 1 для RM з адресою 55 – 5
Алгоритми управління може бути довільним і може включати в себе будь-який з параметрів і вимірів досі використовуються і встановлені датчики певних фізичних величин .
/ / Алгоритм, що містяться в повільному Таймер повторення таких . Кожні 10 хвилин
/ / Приклад енергії – ефективне управління жалюзі і навісів (в результаті значної економії коштів за рахунок сонця ; промені, щоб опалювати будинок взимку) і накопичення вільних сонячної енергії
/ / Безкоштовно і екологічного опалення приміщень на східній стороні будівлі, щоб сонячне світло
якщо (не RoletyWschod), то / / якщо вони більше не є відкритими
якщо (LNaslonecznienieWschod> ; 80), то / / якщо сонце – перевірте значення емпірично
якщо (місяць < ; ; 5) і місяць> ; 8) тоді / / якщо місяць з вересня по квітень
якщо (TzewWschod> ; 0), то / / датчик температури на сонці нагрівається вище, ніж 0C
якщо (Час> ; 8) і (Time < ; ; 11), то / / в той ранок, коли сонце світить прямо зі сходу
почати
RoletyWschod: = True ; / / Прапор, щоб відкрити віконниці Сході
OtworzRoletyWschod ; / / Функція відправки події в EHouse системних драйверів
ZamknijMarkizyWschod ; / / Не давати нічого, бо сонце дуже низько
кінець ;
/ / Безкоштовно і екологічного опалення кімнати на південній стороні будівлі , сонце " ; промені
якщо (не RoletyPoludnie), то / / якщо вони більше не є відкритими
якщо (LNaslonecznieniePolodnie> ; 80), то / / якщо сонце – перевірте значення емпірично
якщо (місяць < ; ; 5) і місяць> ; 8) тоді / / якщо місяць з вересня по квітень
якщо (TzewPoludnie> ; 0), то / / датчик температури на сонці нагрівається вище, ніж 0C
якщо (година> ; 10) і (Time < ; ; 14), то / / в той ранок, коли сонце світить прямо з півдня
почати
RoletyPoludnie: = True ; / / Відкриваємо прапор віконницями південній
OtworzRoletyPolodnie ; / / Функція відправки події в EHouse системних драйверів
ZamknijMarkizyPolodnie ; / / Не давати нічого, бо сонце дуже низько
кінець ;
/ / Безкоштовно і екологічного опалення приміщень на західній стороні будівлі , сонце " ; промені
якщо (не RoletyZachod), то / / якщо вони більше не є відкритими
якщо (LNaslonecznienieZachod> ; 80), то / / якщо сонце – перевірте значення емпірично
якщо (місяць < ; ; 5) і місяць> ; 8) тоді / / якщо місяць з вересня по квітень
якщо (TzewZachod> ; 0), то / / датчик температури на сонці нагрівається вище, ніж 0C
якщо (година> ; 14) і (Time < ; ; 18), то / / в той ранок, коли сонце світить прямо із заходу
почати
RoletyZachod: = True ; / / Прапор, щоб відкрити віконниці західних
OtworzRoletyZachod ; / / Функція відправки події в EHouse системних драйверів
ZamknijMarkizyZachod ; / / Не давати нічого, бо сонце дуже низько
кінець ;
/ / Екологічні та економічні обмеження впливу вільних опалення приміщень від сонячного світла влітку – контроль навіси
/ / Управління тентові – відкрити навіси для зменшення сонячної радіації і нагріву в будинку влітку – на схід
якщо (не MarkizaWschodA), то / / якщо вони більше не є відкритими
якщо (SilaWiatru < ; ; 5), то / / якщо немає вітру
якщо ((місяць> ; 4) і (місяць < ; ; 9)), то / / літні місяці
якщо (LNaslonecznienieWschod> ; 50), то / / якщо сонце світить
якщо (час> ; 6) і (Time < ; ; 12), то / / якщо вранці
якщо (TwewnWschodA> ; 25), то / / якщо в приміщенні дуже тепло
почати
MarkizaWschodA: = True ; / / Прапор тент відкрита кімната
OtworzMarkizeWchodA ; / / Відправити подія в EHouse системних драйверів
кінець ;
/ / Аналогічно , Ви можете копіювати код для незалежного управління навісами та в інших районах східного фасаду змінюється на інше значення
/ / Управління тентові – відкрити навіси для зменшення сонячної радіації і нагріву будинку в літній полудень
якщо (не MarkizaPoludnieA), то / / якщо вони більше не є відкритими
якщо (SilaWiatru < ; ; 5), то / / якщо немає вітру
якщо ((місяць> ; 4) і (місяць < ; ; 9)), то / / літні місяці
якщо (LNaslonecznieniePoludnie> ; 50), то / / якщо сонце світить
якщо (Час> ; 8) і (Time < ; ; 18), то / / якщо годину, в який сонце важке працює з півдня
якщо (TwewnPoludnieA> ; 25), то / / якщо в приміщенні дуже тепло
почати
MarkizaPoludnieA: = True ; / / Прапор тент відкрита кімната
OtworzMarkizePoludnieA ; / / Відправити подія в EHouse системних драйверів
кінець ;
/ / Аналогічно , Ви можете копіювати код для незалежного управління навісами та в інших районах Південної висоти Перехід на інше значення
/ / Управління тентові – відкриті навіси для зменшення сонячної радіації та опалення будинку влітку західної сторони
якщо (не MarkizaZachodA), то / / якщо вони більше не є відкритими
якщо (SilaWiatru < ; ; 5), то / / якщо немає вітру
якщо ((місяць> ; 4) і (місяць < ; ; 9)), то / / літні місяці
якщо (LNaslonecznieniePoludnie> ; 50), то / / якщо сонце світить
якщо (Час> ; 8) і (Time < ; ; 18), то / / якщо годину, в який сонце важке працює з півдня
якщо (TwewnZachodA> ; 25), то / / якщо в приміщенні дуже тепло
почати
MarkizaZachodA: = True ; / / Прапор тент відкрита кімната
OtworzMarkizeZachodA ; / / Відправити подія в EHouse системних драйверів
кінець ;
/ / Аналогічно , Ви можете копіювати код для незалежного управління навісами та в інших областях західного фасаду змінюється на інше значення
/ / Закрити маркіза занадто багато вітру
якщо (LNaslonecznieniePoludnie < ; ; 20), то / / якщо сонце не світить (обраний емпірично Маючи дощу і опадів)
якщо (MarkizaPoludnieA), то / / якщо відкрита тенту
почати
MarkizaPoludnieA: = False ; / / Зміна прапора
ZamknijMarkizePoludnieA ; / / Відправити подій в EHouse мікропроцесорні контролери
кінець ;
якщо (LNaslonecznienieZachod < ; ; 20), то / / якщо сонце не світить (обраний емпірично)
якщо (MarkizaZachodA), то / / якщо відкрита тенту
почати
MarkizaZachodA: = False ; / / Зміна прапора
ZamknijMarkizeZachodA ; / / Відправити подій в EHouse мікропроцесорні контролери
кінець ;
якщо (LNaslonecznienieWschod < ; ; 20), то / / якщо сонце не світить (обраний емпірично)
якщо (MarkizaWschodA), то / / якщо відкрита тенту
почати
MarkizaWschodA: = False ; / / Зміна прапора
ZamknijMarkizeWschodA ; / / Відправити подій в EHouse мікропроцесорні контролери
кінець ;
якщо (SilaWiatru> ; 5), то / / Вітер, щоб закрити жалюзі
якщо (MarkizaZachodA або MarkizaWschodA або MarkizaPoludnieA), то / / якщо воно відкрито
почати
ZamknijWszystkieMarkizy ; / / Відправити подія в EHouse системних драйверів
MarkizaZachodA: = False ;
MarkizaWschodA: = False ;
MarkizaPoludnieA: = False ;
кінець ;
/ / Закриття жалюзі автоматичного регулювання температури є занадто низьким для тепла вирватися назовні через отвори обмежувальні за вікном
/ / Південна – закриття жалюзі на холод і відсутність сонця на південь висоти
якщо (RoletyPoludnie), то / / якщо воно відкрито
якщо (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

почати
RoletyPoludnie: = False ; / / Відкриваємо прапор віконницями південній
ZamknijRoletyPolodnie ; / / Функція відправки події в EHouse системних драйверів
/ / ZamknijMarkizyPolodnie ; / / Не давати нічого, бо сонце дуже низько
кінець ;
/ / Головна Сході закриття жалюзі при холодній і відсутність сонця Східний фасад
якщо (RoletyWschod), то / / якщо воно відкрито
якщо (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

почати
RoletyWschod: = False ; / / Прапор, щоб відкрити віконниці Сході
ZamknijRoletyWschod ; / / Функція відправки події в EHouse системних драйверів
/ / ZamknijMarkizyWschod ; / / Не давати нічого, бо сонце дуже низько
кінець ;
/ / Закрити жалюзі західній стороні холоду та відсутності сонця до заходу висоти
якщо (RoletyZachod), то / / якщо воно відкрито
якщо (TzewZachod < – 10) then // temperature sensor below the western – 10C indicating the large cold and lack of sun heating the sensor on the west side

почати
RoletyZachod: = False ; / / Прапор, щоб відкрити віконниці західних
ZamknijRoletyZachod ; / / Функція відправки події в EHouse системних драйверів
/ / ZamknijMarkizyZachod ; / / Не давати нічого, бо сонце дуже низько
кінець ;