Busch-Jaeger Free@Home

Well two things would be required to get the wireless devices implemented:

  1. Device typeid:
    This would be recognised as part of binding discovery (OpenHab inbox). Every device discovered will be associated with an id dictating which device type it belongs to. For each id it would also be required to know the device type, i.e. switch, dimmer etc.

  2. Device channel/idp/odp
    It would be required to know what channel and idp/odp (input/output) each device work under. This would be identified either using ABB Developer Program / Postman software, alternatively use a web inspector while operating your devices from a web browser (F@H SysAp).

Sure, i can you deliver all the data, when you’d like. How do you like to get the data. As text output from the f@h monitor or postman (see screenshot)?

What would be preferred:

  1. Install and run F@H binding (latest jar file from further above) and enable “dummy things”. Run discovery, and you should get a list of your devices as dummy things (for your wireless devices not recognised by the binding) with a default name (name then containing the device type ID, which is used in the binding to automatically associate the device with the correct thing handler).

  2. Then sum up your devices (examples of different device types) from OH inbox in a list similar to:

From the example above, “B001” is the device ID for “Jalousieaktor 4-fach” for a wired setup, and is thus used by the binding to associate the thing with the Raffstore thing handler which for this specific thing operate under ch0001 using idp0000/idp0001/idp0002/odp0001.

Hi Guys,

first off all thanks for your work on the free@home binding. It works under Windows very well. :smile:

But now ich have a problem. I want to switch openhab to linux (ubuntu 18.04.4) The installation went all through, but now I stuck to get the free@home binding working.

I downloaded the latest binding from the one drive.
Than I copied the file to /usr/share/openhab2/addons, but the binding will not appear in PaperUI.

Please can anybody tell me what do I do wrong?

Thanks a lot

A couple of things:

  1. Have you tried rebooting OH? Have you tried rebooting the binding from OH console (bundle:restart)?
  2. What is the status of the binding as shown in the OH console (bundle:list)?
  3. What is the log saying?

I fear that it will be difficult with the wireless devices. All devices have the same ID.

So these are the devices as discovered by the binding? Meaning, listed as “dummy things” in OH inbox?

As you say, as all the different devices have the same DeviceType ID (A039), it will be challenging to implement these devices. The binding use this DeviceType ID to define the device to a specific Thing, thus is also used to define the channel and idp/odp used for the thing. As your devices all have the same DeviceType ID it will be difficult to separate them.

One possible option would be to define a “A039” specific case as part of the discovery service, and then use the retrieved DeviceType Name (e.g. Schaltaktor, Dimmaktor, Jalousieaktor) to define which Thing to create and which channels and idp/odp to set for each Thing.

This will require some time, so will evaluate how to implement this.

Yes, these are the dummy things. According to my understanding, the idp/odp should be the same for the wired and wireless devices.

Thanks for your help Stian, let me know if I can support you.

So, I have made an attempt to update the binding to discover and implement the wireless devices as described (using DeviceTypeID A039), setting channels and Thing type based on DeviceTypeName from your list, assuming idp/odp is the same as for wired devices.

F@H 2.5.4-SNAPSHOT

Note
You might end up having devices recognized/listed as different thing types in OH inbox, so you will need to identify the correct one. Will be interesting to hear if your devices now are recognised as correct Thing type, and not dummy thing.

1 Like

Yes, almost perfect. There is only one problem with the blind actuators. The double actuators (2/2-fach left/right) are recognized as single actuators (1/1-fach) and I can only control one side.

Before the new binding, the double actuator was recognized as 2 single dummy things, see my table in Post 243 “same device”.

Great, and you manage to create operable items for your devices within OH?

The binding is now updated to implement 2/1-fach Jalousieaktor (see you refer to it as 2/2-fach in your previous post, but it appears to be 2/1-fach based on your list as retrieved from PaperUI inbox).

I have replaced the binding in the link in post 246, so you could download the new binding and retry.

1 Like

Now everything is working flawless. Well done Stian!

Yes, I managed to create working items without any problems!

1 Like

Hello Stian,

I activated the dummy things, too. I found motion detectors that are not implement at the moment. The ID is 1008. In the SysAp I see that in one channel ch0000 is stored the current Lux and the state:
grafik
grafik

Or is my research wrong?

“Zeitprogramme” and “Aktionen” are having one channels, too. Maybe it will be interesting to implement them. I can post the IDs if you want.

Thanks for the great work and your support :smiley:

