New Elero TransmitterStick Binding

I have written a binding for the Elero Transmitter Stick. It allows to control elero rollershutters that have been programmed on the stick and to show the current status.

It is not thoroughly tested (but running fine here with 14 rollershutters) and I would like to make it available to a wider audience for testing before I create a pull request on github.

As the binding needs to write to the usb stick, I decided to skip discovery and force manual configuration for the stick thing. After the stick has been configured, discovery should discover all channels that have been programmed on the transmitter stick. It creates a Thing for every channel that can then be used to control/query the rollershutters.

For details see the README file in the binding directory. It can be found here:
https://github.com/vbier/openhab2-addons/tree/elerostick/addons/binding/org.openhab.binding.elerotransmitterstick

Before dropping the jar file into your openHAB installation, make sure you install the feature openhab-transport-serial.

Regards,
Volker

Edit: I have now created a pull request to get the binding into openHAB:

Binding has been merged and should show up in one the next 2.5 snapshots.

1 Like

Hi,

I’m not sure this is the best place for this question, but for lack of a better option I’ll give it a shot:
I’m looking into automating my rollershutters, and elero is an option as well. Does this binding just need the transmitter stick, plugged into the computer (a raspberry pi in my case) that openhab is running on? It doesn’t need a Centero server additionally?

Thanks for your help!

A Centero Server is not needed. The binding talks to the transmitter stick, which directly controls the rollershutters. I have the transmitter stick plugged into a raspberry pi myself.

Do you think it would work with a blind from Weinor, which also seems to use Elero?

Regards, Dieter

I read somewhere on the FHEM forum that the system is compatible with Elero, but nobody seems to have tested it. I also don’t know if they use the same firmware (with the same API) on the Weinor stick, or if only the protocol is the same.

But the Weinor products look like 1:1 copies of the Elero transmitters (or vice versa), this seems to be more than just coincidence.

You can order a stick and try it. If it does not work return it.

Works great for me for 2 months now. Thanks!

Hey, nice to hear that somebody is actually using it. I thought there is no interest in the binding.

I wrote rules yesterday to automatically drive the rollershutters to intermediate position depending on the sun position so that it does not get that warm inside. Its very nice to be able to have that much control over the shutters (even when the
remote control does allow to do some nice things you can’t do as much with it as with openhab).

I am about to order the stick, but there seem to be two different options. First one is the Elero Center Transmitter stick. The second option is an Elero Usb stick Easywave RX09. I guess the Centero stick is the right one. Am I right?

I just had a quick look. The stick from Eldat speaks another protocol, it can not be used with my binding. But it looks interesting, as it has 64 channels. If I would not already own the Centero stick, I would buy the one from Eldat now.

Thank you for the information. Just ordered the Elero stick today. Will take a week though to be delivered …

The Elero stick is working with Weinor! I could use my existing remote control to set the blind to configuration mode as explained in a youtube video from Weinor. However, I still have problems to configure a second channel for dimming lights. Works with my remote, but not with the stick, yet.

Thank you Volker for the great effort!

Was thinking of getting one of these sticks myself - do you have any info on getting it actually running on raspbian, before jumping into the openhab binding?

Was hoping to skip the purchase of the stick and work with a plain nrf905 to “clone” the 868mhz signal from the remote, but kind of giving up on that by now…

Nice to hear that the stick works for you. What kind of lights are you expecting to dim with it? Can you keep us posted if you get it working?

I would wonder if the distribution makes a difference as long as it has an up-to-date kernel. I am running openhabian, which is based on raspian lite, so you should be fine.

I will try to make it work during the weekend. The LED lights are integrated with the blind (see https://www.weinor.de/opaldesign/) and it is operated with the same remote control.

@ggg: The Elero usb stick will work as soon as it has a USB power connection. You only need to teach the stick according to the Elero/Weinor rules. There are four buttons on the stick (up, down, p for stopping and programming and select to choose the channel). But I have no clue how to operate it from the raspberry Pi without using openHab and Volkers binding.

Light ON (STATUS = BOTTOM) /OFF (STATUS=TOP) is now working (channel 2). There was a slightly different method involved to teach the stick.

However, percentage values (25, 75) are not working for the blind. Probably there needs to be a kind of calibration first. Do you have an idea what to do?

The Stick API has the following different commands:
0x20 Up
0x44 Intermediate position
0x24 Tilt/ventilation
0x40 Down
0x10 Stop

Since the API has no support for percentage values, I have mapped openHAB percentages to stick commands:
0% Up
25% Intermediate position
75% Tilt/ventilation
100% Down

The API documentation only talks about rollershutters and does not mention lights or other hardware. So I guess there is no support for dimming the lights.

Can sb please post a things configuration for the elero transmitter stick?
in the console the binding is running, but i cannot manage to bin my stick with my items.

Hello Volker Bier!

Can you please explain me, how to bind the elero transmitter stick to openhab?
I have problems with the things config.

first I create a Thing which is the stick like this:

Thing elerotransmitterstick:elerostick:stick "EleroStick" @ "Arbeitszimmer" [ portName="/dev/ttyEleroStick", updateInterval=5000 ]

But when I try to add a channel, then I run into troubles

Thing elerotransmitterstick:elerochannel:4 [channelId="4"]

My Logfile says, that I have a Nullpointer Exception:

2017-07-24 13:04:09.153 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occurred while initializing handler of thing 'elerotransmitterstick:elerochannel:4': java.lang.NullPointerException
java.util.concurrent.ExecutionException: java.lang.NullPointerException
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)[:1.8.0_131]
        at java.util.concurrent.FutureTask.get(FutureTask.java:206)[:1.8.0_131]
        at org.eclipse.smarthome.core.common.SafeMethodCaller.callAsynchronous(SafeMethodCaller.java:194)
        at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:83)
        at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:67)
        at org.eclipse.smarthome.core.thing.internal.ThingManager.doInitializeHandler(ThingManager.java:738)
        at org.eclipse.smarthome.core.thing.internal.ThingManager.initializeHandler(ThingManager.java:664)
        at org.eclipse.smarthome.core.thing.internal.ThingManager.access$12(ThingManager.java:639)
        at org.eclipse.smarthome.core.thing.internal.ThingManager$2.apply(ThingManager.java:681)
        at org.eclipse.smarthome.core.thing.internal.ThingManager$2.apply(ThingManager.java:1)
        at org.eclipse.smarthome.config.core.BundleProcessorVetoManager.applyActionFor(BundleProcessorVetoManager.java:124)
        at org.eclipse.smarthome.core.thing.internal.ThingManager.registerAndInitializeHandler(ThingManager.java:1016)
        at org.eclipse.smarthome.core.thing.internal.ThingManager.thingUpdated(ThingManager.java:544)
        at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyTrackers(ThingRegistryImpl.java:221)
        at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutUpdatedElement(ThingRegistryImpl.java:144)
        at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutUpdatedElement(ThingRegistryImpl.java:1)
        at org.eclipse.smarthome.core.common.registry.AbstractRegistry.updated(AbstractRegistry.java:177)[98:org.eclipse.smarthome.core:0.9.0.b5]
        at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:57)[98:org.eclipse.smarthome.core:0.9.0.b5]
        at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListenersAboutUpdatedElement(AbstractProvider.java:82)[98:org.eclipse.smarthome.core:0.9.0.b5]
        at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.lambda$18(GenericThingProvider.java:978)[133:org.eclipse.smarthome.model.thing:0.9.0.b5]
        at java.util.ArrayList.forEach(ArrayList.java:1249)[:1.8.0_131]
        at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.createThingsFromModelForThingHandlerFactory(GenericThingProvider.java:987)[133:org.eclipse.smarthome.model.thing:0.9.0.b5]

Maybe you could help me with my problems.

Hi there,
unfortunately I have never used config file for my things and I have not the slightest idea how that is supposed to work.
Can’t you use Paper UI to create the things? Or can I export a thing file for my generated things?
Regards,
Volker