Domótica, tais como a criação de seus próprios algoritmos de controle para sistema eHouse

Gestão de Edifícios Ehouse permite que você crie sua própria superposição (aplicação rodando em um PC que servidor do sistema Ehouse) , que torna mais fácil para criar seus próprios algoritmos de programação individuais, usando o nosso modelo de EhouseLogAnalizer software para Delphi . Este software tem sido discutida em ” Logs Analyzer casa inteligente eHouse ” uma extensão da funcionalidade do sistema eHouse Domótica .
Com a estabilidade de hoje ; PCs s , e Windows pode ser a operação perfeita e contínua do software inteligente eHouse casa gestão também monitorado pela aplicação KillExec . exe .
No caso de suspensão do erro de aplicação é fechada e começou mais uma vez sem a intervenção do utilizador do sistema .
Com o ajuste correto do Windows e continuidade eHouse sistema pode trabalhar de casa inteligente software no PC por muitos meses .
Apropriada escrita software sistema de controle inteligente em casa exige medições de ensaio sequencial eHouse mudança (e enviar eventos de controlo adequadas, se necessário – tempo) .
Ao escrever seus próprios algoritmos de controle para criar software – bandeiras que atestem a conclusão de que o evento não senselessly enviar repetidamente o mesmo evento, por exemplo: , a cada 2 segundos para fechar as cortinas que já estão fechados .
Os aplicativos podem ser atribuídos a vários temporizadores:
Primeiro – Levando, como a atualização do driver de dados 10 segundo .
Outro – com valores â € <â € <dependendo da variabilidade do fenômeno:
por exemplo . para controle de persianas , toldos de temperatura exterior e os níveis de luz pode ser de alguns minutos .
No caso de estores de controlo do conversor , portões , marquês , Windows , etc . pode ser usado reed conectado às entradas digitais eHouse controladores de casa inteligente , provas da sua estreita e tornar as operações de controlo sobre o estado da entrada de dados RoomManager , que é muito melhor e mais verdadeiro do que bandeira Sofware , cujo valor pode ser configurado incorretamente como resultado de erros de software ou erros devido à unidade (não o fechamento do , mecânico , bloquear , etc . ) .

Exemplos utilizando dados de controladores no eHouseLogAnalizer aplicação (em loops repetitivos que operam em intervalos a cada poucos segundos) .

