Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[deconz] Tint remote control by Müller-Licht Color wheel does not work #8256

Closed
rabenhayn opened this issue Aug 4, 2020 · 16 comments · Fixed by #8304
Closed

[deconz] Tint remote control by Müller-Licht Color wheel does not work #8256

rabenhayn opened this issue Aug 4, 2020 · 16 comments · Fixed by #8304
Labels
enhancement An enhancement or new feature for an existing add-on

Comments

@rabenhayn
Copy link

Unfortunately the color wheel is only identified as a button. There seems to be no channel to read out the selected color.

grafik

grafik

grafik

grafik

This thread refers to the integration in deConz and zigbee2mqtt:
dresden-elektronik/deconz-rest-plugin#1209

THINGS
Bridge deconz:deconz:homeserver "Conbee 2" [host="xxx.xxx.xxx.xxx", apikey="xxxxxx", httpPort="30000", timeout=2000 ]{
switch LED_Fernbedienung "Fernbedienung LED" [ id="11" ]
}

ITEMS
Number FernbedienungLEDButton "Button" {channel="deconz:switch:homeserver:LED_Fernbedienung:button"}
DateTime FernbedienungLEDLastUpdated "Last updated" {channel="deconz:switch:homeserver:LED_Fernbedienung:last_updated"}
DateTime FernbedienungLEDLastSeen "Last seen" {channel="deconz:switch:homeserver:LED_Fernbedienung:last_seen"}

@rabenhayn rabenhayn added the enhancement An enhancement or new feature for an existing add-on label Aug 4, 2020
@J-N-K
Copy link
Member

J-N-K commented Aug 4, 2020

Please show how this is shown in the REST API.

@rabenhayn
Copy link
Author

{
"config": {
"group": "16388,16389,16390",
"on": true,
"reachable": true
},
"ep": 1,
"etag": "3987fcd2df411d4001e44129c8d9ccca",
"lastseen": "2020-08-04T19:45:22.828",
"manufacturername": "MLI",
"mode": 1,
"modelid": "ZBT-Remote-ALL-RGBW",
"name": "ZBT-Remote-ALL-RGBW 11",
"state": {
"angle": 90,
"buttonevent": 6002,
"lastupdated": "2020-08-04T19:45:22.829",
"xy": [
0.7,
0.3
]
},
"swversion": "2.0",
"type": "ZHASwitch",
"uniqueid": "00:15:8d:00:04:ad:89:da-01-1000"
}

I guess the "angle" and "xy" values determine the color, some tests showed something like that:

Yellow
"angle" : 180
"xy": 0.3151, 0.6393

Green
"angle" : 180
"xy": 0.3726, 0.5885

Light Blue: 270
"angle" :
"xy": 0.1164, 0.3473

Blue:
"angle" : 0
"xy": 0.1164, 0.3473

Purple
"angle" : 0
"xy": 0.301, 0.1487

Red:
"angle" : 90
"xy": 0.7, 0.3

@J-N-K
Copy link
Member

J-N-K commented Aug 4, 2020

I don‘t know what the angle is used for, but I think I can implement the xy sensor

@rabenhayn
Copy link
Author

rabenhayn commented Aug 4, 2020

That's great! I think this LED remote control would be a fantastic addition to the Deconz-Zigbee environment at openHab.
For better understanding, this is what it looks like:

grafik

@J-N-K
Copy link
Member

J-N-K commented Aug 10, 2020

Please try if https://janessa.me/esh/org.openhab.binding.deconz-2.5.8-SNAPSHOT.jar works as you expect.

@rabenhayn
Copy link
Author

rabenhayn commented Aug 12, 2020

Hello, and thanks for the work.

I have added the file to my openHAB/addons folder. After that the following thing appeared in the inbox.
Inbox

When I try to add it via paperUI, I get the error 409 Conflict
grafik

Even if I remove all deconz .things and .items from the files, the error remains.
no things

When I connect the remote control via VSC, I don't see any more channels, I guess because it is still a switch.
LED thing
Channel
items

Probably I have to make the right thing out of it or create the right channels or items, but unfortunately I don't know which ones.

EDIT: After I have removed the snapshot file from the openHAB/addons folder for a test, the thing is still found in the inbox. I guess I did not install the binding snapshot correctly. Do I need to install it in addition to the deconz binding, or does it replace the binding? If I remove the deconz binding from addons.cfg and leave the binding snapshot in the openHAB/addons folder, the deconz binding will appear in the paperUI, but not all things and their channels will be detected correctly.

