Enigma2 Binding

Sorry for the late answer.

Please try an post the result of


Hello to the experts of openhab.

I’m really desperate. I want to install the enigma2 binding from the
github source (https://github.com/tratho/org.openhab.binding.enigma2-dist) to my

For this, I have downloaded the corresponding jar-File (org.openhab.binding.enigma2_2.1.0.SNAPSHOT.jar)
and have copied it to my addons-folder under /etc/openhab2 on my raspberry pi 3.

Since I’m really new to openhab2 and also to linux itself, I don’t know how I have to proceed.
In the communities there was a mention about to “compile” or to install the jar-file.
What does that mean?
I have stoped the openhab2 and restartet it, but I don’t see anything changes in my inbox.
How can I proceed to see, whether this jar file is correctly installed to my openhab2/addons

Thanks very very much in advance for any hints

Best regards

Any success so far?

How must the standard.things look for this binding. The thing is created, but I get no IP, user, password, refresh registered!
My Thing entry looks like this:

Thing enigma2:device:vuplussolo2 "Enigma2 - VU + Solo2 " @ "Living Room" [IPAddress="xx.xx.xx.xx", refresh=5000, username="xxxx", password="xxxx"]

Can i switch on the enigma2 sat receiver with this binding, when the receiver is in deep standby?

I don´t think so? Only when in “normal” standby?

And can you provide a new version of the binding to download? I see the one from your link is 6 month old, but there were made some changes in the binding a few months after.

For me it does not make sense to have a channel for each key. You can achieve that with what is already implemented in the binding.
The easiest way would be to map each button to specific state, so for example you would need sitemap entry like this:

Switch item=vuSolo4k_RemoteKey mappings=[ "RED"="398", "GREEN"="399", "YELLOW"="400", "BLUE"="401" ]

No need to have rules, no need to have groups. Just one item, which is much simpler than having an item for each button.

1 Like

Hi Druciak

I do not want use sitemaps only, but HabPanels like this as well.

As a software engineer I do want to separate the logic from the from the backend (Model View Controler Principle), so that I could use different UI and just assign a switch to every button of any UI that I want to implement.

To see the different approach I give you an example of a button of my Dune Player remote that is implemented like you proposed it. The Code of the button that is transfered to the channel is “knowledge” that the UI has to have.

“AB54BF00” is the code for SUBTITLE that has to be sent to the duneRemoteCode channel. In this case I would have to implement it in every UI and every UI element I want to provide for this function. Imagine I want to change the function. Then I would have to change it in every UI / UI element that refers to this function.

Here is the example of a button that I implemented in the way I want to do it. The backend has the knowledge of the code for the PAGEUP button and provides a switch dunePAGEUP. The only thing I have to do is to assign this switch/channel to an element in the UI.

And this works for every UI. A frontend developer does not have to care about translating codes to functions. If I would like to change the function in this case the only thing I have to do is to assign another channel to the switch in my .items file. I do not have to think about in what UIs I used this function and change every single UI element.

I hope that helps to understand why I really would like to have a channel for each function.

As a software engineer you understand that having separate channel for each button is bad idea.

Anyway if you don’t want to have mapping in the UI (which I understand), you can add just one additional item which holds “user friendly” command and one rule that transforms “user friendly” commands to enigma2 codes.
Still easy and simple.

Why it is a bad idea? Because channel is a kind method and key code is its argument.
Imagine you write a program, simple program that adds two numbers. Good idea is to have method “add” with two arguments. What you propose is to write as many methods as you have numbers, so “add1to1”, “add1to2”, “add2to1”, etc. That’s my point of view.

Valid point …

On off switch is not working properly.

I can switch the device off/on (standby, not completly off), but i often can see the switch with the wrong status inside openhab.

Now my enigma2 receiver is completely off, but openhab shows “on”. Yesterday evening i watched tv and openhab showd as “off”.

Can someone check this?

@tiknx or @druciak , could you please post how .things file should look?
It works If I add my enigma via paperUI, but I want to use .things to simplify for me.

This adds the enigma and channels are connected.
But the IP is not working.

Thing enigma2:device:19216813 "VuSolo" [ hostname="", refresh=5000]

I don’t have this binding installled yet, so I am not able to help you. Anyway if you could explain what “IP is not working” means, for sure would help others to understand your problem.
Also check the logs if there is anything suspicious regarding this binding, this might also help to solve your issue.

When i start my dreambox from deep standby, the power switch of this binding is not switched to on.

If i manually switch the switch from off to on and then switch the switch back to off, dreambox goes to standby. If i press the switch again, dreambox is back in operation mode from normal standby.

Can someone help me? Do you get the correct switch status, when your dreambox starts from deep standby?

I also cannot see a status update in OH2 when switching the box directly. Switching via GUI works.
have the latest distro installed

Error @ Openhab 2.2.0

12:45:39.488 [ERROR] [ry.mdns.internal.MDNSDiscoveryService] - Participant 'org.openhab.binding.enigma2.internal.discovery.Enigma2DiscoveryParticipant' threw an exception
java.lang.IllegalArgumentException: Invalid URI host: null (authority: 2a00:87e9:46y3:c478:2c:434d:199:10t)
	at org.eclipse.jetty.client.HttpClient.checkHost(HttpClient.java:487) [75:org.eclipse.jetty.client:9.3.22.v20171030]
	at org.eclipse.jetty.client.HttpClient.newHttpRequest(HttpClient.java:472) [75:org.eclipse.jetty.client:9.3.22.v20171030]
	at org.eclipse.jetty.client.HttpClient.newRequest(HttpClient.java:430) [75:org.eclipse.jetty.client:9.3.22.v20171030]
	at org.eclipse.jetty.client.HttpClient.newRequest(HttpClient.java:419) [75:org.eclipse.jetty.client:9.3.22.v20171030]
	at org.eclipse.smarthome.io.net.http.HttpUtil.executeUrlAndGetReponse(HttpUtil.java:210) [124:org.eclipse.smarthome.io.net:0.10.0.b1]
	at org.eclipse.smarthome.io.net.http.HttpUtil.executeUrl(HttpUtil.java:157) [124:org.eclipse.smarthome.io.net:0.10.0.b1]
	at org.eclipse.smarthome.io.net.http.HttpUtil.executeUrl(HttpUtil.java:130) [124:org.eclipse.smarthome.io.net:0.10.0.b1]
	at org.eclipse.smarthome.io.net.http.HttpUtil.executeUrl(HttpUtil.java:106) [124:org.eclipse.smarthome.io.net:0.10.0.b1]
	at org.eclipse.smarthome.io.net.http.HttpUtil.executeUrl(HttpUtil.java:85) [124:org.eclipse.smarthome.io.net:0.10.0.b1]
	at org.openhab.binding.enigma2.internal.discovery.Enigma2DiscoveryParticipant.isIPValid(Enigma2DiscoveryParticipant.java:101) [243:org.openhab.binding.enigma2:2.1.0.SNAPSHOT]
	at org.openhab.binding.enigma2.internal.discovery.Enigma2DiscoveryParticipant.getFormattedIPAddress(Enigma2DiscoveryParticipant.java:116) [243:org.openhab.binding.enigma2:2.1.0.SNAPSHOT]
	at org.openhab.binding.enigma2.internal.discovery.Enigma2DiscoveryParticipant.getThingUID(Enigma2DiscoveryParticipant.java:80) [243:org.openhab.binding.enigma2:2.1.0.SNAPSHOT]
	at org.openhab.binding.enigma2.internal.discovery.Enigma2DiscoveryParticipant.createResult(Enigma2DiscoveryParticipant.java:47) [243:org.openhab.binding.enigma2:2.1.0.SNAPSHOT]
	at org.eclipse.smarthome.config.discovery.mdns.internal.MDNSDiscoveryService.considerService(MDNSDiscoveryService.java:239) [105:org.eclipse.smarthome.config.discovery.mdns:0.10.0.b1]
	at org.eclipse.smarthome.config.discovery.mdns.internal.MDNSDiscoveryService.serviceResolved(MDNSDiscoveryService.java:219) [105:org.eclipse.smarthome.config.discovery.mdns:0.10.0.b1]
	at javax.jmdns.impl.ListenerStatus$ServiceListenerStatus.serviceResolved(ListenerStatus.java:106) [29:javax.jmdns:3.5.2]
	at javax.jmdns.impl.JmDNSImpl$1.run(JmDNSImpl.java:887) [29:javax.jmdns:3.5.2]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]