Well, it’s hard to say as you are referring to the device only as motion detector: Is it with or without relay? Based on the ID 1008, I would assume it is without relay (based on similarity to 9008 which is already included in the binding).

So, to get ON/OFF response from your device in OH, I have implemented “1008” as a motion detector (without relay):
F@H 2.5.4-SNAPSHOT

The lux value for motion detectors are not implemented at all in the binding from before, so this would require more extensive work for the binding (i.e. idp/odp, channel definitions/configurations etc).

The same goes for “Zeitprogramme” and “Aktionen” which basically are just some kind of mirror for your “Time programs” and “Actions” as you have set them up in your SysAp. Meaning, your SysAp dumps them as devices within F@H, but really uncertain what information actually could be retrieved from these “devices”, and what there would be to gain on getting them implemented in OH (you regardless get the response of devices which are involved in program/action in OH). As an alternative, you could set up rules in OH to achieve the same as time programs/actions in F@H SysAp, and thus just delete your existing F@H time programs/actions (if your goal is to have OH control only).

Thanks for the implementation.

I could add the motion detectors as thinks. But I can not see any changes in the events.log if the motion is detected. I do not see any error log. In the sysap “free@home Monitor” the changes are reported.

Do you have any idea how to improve debugging?

Your device “1008” is recognised similar as “9008” which also is a motion detector (without relay), a device which already is implemented in the binding (set up as SWITCH, meaning it will report ON/OFF status based on motion).

The “9008” device operate under channel ch0000, and idp0000/odp0000. I have the “9008” device, and for me I get ON/OFF updates in OpenHab when motion starts/stops. No other updates.

As I do not have the “1008” device, I am unable to troubleshoot any further. Not sure if your “1008” device actually operate under the same idp/odp.

Hi,

do someone have a complete thing-example-file for freeathome with a rollershutter channel and a szene?

i do not want to use paperui - and i hope it is possible.

regards

I haven’t tested myself, and would recommend to start out reading:
OpenHab Things

And for testing, I would start out with something like (for thing definition):

Bridge freeathome:bridge:mybridge [host="xxx.xxx.xxx.xxx", port="5280", login="username", password="password", dummy_things_enabled="true"] {
	Thing raffstore myRaffstore "Raffstore Switch" [DeviceID="ABB123454", ChannelId="ch0000", InputIdComplete="idp0000", InputIdStepwise="idp0001", InputIdPercentage="idp0002", OutputIdPercentage="odp0001"]
}

Followed by items definition:

Rollershutter   Screen_Stepwise     "Shutter stepwise"   {channel="freeathome:raffstore:ABB123454_ch0000:stepwise"}
Rollershutter   Screen_Complete     "Shutter complete"   {channel="freeathome:raffstore:ABB123454_ch0000:complete"}
Dimmer          Screen_Percentage   "Percentage"         {channel="freeathome:raffstore:ABB123454_ch0000:percentage"}

You could figure out the details if you generate a thing in PaperUI to get the required configuration input.

I did checked out the json from paperui from a former installation, but i am not able to transform it to a thing-file.

No Error, No Function … within the things-file!

I added / edited my things-file as follows:

Things-File:

Bridge freeathome:bridge:cyyyyyy9	[
		host					= "xxx.xxx.xxx.xxx",
		port 					= "5280",
		login 					= "openhab",
		password				= "OpenHab",
		dummy_things_enabled	= "false",
		log_enabled				= "true",
		log_dir					= "/openhab/logs/log_bj",
		label					= "FreeAtHome Bridge"
	]
{
	Thing raffstore ABBxxxxxxxx1_ch0000 [
				label				= "UVKGO, REG_B001_ABBxxxxxxxx1_ch0000",
				DeviceID			= "ABBxxxxxxxx1",
				ChannelId			= "ch0000",
				InputIdComplete		= "idp0000",
				InputIdStepwise		= "idp0001",
				InputIdPercentage	= "idp0002",
				OutputIdPercentage	= "odp0001"
			]
	Thing raffstore ABBxxxxxxxx1_ch0001 [
				label				= "UVKGO, REG_B001_ABBxxxxxxxx1_ch0001",
				DeviceID			= "ABBxxxxxxxx1",
				ChannelId			= "ch0001",
				InputIdComplete		= "idp0000",
				InputIdStepwise		= "idp0001",
				InputIdPercentage	= "idp0002",
				OutputIdPercentage	= "odp0001"
			]
	Thing raffstore ABBxxxxxxxx1_ch0002 [
				label				= "UVKGO, REG_B001_ABBxxxxxxxx1_ch0002",
				DeviceID			= "ABBxxxxxxxx1",
				ChannelId			= "ch0002",
				InputIdComplete		= "idp0000",
				InputIdStepwise		= "idp0001",
				InputIdPercentage	= "idp0002",
				OutputIdPercentage	= "odp0001"
			]
	Thing raffstore ABBxxxxxxxx1_ch0003 [
				label				= "UVKGO, REG_B001_ABBxxxxxxxx1_ch0003",
				DeviceID			= "ABBxxxxxxxx1",
				ChannelId			= "ch0003",
				InputIdComplete		= "idp0000",
				InputIdStepwise		= "idp0001",
				InputIdPercentage	= "idp0002",
				OutputIdPercentage	= "odp0001"
			]
}

