Busch-Jaeger Free@Home

Hi, I’m glad this is getting some traction and thanks to all, who already contributed.

I installed the binding as well and ran into the following error when connecting the bridge. Any idea what it could be, I followed the guide.

Status: UNINITIALIZED - HANDLER_INITIALIZING_ERROR rocks.xmpp.core.session.Module: Provider rocks.xmpp.core.session.context.CoreContext not a subtype

EDIT: Alright, stupid question, do you still need the Stadlberger API or is that now implemented?

Hi,
binding is self contained. No additional libraries has to be added (such as the Stadlberger API).

Can you please describe your workflow how to reproduce this error or just provide the log entry.

Reconfiguration of a bridge currently provides some errors. Have to check why. However, if you generate a fresh item with the proper credentials connection for installer should work.

Other logins than installer are currently not supported.

Hi, thanks for the info concerning the first part.

I installed it according to your guide and received the first error. I then deleted it completely and reinstalled it again from scratch, again exactly according to your guide and received the following log:

==> /var/log/openhab2/openhab.log <==
2018-02-18 20:24:10.869 [ERROR] [home.handler.FreeAtHomeBridgeHandler] - Can not connect to IP gateway
2018-02-18 20:24:10.876 [ERROR] [home.handler.FreeAtHomeBridgeHandler] - javax.xml.bind.JAXBException: class rocks.xmpp.extensions.httpbind.model.Body nor any of its super class is known to this context.

I used the “installer” account.

Edit: One thing that could be a problem is, when it was installed, the electrician created an admin account, and there was no “installer” account. Don’t know if he deleted it, or if it was never there, but that might be the cause. I recreated it, gave it installed credentials and then used it to log in and tried my main account as well. Both don’t work.
I tried to log in multiple times and once received the following error, otherwise, I am getting the before mentioned error.

New error:

