Commit 086d7d37c7b5555873c120edfac02bd46de0855c

Authored by Nodeduino
1 parent eebaaa9d

update README

Showing 1 changed file with 55 additions and 0 deletions
README.md
... ... @@ -8,5 +8,60 @@ A simple and easy to use library for Philips Hue Lights
8 8 * extended alert() function, which alerts in a specific color
9 9 * documented with doxygen
10 10  
  11 +## How to use
  12 +### <a name="findingBridges"></a>Finding Bridges
  13 +If you want to find a Hue Bridge make a HueFinder object and call FindBridges()
  14 +it will return a vector containing the ip and mac adress of all found Bridges.
  15 +If no Bridges were found the vector is empty, so make sure that in that case you provide an ip and mac address.
  16 +```C++
  17 +HueFinder finder;
  18 +std::vector<HueFinder::HueIdentification> bridges = finder.FindBridges();
  19 +if (bridges.empty())
  20 +{
  21 + bridges.push_back({ "<ip address>", "<mac address>" });
  22 +}
  23 +```
  24 +
  25 +### Using Bridges
  26 +If you have found the Bridge you were looking for, you can then move on with the authentication process.
  27 +To get a new username from the Bridge (for now) you simply call GetBridge(bridges[<index>]),
  28 +where index is your preferred Bridge from the part [Finding Bridges](findingBridges).
  29 +```C++
  30 +Hue bridge = finder.GetBridge(bridges[0]);
  31 +```
  32 +If you on the other hand already have a username you can add you bridge like so
  33 +```C++
  34 +finder.AddUsername(bridges[0].mac, "<username>");
  35 +Hue bridge = finder.GetBridge(bridges[0]);
  36 +```
  37 +
  38 +### Controlling lights
  39 +If you have your Bridge all set up now you can get and control its lights.
  40 +For that create a pointer of the specific light type you want to use.
  41 +You can choose from
  42 +* HueLight
  43 +* HueDimmableLight
  44 +* HueTemperatureLight
  45 +* HueColorLight
  46 +* HueExtendedColorLight
  47 +Then call getLight(<id>) from you bridge object to get the specific light, where id
  48 +is the id of the light set internally by the Hue Bridge.
  49 +```C++
  50 +HueExtendedColorLight* lamp1 = static_cast<HueExtendedColorLight*>(bridge.getLight(1));
  51 +```
  52 +If you now want to control the light you just call the specific function of the light.
  53 +```C++
  54 +lamp1->On();
  55 +lamp1->setBrightness(120);
  56 +lamp1->alertHueSaturation(25500, 255);
  57 +lamp1->setColorLoop(true);
  58 +lamp1->setColorRGB(255, 128, 0);
  59 +```
  60 +
11 61 ## Copyright
12 62 Copyright (c) 2017 Jan Rogall & Moritz Wirger. See LICENSE for further details.
  63 +
  64 +
  65 +```C++
  66 +
  67 +```
13 68 \ No newline at end of file
... ...