Items v1

Rollershutter	CH00000_preset		"..."	<...>	(...)	
	{channel="freeathome:raffstore:cyyyyyy9:ABBxxxxxxxx1_ch0000:percentage", autoupdate="false"}
Dimmer			CH00000_custom		"..."	<...>	(...)	
	{channel="freeathome:raffstore:cyyyyyy9:ABBxxxxxxxx1_ch0000:percentage", autoupdate="false"}

Items v2

Rollershutter	CH00000_preset		"..."	<...>	(...)	
	{channel="freeathome:raffstore:ABBxxxxxxxx1_ch0000:percentage", autoupdate="false"}
Dimmer			CH00000_custom		"..."	<...>	(...)	
	{channel="freeathome:raffstore:ABBxxxxxxxx1_ch0000:percentage", autoupdate="false"}

When I go to PaperUI -> Configuration -> Things then I see the Bridge, the Raffstore Switches and the linked items correctly.

I also tried different channels in item config, both of them did not produce an error in log but only “Item v1” worked with PaperUi as described above.

LOG-File after saving .things-File

[INFO ] [del.core.internal.ModelRepositoryImpl] - Refreshing model 'freeathome.things'
[INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'freeathome:bridge:cyyyyyy9' changed from UNINITIALIZED to INITIALIZING
[INFO ] [thome.handler.FreeAtHomeBridgeHandler] - SysAP Info:2.4.0
[INFO ] [thome.handler.FreeAtHomeBridgeHandler] - Login: openhab      with the current jid: kk@busch-jaeger.de
[INFO ] [thome.handler.FreeAtHomeBridgeHandler] - Matching jid for login(openhab)      kk@busch-jaeger.de
[INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'freeathome:bridge:cyyyyyy9' changed from INITIALIZING to ONLINE
[INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'freeathome:raffstore:cyyyyyy9:ABBxxxxxxxx1_ch0000' changed from UNINITIALIZED to INITIALIZING
[INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'freeathome:raffstore:cyyyyyy9:ABBxxxxxxxx1_ch0000' changed from INITIALIZING to ONLINE
[INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'freeathome:raffstore:cyyyyyy9:ABBxxxxxxxx1_ch0001' changed from UNINITIALIZED to INITIALIZING
[INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'freeathome:raffstore:cyyyyyy9:ABBxxxxxxxx1_ch0001' changed from INITIALIZING to ONLINE
[INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'freeathome:raffstore:cyyyyyy9:ABBxxxxxxxx1_ch0002' changed from UNINITIALIZED to INITIALIZING
[INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'freeathome:raffstore:cyyyyyy9:ABBxxxxxxxx1_ch0002' changed from INITIALIZING to ONLINE
[INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'freeathome:raffstore:cyyyyyy9:ABBxxxxxxxx1_ch0003' changed from UNINITIALIZED to INITIALIZING
[INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'freeathome:raffstore:cyyyyyy9:ABBxxxxxxxx1_ch0003' changed from INITIALIZING to ONLINE

For checking if the bridge is working or not I cleared the things-File and used PaperUI to add a thing/channel and this worked without changing anything on the items/sitemap - i do not added the bridge itself only the needed test-channel (ch0002).

Interestingly, both spellings of the item variants above work with these different channel configurations.

– Additional –

Is this possible? (It does not work and throws no error!)
{channel=“freeathome:bridge:cd4aaac9:status”}
How can PaperUI display the bridge ONLINE - I want this in my Sitemap, too :wink: