LED colour change using Amazon Echo Control

  • Platform information:
    • OS: Windows 10
    • Java Runtime Environment: Zulu
    • openHAB version: latest stable

I am trying to control colour of an LED strip TV Backlight from Lepro LampUX via Amazon Echo Control. Power on/off and brightness work fine so I believe binding etc is working. However I am unable to set the colour. I believe Colour is read only and ColourName is read/write but the former gives the RGB controls while the latter is a string value. Any guidance or direction please? Has anybody got this working?

The device you want to control is of type smartHomeDevice and has a color channel? But it is not responding to sending a color value? There is a comment in the code:

// WRITING TO THIS CHANNEL DOES CURRENTLY NOT WORK, BUT WE LEAVE THE CODE FOR FUTURE USE!

So it seems that this is a known issue.

Thanks. Where in the code did you find that? The documentation says that colour changing is supported.

Note the is a Color and a ColourName channel. The latter is documented as R/W.

After using google and some trying around: This is indeed not possible. The API doesn’t support sending arbitrary values. I did also check that neither ioBroker nor HASS support setting arbitrary values.

Very strange. The documentation says:

It also provides features to control devices connected to your echo:

  • turn on/off your lights
  • change the color
  • control groups of lights or just single bulbs
  • receive the current state of the lights
  • turn on/off smart plugs (e. g. OSRAM)

Restrictions:

  • groups can’t receive their current color (multiple colors are possible)
  • devices can only receive their state every 60 seconds
  • turning on/off (or switch color, change brightness) will send a request for every single bulb in a group

Is the issue not with the Color channel specifically which is documented as Read Only? The ColorName channel is documented as Read/Write but seems to need a colour string to be sent (eg " crimson" or “orange”).

Yes, but the color channel is read-only (which is not properly handled in code) because the Amazon API does not allow sending arbitrary color values (i.e. HSB, RGB or similar).

This is not a limitation of the binding but of Amazon’s API. It accepts commands only as names (like crimson) but reports both: names and color values. There is simply no command for setting anything other than the color name. You can also see that in the Alexa app: you can only set the colors listed, there is no color picker or something else. The amazonechocontrol effectively simulates the Alexa App, so what can’t be done there most likely can’t be done with the binding (with some exceptions).

That aside: the implementation of the conversion of the reported color values is wrong.