Sommaire
Le package Vera vous permet de connecter la box domotique Z-Wave Vera dans Constellation. L’état des différents périphériques est publié en tant que StateObjects et des MessageCallbacks vous permettent de déclencher des scènes ou piloter les équipements.
Le code source est disponible sur : https://github.com/myconstellation/constellation-packages/tree/master/Vera
Installation
Depuis le “Online Package Repository” de votre Console Constellation, déployez le package Vera :
Une fois le package télécharger votre repository local, sélectionnez la sentinelle sur laquelle déployer le package.
Pour finir, sur la page de Settings, vous devez obligatoirement définir l’adresse IP (ou DNS) de votre Vera :
Vous pouvez également déployer ce package manuellement dans la configuration de votre Constellation :
1 2 3 4 5 |
<package name="Vera"> <settings> <setting key="VeraHost" value=192.168.x.x /> </settings> </package> |
Détails du package
Les Settings
Nom | Type | Détail | Description |
VeraHost | String | Obligatoire | L’IP ou le DNS de votre box domotique Vera |
Les StateObjects
Vous retrouverez autant de StateObjects que périphérique Z-Wave enregistré sur votre Vera :
Nom | Type | Description |
Vera_<< SerialNumber >> | VeraNet.VeraDevice | Représente l’état de la Vera (modèle, S/N, version, etc..) |
<< Nom de la scène >> | VeraNet.Scene | Représente l’état d’une scène |
<< Nom du device >> | VeraNet.TemperatureSensor | Représente l’état d’un capteur de température |
<< Nom du device >> | VeraNet.HumiditySensor | Représente l’état d’un capteur d’humidité |
<< Nom du device >> | VeraNet.WindowCovering | Représente l’état d’un volet |
<< Nom du device >> | VeraNet.DimmableLight | Représente l’état d’un Switch Dimmable |
<< Nom du device >> | VeraNet.Switch | Représente l’état d’un Switch |
<< Nom du device >> | VeraNet.PowerMeter | Représente l’état d’un capteur d’énergie |
<< Nom du device >> | VeraNet.SecuritySensor | Représente l’état d’un capteur de sécurité |
Les MessageCallbacks
Le package expose 3 MessageCallbacks :
Nom | Réponse (saga) | Description |
RunScene | Boolean | Déclenche une scène sur la Vera |
SetDimmableLevel | Boolean | Définit le niveau (0-100%) d’un device “Dimmable” |
SetSwitchState | Boolean | Définit le statuts (On/Off) d’un device “Switch” |
SetWindowCoveringAction | Boolean | Définit l’ordre (montée, décente ou arrêt) d’un volet (WindowsCovering) |
Quelques exemples
- Afficher l’état et contrôler chaque lampe et volet sur un Dashboard HTML
- Gérer les volets automatiquement en fonction de la luminosité avec un package C#
- Piloter des lampes Hue en suivant un schéma depuis un interrupteur Fibaro grâce à un package C#
- Piloter sa domotique Z-Wave depuis un montre Samsung Gear S2
- Synchroniser la lampe du bureau avec la session Windows
Il ne manque plus que SetHeatTemperature pour les vannes thermostatiques et thermostats ! J’installe ce week-end
Merci pour tous ces beaux plug-ins
Oui en effet, je n’ai pas implémenté ce type de device ! Le code est sur GitHub n’hésites pas à l’enrichir
Salut Sébastien,
Sauf erreur de ma part il manque aussi les « Light sensor » dans les stateObjects du package.
Je les ajouterai au GitHub dès que possible :).
Bonjour,
J’ai installé constellation ce wk afin de l’implémenter dans mon système Graylog-Elasticsearch-kibana. Ce qui devrait me faciliter la vie
Premier test du package Vera et petit souci dès le démarrage. Il check bien mes scène présentent sur ma vera puis crash du package
J’imagine qu’il y a un souci avec un de mes périphériques mais de là a faire crasher le package, je pige pas.
Un petit coup de pouce ?!
Merci
Hum visiblement un device de type “security sensor” qui ne comporte pas une propriété attendue !
Le code est sur github : https://github.com/myconstellation/constellation-packages/tree/master/Vera
Si tu as un Visual Studio, le plus simple serait de lancer le package en mode debug pour voir la propriété qui lui manque pour proposer une solution.
Autrement si tu m’ouvre temporairement un accès à ta Vera pour tester le package en debug depuis chez moi connecté sur ta vera je pourrais fournir le correctif qui va bien.
A+
Bonjour,
nouveau sur le forum et sur constellation, savez-vous s’il est possible de récupérer (en c#) le mode d’une box vera lite (mode : à la maison, la nuit, en voyage…). Je ne trouve pas cette info à travers les StateObjects.
Merci.
Bonjour José,
Écrite en 2012, ma libraire VeraNet ne supportait pas (encore) le “House Mode” (à l’époque en version 1.5 cette fonctionnalité n’existait pas).
J’ai donc regardé ce WE les docs et retrouvé toutes les informations sur cette page : http://wiki.micasaverde.com/index.php/House_Modes#Get_.E2.80.9CMode.E2.80.9D_variable_value
En fait le mode est contenu dans le JSON de résultant du “lu_sdata” qu’utilise la librairie pour récupérer les infos de la Vera. J’ai donc pu en 2 lignes de code le rajouter au modèle.
Seulement en cas de changement de mode, la requête partielle (full=0) en long-pooling utilisée par ma librairie ne comporte pas cette information ! Autrement dit impossible de savoir via le système actuel si le mode change !
J’ai donc creusé le fonctionnement de l’interface UI7. A la fin de chaque requête de status chargée également en “long-pooling”, elle demande la variable “mode_change_time” pour connaitre l’heure du prochain changement de mode (30 secondes de délai avant un armement).
Dans le cas de ma lib, j’ai gardé ce même principe en interrogeant directement la variable “mode” après chaque requête “sdata”. En cas de changement de mode, un événement nommé HouseModeChanged est levé. Bien entendu une méthode “SetHouseMode” permet de changer le mode courant de la Vera.
De ce fait j’ai mis à jour le package Vera en version 1.7 pour exploiter cette nouvelle lib.
A l’heure où j’écris ces lignes le serveur de build a déjà publié la mise à jour sur le store, il suiffit de mettre à jour le package depuis la console Constellation :

Dans le StateObject représentant la Vera, vous trouverez une nouvelle propriété “HouseMode” représentant le mode courant :

Les modes sont décrits dans Constellation : 0-None, 1-Home, 2-Away, etc…

Aussi un nouveau MessageCallback nommé “SetHouseMode” permet de changer de mode vos applicatifs connectés à votre Constellation :
Bien à vous,
Sébastien
Bonjour Sébastien,
merci beaucoup pour cette réponse et cette adaptation du code très rapides.
Bonne journée.
Bonjour,
afin de commander des luminaires, je dispose de modules Fibaro (prise commutateur Z-wave) gérés par la box Véra. Grace au package Véra pour Constellation, les luminaires sont commandés via une application Cordova en consommant le StateObject de type VeraNet.Switch. Cependant, ce SO ne permet pas de savoir si l’objet est réellement connecté. Par exemple, si le module Fibaro est débranché, le SO renvoi le dernier status connu. Dans l’application propriétaire de Véra, le module apparait aussi connecté, mais une alarme indique que le module est déconnecté. Existe-t-il un moyen via constellation de récupérer cette information de déconnexion ? Peut-on récupérer les alarmes de Véra par exemple ?
Merci.