# Table of Contents
* [yahuelib](#yahuelib)
* [yahuelib.utils](#yahuelib.utils)
* [rgb\_to\_hsv](#yahuelib.utils.rgb_to_hsv)
* [kelvin\_to\_mired](#yahuelib.utils.kelvin_to_mired)
* [yahuelib.controller](#yahuelib.controller)
* [LightController](#yahuelib.controller.LightController)
* [reachable](#yahuelib.controller.LightController.reachable)
* [on](#yahuelib.controller.LightController.on)
* [on](#yahuelib.controller.LightController.on)
* [brightness](#yahuelib.controller.LightController.brightness)
* [brightness](#yahuelib.controller.LightController.brightness)
* [hue](#yahuelib.controller.LightController.hue)
* [hue](#yahuelib.controller.LightController.hue)
* [saturation](#yahuelib.controller.LightController.saturation)
* [saturation](#yahuelib.controller.LightController.saturation)
* [color\_temperature](#yahuelib.controller.LightController.color_temperature)
* [color\_temperature](#yahuelib.controller.LightController.color_temperature)
* [alert](#yahuelib.controller.LightController.alert)
* [alert\_long](#yahuelib.controller.LightController.alert_long)
* [GroupController](#yahuelib.controller.GroupController)
* [any\_on](#yahuelib.controller.GroupController.any_on)
* [all\_on](#yahuelib.controller.GroupController.all_on)
* [all\_on](#yahuelib.controller.GroupController.all_on)
* [brightness](#yahuelib.controller.GroupController.brightness)
* [brightness](#yahuelib.controller.GroupController.brightness)
* [hue](#yahuelib.controller.GroupController.hue)
* [hue](#yahuelib.controller.GroupController.hue)
* [saturation](#yahuelib.controller.GroupController.saturation)
* [saturation](#yahuelib.controller.GroupController.saturation)
* [color\_temperature](#yahuelib.controller.GroupController.color_temperature)
* [color\_temperature](#yahuelib.controller.GroupController.color_temperature)
* [alert](#yahuelib.controller.GroupController.alert)
* [alert\_long](#yahuelib.controller.GroupController.alert_long)
* [yahuelib.exceptions](#yahuelib.exceptions)
* [LightOrGroupNotFound](#yahuelib.exceptions.LightOrGroupNotFound)
* [APIError](#yahuelib.exceptions.APIError)
# yahuelib
# yahuelib.utils
#### rgb\_to\_hsv
```python
def rgb_to_hsv(r: int, g: int, b: int) -> tuple
```
Convert RGB colors `(255, 220, 100)` to HSV `(0.129, 0.608, 1.0)`
#### kelvin\_to\_mired
```python
def kelvin_to_mired(kelvin: int)
```
Convert the color temperature from Kelvin to Mired
# yahuelib.controller
## LightController Objects
```python
class LightController(_BaseController)
```
Control a Philips Hue Light using the API of your Hue Bridge.
**Arguments**:
- `number: int` - The number of your light
- `bridge_ip_address: str` - The IP address of your Hue Bridge
- `bridge_api_user: str` - The user used to authenticate to the API
Use the class method `.from_name(name:str, ...)` to use the name of a light instead of the number.
#### reachable
```python
@property
def reachable() -> bool
```
Check if the light is reachable using `LightController.reachable`
#### on
```python
@property
def on() -> bool
```
Check if the light is on using `LightController.on`
#### on
```python
@on.setter
def on(on: bool)
```
Turn the light on/off using `LightController.on = ...`
#### brightness
```python
@property
def brightness() -> int
```
Get the brightness using `LightController.brightness`
#### brightness
```python
@brightness.setter
def brightness(brightness: float)
```
Set the brightness using `LightController.brightness = ...`
#### hue
```python
@property
def hue() -> int
```
Get the hue using `LightController.hue`
#### hue
```python
@hue.setter
def hue(hue: float)
```
Set the hue using `LightController.hue = ...`
#### saturation
```python
@property
def saturation() -> int
```
Get the saturation using `LightController.saturation`
#### saturation
```python
@saturation.setter
def saturation(saturation: float)
```
Set the saturation using `LightController.saturation = ...`
#### color\_temperature
```python
@property
def color_temperature()
```
Get the white color temperature in Mired using `LightController.color_temperature`
#### color\_temperature
```python
@color_temperature.setter
def color_temperature(mired: int)
```
Set the white color temperature in Mired (`154` - `500`) using `LightController.color_temperature = ...`
#### alert
```python
def alert()
```
Flash the light once.
#### alert\_long
```python
def alert_long()
```
Flash the light for 10 seconds.
## GroupController Objects
```python
class GroupController(_BaseController)
```
Control a Philips Hue Light Group (Room/Zone) using the API of your Hue Bridge.
**Arguments**:
- `number: int` - The number of your light group
- `bridge_ip_address: str` - The IP address of your Hue Bridge
- `bridge_api_user: str` - The user used to authenticate to the API
Use the class method `.from_name(name:str, ...)` to use the name of a group instead of the number.
#### any\_on
```python
@property
def any_on() -> bool
```
Check if any light in this group is on using `GroupController.any_on`
#### all\_on
```python
@property
def all_on() -> bool
```
Check if all lights in this group are on using `GroupController.all_on`
#### all\_on
```python
@all_on.setter
def all_on(on: bool)
```
Turn on/off all lights in this group using `GroupController.all_on = ...`
#### brightness
```python
@property
def brightness() -> int
```
Get the last set brightness in this group using `GroupController.brightness`
#### brightness
```python
@brightness.setter
def brightness(brightness: float)
```
Set the brightness of all lights in this group using `GroupController.brightness = ...`
#### hue
```python
@property
def hue() -> int
```
Get the last set hue in this group using `GroupController.hue`
#### hue
```python
@hue.setter
def hue(hue: float)
```
Set the hue of all lights in this group using `GroupController.hue = ...`
#### saturation
```python
@property
def saturation() -> int
```
Get the last set saturation in this group using `GroupController.saturation`
#### saturation
```python
@saturation.setter
def saturation(saturation: float)
```
Set the saturation of all lights in this group using `GroupController.saturation = ...`
#### color\_temperature
```python
@property
def color_temperature()
```
Get the last set white color temperature in Mired using `GroupController.color_temperature`
#### color\_temperature
```python
@color_temperature.setter
def color_temperature(mired: int)
```
Set the white color temperature in Mired (`154` - `500`) for all lights in this group using `GroupController.color_temperature = ...`
#### alert
```python
def alert()
```
Flash all lights in the group once.
#### alert\_long
```python
def alert_long()
```
Flash all lights in the group for 10 seconds.
# yahuelib.exceptions
## LightOrGroupNotFound Objects
```python
class LightOrGroupNotFound(Exception)
```
`LightOrGroupNotFound` Exception
## APIError Objects
```python
class APIError(Exception)
```
Generic `APIError` Exception