2018-02-18 20:32:01.383 [ERROR] [home.handler.FreeAtHomeBridgeHandler] - Can not login with: installer
2018-02-18 20:32:01.389 [ERROR] [home.handler.FreeAtHomeBridgeHandler] - SCRAM-SHA-1 authentication failed with condition <not-authorized/> (The response provided by the client doesn't match the one we calculated.)

Thanks for this additional hint. Looks as if we get a step ahead. Only for the installer, the WebFrontend login name and the xmpp login name (jid) is the same. If you create the login manually, please go ahead like this:

  1. Call: http://sysAPIP/settings.json
  2. Store settings.json and open it via text editor
  3. Select the proper jid (looks like a md5 hash with -)
  4. Remove old bridge and generate a new one
  5. Use extracted jid without @busch-jaeger.de to login name within the binding.

Hope this works. Best

Perfect, that worked, thank you very much for talking me through this!

I actually found out, that the account I normally use, “admin” has the jid “installer”. Looks like the electrician changed that when he set everything up. That might have been the reason, why the authentification failed.

Edit: By the way, I also have thermostats, underfloor-heating units, lights, switches, motion sensors and a Touch Panel installed. I am not sure, how to implement them correctly, but if you need anything from them in order to implement, I can give you anything you need and test it as well.

Binding update: FreeAtHomeBinding Alpha-2

Hi there,

I have updated the freeathome binding with additional functionality.

New functionality:

  1. Arbitrary logins are supported. You can now use every login displayed on SysAP webfrontend
  2. Switch to enable additional debug logging (default: off)

Regarding 2.
This functionality writes additional debug files to hard disk namely:

  • getAll.xml: xml file of SysAP that stores your devices, but also house structure.
  • settings.json

If you are willing to share the getAll.xml would highly support the further development of the binding as I can pretest the discovery properly.

Note: Reconfiguration is still not fully stable. For me it works every second time. Might be better to remove the old bridge and add a new one.

Have fun with the latest version alpha-2.jar on ruebox@github.

Works fine for me. Many thanks!

Hey, thanks for the update, I installed it and just wanted to mention that all logins now work for me.
Short question concerning logging, is that the switch under the show more section, or did you implement another one?

@Lucurus: Yes, the switch is called Debug loggin

I am about to implement the binary switch. However, the deviceID for a “Switch Group” is still missing. If you have connected several switched to one within SysAP webUI, the getAll.xml should show the related entry.

Example for shutter group, the deviceID = “4001” and the corresponding xml excerpt looks like:

<device type="group" shortSerialNumber="FTF" nameId="0167" functionId="4001" iconId="FFFF" softwareVersion="0.0.2" 
deviceId="4001"
domainAddress="593C" serialNumber="FFFF00000005" commissioningState="ready" copyId="1" progress="100">
<channels>
<channel mask="FFFFFFFF" nameId="0167" maxConnections="FF" i="ch0000" cid="FFFF0202">
<attribute name="displayName">Jalousie EG</attribute>
<attribute name="floor">00</attribute>
<attribute name="functionId">4001</attribute>

It would be great if you could provide my the corresponding deviceId. I would then provide an update for binary switches and switch groups.

Best

If you’d prefer to, I could send you the whole section, since I have some other devices as well. Please just shoot me a short message what would be easier for you and I’ll send it to you.

Thanks for your help!

Edit: @ruebox I uploaded the device part to github, maybe have a look at it when you have some time. Thanks!

@Lucurus: Great. Thanks a lot for providing the xml. I will check it this weekend
I plan to provide binary switches (nearly finished) and thermostat. Would be great if you could test it then.

How to report issue or feature requests for freeathome binding:

Please report bugs or feature requests via github: github@ruebox

FreeAtHome Binding Alpha 3 ready for testing

Please find my latest binding as Alpha3 release on github ruebox@github with the following new functionality:

  • Added support for switch and switch group - to be tested (#2)
  • Added support for thermostat - to be tested (#2)
  • Improved connectivity behavior (#5 , #3 )
  • Scene auto reseted after configurable timeout (#4 )
  • Unsupported things no longer discovered as dummy items - can be switched on for debugging (#6)

It would be highly appreciated if you could test in particular discovery and usage of the new things.

Note: No backward channel from device to the SysAP is currently implemented -> e.g. current room temperature is not (yet) supported.

Hi!

Our house has a fairly large Free@Home installation and I wanted to see if there (now) was any other alternatives to the somewhat flimsy app that Busch Jaeger provides.
So I ended up there, this looks really promising!
I will take a look at Rueboxs’ binding; but I have not used OpenHAB at all so it might take me awhile.
However, I just wanted to say that if you need be to test anything, or would like a snapshot of my getall.xml config, let me know…

I currently have 52 devices, these include:

  • Switches
  • Dimmers
  • Motion sensors
  • Heater controls w/temp sensors
  • Heater actuators
  • Switch actuators
  • Blinds actuaros
  • Welcome door entry system

And then there’s the Hue integration.

I just cloned Ruboxs’ repo and attempting a mvn build…

/ Lasse

@lassem: I would highly appreciate if you can checkout the binding. To get the binding easily started I would propose that you directly download the jar file from https://github.com/ruebox/openhab2-addons/releases/tag/v1.0.1-alpha3 instead of building the jar on your own.

To install the binding within your openhab installation, just copy the jar to addon directory within openhab root directory.

Please do not hesitate to contact me also with general openhab questions.

Best

I can try that, but I just built by using mvn install and grabbed the jar file from my local maven repository; stuffed it into /usr/share/openhab2/addons

@ruebox I am getting this error:

2018-03-18 13:07:58.121 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occurred while initializing handler of thing 'freeathome:bridge:c6d3e14d': rocks.xmpp.core.session.Module: Provider rocks.xmpp.core.session.context.CoreContext not a subtype
java.util.ServiceConfigurationError: rocks.xmpp.core.session.Module: Provider rocks.xmpp.core.session.context.CoreContext not a subtype
	at java.util.ServiceLoader.fail(ServiceLoader.java:239) ~[?:?]
	at java.util.ServiceLoader.access$300(ServiceLoader.java:185) ~[?:?]
	at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:376) ~[?:?]
	at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404) ~[?:?]
	at java.util.ServiceLoader$1.next(ServiceLoader.java:480) ~[?:?]
	at rocks.xmpp.core.session.XmppSessionConfiguration.<init>(XmppSessionConfiguration.java:132) ~[?:?]
	at rocks.xmpp.core.session.XmppSessionConfiguration.<init>(XmppSessionConfiguration.java:64) ~[?:?]
	at rocks.xmpp.core.session.XmppSessionConfiguration$Builder.build(XmppSessionConfiguration.java:415) ~[?:?]
	at org.openhab.binding.freeathome.handler.FreeAtHomeBridgeHandler.connectGateway(FreeAtHomeBridgeHandler.java:258) ~[?:?]
	at org.openhab.binding.freeathome.handler.FreeAtHomeBridgeHandler.initialize(FreeAtHomeBridgeHandler.java:122) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:483) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [109:org.eclipse.smarthome.core:0.10.0.b1]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [109:org.eclipse.smarthome.core:0.10.0.b1]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:?]
	at java.lang.Thread.run(Thread.java:745) [?:?]

Running OpenHAB 2.2.0 release.

@ruebox I rabased your branch to 2.2.x (which currently evaluates to 2.2.1-SNAPSHOT), and now it connects to the SysAP.

It found 43 Things.

Will be AFK for a while, need to play with the kids.

@ruebox
Thanks for the new update and your continued work! I tested everything and commented in github.

Cheers

@Lucurus: Thanks for the update. I commented on github … let us switch to github for discussing the technical issues? What do you think?