@J-N-K
Copy link
Member

J-N-K commented Aug 12, 2020

I‘ll have a look.

@rabenhayn
Copy link
Author

Additional Log Information, Addons.cfg configured with deconz, Snapshot in openHAB/addons:

2020-08-13 08:14:14.716 [ERROR] [org.openhab.binding.deconz ] - bundle org.openhab.binding.deconz:2.5.8.202008101428 (239)[org.openhab.binding.deconz.internal.DeconzHandlerFactory(247)] : Error during instantiation of the implementation object
java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_252]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_252]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_252]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_252]
at org.apache.felix.scr.impl.inject.ComponentConstructor.newInstance(ComponentConstructor.java:309) ~[bundleFile:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:277) [bundleFile:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:114) [bundleFile:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:982) [bundleFile:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:955) [bundleFile:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:900) [bundleFile:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212) [org.eclipse.osgi-3.12.100.jar:?]
at java.security.AccessController.doPrivileged(Native Method) [?:1.8.0_252]
at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:508) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:624) [org.eclipse.osgi-3.12.100.jar:?]
at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:86) [bundleFile:?]
at org.apache.felix.scr.impl.inject.BindParameters.getServiceObject(BindParameters.java:47) [bundleFile:?]
at org.apache.felix.scr.impl.inject.methods.BindMethod.getServiceObject(BindMethod.java:664) [bundleFile:?]
at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2308) [bundleFile:?]
at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:1805) [bundleFile:?]
at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:1788) [bundleFile:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:435) [bundleFile:?]
at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:325) [bundleFile:?]
at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:294) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1216) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1137) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:944) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:880) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1168) [bundleFile:?]
at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:125) [bundleFile:?]
at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:920) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469) [org.eclipse.osgi-3.12.100.jar:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:906) [bundleFile:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:892) [bundleFile:?]
at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:128) [bundleFile:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:959) [bundleFile:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:732) [bundleFile:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:666) [bundleFile:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:432) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:665) [bundleFile:?]
at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:338) [bundleFile:?]
at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:382) [bundleFile:?]
at org.apache.felix.scr.impl.Activator.access$200(Activator.java:49) [bundleFile:?]
at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:264) [bundleFile:?]
at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196) [bundleFile:?]
at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169) [bundleFile:?]
at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49) [bundleFile:?]
at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482) [osgi.core-6.0.0.jar:?]
at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415) [osgi.core-6.0.0.jar:?]
at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) [osgi.core-6.0.0.jar:?]
at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) [osgi.core-6.0.0.jar:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:168) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.container.Module.start(Module.java:467) [org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) [org.eclipse.osgi-3.12.100.jar:?]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) [bundleFile:3.6.4]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) [bundleFile:3.6.4]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:520) [bundleFile:3.6.4]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [bundleFile:3.6.4]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [bundleFile:3.6.4]
2020-08-13 08:14:14.770 [WARN ] [ig.xml.osgi.XmlDocumentBundleTracker] - The XML document '/ESH-INF/thing/sensor-thing-types.xml' in module 'org.openhab.binding.deconz' could not be parsed: Supported itemType for a ChannelType must not be empty. : Supported itemType for a ChannelType must not be empty.
---- Debugging information ----
message : Supported itemType for a ChannelType must not be empty.
cause-exception : java.lang.IllegalArgumentException
cause-message : Supported itemType for a ChannelType must not be empty.
class : org.eclipse.smarthome.core.thing.xml.internal.ChannelTypeXmlResult
required-type : org.eclipse.smarthome.core.thing.xml.internal.ChannelTypeXmlResult
converter-type : org.eclipse.smarthome.core.thing.xml.internal.ChannelTypeConverter
path : /thing-descriptions/channel-type[8]
line number : 124
class[1] : java.util.ArrayList
converter-type[1] : com.thoughtworks.xstream.converters.collections.CollectionConverter
class[2] : org.eclipse.smarthome.core.thing.xml.internal.ThingDescriptionList
converter-type[2] : org.eclipse.smarthome.core.thing.xml.internal.ThingDescriptionConverter
version : not available

