Update Limitlessled/Milight Component V6 Bridge (iBox)

I must be doing something wrong. Still no working setup. I installed the fork this way:

I cloned the repo in /srv/homeassistant/homeassistant_venv/
Then I installed it: (homeassistant_venv) homeassistant@raspberrypi:/srv/homeassistant/homeassistant_venv/python-limitlessled-master $ python3 setup.py install

After that I modified /srv/homeassistant/homeassistant_venv/site-packages/homeassistant/components/light/limitlessled.py
DEFAULT_LED_TYPE = ‘rgbw’
DEFAULT_PORT = 5987
DEFAULT_TRANSITION = 0
DEFAULT_VERSION = 6

LED_TYPE = [‘rgbw’, ‘white’, ‘rgbww’, ‘bridge-led’]

light:
platform: limitlessled
bridges:
  - host: 192.168.2.10
    groups:
    - number: 1
      name: bathroom
      type: white

Try to install the fork using pip (make sure to remove limitlessled first).

 pip3 install -e /srv/homeassistant/homeassistant_venv/python-limitlessled-master

If this still doesn’t work, change the version to 1.0.3 in setup.py and in homeassistant/components/light/limitlessled.py
Then install limitlessled again (make sure pip give you a message about limitlessled 1.0.3 being installed), and restart home-assistant. This way you’ll know if the fork is not installed properly.

It does seem to work now again, at least for the rgbw-bulbs I have. The rgbww and bridge-led aren’t showing up, but also nothing in the logs. I’m using the latest version of the soldag-version… My config:

- platform: limitlessled
  bridges:
  - host: 192.168.39.11
    groups:
    - number: 1
      name: group_1
      type: rgbw
    - number: 2
      name: group_2
      type: rgbww

Your bridge won’t show up if it’s not configured ^^

- number: 1
  name: bridge
  type: bridge-led

For the rgbww I’m not sure, it should work. And working or not, it should show in your home-assistant web interface.

They are also available from aliexpress (for cheap)(Milight RGBWW)! :smiley:

I think that there is a small confusion here, the RGBWW available on Aliexpress are the RBG + warm white bulb that was already supported in v5 and previously under the type rgbw.

The new RGBCW/WW (type rgbww in the library) are RGB bulb with Warm white and Cold white at the same time!
They let you choose the temperature of the white light. On the older RGBW or RGBWW you had to choose if you wanted warm or cold white when buying them.

Another difference is that the white light can be emitted at the same time with colored light. Whereas on the older RGBW bulb, you could only light up one of the two type of light (RGB or white).

BTW I’m wondering, how is the white color temperature selection represented in HASS UI? Can someone make a screen-shot of RGBCW+WW UI panel?

Edit: Also found them on Aliexpress for 15€.

Ah, saw that you found them. Here’s proof anyway :stuck_out_tongue:
https://cloud.thomasbrasser.nl/s/8mkrej1F9jkpn1v

Thank you very much for your help again.

Okay I will try it with pip3 tonight (at work right now). Can you tell me what is the difference is with python install?
Btw, I am using this hub https://www.aliexpress.com/item/2-4G-Wifi-led-controller-mini-wifi-led-controller-with-iOS-5-0-or-Android/1983705141.html?scm=1007.13338.50051.0&pvid=425e4ac1-1b89-4d55-93bf-55aa465188ae&tpp=1

It basically do the same but pip does it better (especially in virtual env) ^^

I found my problem. The groups for the rgbww and rgbw are separated since a few commits. I had to update my limitlessled.py a little more, by creating a separate LimitlessRGBWWGroup (changes start on line 165 and 301):

http://pastebin.com/Fy9hZ3J9

The current issue I’m having now is that when the rgbww bulb is turned on, it always is cold-white. I will try to fix this.

Aha, okay, will try that. You said I should remove limitlessled first. What do you mean with that?
And if it doesn’t work I should change the version. You mean the text in setup.py?

Sorry for all my questions. I learn alot when things don’t work :).

That: pip3 uninstall limitlessled

