C # .NET Bibliothèque standard pour contrôler les ampoules LED SMART LIFX sur le cloud
Ce projet est une bibliothèque wrapper qui contient des fonctionnalités de l'API officielle LIFX https://api.developer.lifx.com/reference/introduction
Créez une instance à partir de la classe LifxBulbs en fournissant le tokenapikey et le nom d'étiquette de l'ampoule LED en tant que paramètres.
using LifxLibrary ;
LifxBulbs bedroom = new LifxBulbs ( "tokenKey" , "Bedroom" ) ;
//synchronous
bedroom . LightToggle ( 3 ) ; //toggle with 3 seconds duration
//async
await bedroom . LightToggleAsync ( 3 ) ; //async toggle with 3 seconds durationIl n'est pas obligatoire de spécifier un nom d'étiquette dans le constructeur de classe lors de l'utilisation des méthodes sweeptoggle. Ces méthodes exécuteront une opération de bascule générale sur tous les appareils connectés.
using LifxLibrary ;
LifxBulbs devices = new LifxBulbs ( "tokenKey" ) ;
//synchronous
devices . SweepToggle ( ) ;
//async
await devices . SweepToggleAsync ( ) ; Les méthodes PutPower vous permettent de modifier l'état des ampoules, de les régler on ou off , et en fournissant un paramètre de durée de durée en option allant de 0 à 100 secondes.
using LifxLibrary ;
LifxBulbs bedroom = new LifxBulbs ( "tokenKey" , "Bedroom" ) ;
//synchronous
bedroom . PutPower ( "on" ) ;
bedroom . PutPower ( "off" ) ;
bedroom . PutPower ( "on" , 5 ) ; //with 5 seconds duration time
//async
await bedroom . PutPowerAsync ( "off" ) ; Les méthodes PutBrightness prennent un paramètre entier allant de 0 à 100 pour définir l'intensité de la luminosité.
using LifxLibrary ;
LifxBulbs bedroom = new LifxBulbs ( "tokenKey" , "Bedroom" ) ;
//synchronous
bedroom . PutBrightness ( 50 ) ; //set the brightness at 50%
//async
await bedroom . PutBrightnessAsync ( 50 ) ; Les méthodes PutColor peuvent recevoir une série de valeurs de chaîne en tant que paramètre pour définir la couleur, la luminosité, la saturation et d'autres attributs.
using LifxLibrary ;
LifxBulbs bedroom = new LifxBulbs ( "tokenKey" , "Bedroom" ) ;
//hexadecimal
bedroom . PutColor ( "#0000FF" ) ; //blue color
//RGB
bedroom . PutColor ( "rgb:255,0,0" ) ; //red color
//plain text
bedroom . PutColor ( "white" ) ; //white color
//async
await bedroom . PutColorAsync ( "hue:120 saturation:1.0 brightness:0.5" ) ; //Deep green 50% brightnessPour un guide plus détaillé sur la définition des couleurs, veuillez visiter la documentation officielle de l'API LIFX à https://api.developer.lifx.com/reference/Colors.
Les méthodes multiutilisantes acceptent un ensemble de paramètres facultatifs pour effectuer diverses actions sur les ampoules LED, telles que la modification de la color , brightness , power , duration time et de l'activation fast mode .
Le mode rapide exécute la requête rapide, sans vérification initiale d'état et n'attendez aucun résultat.
using LifxLibrary ;
LifxBulbs bedroom = new LifxBulbs ( "tokenKey" , "Bedroom" ) ;
//synchronous
bedroom . MultiUse ( "on" , "blue" , 50 , 6 , true ) ; //power on, color blue, 50% brightness, 6 seconds duration with fast mode activated
//other ways to use it
bedroom . MultiUse ( power : "on" , color : "blue" , brightness : 100 , duration : 6 , fast : true ) ;
//duration time is 0 by default and fast mode is false by default
bedroom . MultiUse ( power : "on" , color : "white" , brightness : 80 ) ;
//async
await bedroom . MultiUseAsync ( "off" ) ;
await bedroom . MultiUseAsync ( "on" , "orange" ) ; La classe LightSearcher est une classe statique qui contient des méthodes asynchrones statiques qui aident à découvrir les ampoules LED et à récupérer leurs propriétés telles que LED bulb name , power status , connection status , brightness level , le saturation level et plus encore.
La méthode ShowConnectedDevicesAsync renvoie une liste d'objet String avec les noms d'étiquette de tous les périphériques connectés.
using LifxLibrary ;
//set the tokenkey
LightSearcher . SetTokenKey ( "tokenkey" ) ;
var devices = await LightSearcher . ShowConnectedDevicesAsync ( ) ;
foreach ( var device in devices )
{
Console . WriteLine ( device ) ;
} La méthode GetNamesAsync renvoie une liste d'objets String avec les noms d'étiquette de tous les périphériques liés à votre compte, quel que soit leur état de connexion ou leur état de puissance.
using LifxLibrary ;
//set the tokenkey
LightSearcher . SetTokenKey ( "tokenkey" ) ;
var devices = await LightSearcher . GetNamesAsync ( ) ;
foreach ( var device in devices )
{
Console . WriteLine ( device ) ;
} La méthode ShowStateAsync renvoie un objet BulbState avec l' power status , connection status , LED label name , brightness level , saturation level , UUID , ID et le niveau HUE .
using LifxLibrary ;
//set the tokenkey
LightSearcher . SetTokenKey ( "tokenkey" ) ;
BulbState bedroom = await LightSearcher . ShowStateAsync ( "Bedroom" ) ;
Console . WriteLine ( bedroom . Power ) ; //the response would be off or on
Console . WriteLine ( bedroom . Connected ) ; //the response would be true or false
Console . WriteLine ( bedroom . Brightness ) ; //brightness level
Console . WriteLine ( bedroom . Saturation ) ; //saturation level
Console . WriteLine ( bedroom . Id ) ; //bulb ID La classe LightGroup contient des méthodes pour contrôler un ensemble d'ampoules LED qui appartiennent à un groupe spécifique.
Méthodes asynchrones et synchrones disponibles dans la classe LightGroup .
Toggle methods Brightness methods Color methods MultiUse methods
using LifxLibrary ;
LightGroup bulbs = new LightGroup ( "tokenKey" , "Kitchen" ) ; //tokenKey and group name
bulbs . SweepToggle ( ) ;
await bulbs . PutColorAsync ( "blue" ) ;