com.thoughtworks.xstream.converters.ConversionException: Supported itemType for a ChannelType must not be empty. : Supported itemType for a ChannelType must not be empty.
---- Debugging information ----
message : Supported itemType for a ChannelType must not be empty.
cause-exception : java.lang.IllegalArgumentException
cause-message : Supported itemType for a ChannelType must not be empty.
class : org.eclipse.smarthome.core.thing.xml.internal.ChannelTypeXmlResult
required-type : org.eclipse.smarthome.core.thing.xml.internal.ChannelTypeXmlResult
converter-type : org.eclipse.smarthome.core.thing.xml.internal.ChannelTypeConverter
path : /thing-descriptions/channel-type[8]
line number : 124
class[1] : java.util.ArrayList
converter-type[1] : com.thoughtworks.xstream.converters.collections.CollectionConverter
class[2] : org.eclipse.smarthome.core.thing.xml.internal.ThingDescriptionList
converter-type[2] : org.eclipse.smarthome.core.thing.xml.internal.ThingDescriptionConverter
version : not available

at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:79) ~[bundleFile:?]
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) ~[bundleFile:?]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) ~[bundleFile:?]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) ~[bundleFile:?]
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71) ~[bundleFile:?]
at com.thoughtworks.xstream.converters.collections.CollectionConverter.addCurrentElementToCollection(CollectionConverter.java:98) ~[bundleFile:?]
at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:91) ~[bundleFile:?]
at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:85) ~[bundleFile:?]
at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:80) ~[bundleFile:?]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) ~[bundleFile:?]
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) ~[bundleFile:?]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) ~[bundleFile:?]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) ~[bundleFile:?]
at org.eclipse.smarthome.core.thing.xml.internal.ThingDescriptionConverter.unmarshal(ThingDescriptionConverter.java:53) ~[?:?]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) ~[bundleFile:?]
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) ~[bundleFile:?]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) ~[bundleFile:?]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) ~[bundleFile:?]
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134) ~[bundleFile:?]
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32) ~[bundleFile:?]
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1185) ~[bundleFile:?]
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1169) ~[bundleFile:?]
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1115) ~[bundleFile:?]
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1062) ~[bundleFile:?]
at org.eclipse.smarthome.config.xml.util.XmlDocumentReader.readFromXML(XmlDocumentReader.java:85) ~[bundleFile:?]
at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker.parseDocuments(XmlDocumentBundleTracker.java:411) [bundleFile:?]
at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker.processBundle(XmlDocumentBundleTracker.java:398) [bundleFile:?]
at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker.access$6(XmlDocumentBundleTracker.java:393) [bundleFile:?]
at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker$2.run(XmlDocumentBundleTracker.java:363) [bundleFile:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_252]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_252]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_252]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:1.8.0_252]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_252]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_252]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
Caused by: java.lang.IllegalArgumentException: Supported itemType for a ChannelType must not be empty.
at org.eclipse.smarthome.core.thing.internal.type.StateChannelTypeBuilderImpl.(StateChannelTypeBuilderImpl.java:44) ~[?:?]
at org.eclipse.smarthome.core.thing.type.ChannelTypeBuilder.state(ChannelTypeBuilder.java:93) ~[?:?]
at org.eclipse.smarthome.core.thing.xml.internal.ChannelTypeConverter.unmarshalType(ChannelTypeConverter.java:192) ~[?:?]
at org.eclipse.smarthome.core.thing.xml.internal.ChannelTypeConverter.unmarshalType(ChannelTypeConverter.java:1) ~[?:?]
at org.eclipse.smarthome.core.thing.xml.internal.AbstractDescriptionTypeConverter.unmarshal(AbstractDescriptionTypeConverter.java:194) ~[?:?]
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) ~[bundleFile:?]
... 35 more

2020-08-13 08:17:08.386 [WARN ] [g.discovery.internal.PersistentInbox] - Cannot create thing. No binding found that supports creating a thing of type deconz:color.

@J-N-K
Copy link
Member

J-N-K commented Aug 13, 2020

Unfortunately you downloaded the file before I fixed that error. Could you try to download and test again? Thanks a lot.

@rabenhayn
Copy link
Author

Thanks for your answer.
I have now installed only your binding snapshot. The thing is now detected in the inbox as a color controller, but unfortunately the error remains the same:
grafik
grafik

openhab.log:
2020-08-13 23:09:43.642 [WARN ] [g.discovery.internal.PersistentInbox] - Cannot create thing. No binding found that supports creating a thing of type deconz:colorcontrol.

Do I have to create in VSC a specific thing with specific items?
Please tell me if you need any more informations, I really appreciate your work!

@J-N-K
Copy link
Member

J-N-K commented Aug 14, 2020