Yes change the version in setup.py and in homeassistant/components/light/limitlessled.py:
change
REQUIREMENTS = ['limitlessled==1.0.2']
to
REQUIREMENTS = ['limitlessled==1.0.3']

Hi I tried everything you said. I even installed it as 1.03.
Then i tried to select a light that was not in version 5, like rgbww. When I dit that, I got errors. I think that this would mean that the new package is not used somehow. This is the logfile:

17-01-17 20:39:14 homeassistant.loader: Loaded light.limitlessled from homeassistant.components.light.limitlessled
17-01-17 20:39:14 homeassistant.bootstrap: Setting up light
17-01-17 20:39:14 homeassistant.components.light: Setting up light.limitlessled
17-01-17 20:39:14 homeassistant.components.light: Error while setting up platform limitlessled
Traceback (most recent call last):
File “/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/helpers/entity_component.py”, line 151, in _async_setup_platform
entity_platform.add_entities, discovery_info
File “/usr/lib/python3.4/asyncio/futures.py”, line 388, in iter
yield self # This tells Task to wait for completion.
File “/usr/lib/python3.4/asyncio/tasks.py”, line 286, in _wakeup
value = future.result()
File “/usr/lib/python3.4/asyncio/futures.py”, line 277, in result
raise self._exception
File “/usr/lib/python3.4/concurrent/futures/thread.py”, line 54, in run
result = self.fn(*self.args, **self.kwargs)
File “/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/light/limitlessled.py”, line 110, in setup_platform
group_conf.get(CONF_TYPE, DEFAULT_LED_TYPE))
File “/home/homeassistant/.homeassistant/deps/limitlessled/bridge.py”, line 86, in add_group
group = group_factory(self, number, name, led_type)
File “/home/homeassistant/.homeassistant/deps/limitlessled/bridge.py”, line 34, in group_factory
raise ValueError(‘Invalid LED type: %s’, led_type)
ValueError: (‘Invalid LED type: %s’, ‘rgbww’)

I don’t know enough to debug it, but what I noticed is that it uses this file: home/homeassistant/.homeassistant/deps/limitlessled/bridge.py. When I open this one, I can see that this is an old version. Is this correct?

So, I have been experimenting some more. I did a reinstall and changed nothing except the config file. I added this:

light:
  platform: limitlessled
  bridges:
    - host: 192.168.2.100
      groups:
      - number: 1
        name: Bedroom1
        type: rgbw

Then I opened wireshark en monitored port 8899. This should be the port it defaults to. But I see no communication. This is very strange, I expected some messages, but nothing. But when I use the testsoftware of limitlessled with the port set at 8899, I see the expected messages. So it seems that Home Assistant doesn’t send anything.

Can any tell me what I am missing?

Please add the port and version back in your config:

- host: xxx.xxx.xxx.xx
  version: 6
  port: 5987

It might be you"re running version 5 on the old port…

You mean the config file, homeassistant/components/light/limitlessled.py and installed the fork library?
If you just changed the config file it cannot work.

I didn’t install the fork yet. I wanted to see if home assistant did something with the default library, changed nothing in the limitless.py file. And I expected to see something with wireshark. I know that it wouldn’t be able to connect to the hub with the wrong port/library, but this is just a test.

Tonight I will try to install the fork again, but I do not have high hopes. I don’t like to give up just yet.

Ok so something is wrong with your setup/wireshark config.

Maybe, but when I use the android app for milight or http://www.limitlessled.com/download/LimitlessLEDv6.zip I see the right messages. So this makes me think that wireshark is setup right. I’m totally lost, I don’t really know what to try next.

Yes it’s weird, the limitlessled module for v5 is not know for having issues.

Are you running hass on a Raspberry? No firewall/routing rules enabled?

I installed it on a Odroid C1 and a Raspberry Pi 3. Both give me the same result. On the C1 I did a manual install on DietPi. On the Pi3 I installed it on a standard Raspbian Lite image with the all in one installer. I cant test it, but do you think a firewall is enabled by default? At least I did not enable it, for both devices.

1 Like