This repository has been archived by the owner on Apr 28, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 289
Homeassistant integration
Malik Mann edited this page Jan 25, 2019
·
6 revisions
The integration into Homeassistant is enabled by default. You could enable/disable the functionality by (un-)commenting the "#define ENABLE_HOMEASSISTANT
" in "definitions.h". It uses the ArduinoJSON library, so you have to install it also via "Library Manager", when you want to use the integration.
When you have Homeassistant integration enabled, there are three additional topics available:
home/HOSTNAME_ha/state/in
-
home/HOSTNAME_ha/state/out
Where HOSTNAME is the current hostname set in definitions.h.
The in-topic consumes JSON formatted data with the following structure:
{
"brightness": 196,
"color": {
"r": 255,
"g": 100,
"b": 10
},
"speed": 194,
"color_temp": 24,
"effect": "Rainbow",
"state": "ON"
}
- brightness: Value 0 - 255
- color: Structure with Red (r), Green (g) and Blue (b) values 0 - 255
- color_temp: Color temperature in mireds
- effect: Name of the effect like defined in WS2812FX - case sensitive.
- state: "ON" or "OFF"
- speed: Value 0 - 255
Contains the current mode as JSON.
Example:
{
"state": "OFF",
"color": {
"r": 255,
"g": 86,
"b": 0
},
"speed": 194,
"color_temp": 24,
"brightness": 100,
"effect": "Static"
}
You can find a sample config here.
To use the MQTT Auto-Discovery feature (Plug & Play),
- Uncomment
#define MQTT_HOME_ASSISTANT_SUPPORT
indefinitions.h
- Use AMQTT
#define ENABLE_AMQTT
indefinitions.h
While compiling on Arduino IDE make sure to select "Tools" -> "IwIP Variant" -> "Higher Bandwidth"
On the Homeassistant side:
- Enable MQTT Discovery in
configuration.yaml
mqtt:
broker: 192.168.0.xxx
port: 1883
client_id: home-assistant
keepalive: 60
discovery: true
discovery_prefix: homeassistant
- Restart Homeassistant and now McLighting will automatically show up in your dashboard.