Argh. My fault. Fixed it. Please download again.

@rabenhayn
Copy link
Author

Absolutely no problem. As I said, I really appreciate your work.
We are one step further, I could add the thing from the inbox via paperUI, but there are still configuration problems.
grafik
grafik
grafik

For comparison the configuration menu of the remote control as a switch:

grafik
grafik

As you can see, the configuration parameters seem to be missing and some id points are different.

@J-N-K
Copy link
Member

J-N-K commented Aug 14, 2020

Just uploaded a new version

@rabenhayn
Copy link
Author

Well, you're on a very good way!

grafik
grafik

The thing is online and I was able to add the items, with the color channel providing a seemingly correct HSB value.

grafik

The paperUI does not show a value, but I don't think it matters, because the item is read correctly in the VCS.

grafik

Now, unfortunately, there is still a problem. Is it possible to add the missing switch-channels (Button Trigger and Button) to the thing? Because now only the last one added works. Either the switch from the VCS or the colorcontrol from the paperUI, but not both together. Probably because they have the same UID.

@J-N-K
Copy link
Member

J-N-K commented Aug 16, 2020

I think this maybe related to the fact that the channel is read only and paper ui may not be able to display that. The more important thing is that the state of the item changes.

I have added both channels. Can you try if that works as expected?

@rabenhayn
Copy link
Author

Wow, I think you did it! All items seem to work properly.

grafik
grafik
grafik

I had to try a little bit on the rules, but now the buttons of the remote work according to their labels.

var HSBType Farbe = null

rule "Farbe"
when
	Item FernbedienungLEDColor changed
then
	Farbe = FernbedienungLEDColor.state as HSBType
	FlurLEDStreifenColor.sendCommand(Farbe.toString())
end


rule "An/Aus"
when
	Channel "deconz:colorcontrol:homeserver:LED_Fernbedienung:buttonevent" triggered
then
	switch(receivedEvent.getEvent()) {
    	case "1002": {
		  	var HSBType currentState = FlurLEDStreifenColor.state as HSBType
			if (currentState.brightness as Number != 0){
				FlurLEDStreifenColor.sendCommand(OFF)
				} 
			else	FlurLEDStreifenColor.sendCommand(ON)		
		}
	}
end


rule "Helligkeit"
when
	Channel "deconz:colorcontrol:homeserver:LED_Fernbedienung:buttonevent" triggered
then
	switch(receivedEvent.getEvent()) {
    	case "3002": {
		var HSBType currentState = FlurLEDStreifenColor.state as HSBType
		var DecimalType hue = currentState.hue
		var PercentType sat = currentState.saturation
		var PercentType bright	= new PercentType(currentState.brightness - 10)	
		FlurLEDStreifenColor.sendCommand(new HSBType(hue,sat,bright) as Number)
		}
    	case "2002": {
		var HSBType currentState = FlurLEDStreifenColor.state as HSBType
		var DecimalType hue = currentState.hue
		var PercentType sat = currentState.saturation
		var PercentType bright	= new PercentType(currentState.brightness + 10)	
		FlurLEDStreifenColor.sendCommand(new HSBType(hue,sat,bright) as Number)
	 	}
 	}
end


rule "Sättigung"
when
	Channel "deconz:colorcontrol:homeserver:LED_Fernbedienung:buttonevent" triggered
then
	switch(receivedEvent.getEvent()) {
    	case "4002": {
		var HSBType currentState = FlurLEDStreifenColor.state as HSBType
		var DecimalType hue = currentState.hue
		var PercentType sat = new PercentType(currentState.saturation - 10)
		var PercentType bright	= currentState.brightness	
		FlurLEDStreifenColor.sendCommand(new HSBType(hue,sat,bright) as Number)
		}
    	case "5002": {
		var HSBType currentState = FlurLEDStreifenColor.state as HSBType
		var DecimalType hue = currentState.hue
		var PercentType sat = new PercentType(currentState.saturation + 10)
		var PercentType bright	= currentState.brightness	
		FlurLEDStreifenColor.sendCommand(new HSBType(hue,sat,bright) as Number)
		}
 	}
end

I have to admit that the colour selection of the remote control is not very precise, but this seems to be a mechanical problem and requires some practice with a combination of long and short clicks.

Thank you very much for your time and work! As mentioned before, I really appreciate your work and I think that others will benefit as well. Let me know if there's any other way I can thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement An enhancement or new feature for an existing add-on
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants