RGB ColorPicker?

Hi all,
is it possible to have an RGB colorpicker, something like http://cklsylabs.com/#/ackolor as a custom widget so we use it to control RGB LED strip ?


Yeah it’s really cool !

It could be cool to have an option without the slider

I knew I saw this somewhere :slight_smile:

commit bca388499b2a746f91ed4873894b8ab3887c9208
Author: YS <ghys@users.noreply.github.com>
Date:   Tue Aug 30 00:25:13 2016 +0200

    Partial aCKolor implementation

I actually investigated this a while ago, while evaluating options for the color picker but I settled on the current iteration, I think it was not behaving as expected on my tablet or wasn’t touch-friendly.

Maybe I’ll give it another try.


@ysc … so much appreciated :slight_smile:

Hello guys,
I’m quite new to openHAB but so far I’m loving it. I currently try to setup my hue bulps but I’m not satisfied with the hue/saturation/brightness divided colorpicker. Can you help me to setup a nice looking one? I like the one from the old UI more but the best solution would be to have a colorwheel or a colored scare that pops up a colorpicker.
I think you are talkin about that 3rd option but I’m not sure if there is something I can use already. If not how can I start? (I’ve read the custom widget walkthrought but would like to minimize the workload here)

Any help is very mutch appreciated.

I second the request if one is possible with HabPanel. I had been searching around and did find a color picer done in angularjs, but haven’t really a clue yet how to maybe use with HabPanel and OH2.

If interested, this is what I found:

And then also found this, but see it does use jquery

+1 for this. It would definitely improve the WAF :slight_smile:

Finally finished the aCKolor implementation and added it as an alternative style (select it in the settings).
You must confirm the color before it’s applied to your item and dragging the cursors on a tablet is not perfect, but for now it’ll do.


That looks awesome! How can I use it?

1 Like

Hi Yannick,
Looks great, is it possible to download your widget?

I am very interested in such a solution for my hue lamps.

Have a nice weekend!


It’s an extension of the standard color picker widget.
Upgrade to the latest snapshot or use an HABPanel clone in your static html directory and you will get it.

Hi, I am not so familiar with the snapshots. Is it possible to update only Habpanel to the snapshot version or have I update the whole system?
And how I have to do it?

Thank you for your support.

Go to this page: http://docs.openhab.org/installation/index.html , click on your operating system on the left and you should find how to backup your setup, and how to upgrade your setup to a new release. Backup FIRST!!! Then Backup again, to another location, just to be sure!!! LOL!!

Thank you. But is it possible to upgrade only Habpanel to the snapshot version?

You can probably drop the .jar from here into your addons folder, should work.

Hi @ysc! Does not work for me …

00:58:02.777 [ERROR] [panel.internal.HABPanelDashboardTile] - Error during HABPanel startup: alias: ‘/habpanel’ is already in use in this or another context
00:58:03.674 [INFO ] [panel.internal.HABPanelDashboardTile] - Stopped HABPanel
00:58:03.733 [INFO ] [panel.internal.HABPanelDashboardTile] - Started HABPanel at /habpanel
00:58:03.767 [ERROR] [org.openhab.ui.habpanel ] - [org.openhab.habpanel(191)] The deactivate method has thrown an exception
java.lang.IllegalArgumentException: Alias [/habpanel] was never registered
at org.ops4j.pax.web.service.internal.HttpServiceStarted.unregister(HttpServiceStarted.java:278)
at org.ops4j.pax.web.service.internal.HttpServiceProxy.unregister(HttpServiceProxy.java:77)
at org.openhab.ui.habpanel.internal.HABPanelDashboardTile.deactivate(HABPanelDashboardTile.java:61)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_121]
at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_121]
at org.apache.felix.scr.impl.inject.BaseMethod.invokeMethod(BaseMethod.java:224)[32:org.apache.felix.scr:2.0.6]
at org.apache.felix.scr.impl.inject.BaseMethod.access$500(BaseMethod.java:39)[32:org.apache.felix.scr:2.0.6]
at org.apache.felix.scr.impl.inject.BaseMethod$Resolved.invoke(BaseMethod.java:617)[32:org.apache.felix.scr:2.0.6]
at org.apache.felix.scr.impl.inject.BaseMethod.invoke(BaseMethod.java:501)[32:org.apache.felix.scr:2.0.6]
at org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:302)[32:org.apache.felix.scr:2.0.6]
at org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:294)[32:org.apache.felix.scr:2.0.6]
at org.apache.felix.scr.impl.manager.SingleComponentManager.disposeImplementationObject(SingleComponentManager.java:343)[32:org.apache.felix.scr:2.0.6]
at org.apache.felix.scr.impl.manager.SingleComponentManager.deleteComponent(SingleComponentManager.java:152)[32:org.apache.felix.scr:2.0.6]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.doDeactivate(AbstractComponentManager.java:813)[32:org.apache.felix.scr:2.0.6]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:787)[32:org.apache.felix.scr:2.0.6]
at org.apache.felix.scr.impl.manager.SingleComponentManager.reconfigure(SingleComponentManager.java:658)[32:org.apache.felix.scr:2.0.6]
at org.apache.felix.scr.impl.manager.SingleComponentManager.reconfigure(SingleComponentManager.java:609)[32:org.apache.felix.scr:2.0.6]
at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.configurationUpdated(ConfigurableComponentHolder.java:426)[32:org.apache.felix.scr:2.0.6]
at org.apache.felix.scr.impl.manager.RegionConfigurationSupport.configurationEvent(RegionConfigurationSupport.java:273)[32:org.apache.felix.scr:2.0.6]
at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:2068)[3:org.apache.felix.configadmin:1.8.12]
at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:2036)[3:org.apache.felix.configadmin:1.8.12]
at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:141)[3:org.apache.felix.configadmin:1.8.12]
at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:109)[3:org.apache.felix.configadmin:1.8.12]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]

Uninstall the current version with the Paper UI first.

Got it! Thanks for the hint …

Hi, thank you for your work. I love the Color picker widget to set color and temperature. Is it possible to set the position of the color point of the widget to the center of the widget field? I need the possibility to center it due to space issues. Or is it possible to modify the widget?

actually only this position is possible:

Thanks you so much it rocks !