Home Automation tels que la création de vos propres algorithmes de contrôle pour ehouse système

Building Management ehouse vous permet de créer votre propre superposition (application fonctionnant sur un PC serveur du système ehouse) , ce qui le rend facile de créer vos propres algorithmes de programmation individuelles en utilisant notre modèle EhouseLogAnalizer logiciel pour Delphi . Ce logiciel a été discuté dans ” Analyseur de Logs maison intelligente ehouse ” une extension de la fonctionnalité du système ehouse Domotique .
Grâce à la stabilité d'aujourd'hui » ; PC s , et Windows peut être un fonctionnement transparent et continu du logiciel ehouse maison intelligente de gestion a également suivi par l'application KillExec . exe .
Dans le cas de la suspension de l'erreur d'application est fermé et redémarré sans système d'intervention de l'utilisateur .
Avec la configuration correcte de Windows et de la continuité ehouse système peut fonctionner logiciel maison intelligente sur le PC pendant de nombreux mois .
Bon logiciel de gravure de système intelligent de contrôle à domicile nécessite des mesures séquentielles de tests ehouse évolution (et envoyer des événements de contrôle appropriés si nécessaire – temps) .
Quand vous écrivez vos propres algorithmes de contrôle pour créer des logiciels – drapeaux attestant de l'obtention de l'événement à ne pas envoyer plusieurs fois sans raison du même événement, par exemple: , toutes les 2 secondes pour fermer les stores qui sont déjà fermés .
Les demandes peuvent être affectés à plusieurs minuteries:
Premier – Diriger tels que la mise à jour du pilote de données 10 secondes .
Un autre – avec des valeurs â € <â € <en fonction de la variabilité du phénomène:
par exemple, . pour la commande de stores , auvents pour la température extérieure et les niveaux de lumière peut être quelques minutes .
Dans le cas des stores de commande d'entraînement , portes , marquis , fenêtres , etc . peuvent être utilisées anche reliées aux entrées numériques ehouse maison intelligente contrôleurs , preuve de leur proximité et de rendre les opérations de contrôle de l'état des données d'entrée RoomManager , qui est beaucoup mieux et plus vrai que le drapeau Sofware , dont la valeur peut être définie de manière incorrecte en raison d'erreurs de programmation ou des erreurs dues à l'entraînement (non la fermeture de l' , mécanique , bloquer , etc . ) .

Exemples utilisant les données de contrôleurs dans le eHouseLogAnalizer application (en boucles répétitives de fonctionnement à des intervalles de quelques secondes) .

