The "new" Milight IBox and milight binding

Hi all,

for me rc1 looking good too with ibox and rgbw. Colors selection is now OK

In the official app i have the whitemode for ibox, whitemode and nightmode for the rgbw, but with binding all this mode doesn’t work

Has anyone successfully tested these features ?

@phil2fer:
Whitemode and nightmode are trigger channels in this binding. At the moment trigger channels can not be linked or controlled trough the PaperUI, but you can bind those to items in your item file. OH lacks a Pushbutton item though, so it is a little more complicated for now. Have a look at the readme, it is explained there.

@Andrew_Currie:
I’m not sure if it was you or another user that reported the inverse saturation. I checked the code though and compared it to the commands that the official iOs client is sending and didn’t found any deviation. Maybe it is a PaperUI issue, have you double checked with another UI?

The iBox has no white led and therefore no saturation control. If it is still shown on your setup, you need to remove the thing and add it again. The S+. S- buttons on the app are for animation mode speed.

Cheers, David

I am still getting up to speed with openhab and so far have not got another UI working with Milight, and have only tested the PaperUI. Hope to report back soon re saturation. I guess I could always reverse the saturation in my UI design.

Oops… i make a mistake in my items file

Everything is working now (Whitemode an Nightmode)

Thanks David

Hi David

THX for your efforts.
If i install the milight binding via PAPER UI, I dont get the one that works with the ibox, am I right?

Funny thing is, that it found a lot of items, but I cant control them.

When do you think, the binding works via paper UI since i have no idea how to install a binding manually. I tried to copy your jar file inte the addons folder, but I havent the permission. Would that be the riht way, and if so, would I see the manually installed binding in the paper UI

THX
Daniel

The version 2.1 is in the process of being reviewed and should be available via paperUI in about a week or so. At the moment, you need to copy the jar file (without pdf suffix) to the addons folder, yes.

If it is a system wide installation, you need permissions to install to that directory, usually your user is part of the admin group and you can use “sudo cp file.jar /usr/share/openhab2/addons”. Please remove the old milight addon before.

And yes, you can use manually copied bindings in paperUI.

Cheers, David

Hallo David

Ok i think I´ll wait for the updated version. :slight_smile:

THX
Daniel

Hi david,

I try to test animate-beta1.jar

I have set the fade time to 500ms
When i change the RGBW color or ibox color i have this error

2017-02-08 21:11:20.378 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured while calling handler: java.lang.ArrayIndexOutOfBoundsException: 21
java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException: 21
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)[:1.8.0_101]
        at java.util.concurrent.FutureTask.get(FutureTask.java:206)[:1.8.0_101]
        at org.eclipse.smarthome.core.common.SafeMethodCaller.callAsynchronous(SafeMethodCaller.java:188)[98:org.eclipse.smarthome.core:0.9.0.b4]
        at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:81)[98:org.eclipse.smarthome.core:0.9.0.b4]
        at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:65)[98:org.eclipse.smarthome.core:0.9.0.b4]
        at org.eclipse.smarthome.core.thing.internal.ThingManager.receiveCommand(ThingManager.java:369)[105:org.eclipse.smarthome.core.thing:0.9.0.b4]
        at org.eclipse.smarthome.core.items.events.AbstractItemEventSubscriber.receive(AbstractItemEventSubscriber.java:46)[98:org.eclipse.smarthome.core:0.9.0.b4]
        at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:192)[98:org.eclipse.smarthome.core:0.9.0.b4]
        at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:1)[98:org.eclipse.smarthome.core:0.9.0.b4]
        at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:179)[98:org.eclipse.smarthome.core:0.9.0.b4]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_101]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_101]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_101]
        at java.lang.Thread.run(Thread.java:745)[:1.8.0_101]
Caused by: java.lang.ArrayIndexOutOfBoundsException: 21
        at org.openhab.binding.milight.internal.protocol.MilightV6.copy(MilightV6.java:92)[186:org.openhab.binding.milight:2.1.0.animate-beta1]
        at org.openhab.binding.milight.internal.protocol.MilightV6.animate_command(MilightV6.java:115)[186:org.openhab.binding.milight:2.1.0.animate-beta1]
        at org.openhab.binding.milight.internal.protocol.MilightV6.setHSB(MilightV6.java:160)[186:org.openhab.binding.milight:2.1.0.animate-beta1]
        at org.openhab.binding.milight.handler.MilightLedHandler.handleCommand(MilightLedHandler.java:102)[186:org.openhab.binding.milight:2.1.0.animate-beta1]
        at org.eclipse.smarthome.core.thing.internal.ThingManager$4.call(ThingManager.java:372)[105:org.eclipse.smarthome.core.thing:0.9.0.b4]
        at org.eclipse.smarthome.core.thing.internal.ThingManager$4.call(ThingManager.java:1)[105:org.eclipse.smarthome.core.thing:0.9.0.b4]
        ... 5 more

and for brightness

2017-02-08 21:16:12.078 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured while calling handler: java.lang.ArrayIndexOutOfBoundsException: 21
java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException: 21
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)[:1.8.0_101]
        at java.util.concurrent.FutureTask.get(FutureTask.java:206)[:1.8.0_101]
        at org.eclipse.smarthome.core.common.SafeMethodCaller.callAsynchronous(SafeMethodCaller.java:188)[98:org.eclipse.smarthome.core:0.9.0.b4]
        at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:81)[98:org.eclipse.smarthome.core:0.9.0.b4]
        at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:65)[98:org.eclipse.smarthome.core:0.9.0.b4]
        at org.eclipse.smarthome.core.thing.internal.ThingManager.receiveCommand(ThingManager.java:369)[105:org.eclipse.smarthome.core.thing:0.9.0.b4]
        at org.eclipse.smarthome.core.items.events.AbstractItemEventSubscriber.receive(AbstractItemEventSubscriber.java:46)[98:org.eclipse.smarthome.core:0.9.0.b4]
        at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:192)[98:org.eclipse.smarthome.core:0.9.0.b4]
        at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:1)[98:org.eclipse.smarthome.core:0.9.0.b4]
        at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:179)[98:org.eclipse.smarthome.core:0.9.0.b4]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_101]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_101]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_101]
        at java.lang.Thread.run(Thread.java:745)[:1.8.0_101]
Caused by: java.lang.ArrayIndexOutOfBoundsException: 21
        at org.openhab.binding.milight.internal.protocol.MilightV6.copy(MilightV6.java:92)[186:org.openhab.binding.milight:2.1.0.animate-beta1]
        at org.openhab.binding.milight.internal.protocol.MilightV6.animate_command(MilightV6.java:115)[186:org.openhab.binding.milight:2.1.0.animate-beta1]
        at org.openhab.binding.milight.internal.protocol.MilightV6.setBrightness(MilightV6.java:191)[186:org.openhab.binding.milight:2.1.0.animate-beta1]
        at org.openhab.binding.milight.handler.MilightLedHandler.handleCommand(MilightLedHandler.java:145)[186:org.openhab.binding.milight:2.1.0.animate-beta1]
        at org.eclipse.smarthome.core.thing.internal.ThingManager$4.call(ThingManager.java:372)[105:org.eclipse.smarthome.core.thing:0.9.0.b4]
        at org.eclipse.smarthome.core.thing.internal.ThingManager$4.call(ThingManager.java:1)[105:org.eclipse.smarthome.core.thing:0.9.0.b4]
        ... 5 more

For rc1 and rgbww lights I tried to test the basic UI and was not making much progress so switched to habpanel. Here I could uses switches, sliders and a color picker (which shows Hue 0-360, Saturation 0-1 and L 0-1). It looks like L is the same as brightness). Basically saturation is reversed as found in the paper UI and the following test sequence tells the story:

  1. Start with the actual lights a washed out pink colour, lighter than the color picker icon/control
  2. Slide brightness to half and get an even paler pink light (the colour slider auto changed too)
  3. change color picker slider L to 1 and the light goes bright pink (saturation slider auto changed to near zero). The dynamic color picker icon is washed out while the actual light is bright pink
  4. change color picker saturation slider to zero and no change to light colour, still bright pink
  5. change saturation slider to 100% and light goes to very pale pink, dynamic icon goes coloured and L auto changed back to about 0.5. However the brightness and colour sliders did not auto change.

Changing the L slider, brightness slider or the colour slider on its own auto changed the other 2 to the same value. The settings are given below for the various widgets

Hope this helps you get to the bottom of this one…

Hi David, I went back and had another go at the basic UI and by accident discovered what was going on re colour. I could not get any full saturation colours until I picked the centre of the colour wheel (white) and then got full colour! The outside of the colour wheel gives very light (unsaturated colours). Using my saturation slider in this basic UI gives more saturation to the left and almost white to the right. Perhaps the colour definition needs attention rather than just saturation.

Thank you for the detailed analysis. Saturation is indeed reversed for you. Can someone else confirm this? I will inverse Saturation for the release if nobody complains.

I will not post updated release candidates here but in the github pull request instead.

sorry i don’t have RGBWW to confirm this

sorry - with org.openhab.binding.milight_2.1.0.ref-rc1 many things were working. the integrated light of the ibox (apart from switching to clean white) and my rgbw leds were nearly perfect working.
with org.openhab.binding.milight_2.1.0.animate-beta1 i cant turn on the integrated led of the ibox (nor switch colors etc.) and i only can turn my rgbw leds off, not on, not change any color…

al lot of:

    2017-02-09 20:57:19.478 [ERROR] [nal.protocol.MilightV6SessionManager] - Command not confirmed: 1
2017-02-09 20:57:19.478 [ERROR] [nal.protocol.MilightV6SessionManager] - Command not confirmed: 2
2017-02-09 20:57:19.478 [ERROR] [nal.protocol.MilightV6SessionManager] - Command not confirmed: 3
2017-02-09 20:57:19.478 [ERROR] [nal.protocol.MilightV6SessionManager] - Command not confirmed: 4
2017-02-09 20:57:19.479 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured while calling handler: java.lang.ArrayIndexOutOfBoundsException: 21
java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException: 21

Just to get it right. This is just an update for the current milight binding and will support the old bridges too? Or is it a complete new binding just for the ibox series?

The IBox is a new bridge to the existing milights and increases compatiblity to RGB lights that have CW and WW abilities. This means they have also extended the pwm control for the White color tempeture control to the RGB side for the Ibox and New RGB bulbs which is saturation. So even bring the Ibox alone would require some work. but the hardware is also a legit version 6 that is hardware incompatible with stuff before. Limitless is also working on software update to version 7, but it all should be backwards compatible but not completely. Somethings are limited by the hardware, like what type of Led you actually have in your lights and such.

Thanks for your explanations… :slight_smile:

It’s an extension. Both bridge types are supported.

Hi,
I have an iBox2 v6 wifi bridge (software version 1.0.08) with a 9w RGBW bulb, all works ok using the Android app.

I’ve spent the last couple of days trying to get OH2 to play nicely with it, but without joy so far.

I’m using binding-milight - 2.1.0.SNAPSHOT.

Discovery doesn’t find the bridge. Adding manually, including the IP address, MAC address and port 8899 just results in an ‘offline’ Milight Bridge thing.

Adding manually but excluding the MAC address, leaving everything else the same works and adds these in the Inbox as expected…

Color group 1 to 4
Color group all
White group 1 to 4
White group all
Color Leds (old,without white)

However, none of them have any effect on the bulb, no control works.

I’m not sure how to debug this or whether I’ve missed something else in the config somewhere?

Thanks.

The paperui version does not have ibox support that’s what this thread is about ^^ the new version is not yet released, I’m waiting for feedback from My reviewer.