My VU+ has two IP Adresses. IPv4 and 6 … the 6 seems to be a Problem for the Binding

I hope i will find some time in the holidays to have a look

1 Like

Perhaps it’s only a Line to ignore IPV6 Adresse in Discovery …
The Binding works … only at StartUp the Error appears.

Hi all,

Works this binding with openHAB 2.3.0 snapshot Build #1157 ?

I tried but did not see it between bindings

ls -la /usr/share/openhab2/addons/
total 141928
drwxr-xr-x 2 openhab openhab 4096 Jan 1 12:20 .
drwxr-xr-x 4 openhab openhab 4096 Jan 1 12:20 …
-rw-rw-r-- 1 openhab openhab 70 Jan 1 11:05 README
-rw-rw-r-- 1 openhab openhab 145282779 Jan 1 11:04 openhab-addons-2.3.0-SNAPSHOT.kar
-rw-r–r-- 1 openhab openhab 31961 Dec 31 08:03 org.openhab.binding.enigma2_2.1.0.SNAPSHOT.jar

cat /var/log/openhab2/*.log | grep enigma2
nothing in logs

feature:list | grep enigma2


This is my Output:

-rwxr--r-- 1 openhab openhab 24772 Dec 22 11:45 org.openhab.binding.enigma2_2.1.0.SNAPSHOT.jar

and it runs …

Discovery via PaperUI, add Receiver -> works