/ / Initialisation des données provenant de la chaudière contrôleur HeatManagera
TzewnetrznaPN: = HADC [HM_ZEWNPN] ; Température / / externe du Nord
TemperaturaGWC: = HADC [HM_GWC] ; / / Température pour GWC – Échangeur de chaleur souterrain pour le récupérateur
TemperaturaKominekPlaszcz: = HADC [HM_KOM1] ; / / La température de l'eau dans la cheminée 1 capteur
TemperaturaKominekKonvekcja: = HADC [HM_KOMKONV] ; / Cheminée de convection / Température – Capteur à la cheminée du travail réel de la cheminée
TemperaturaKominekPlaszcz: = HADC [HM_KOM2] ; / / L'eau d'extinction température de l'enveloppe capteur 2 – (Backup)
TemperaturaWewnÄ ™ trzna: = HADC [HM_TWEWN] ; / / Température ambiante interne – pour le CO
TemperaturaSolar: = HADC [HM_SOLAR] ; / / Température capteur solaire tuyau de pointe (chaud)
TzewnetrznaPD: = HADC [HM_ZEWNPD] ; Midi, la température / / Hors
Tkociol: = HADC [HM_KOC] ; / Pic / Chaudière température du tube (chaud)
TemperaturaBuforaCODol: = HADC [HM_BANDOL] ; / / Température CO / réservoir d'eau chaude vers le bas
TemperaturaRecuIn: = HADC [HM_REQIN] ; / / Entrée récupérateur de température de l'air propre
TemperaturaRecuOut: = HADC [HM_REQOUT] ; / / Sortie température de l'air récupérateur de maison
TemperaturaZaworTrojDrozny: = HADC [HM_NAG] ; / / Température contrôlée trois – soupape manière telle qu'un appareil de chauffage ou de radiateurs
TemperaturaRecuWyciog: = HADC [HM_REQWYC] ; / / Extrait récupérateur de température de l'air de la maison sale
TemperaturaBuforaCOGora: = HADC [HM_BANGORA] ; / / Température de chauffage / réservoir d'eau chaude jusqu'à
TemperaturaBuforaCOSrodek: = HADC [HM_BANSRO] ; / / Température de chauffage / centre ballon d'eau chaude
/ / Mesures des capteurs à RoomManager
TzewWschod: = RMGetTempNr (get_index_rm ( ‘ 55 – 2 ‘ ) , 8) ; / / Est la sonde de température extérieure de RM Non . 8 pour l'adresse 55 – 2
TzewZachod: = RMGetTempNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 8) ; / Capteur / Température dehors de l'Occident avec No . 8 pour RM avec l'adresse 55 – 3
TzewPolnoc: = RMGetTempNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 8) ; / Capteur / Température en dehors du Nord Pas de . 8 pour RM avec l'adresse 55 – 4
TzewPoludnie: = RMGetTempNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 8) ; / Capteur / Température en dehors du Sud Aucune . 8 pour RM avec l'adresse 55 – 5
LNaslonecznienieWschod: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 2 ‘ ) , 1) ; / / Le niveau de lumière ambiante est de capteur Non . 1 pour RM avec l'adresse 55 – 2
LNaslonecznienieZachod: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 1) ; / / Capteur de lumière ambiante niveau ouest-Pas . 1 pour RM avec l'adresse 55 – 3
LNaslonecznieniePolnoc: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 1) ; / / Capteur de lumière ambiante niveau du Nord Pas de . 1 pour RM avec l'adresse 55 – 4
LNaslonecznieniePoludnie: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 1) ; / / Capteur de lumière ambiante niveau Southern Non . 1 pour RM avec l'adresse 55 – 5
SilaWiatru: =: = RMGetPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 7) ; / / Capteur de lumière ambiante niveau Southern Non . 1 pour RM avec l'adresse 55 – 5
Les algorithmes de contrôle peut être arbitraire et peut inclure n'importe lequel des paramètres et des mesures ont jusqu'ici utilisé et installé des détecteurs de certaines grandeurs physiques .
/ / Algorithme contenue dans le compteur de répétition lente, . toutes les 10 minutes
/ / Exemple de l'énergie – un contrôle efficace des volets roulants et stores (donnant lieu à des économies significatives dues au soleil " ; s rayons pour chauffer la maison en hiver) et l'accumulation de l'énergie solaire gratuite
/ / Chauffage gratuit et écologique des chambres sur le côté est de l'édifice au soleil
if (pas RoletyWschod), puis / / si elles ne sont plus ouverts
if (LNaslonecznienieWschod> ; 80) alors / / si le soleil – vérifier empiriquement la valeur de
if (mois < ; ; 5) et le mois> ; 8) then / / si le mois de Septembre à Avril
if (TzewWschod> ; 0) capteur, puis / / température dans le soleil réchauffait supérieure à 0 ° C
if (heure> ; 8) et (Time < ; ; 11), puis / / le matin, quand le soleil brille directement à partir de l'est
commencer
RoletyWschod: = true ; / / Indicateur pour ouvrir volets Orient
OtworzRoletyWschod ; / / Fonction d'envoi d'un événement à l'ehouse système de conducteurs
ZamknijMarkizyWschod ; / / Ne rien faire parce que le soleil est trop bas
fin ;
/ / Chauffage gratuit et écologique des chambres sur le côté sud du bâtiment , le soleil " ; s rayons
if (pas RoletyPoludnie), puis / / si elles ne sont plus ouverts
if (LNaslonecznieniePolodnie> ; 80) alors / / si le soleil – vérifier empiriquement la valeur de
if (mois < ; ; 5) et le mois> ; 8) then / / si le mois de Septembre à Avril
if (TzewPoludnie> ; 0) capteur, puis / / température dans le soleil réchauffait supérieure à 0 ° C
if (heure> ; 10) et (Time < ; ; 14), puis / / le matin, quand le soleil brille directement à partir du sud
commencer
RoletyPoludnie: = true ; / / Ouvrir le drapeau volets sud
OtworzRoletyPolodnie ; / / Fonction d'envoi d'un événement à l'ehouse système de conducteurs
ZamknijMarkizyPolodnie ; / / Ne rien faire parce que le soleil est trop bas
fin ;
/ / Chauffage gratuit et écologique des chambres sur le côté ouest du bâtiment , le soleil " ; s rayons
if (pas RoletyZachod), puis / / si elles ne sont plus ouverts
if (LNaslonecznienieZachod> ; 80) alors / / si le soleil – vérifier empiriquement la valeur de
if (mois < ; ; 5) et le mois> ; 8) then / / si le mois de Septembre à Avril
if (TzewZachod> ; 0) capteur, puis / / température dans le soleil réchauffait supérieure à 0 ° C
if (heure> ; 14) et (Time < ; ; 18), puis / / le matin, quand le soleil brille directement à partir de l'ouest
commencer
RoletyZachod: = true ; / / Indicateur pour ouvrir des volets de l'Ouest
OtworzRoletyZachod ; / / Fonction d'envoi d'un événement à l'ehouse système de conducteurs
ZamknijMarkizyZachod ; / / Ne rien faire parce que le soleil est trop bas
fin ;
/ / Écologique et économique de limiter l'impact du chauffage d'espace libre par le soleil en été – auvents de contrôle
/ / Contrôle auvent – ouvrir auvents pour réduire le rayonnement solaire et le chauffage de la maison en été – est
if (pas MarkizaWschodA), puis / / si elles ne sont plus ouverts
if (SilaWiatru < ; ; 5) then / / si pas de vent
if ((mois> ; 4) et (Mois < ; ; 9)) then / / vacances d'été
if (LNaslonecznienieWschod> ; 50) then / / si le soleil brille
if (heure> ; 6) et (Time < ; ; 12) then / / si les heures de la matinée
if (TwewnWschodA> ; 25) then / / si la pièce est trop chaude
commencer
MarkizaWschodA: = true ; / / Drapeau auvent chambre ouverte A
OtworzMarkizeWchodA ; / / Envoie un événement dans le système ehouse pilotes
fin ;
/ / Même , vous pouvez répliquer le code pour le contrôle indépendant de stores dans d'autres domaines de la façade orientale de l'évolution de A à une valeur différente
/ / Contrôle auvent – ouvrir auvents pour réduire le rayonnement solaire et le chauffage de la maison dans le midi d'été
if (pas MarkizaPoludnieA), puis / / si elles ne sont plus ouverts
if (SilaWiatru < ; ; 5) then / / si pas de vent
if ((mois> ; 4) et (Mois < ; ; 9)) then / / vacances d'été
if (LNaslonecznieniePoludnie> ; 50) then / / si le soleil brille
if (heure> ; 8) et (Time < ; ; 18) then / / si l'heure où le plus dur dim. opère à partir du sud
if (TwewnPoludnieA> ; 25) then / / si la pièce est trop chaude
commencer
MarkizaPoludnieA: = true ; / / Drapeau auvent chambre ouverte A
OtworzMarkizePoludnieA ; / / Envoie un événement dans le système ehouse pilotes
fin ;
/ / Même , vous pouvez répliquer le code pour le contrôle indépendant de stores dans d'autres domaines de l'élévation du Sud Un Modification à une valeur différente
/ / Contrôle auvent – stores ouverts pour réduire le rayonnement solaire et le chauffage de la maison en été du côté de l'ouest
if (pas MarkizaZachodA), puis / / si elles ne sont plus ouverts
if (SilaWiatru < ; ; 5) then / / si pas de vent
if ((mois> ; 4) et (Mois < ; ; 9)) then / / vacances d'été
if (LNaslonecznieniePoludnie> ; 50) then / / si le soleil brille
if (heure> ; 8) et (Time < ; ; 18) then / / si l'heure où le plus dur dim. opère à partir du sud
if (TwewnZachodA> ; 25) then / / si la pièce est trop chaude
commencer
MarkizaZachodA: = true ; / / Drapeau auvent chambre ouverte A
OtworzMarkizeZachodA ; / / Envoie un événement dans le système ehouse pilotes
fin ;
/ / Même , vous pouvez répliquer le code pour le contrôle indépendant de stores dans d'autres domaines de la façade occidentale de l'évolution de A à une valeur différente
/ / Fermer le marquis trop de vent
if (LNaslonecznieniePoludnie < ; ; 20), alors / / si le soleil ne brille pas (Ayant choisi empiriquement pluie et pluie)
if (MarkizaPoludnieA), puis / / si auvent ouvert
commencer
MarkizaPoludnieA: = false ; / / Change le drapeau
ZamknijMarkizePoludnieA ; / / Envoie les événements de la ehouse microprocesseur contrôleurs
fin ;
if (LNaslonecznienieZachod < ; ; 20), alors / / si le soleil ne brille pas (choisi empiriquement)
if (MarkizaZachodA), puis / / si auvent ouvert
commencer
MarkizaZachodA: = false ; / / Change le drapeau
ZamknijMarkizeZachodA ; / / Envoie les événements de la ehouse microprocesseur contrôleurs
fin ;
if (LNaslonecznienieWschod < ; ; 20), alors / / si le soleil ne brille pas (choisi empiriquement)
if (MarkizaWschodA), puis / / si auvent ouvert
commencer
MarkizaWschodA: = false ; / / Change le drapeau
ZamknijMarkizeWschodA ; / / Envoie les événements de la ehouse microprocesseur contrôleurs
fin ;
if (SilaWiatru> ; 5) then / / Vent de fermer les stores
if (MarkizaZachodA ou MarkizaWschodA ou MarkizaPoludnieA), puis / / si on est ouvert
commencer
ZamknijWszystkieMarkizy ; / / Envoie un événement dans le système ehouse pilotes
MarkizaZachodA: = false ;
MarkizaWschodA: = false ;
MarkizaPoludnieA: = false ;
fin ;
/ / Volets de fermeture automatique de la température est trop basse pour la chaleur de s'échapper à l'extérieur à travers les ouvertures restrictives en dehors de la fenêtre
/ / Sud – fermant les volets au froid et au manque de soleil pendant l'élévation sud
if (RoletyPoludnie), puis / / si elle est ouverte
si (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

commencer
RoletyPoludnie: = false ; / / Ouvrir le drapeau volets sud
ZamknijRoletyPolodnie ; / / Fonction d'envoi d'un événement à l'ehouse système de conducteurs
/ / ZamknijMarkizyPolodnie ; / / Ne rien faire parce que le soleil est trop bas
fin ;
/ / Stores Accueil clôture Orient à froid et le manque de soleil pour la façade orientale
if (RoletyWschod), puis / / si elle est ouverte
si (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

commencer
RoletyWschod: = false ; / / Indicateur pour ouvrir volets Orient
ZamknijRoletyWschod ; / / Fonction d'envoi d'un événement à l'ehouse système de conducteurs
/ / ZamknijMarkizyWschod ; / / Ne rien faire parce que le soleil est trop bas
fin ;
/ / Fermer le côté ouest de stores le froid et le manque de soleil pour la façade ouest
if (RoletyZachod), puis / / si elle est ouverte
si (TzewZachod < – 10) then // temperature sensor below the western – 10C indicating the large cold and lack of sun heating the sensor on the west side

commencer
RoletyZachod: = false ; / / Indicateur pour ouvrir des volets de l'Ouest
ZamknijRoletyZachod ; / / Fonction d'envoi d'un événement à l'ehouse système de conducteurs
/ / ZamknijMarkizyZachod ; / / Ne rien faire parce que le soleil est trop bas
fin ;