Le moteur de gestion d'événements Le moteur de gestion d'événements
Présentation du projet Moteur de gestion d’événements SOMMAIRE Présentation du projet Exemple Fonctionnement du moteur
FONCTIONS DE LA DOMOTIQUE Moteur de gestion d’événements FONCTIONS DE LA DOMOTIQUE - La sécurité - La gestion de l’énergie - Le contrôle à distance - La communication
Moteur de gestion d’événements
Moteur de gestion d’événements BUT DU PROJET Règles Evénements moteur Nouveaux événements Evénements générés
DEFINITION D’UN EVENEMENT Moteur de gestion d’événements DEFINITION D’UN EVENEMENT Nom_appareil paramètre1 paramètre 2 … Par exemple : étage2.chambre.lampe5 intensité 10 maison.volets fermer date.heure 23 03 00
Moteur de gestion d’événements DEFINITION D’UN EVENEMENT Les types possibles pour un paramètre sont : - Une chaîne de caractères allumer, intensité, ouvrir, fermer ... - Un nom de variable $val, $heure, … $nom_param - Un nombre entier 10, 20, 50 … - Une expression calculable ( ( $val + 5 ) / 3 )
DEFINITION D’UNE REGLE Moteur de gestion d’événements DEFINITION D’UNE REGLE Une règle est divisée en trois parties : - Une partie hypothèse exterieur.entree.c_presence $etat exterieur.entree.eclairage intensite $val date.heure $heure 00 00 - Une partie condition (($etat=on) ET (($heure>20) OU ($heure<8))) - Une partie conclusion exterieur.entree.eclairage intensite (2*$val)
RAPPEL DU FONCTIONNEMENT Moteur de gestion d’événements RAPPEL DU FONCTIONNEMENT Règles Evénements moteur Nouveaux événements Evénements générés
CA POURRAIT ARRIVER CHEZ VOUS... Moteur de gestion d’événements CA POURRAIT ARRIVER CHEZ VOUS...
Le moteur cherche et trouve… 18 h 15 {evenements} Couloir.c_présence $val Couloir.lumière éteinte {condition} ($val = on) {actions} couloir.lumière allumée 18 h 15 couloir.lumière allumée Si couloir.c_présence on Et couloir.lumière éteinte Alors …
Le moteur cherche et trouve… 18 h 16 {evenements} Couloir.c_présence $val Couloir.lumière allumée {condition} ($val = off) {actions} couloir.lumière éteinte 18 h 16 couloir.lumière éteinte Si couloir.c_présence off Et couloir.lumière allumée Alors …
18 h 17
Le moteur cherche et trouve… 18 h 17 {evenements} salledebain.toilettes c_présence on salledebain.toilettes.lumière éteinte {condition} {actions} salledebain.toilettes.lumière allumée Le moteur cherche et trouve… 18 h 17 salledebain.toilettes.lumière allumée Si salledebain.toilettes .c_présence on Et salledebain.toilettes.lumière éteinte Alors …
Le moteur cherche et trouve… 18 h 20 {evenements} salledebain.toilettes .c_présence $val salledebain.toilettes.lumière $val2 {condition} ($val = off ) ET ($val2 = allumée ) {actions} salledebain.toilettes.chasse tirée alledebain.toilettes.lumière éteinte Le moteur cherche et trouve… 18 h 20 salledebain.toilettes.chasse tirée salledebain.toilettes.lumière éteinte Si salledebain.toilettes .c_présence off Et salledebain.toilettes.lumière allumée Alors …
Après s’être restaurée, la personne s’installe confortablement dans son divan, regarde la télévision quand soudain…
Le moteur cherche et trouve… 20 h 00 {evenements} date.heure $val1 00 00 {condition} (($val1 > 19) ET ($val1 < = 23 )) {actions} maison.volets fermés maison.chauffage allumé ($val1 -17) Le moteur cherche et trouve… 20 h 00 Maison.volets fermés Maison.volets fermés Si date.heure 20 00 00 Alors … Maison.volets fermés Maison.volets fermés
Maison.chauffage allumé 3 {evenements} date.heure $val1 00 00 {condition} (($val1 > 19) ET ($val1 < = 23 )) {actions} maison.volets fermés maison.chauffage allumé ($val1 -17) 20 h 00 Maison.chauffage allumé 3 Maison.chauffage allumé 3 Si date.heure 20 00 00 Alors … Maison.chauffage allumé 3 Maison.chauffage allumé 3 Maison.chauffage allumé 3
Moteur de gestion d’événements FONCTIONNEMENT DE L’APPLICATION client de la partie hardware moteur SERVEUR client de la partie graphique
FONCTIONNEMENT DE L’APPLICATION Moteur de gestion d’événements FONCTIONNEMENT DE L’APPLICATION Lancement du moteur avec comme nouvel événement date.heure 20 00 00 Côté moteur La règle {événement} date.heure $val1 00 00 {condition} (( $val1 > 19) ET ($val1 <= 23)) {actions} maison.volets fermés maison.chauffage allumé ( $val – 17 ) est validée.
FONCTIONNEMENT DE L’APPLICATION Moteur de gestion d’événements FONCTIONNEMENT DE L’APPLICATION La règle {événement} date.heure $val1 00 00 {condition} (( $val1 > 19) ET ($val1 <= 23)) {actions} maison.volets fermés maison.chauffage allumé ( $val – 17 ) est validée. Côté moteur Envoi des événements maison.volets fermés maison.chauffage allumé 3 au serveur
FONCTIONNEMENT DE L’APPLICATION Moteur de gestion d’événements FONCTIONNEMENT DE L’APPLICATION Réception des événements maison.volets fermés maison.chauffage allumé 3 Côté client
Moteur de gestion d’événements