Bonne journée à tous! Poursuivant l'idée de mon ancien poste , j'ai développé un programme qui peut être utilisé comme système de contrôle d'une maison intelligente.

Pour intéresser immédiatement le lecteur, je vais vous présenter quelques-uns des scénarios d'utilisation du logiciel:
SCÉNARIOS
Lazurite vous permet de créer des déclencheurs et des scripts complexes avec des conditions et des boucles , c'est-à-dire l'utilisateur peut «programmer» le programme en utilisant le constructeur intégré pour n'importe lequel de ses besoins.
Tout script a son propre commutateur dans l'interface utilisateur - "tuile". Selon le type de données de script, le commutateur sera différent.
Exemples de commutateurs de script.





>> En savoir plus sur les types de données et les commutateurs.
De plus, il existe trois types de scripts dans Lazurite: action simple, script complexe et script distant.
Fenêtre de sélection du type de script à créer.

Action unique
Les actions simples sont des scénarios qui ne nécessitent pas de logique complexe, tels que l'allumage de la lumière ou la modification du niveau sonore à l'aide de la «tuile» du menu de commutation. Dans un tel scénario, il ne sera pas possible de créer un cycle ou une condition, vous ne pouvez y lier qu'une action distincte du plug-in (à leur sujet ci-dessous) au commutateur.
Constructeur simple action utilisant l'exemple de création d'un commutateur ModbusRTU .

Scénario difficile
Un scénario complexe est un scénario à logique complexe dans lequel il existe des boucles et des conditions.
>> Détails sur la création d'un script complexe.
Alors que l'humidité dans la pièce est inférieure ou égale à 40%, réglez ensuite l'humidité.

Un scénario complexe utilisant des appareils Z-Wave comme exemple.

Une condition difficile avec des groupes et des comparaisons de valeurs numériques.

Script à distance
Lazurite possède un serveur intégré sur lequel le service WCF s'exécute. C'est ce qui permet aux applications clientes de recevoir des informations sur les scripts et d'effectuer certaines actions. Mais, en outre, un autre serveur Lazurite peut se connecter au serveur Lazurite et utiliser des scripts de serveur distant. Pour utiliser cette fonctionnalité, vous devez créer un script distant .
La prise en charge des scripts distants vous permet de créer un réseau d'appareils avec Lazurite installé. C'est-à-dire dans les scripts d'un serveur, vous pouvez appeler des scripts ou obtenir des valeurs de script d'un autre serveur.
Par exemple, dans une grande maison, vous pouvez créer un système distribué dans lequel plusieurs nœuds avec Lazurite installés se trouveront sur différents étages (pièces, bâtiments), avec lesquels l'unité centrale Lazurite communiquera. L'administrateur configurera le système et décidera de l'indépendance des périphériques esclaves, s'ils seront utilisés comme de simples interprètes ou si une certaine autonomie leur sera incorporée.

DÉCLENCHEURS
Les déclencheurs sont certaines actions qui sont déclenchées lorsque des conditions spéciales se produisent. Ils diffèrent du scénario en ce qu'ils n'ont pas de type de données et n'ont pas de «tuile». Le déclencheur pour déclencher un déclencheur est de changer le scénario sélectionné, c'est-à-dire si nous voulons effectuer des actions lorsque la température change, l'humidité change, l'apparence de l'utilisateur à la maison, etc., nous devons créer un déclencheur pour le scénario correspondant. Le constructeur de déclencheur est une copie du constructeur de script, où vous pouvez créer des boucles, des conditions, des actions.
Déclencher pour déclencher un capteur de mouvement.

ACTION
Toute ligne ajoutée dans le constructeur de script est une «action». Chaque plugin installé dans Lazurite ajoute de nouvelles fonctionnalités au programme - actions. Tout travail avec Z-Wave, Modbus, géolocalisation, etc. produite grâce à cette fonctionnalité. Par conséquent, toute action, comme un script, a son propre type de données .
>> Liste de toutes les actions en Lazurite.
Fenêtre de sélection d'une action dans le constructeur de script.

SECURITE
Dans Lazurite, vous pouvez configurer l'accès pour afficher et modifier la valeur du script. Cela peut être nécessaire lorsque nous créons un utilisateur dans le système pour notre invité ou lorsque nous voulons simplement masquer un script qui exécute des fonctions auxiliaires et ne doit pas être affiché pour les utilisateurs.
Fenêtre des paramètres de sécurité du script.