/ / Inicializar os dados a partir do controlador de caldeira HeatManagera
TzewnetrznaPN: = HADC [HM_ZEWNPN] ; / / Externo Temperatura do Norte
TemperaturaGWC: = HADC [HM_GWC] ; / / Temperatura para GWC – Permutador de calor para o terreno Recuperador
TemperaturaKominekPlaszcz: = HADC [HM_KOM1] ; / / A temperatura da água no sensor uma chaminé
TemperaturaKominekKonvekcja: = HADC [HM_KOMKONV] ; / Lareira convecção / Temperatura – sensor na chaminé do trabalho real da lareira
TemperaturaKominekPlaszcz: = HADC [HM_KOM2] ; / / Fogo de água sensor de temperatura jaqueta 2 – (Backup)
TemperaturaWewnÄ ™ trzna: = HADC [HM_TWEWN] ; / / Temperatura ambiente interna – para o CO
TemperaturaSolar: = HADC [HM_SOLAR] ; / Temperatura / coletor solar tubo de pico (quente)
TzewnetrznaPD: = HADC [HM_ZEWNPD] ; Meio-dia, a temperatura / / Fora
Tkociol: = HADC [HM_KOC] ; / Pico de temperatura / Caldeira tubo (quente)
TemperaturaBuforaCODol: = HADC [HM_BANDOL] ; / Temperatura / CO / tanque de água quente para baixo
TemperaturaRecuIn: = HADC [HM_REQIN] ; / / Entrada temperatura Recuperador de ar limpo
TemperaturaRecuOut: = HADC [HM_REQOUT] ; / / Output temperatura do ar Recuperador casa
TemperaturaZaworTrojDrozny: = HADC [HM_NAG] ; / / Temperatura controlada três – válvula de forma, tal como um aquecedor ou para radiadores
TemperaturaRecuWyciog: = HADC [HM_REQWYC] ; / / Extrato de temperatura Recuperador de ar sujo casa
TemperaturaBuforaCOGora: = HADC [HM_BANGORA] ; / Temperatura / aquecimento / tanque de água quente até
TemperaturaBuforaCOSrodek: = HADC [HM_BANSRO] ; / Temperatura / aquecimento / Centro de tanque de água quente
/ / Medidas dos sensores para RoomManager
TzewWschod: = RMGetTempNr (get_index_rm ( ‘ 55 – 2 ‘ ) , 8) ; / / Leste sensor externo de temperatura de RM Não . 8 para o endereço 55 – 2
TzewZachod: = RMGetTempNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 8) ; / Sensor / Temperatura fora do Ocidente com o No . 8 de RM com o endereço 55 – 3
TzewPolnoc: = RMGetTempNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 8) ; / Sensor / Temperatura fora North Nenhuma . 8 de RM com o endereço 55 – 4
TzewPoludnie: = RMGetTempNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 8) ; / Sensor / Temperatura fora do Sul Não . 8 de RM com o endereço 55 – 5
LNaslonecznienieWschod: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 2 ‘ ) , 1) ; / / O nível de luz ambiente leste de sensor Não . 1 para RM com o endereço 55 – 2
LNaslonecznienieZachod: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 1) ; / / Sensor de luz ambiente nível West Nenhuma . 1 para RM com o endereço 55 – 3
LNaslonecznieniePolnoc: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 1) ; / / Sensor de luz ambiente nível North Nenhuma . 1 para RM com o endereço 55 – 4
LNaslonecznieniePoludnie: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 1) ; / / Sensor de luz ambiente nível sul Não . 1 para RM com o endereço 55 – 5
SilaWiatru: =: = RMGetPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 7) ; / / Sensor de luz ambiente nível sul Não . 1 para RM com o endereço 55 – 5
Algoritmos de controlo pode ser arbitrária e pode incluir qualquer um dos parâmetros e as medidas até agora utilizados e instalados sensores de certas grandezas físicas .
/ Algoritmo / contido no temporizador repetição tão lenta . a cada 10 minutos
Exemplo / / de energia – controle eficiente de estores e toldos (resultando em economias de custo significativas devido ao sol ' ; raios s para aquecer a casa no inverno) ea acumulação de energia solar livre
/ Aquecimento / Free e ecológico de quartos no lado leste do edifício à luz solar
se (não RoletyWschod), então / / se eles não estão mais abertos
if (LNaslonecznienieWschod> ; 80) then / / se o sol – verificar o valor do empiricamente
if (Mês < ; ; 5) meses e> ; 8) then / / se o mês de setembro a abril
if (TzewWschod> ; 0) sensor de então / / temperatura no sol aquecia superior 0C
if (hora> ; 8) e (Time < ; ; 11) então / / de manhã, quando o sol brilha diretamente do leste
começar
RoletyWschod: = true ; / / Flag para abrir persianas Oriente
OtworzRoletyWschod ; / / Função de envio de um evento para o sistema eHouse motoristas
ZamknijMarkizyWschod ; / / Não dar nada, porque o sol é muito baixo
final ;
/ Aquecimento / Free e ecológico de quartos no lado sul do edifício , o sol ' ; s raios
se (não RoletyPoludnie), então / / se eles não estão mais abertos
if (LNaslonecznieniePolodnie> ; 80) then / / se o sol – verificar o valor do empiricamente
if (Mês < ; ; 5) meses e> ; 8) then / / se o mês de setembro a abril
if (TzewPoludnie> ; 0) sensor de então / / temperatura no sol aquecia superior 0C
if (hora> ; 10) e (Time < ; ; 14) então / / de manhã, quando o sol brilha diretamente do sul
começar
RoletyPoludnie: = true ; / / Abra as janelas de bandeira sul
OtworzRoletyPolodnie ; / / Função de envio de um evento para o sistema eHouse motoristas
ZamknijMarkizyPolodnie ; / / Não dar nada, porque o sol é muito baixo
final ;
/ Aquecimento / Free e ecológico de quartos no lado oeste do edifício , o sol ' ; s raios
se (não RoletyZachod), então / / se eles não estão mais abertos
if (LNaslonecznienieZachod> ; 80) then / / se o sol – verificar o valor do empiricamente
if (Mês < ; ; 5) meses e> ; 8) then / / se o mês de setembro a abril
if (TzewZachod> ; 0) sensor de então / / temperatura no sol aquecia superior 0C
if (hora> ; 14) e (Time < ; ; 18) então / / de manhã, quando o sol brilha diretamente do oeste
começar
RoletyZachod: = true ; / / Flag para abrir persianas Ocidental
OtworzRoletyZachod ; / / Função de envio de um evento para o sistema eHouse motoristas
ZamknijMarkizyZachod ; / / Não dar nada, porque o sol é muito baixo
final ;
/ / Ecológico e Econômico Limitar o impacto do aquecimento de espaço livre pela luz solar no verão – toldos de controle
/ Control / toldo – abrir toldos para reduzir a radiação solar e aquecer a casa no verão – leste
se (não MarkizaWschodA), então / / se eles não estão mais abertos
if (SilaWiatru < ; ; 5) então / / se não há vento
if ((mês> ; 4) e (Mês < ; ; 9)) verão, então / / mês
if (LNaslonecznienieWschod> ; 50) then / / se o sol brilha
if (hora> ; 6) e (Time < ; ; 12) então / / se horas da manhã
if (TwewnWschodA> ; 25) then / / se o quarto é quente demais
começar
MarkizaWschodA: = true ; / Bandeira / toldo Uma sala aberta
OtworzMarkizeWchodA ; / / Envia um evento para o sistema eHouse motoristas
final ;
/ / Similarmente , é possível replicar o código para o controle independente de toldos em outras áreas da fachada oriental de mudar para um valor diferente
/ Control / toldo – abrir toldos para reduzir a radiação solar e aquecer a casa ao meio-dia de verão
se (não MarkizaPoludnieA), então / / se eles não estão mais abertos
if (SilaWiatru < ; ; 5) então / / se não há vento
if ((mês> ; 4) e (Mês < ; ; 9)) verão, então / / mês
if (LNaslonecznieniePoludnie> ; 50) then / / se o sol brilha
if (hora> ; 8) e (Time < ; ; 18) then / / se a hora em que o mais difícil dom opera desde o sul
if (TwewnPoludnieA> ; 25) then / / se o quarto é quente demais
começar
MarkizaPoludnieA: = true ; / Bandeira / toldo Uma sala aberta
OtworzMarkizePoludnieA ; / / Envia um evento para o sistema eHouse motoristas
final ;
/ / Similarmente , é possível replicar o código para o controle independente de toldos em outras áreas da elevação do Sul A Alterando a um valor diferente
/ Control / toldo – toldos abertos para reduzir a radiação solar e aquecer a casa no verão de lado oeste
se (não MarkizaZachodA), então / / se eles não estão mais abertos
if (SilaWiatru < ; ; 5) então / / se não há vento
if ((mês> ; 4) e (Mês < ; ; 9)) verão, então / / mês
if (LNaslonecznieniePoludnie> ; 50) then / / se o sol brilha
if (hora> ; 8) e (Time < ; ; 18) then / / se a hora em que o mais difícil dom opera desde o sul
if (TwewnZachodA> ; 25) then / / se o quarto é quente demais
começar
MarkizaZachodA: = true ; / Bandeira / toldo Uma sala aberta
OtworzMarkizeZachodA ; / / Envia um evento para o sistema eHouse motoristas
final ;
/ / Similarmente , é possível replicar o código para o controle independente de toldos em outras áreas da fachada ocidental de mudar para um valor diferente
/ / Fechar o marquês é muito vento
if (LNaslonecznieniePoludnie < ; ; 20) then / / se o sol não brilha (escolhido empiricamente Tendo Chuva e chuva)
if (MarkizaPoludnieA), então / / se toldo aberto
começar
MarkizaPoludnieA: = false ; / / Muda a bandeira
ZamknijMarkizePoludnieA ; / / Enviar eventos para o eHouse controladores microprocessador
final ;
if (LNaslonecznienieZachod < ; ; 20) then / / se o sol não brilha (escolhido empiricamente)
if (MarkizaZachodA), então / / se toldo aberto
começar
MarkizaZachodA: = false ; / / Muda a bandeira
ZamknijMarkizeZachodA ; / / Enviar eventos para o eHouse controladores microprocessador
final ;
if (LNaslonecznienieWschod < ; ; 20) then / / se o sol não brilha (escolhido empiricamente)
if (MarkizaWschodA), então / / se toldo aberto
começar
MarkizaWschodA: = false ; / / Muda a bandeira
ZamknijMarkizeWschodA ; / / Enviar eventos para o eHouse controladores microprocessador
final ;
if (SilaWiatru> ; 5) então / / Vento para fechar as cortinas
if (MarkizaZachodA ou MarkizaWschodA ou MarkizaPoludnieA), então / / se um está aberto
começar
ZamknijWszystkieMarkizy ; / / Envia um evento para o sistema eHouse motoristas
MarkizaZachodA: = false ;
MarkizaWschodA: = false ;
MarkizaPoludnieA: = false ;
final ;
/ / Persianas de fechamento de controle automático de temperatura é muito baixa para o exterior o calor de escapar através das aberturas restritivas fora da janela
/ / Sul – fechar persianas com o frio ea falta de sol para a elevação sul
if (RoletyPoludnie) then / / se ele estiver aberto
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

começar
RoletyPoludnie: = false ; / / Abra as janelas de bandeira sul
ZamknijRoletyPolodnie ; / / Função de envio de um evento para o sistema eHouse motoristas
/ / ZamknijMarkizyPolodnie ; / / Não dar nada, porque o sol é muito baixo
final ;
/ / Início do Leste cortinas fechando em frio e falta de sol para a fachada oriental
if (RoletyWschod) then / / se ele estiver aberto
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

começar
RoletyWschod: = false ; / / Flag para abrir persianas Oriente
ZamknijRoletyWschod ; / / Função de envio de um evento para o sistema eHouse motoristas
/ / ZamknijMarkizyWschod ; / / Não dar nada, porque o sol é muito baixo
final ;
/ / Fechar o lado ocidental as cortinas o frio ea falta de sol para a elevação oeste
if (RoletyZachod) then / / se ele estiver aberto
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

começar
RoletyZachod: = false ; / / Flag para abrir persianas Ocidental
ZamknijRoletyZachod ; / / Função de envio de um evento para o sistema eHouse motoristas
/ / ZamknijMarkizyZachod ; / / Não dar nada, porque o sol é muito baixo
final ;