Sommaire
Le package Rfxcom vous permet d’interagir avec l’émetteur/récepteur RFXCOM USB.
Actuellement, le package en version 1.0 supporte :
- Les sondes de température (Oregon THR128/138, THC138, THC238/268, THN132, THWR288, THRN122, THN122, AW129/131, THWR800, RTHN318, La Crosse TX2, TX3, TX4, TX17, WS2300, TS15C, Viking 02811, RUBiCSON, TFA 30.3133)
- Les sondes de température et d’humidité (Oregon THGN122/123, THGN132, THGR122/228/238/268, THGR810, THGN800, THGR810, RTGR328, THGR328, WTGR800, THGR918/928, THGRN228, THGN500, TFA TS34C, Cresta, WT260,WT260H,WT440H,WT450,WT450H, Viking 02035,02038, Rubicson, EW109)
- L’envoi de commande RFY (pour le pilotage des périphérique Somfy)
Le code source est disponible sur : https://github.com/myconstellation/constellation-packages/tree/master/Rfxcom
Installation
Depuis le “Online Package Repository” de votre Console Constellation, déployez le package Rfxcom :
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 le port COM sur lequel est connecté votre RFXcom :
Vous pouvez également déployer ce package manuellement dans la configuration de votre Constellation :
1 2 3 4 5 |
<package name="Rfxcom"> <settings> <setting key="PortName" value="COM3" /> </settings> </package> |
Détails du package
Les Settings
Nom | Type | Détail | Description |
PortName | String | Obligatoire | Le nom du port COM du RFXcom (ex: COM1) |
Verbose | Boolean | Optionnel Par défaut : false |
Indique si le package écrit tous les messages qu’il reçoit dans les logs Constellation |
ProtocolsEnabled | String | Optionnel | Liste des protocoles RF à activer (sépéré par des virgules). Exemple : “Oregon,X10”. Voir la liste ici à la page 8. |
ForwardRawMessageToGroup | String | Optionnel | Indique le nom du groupe dans lequel transférer les messages reçu. |
SensorStateObjectLifetime | Int32 | Optionnel Par défaut : 300 |
Durée de vie en seconde pour les StateObjects publiés. |
StateObjectCustomNames | JsonObject | Optionnel | Par défaut chaque StateObject est nommé par le type et numéro de série du capteur. Vous pouvez personnaliser le nom avec ce setting. |
Personnaliser les noms des StateObjects
Le package publie un StateObject pour chaque capteur qu’il recoit. Chaque StateObject est composé du type de capteur (par exemple : “Temperature”) et de son identifiant.
Par exemple pour un capteur de température Oregon THR128 avec l’ID “21762”, le StateObject le représentant se nommera “TemperatureHumiditySensor_21762”.
Pour personnaliser les noms des StatObjects publiés vous pouvez définir un objet JSON dans le setting “StateObjectCustomNames” en indiquant le nom du capteur et son nom de StateObject :
1 2 3 4 |
{ "SensorName": "CustomName", "SensorName2": "CustomName2" } |
Voici par exemple la personnalisation de plusieurs sondes Oregon :
1 2 3 4 5 6 7 8 |
{ "TemperatureHumiditySensor_21762": "Capteur Bureau", "TemperatureHumiditySensor_64001": "Capteur Salle de bain", "TemperatureHumiditySensor_62468": "Capteur Buanderie", "TemperatureSensor_22529": "Temperature Chambre 3", "TemperatureSensor_36866": "Temperature Entrée", "TemperatureSensor_19716": "Temperature Cellier" } |
Ainsi le capteur “TemperatureHumiditySensor_21762” est représenté dans la Constellation par le StateObject nommé “Capteur Bureau”.
Soyez particulièrement vigilant sur le fait que l’identifiant peut changer si le capteur n’a plus d’energie pendant plusieurs secondes (ce qui peut arriver lors du changement de pile). Il faudra alors mettre à jour la table de mapping pour que votre capteur conserve son nom de StateObject.
Les StateObjects
Vous retrouverez autant de StateObjects que de trame de capteur RF :
Nom | Type | Description |
RFXCOM | RfxCom.Device | Représente l’état du périphérique RFXcom (nom, version, protocole activée, etc..) |
<< nom du capteur ou ID >> | RfxCom.TemperatureSensor | Représente l’état d’un capteur 0x50 (température) |
<< nom du capteur ou ID >> | RfxCom.TemperatureHumiditySensor | Représente l’état d’un capteur 0x52(température et humidité) |
Les MessageCallbacks
Le package expose 4 MessageCallbacks :
Nom | Réponse (saga) | Description |
RefreshStatus | Aucune | Rafraichit le statuts du RFXcom. |
SendMessage | Aucune | Envoi un message en RF. |
SendRFYCommand | Aucune | Envoi une commande RFY (pour les équipements Somfy). |
SetProtocols | Aucune | Défini la liste des protocoles RF à activer (voir la liste ici à la page 8). |
Quelques exemples
- Afficher les données de vos capteurs de température sur une page Web
- Envoyer une notification d’urgence en cas de de température trop haute depuis un package C#
- Piloter une prise Somfy depuis une page Web ou une application mobile multi-plateforme
Démarrez la discussion sur le forum Constellation