OpenHab2 KNX-usb with Windows 10?

Hi!

I just got my setup up and running. I still only have a KNX USB interface to connect thru. I have seen there is a binding called EIBD that is discontinued and also one called knxd. But both of them only support Linux.

My server is already running on Windows 10, is it possible to get some kind of binding that would work for my setup?

The KNX Binding works fine on any supported platform that runs openHAB (Win, Linux, Mac, etc).

Just install it just like any other addon and the configure the parameters in the file: C:\openHAB2\conf\services\knx.cfg

I have never used a USB connection to the KNX but it should work with the serialPort parameter.

Well the documentation states the following:

To access your KNX bus you either need an KNX IP gateway (like e.g. the [Gira KNX IP Router] (http://www.gira.com/en/gebaeudetechnik/systeme/knx-eib_system/knx-produkte/systemgeraete/knx-ip-router.html)) or a PC running EIBD (free open source component that enables communication with the KNX bus).

For me this looks like I need either the KNX IP gateway or the mentioned programs. But theese programs are not available for Windows. So please correct me if I am wrong. I have connected my computer to my KNX hardware thru USB. This is how I program it from ETS5 aswell.

If it is possible as you say, I would need some more help on which parameters to put inside the config file :slight_smile:

I may be wrong but you should be able to establish a direct serial (USB) connection by using only the KNX binding.

Try something like:

C:\openHAB2\conf\services\knx.cfg

serialPort=COMx

Leave the other options commented out for starters and try too see if you get a connection (check the logs).

We may have to update the docs (if this works) :slight_smile:

Edit: It won’t work… my bad… you won’t have a COM port to configure… :frowning:

Worst case scenario: add a tiny virtual machine on your windows pc running a linux distro (or use a Raspberry Pi) with the knxd daemon :slight_smile:

Ok I admit I am noob. I have both an old Raspberyy PI, and the possibility to setup a small linux distro, but is there any guides on this? has anyone else done this? I have tried searching without finding what I think i am looking for.

Use simple steps (if you tackle one by one you will be able to progress easier. there are alot of guides on the interweb on each of the following):

1: Install a clean Raspbian system on your rPi
2. Install the knxd software and configure it to connect to the KNX/USB interface and start up a multicast server
3. Configure your main Windows based OH2 system to connect using the KNX binding using type=ROUTER

In this way, you will have a low cost IP Router to the KNX world (the combo of knxd and USB) that can be used by the remote Windows host running OH2+KNX Binding.

Something like:

image

Bonus: If you get this to work, you can use it also as an IP interface in ETS :slight_smile:

1 Like

Sweet. Thanks for the layout here. Looks like a plan!

1 Like

Well 13 hours later and I can’t help but feel a little proud about myself. Step 1 and 2 seems to be working great. I can now program my KNX system through my old Raspberry PI model B.

Yihaa.

Step 3 though seems to give me some trouble… I am tired, might be that, but I have done som changes to the knx config file, but it does not seem to “find” anything or be able to create any “Things” from the KNX binding. Should I somehow reboot openhab?

1 Like

You should drink a beer, celebrate that you completed steps 1+2 (the most difficult part) and let your mind reboot/relax :slight_smile:

Then, I have some “bad” news for you… The KNX Binding does not support discovery…You will have to define your items manually.
It is still a 1.x binding and it doesn’t follow the Things/Channels/Links concept of openHAB2.
There is a 2.x version of the KNX Binding in the works that will bring these new features.

So: For step 3, you need to define your C:\openHAB2\conf\services\knx.cfg on your Win10 host running OH2 as follows:

type=ROUTER
ignorelocalevents=true

This is a minimal config. Try with these options for now (leave all others commented out in the knx.cfg file).

Then, create a C:\openHAB2\conf\items\KNX.items file with 1 defined item (e.g. a Switch) that is bound to the appropriate KNX Group Addresses. Check the KNX Readme for examples. Check the GAs with ETS.

Then, place this new item in your sitemap and test it out… It should work :stuck_out_tongue:

Alright finally some time to get back to this. My raspberry pi is functioning nicely, I now can access my OpenHab from the outside and I am ready to start again.

I just set “coded” my first KNX item which is a ceiling lamp hooked up to a switch actuator with the following code:
Switch Lights_Grovkjokken_Ceiling “Ceiling Light” (Grovkjokken, Lights) { knx = “<0/0/73”}

So to try this out I found out I need to create a sitemap file aswell, coding reads as follows:
Switch Light_Grovkjokken_Ceiling “Ceiling Light” (Grovkjokken, Lights) { knx = “<0/0/73”}
I have not tried this out just yet as I am “coding” from work through a Teamviewer session, but will get to check it out in a few hours when i get home. I still just KNOW this can’t be right.

I still can’t see an item discovered in my Openhab PaperUI either. So what to do here?

With the KNX 1.x binding (and any compat1x binding), you need to work with flat config files (there is no discovery of things supported). This will come with the KNX 2.x version of the binding.

For your switch item, remember to add the mainGA also to be able to send On/Off commands to the endpoint also. For now, you have configured only the listeningGA to get status updates.

Also, in your sitemap, don’t use the syntax of the item config. Only the name of the item.

In KNX.items
Switch Lights_Grovkjokken_Ceiling "Ceiling Light" (Grovkjokken, Lights) {knx = "<0/0/73"}

In my.sitemap
Switch item=Lights_Grovkjokken_Ceiling

and careful about the quotes for the label and the binding config: (not “” but "")

1 Like

Ok this kind of make sense. I have done what I think is right + done some more reading, still nothing pops up in BasiUI, no sitemap. Should i restart the openhab server or anything like this?`

EDIT: I got it working. Sitemap is showing. Now this leads me to too questions:

  1. The SWITCH does not work from the sitemap site. Do I need to build the functionality somewhere else or add parameters to my ITEM file that now looks like this:

Switch Grovkjokken_Lights_Ceiling "Ceiling Lights" (Grovkjokken, Lights) { knx = "0/0/73+0/0/74" }

The GAs show to my switching and status objects in ets. FYI my sitemap file look like this:

sitemap default label="DefaultTestSitemap"

{
Switch item=Grovkjokken_Lights_Ceiling
}
  1. Suggestions on how to make the collections of the different sitemap files and items files the best? I am going to create a bunch of KNX items for dimmers, switching objects, time and date functions. I want to do media stuff (when I learn) with my samsung tv, multiroom chromecasts, google home in the future and probably other stuff I don’t know about yet.