Les éléments suivants sont disponibles pour configurer la sécurité:
- "Refuser pour toute utilisation";
- "Refuser pour tous les groupes sauf ..." - une interdiction sur l'utilisation du script pour les utilisateurs qui ne sont pas membres des groupes sélectionnés;
- "Refuser pour tous les utilisateurs sauf ..." - une interdiction d'utiliser le script pour tous les utilisateurs sauf ceux sélectionnés;
- "Refuser pour les groupes" - une interdiction d'exécution pour certains groupes d'utilisateurs;
- "Refuser l'exécution à partir du réseau" - les scripts avec cette restriction ne peuvent pas être affichés dans les applications clientes et ne peuvent pas être utilisés comme "script distant";
- «Refuser pour le menu de lancement rapide» - le script ne sera pas affiché dans le menu de lancement rapide;
- "Refuser aux utilisateurs" - une interdiction d'exécution pour certains utilisateurs;
- "Refuser l'utilisation d'un autre script / déclencheur" - le script ne peut pas être exécuté dans un autre script ou déclencheur.
Par défaut, tout script est interdit pour démarrer à partir du réseau et pour le menu de lancement rapide.
UTILISATEURS ET GROUPES
Les utilisateurs de Lazurite font partie intégrante du système. Sans compte, les utilisateurs ne pourront pas accéder aux scripts nécessaires et gérer les appareils dans la maison. S'il n'y avait pas d'authentification, toute personne se connecterait au système et exécuterait des scripts, ce qui est extrêmement indésirable.
Pour plus de commodité, les paramètres de sécurité des scripts utilisateur peuvent être regroupés, par exemple, vous pouvez créer un groupe "Invités" et empêcher ce groupe d'exécuter certains scripts.
>> En savoir plus sur les utilisateurs et les groupes .
Onde Z
Z-Wave est un protocole de communication sans fil utilisé dans la domotique. Pour mettre en œuvre le protocole, des modules RF miniatures de faible puissance sont utilisés. Maintenant, sur le marché ZWave, il existe une liste assez complète d'appareils, tels que les ampoules ZWave, les prises, les modules relais, les interrupteurs, les serrures, les capteurs de température (humidité, mouvement, fuites), les régulateurs de température, les appareils de contrôle de la climatisation, etc. Les multicapteurs sont également courants - les appareils qui combinent plusieurs capteurs (par exemple, une lumière, une présence, un capteur de température, un capteur de porte, etc.), ce qui est très attrayant du point de vue des coûts financiers et de l'emplacement dans la pièce.
Dans Lazurite, le module ZWave vous permet d'effectuer toutes les opérations de périphérique standard, telles que la suppression, l'ajout de périphériques et la réinitialisation du contrôleur. Vous pouvez également utiliser plusieurs contrôleurs ZWave, l'utilisateur final ne verra pas la différence. Par exemple, vous pouvez prendre des relevés de température à partir d'un capteur connecté au contrôleur «A» et démarrer la climatisation à l'aide du contrôleur «B». Il n'y a aucune restriction, toute action et vérification sont effectuées de manière standard et sont ajoutées dans le concepteur de script .
Le nœud est sélectionné dans l'image, le multicapteur est ZW100, puis son paramètre utilisateur est sélectionné, avec lequel vous pouvez mesurer la température dans la pièce .

Après la création d'un script utilisant ce nœud, une vignette contenant des informations sur la température apparaît.

>> En savoir plus sur Z-Wave chez Lazurite.
STATISTIQUES
Lazurite possède une fonctionnalité qui vous permet de conserver un historique des valeurs de différents scénarios (par exemple, température dans le salon, humidité dans la pièce, niveau UV, détection de mouvement). L'utilisateur peut sélectionner les scénarios pour lesquels il est nécessaire de conserver des statistiques, puis consulter les graphiques de leur dynamique pendant un certain temps.
Affichez les statistiques sous forme de graphiques.

Affichez les statistiques sous la forme d'un graphique à secteurs.

>> En savoir plus sur les statistiques.
GÉOLOCALISATION DES UTILISATEURS
Lazurite a la fonctionnalité d'un tracker GPS. Toute application cliente envoie des informations de géodonnées au serveur Lazurite, où ces données peuvent être traitées, enregistrées et affichées. Les actions présentées dans le plugin UserGeolocationPlugin sont conçues pour fonctionner avec la géolocalisation des utilisateurs et vous permettent de calculer des valeurs telles que la distance de l'utilisateur à un endroit, l'emplacement de l'utilisateur à un endroit spécifique, etc.
Certaines actions nécessitent la présence non seulement de l'utilisateur, mais également d'un lieu, ou d'un "emplacement", qui doit être installé et configuré dans le programme. Un tel endroit peut être une maison, un travail, une ville, une station de métro. Des actions avec ce paramètre sont nécessaires pour effectuer toute action sur l'apparence ou la distance de l'utilisateur par rapport à cet "emplacement". Un lieu a trois paramètres: les coordonnées du centre, le rayon et le nom.
Un exemple des lieux créés (domicile et travail) et l'itinéraire de l'utilisateur entre eux à la date sélectionnée.

La position de l'utilisateur peut être consultée via l'application Lazurite sur le smartphone.

De plus, vous pouvez conserver un historique des mouvements en ajoutant le script approprié aux statistiques .
Mouvements des utilisateurs sur une longue période.

>> En savoir plus sur le plugin.
>> En savoir plus sur l'histoire des mouvements.
DIVERS
Le programme a la capacité de créer des scripts pour échanger des messages entre les utilisateurs et recevoir des notifications du système sur divers événements.
Fenêtre d'affichage de la boîte de réception.

Envoi d'un message à un autre utilisateur.

En outre, il existe diverses autres fonctions, telles que Wake-on-Lan , émulation de touches multimédias sous Windows , contrôle du son sous Windows , travail avec les processus Windows , contrôle des appareils Modbus , etc.
Apprenez à créer des plugins ici .
Pour le moment, le développement du système est le suivant:
- l'architecture du programme sera modernisée de manière à ce que des moteurs prêts à l'emploi ou des services de reconnaissance vocale puissent être utilisés comme plug-ins;
- la poursuite de la décomposition et de la modernisation des fonctionnalités des plugins et des scripts vous permettra de créer des scripts à partir d'une tablette ou d'un smartphone;
- il est prévu de créer un module de vidéosurveillance dans lequel il y aurait des fonctionnalités pour l'enregistrement vidéo, la diffusion du flux vidéo sur des appareils mobiles, la reconnaissance de mouvement, etc.
>> Projet WIKI
>> Site web du projet
>> SUR GOOGLE PLAY
>> Dernière version