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 ; / / Не давать ничего, потому что солнце слишком низко
конец ;