Just in case others are interested, I’ve successfully created REST commands for controlling MLSC via HA. I haven’t figured out a way to incorporate a color wheel, but I can select among various predefined effects and colors for which I have created distinct REST commands in my HA config. Here are some examples. Note that changing the color(s) of a given effect requires a POST to a URL that is not the same as the URL for the activation of the effect. That is to say, you cannot send a command for “turn on effect_single” and “red” at the same time; there is a URL for editing effects and a separate URL for activating effects. Also, if you check your MLSC config file (downloadable from the API page) you will see what each LED strip device is called. They all follow a naming convention of “device_#” (device_0, device_1, etc.)
This command changes the color of the single effect to red for device_0:
rest_command:
mlsc_device_0_edit_single_red:
url: 'http://192.168.0.105:8080/api/settings/effect?'
method: POST
payload: '{
"device": "device_0",
"effect": "effect_single",
"settings": {
"color": "red",
"custom_color": [
255,
0,
0
],
"use_custom_color": false,
"white": 0
}
}'
content_type: "application/json"
Then, to activate the single effect on device_0:
mlsc_device_0_post_single:
url: 'http://192.168.0.105:8080/api/effect/active?'
method: POST
payload: '{
"device": "device_0",
"effect": "effect_single"
}'
content_type: "application/json"
Here, to activate the advanced scroll effect on device_1
mlsc_device_1_post_advanced_scroll:
url: 'http://192.168.0.105:8080/api/effect/active?'
method: POST
payload: '{
"device": "device_1",
"effect": "effect_advanced_scroll"
}'
content_type: "application/json"
…and so on. Based on these REST commands you should be able to create any further commands you would need, using the MLSC API documentation (available at the bottom of the MLSC web UI when you login on port 8080).