Busch-Jaeger Free@Home

State for OH items are also saved if you are using a persistence service as mapdb

You´ll find mapdb for installation in PaperUI (addons).

Binary sensors are currently not implemented in the binding. Would require some input for used channels (idp/odp).

You mean physically? I’m not 100% sure, but each one is connected with three lines, one for up, one for down and one neutral.

No, I mean which type of actuator that is controlling your shutters (e.g centralized blinds actuator, switch actuator etc). Basically the device type / device type id as swowing up in PaperUI.

It could be your device/type is not supported by the binding.

I actually have

  • 9x single raffstore switch actuators
  • 3x centralized blinds actuators (each controlling up to 4 devices)

I actually just looked into PaperUI under Configuration - Things and saw, that all these have the status “Offline - Bridge_offline”. Does that help?

Here’s a screenshot:

Apparently both your things and bridge are OFFLINE, so then obviously you are not able to operate your shutters.

Do you have a different bridge as thing in PaperUI which is ONLINE? Then you need to point your OFFLINE things to the ONLINE bridge.

Or, if you do not have any ONLINE bridges, you would need to delete existing bridge, create a new bridge, and point your things to the new bridge.

That’s the weird thing. I only have one bridge and it was online. All raffstores that were offline were still pointing at the correct bridge. I now disabled all of them and enabled them again. they are all online now.

But they are still not operational, as described before. I can operate them from within Paper UI. When I try to operate them from Homekit, I can see the values change in Paper UI, but they are not operating :confused:

Hi, I have running openhab 2.5, free@home 2.4.0 and the lastest version of the free@home binding of kjoglums. Everything works fine, but after some days without any issue I get always the following error. From this moment on no items reacts. After a restart of openhab the binding works again for the next 3-4 days.

Does anyone have an idea how can I solve this issue?

2020-02-18 20:39:14.922 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method ‘ThingHandler.handleCommand()’ on ‘org.openhab.binding.freeathome.internal.handler.FreeAtHomeSceneHandler@6bc45a’: The connection has been closed.

java.lang.IllegalStateException: The connection has been closed.

at org.glassfish.tyrus.core.TyrusSession.checkConnectionState(TyrusSession.java:507) ~[?:?]

at org.glassfish.tyrus.core.TyrusSession.getAsyncRemote(TyrusSession.java:183) ~[?:?]

at rocks.xmpp.websocket.net.WebSocketConnection.write(WebSocketConnection.java:129) ~[?:?]

at rocks.xmpp.websocket.net.client.WebSocketClientConnection.send(WebSocketClientConnection.java:129) ~[?:?]

at rocks.xmpp.websocket.net.client.WebSocketClientConnection.send(WebSocketClientConnection.java:60) ~[?:?]

at rocks.xmpp.core.session.XmppSession.sendInternal(XmppSession.java:929) ~[?:?]

at rocks.xmpp.core.session.XmppSession.trackAndSend(XmppSession.java:1012) ~[?:?]

at rocks.xmpp.core.session.XmppSession.sendIQ(XmppSession.java:985) ~[?:?]

at rocks.xmpp.core.session.XmppSession.sendAndAwait(XmppSession.java:833) ~[?:?]

at rocks.xmpp.core.session.XmppSession.query(XmppSession.java:759) ~[?:?]

at rocks.xmpp.core.session.XmppSession.query(XmppSession.java:744) ~[?:?]

at rocks.xmpp.extensions.rpc.RpcManager.call(RpcManager.java:113) ~[?:?]

at org.openhab.binding.freeathome.internal.handler.FreeAtHomeBridgeHandler.setDataPoint(FreeAtHomeBridgeHandler.java:155) ~[?:?]

at org.openhab.binding.freeathome.internal.handler.FreeAtHomeSceneHandler.handleCommand(FreeAtHomeSceneHandler.java:84) ~[?:?]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_222]

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_222]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_222]

at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_222]

at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:152) [bundleFile:?]

at org.eclipse.smarthome.core.internal.common.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [bundleFile:?]

at com.sun.proxy.$Proxy3040.handleCommand(Unknown Source) [?:?]

at org.eclipse.smarthome.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:74) [bundleFile:?]

at org.eclipse.smarthome.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:48) [bundleFile:?]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_222]

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_222]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_222]

at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_222]

at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:152) [bundleFile:?]

at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:52) [bundleFile:?]

at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_222]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]

at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]

I do not see such an issue myself.

Although, based on your log, this seems related to one of your scenes: 6bc45a and how it responds to command handling request.

Is this an active scene (ref thing ID), with active things/devices? Are you using some script based triggering, or similar, involving the scene at a interval coinciding with timing for when the binding hangs?

I am not sure how I can find the scene by this ID. My scenes in openhab have ID’s similar to this “FFFF48000008”.

Yes I activate scenes for rollershutters via rules. E.g. close rollshuter when enter the bathroom or open rollersthutter for wakeup. But this rules should be used at least once a day.

Thank you for your great work kjoglums!

Why don’t wireless components actually work?

Not sure why you would see this issue. My OH / F@H instance is running without issues.

Have you tried setting up the scene(s) in OH, rather than triggering a F@H scene? I.e to set items triggering from OH rather than scene triggering. At least to check if it is the scene causing the crash.

The binding is created based on reverse engineering, and the creators of the binding do not have any wireless devices to use for reference.

The binding use device types (as could be seen from PaperUI inbox) to categorize the devices as OH things (switch, dimmer, screen actuator etc). The binding then enable operation of the devices based on category/standard channels in use.

As per now, there is little information of device type/channels in use for the wireless devices.

I got this Exceptions when changing my thermostat from off to on. But it is not always only sometimes. I’m not shure if the exception is realy usefull but maybe you can use it:

2020-03-02 17:52:39.625 [ERROR] [rnal.handler.FreeAtHomeBridgeHandler] - Ops!
java.lang.NumberFormatException: null
        at java.math.BigDecimal.<init>(BigDecimal.java:497) ~[?:1.8.0_212]
        at java.math.BigDecimal.<init>(BigDecimal.java:383) ~[?:1.8.0_212]
        at java.math.BigDecimal.<init>(BigDecimal.java:809) ~[?:1.8.0_212]
        at java.math.BigDecimal.valueOf(BigDecimal.java:1277) ~[?:1.8.0_212]
        at org.eclipse.smarthome.core.library.types.DecimalType.<init>(DecimalType.java:52) ~[?:?]
        at org.openhab.binding.freeathome.internal.handler.FreeAtHomeThermostatHandler$1TargetTempDecimalTypeConverter.convert(FreeAtHomeThermostatHandler.java:133) ~[?:?]
        at org.openhab.binding.freeathome.internal.FreeAtHomeUpdateHandler.NotifyThing(FreeAtHomeUpdateHandler.java:87) ~[?:?]
        at org.openhab.binding.freeathome.internal.handler.FreeAtHomeBridgeHandler.onMessageEvent(FreeAtHomeBridgeHandler.java:397) ~[?:?]
        at org.openhab.binding.freeathome.internal.handler.FreeAtHomeBridgeHandler.lambda$0(FreeAtHomeBridgeHandler.java:206) ~[?:?]
        at rocks.xmpp.util.XmppUtils.lambda$notifyEventListeners$1(XmppUtils.java:177) ~[?:?]
        at java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:891) ~[?:1.8.0_212]
        at java.util.concurrent.CopyOnWriteArraySet.forEach(CopyOnWriteArraySet.java:404) ~[?:1.8.0_212]
        at rocks.xmpp.util.XmppUtils.notifyEventListeners(XmppUtils.java:175) ~[?:?]
        at rocks.xmpp.core.session.XmppSession.lambda$handleElement$16(XmppSession.java:1208) ~[?:?]
        at rocks.xmpp.util.concurrent.QueuedExecutorService.doExecute(QueuedExecutorService.java:154) ~[?:?]
        at rocks.xmpp.util.concurrent.QueuedExecutorService.lambda$poll$0(QueuedExecutorService.java:126) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_212]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_212]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]
2020-03-02 17:52:39.635 [ERROR] [rnal.handler.FreeAtHomeBridgeHandler] - Exception null

Hello,

I’m trying to connect my free@home to openhab.
In my first tests with a windows based system (OH 2.4) and F@H 2.1.x it worked fine.

But now with my “productive” system, I have problems to connect to the bridge.

OH 2.5 on a raspberry (openHABian)
Free@home with latest FW V 2.4.0
The Binding is the latest one from here: Free@Home 2.5.2

When I try to add the bridge as thing, I get: OFFLINE - COMMUNICATION_ERROR

Can you please help me ?


Logfile:
(Sorry for the strange format, how can I coppy the log better ?)

2020-03-08 19:48:37.314 [INFO ] [rnal.handler.FreeAtHomeBridgeHandler] - Connecting to XMPP Client

2020-03-08 19:48:37.316 [WARN ] [ent.WebSocketConnectionConfiguration] - Websocket session being created: ws://192.168.1.9:5280/xmpp-websocket/

2020-03-08 19:48:37.342 [WARN ] [ent.WebSocketConnectionConfiguration] - Handshake response received from server

2020-03-08 19:48:37.343 [WARN ] [ent.WebSocketConnectionConfiguration] - Handshake succeded: Sec-Websocket-Protocol = XMPP

2020-03-08 19:48:42.269 [WARN ] [core.thing.internal.ThingManagerImpl] - Initializing handler for thing ‘freeathome:bridge:b203d317’ takes more than 5000ms.

==> /var/log/openhab2/events.log <==

2020-03-08 19:48:47.337 [hingStatusInfoChangedEvent] - ‘freeathome:bridge:b203d317’ changed from INITIALIZING to OFFLINE (BRIDGE_OFFLINE): XMPP connection lost

==> /var/log/openhab2/openhab.log <==

2020-03-08 19:48:47.333 [WARN ] [rnal.handler.FreeAtHomeBridgeHandler] - Problems connecting to SysAp:

rocks.xmpp.core.XmppException: javax.websocket.SessionException: CloseReason[1006,Closed abnormally.]

at rocks.xmpp.core.session.XmppSession.throwAsXmppExceptionIfNotNull(XmppSession.java:280) ~[xmpp-core-client-0.9.0-SNAPSHOT.jar:?]

at rocks.xmpp.core.session.XmppClient.connect(XmppClient.java:225) ~[xmpp-core-client-0.9.0-SNAPSHOT.jar:?]

at org.openhab.binding.freeathome.internal.handler.FreeAtHomeBridgeHandler.connectGateway(FreeAtHomeBridgeHandler.java:233) [bundleFile:?]

at org.openhab.binding.freeathome.internal.handler.FreeAtHomeBridgeHandler.initialize(FreeAtHomeBridgeHandler.java:114) [bundleFile:?]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_222]

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_222]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_222]

at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_222]

at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:152) [bundleFile:?]

at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:52) [bundleFile:?]

at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_222]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]

at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]

Caused by: javax.websocket.SessionException: CloseReason[1006,Closed abnormally.]

at rocks.xmpp.websocket.net.client.WebSocketConnectionConfiguration$2.onClose(WebSocketConnectionConfiguration.java:271) ~[?:?]

at org.glassfish.tyrus.core.TyrusEndpointWrapper.onClose(TyrusEndpointWrapper.java:1235) ~[?:?]

at org.glassfish.tyrus.core.TyrusWebSocket.onClose(TyrusWebSocket.java:106) ~[?:?]

at org.glassfish.tyrus.core.ProtocolHandler.close(ProtocolHandler.java:445) ~[?:?]

at org.glassfish.tyrus.core.TyrusWebSocket.close(TyrusWebSocket.java:240) ~[?:?]

at org.glassfish.tyrus.client.TyrusClientEngine$2$1.close(TyrusClientEngine.java:612) ~[?:?]

at org.glassfish.tyrus.container.jdk.client.ClientFilter.processConnectionClosed(ClientFilter.java:218) ~[?:?]

at org.glassfish.tyrus.container.jdk.client.Filter.onConnectionClosed(Filter.java:124) ~[?:?]

at org.glassfish.tyrus.container.jdk.client.Filter.onConnectionClosed(Filter.java:128) ~[?:?]

at org.glassfish.tyrus.container.jdk.client.TransportFilter$4.completed(TransportFilter.java:276) ~[?:?]

at org.glassfish.tyrus.container.jdk.client.TransportFilter$4.completed(TransportFilter.java:266) ~[?:?]

at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126) ~[?:1.8.0_222]

at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finishRead(UnixAsynchronousSocketChannelImpl.java:430) ~[?:1.8.0_222]

at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finish(UnixAsynchronousSocketChannelImpl.java:191) ~[?:1.8.0_222]

at sun.nio.ch.UnixAsynchronousSocketChannelImpl.onEvent(UnixAsynchronousSocketChannelImpl.java:213) ~[?:1.8.0_222]

at sun.nio.ch.EPollPort$EventHandlerTask.run(EPollPort.java:293) ~[?:1.8.0_222]

at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) ~[?:1.8.0_222]

... 3 more

Suppressed: java.lang.IllegalStateException: The connection has been closed.

	at org.glassfish.tyrus.core.TyrusSession.checkConnectionState(TyrusSession.java:507) ~[?:?]

	at org.glassfish.tyrus.core.TyrusSession.getAsyncRemote(TyrusSession.java:183) ~[?:?]

	at rocks.xmpp.websocket.net.WebSocketConnection.write(WebSocketConnection.java:129) ~[?:?]

	at rocks.xmpp.websocket.net.client.WebSocketClientConnection.send(WebSocketClientConnection.java:129) ~[?:?]

	at rocks.xmpp.websocket.net.WebSocketConnection.closeStream(WebSocketConnection.java:100) ~[?:?]

	at rocks.xmpp.core.net.AbstractConnection.closeAsync(AbstractConnection.java:111) ~[?:?]

	at rocks.xmpp.core.net.AbstractConnection.close(AbstractConnection.java:136) ~[?:?]

	at rocks.xmpp.core.session.XmppSession.closeAndNullifyConnection(XmppSession.java:1332) ~[?:?]

	at rocks.xmpp.core.session.XmppSession.notifyException(XmppSession.java:1356) ~[?:?]

	at rocks.xmpp.websocket.net.client.WebSocketClientConnection.lambda$new$2(WebSocketClientConnection.java:118) ~[?:?]

	at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760) ~[?:1.8.0_222]

	at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736) ~[?:1.8.0_222]

	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474) ~[?:1.8.0_222]

	at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977) ~[?:1.8.0_222]

	at rocks.xmpp.websocket.net.client.WebSocketConnectionConfiguration$2.onClose(WebSocketConnectionConfiguration.java:271) ~[?:?]

	at org.glassfish.tyrus.core.TyrusEndpointWrapper.onClose(TyrusEndpointWrapper.java:1235) ~[?:?]

	at org.glassfish.tyrus.core.TyrusWebSocket.onClose(TyrusWebSocket.java:106) ~[?:?]

	at org.glassfish.tyrus.core.ProtocolHandler.close(ProtocolHandler.java:445) ~[?:?]

	at org.glassfish.tyrus.core.TyrusWebSocket.close(TyrusWebSocket.java:240) ~[?:?]

	at org.glassfish.tyrus.client.TyrusClientEngine$2$1.close(TyrusClientEngine.java:612) ~[?:?]

	at org.glassfish.tyrus.container.jdk.client.ClientFilter.processConnectionClosed(ClientFilter.java:218) ~[?:?]

	at org.glassfish.tyrus.container.jdk.client.Filter.onConnectionClosed(Filter.java:124) ~[?:?]

	at org.glassfish.tyrus.container.jdk.client.Filter.onConnectionClosed(Filter.java:128) ~[?:?]

	at org.glassfish.tyrus.container.jdk.client.TransportFilter$4.completed(TransportFilter.java:276) ~[?:?]

	at org.glassfish.tyrus.container.jdk.client.TransportFilter$4.completed(TransportFilter.java:266) ~[?:?]

	at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126) ~[?:1.8.0_222]

	at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finishRead(UnixAsynchronousSocketChannelImpl.java:430) ~[?:1.8.0_222]

	at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finish(UnixAsynchronousSocketChannelImpl.java:191) ~[?:1.8.0_222]

	at sun.nio.ch.UnixAsynchronousSocketChannelImpl.onEvent(UnixAsynchronousSocketChannelImpl.java:213) ~[?:1.8.0_222]

	at sun.nio.ch.EPollPort$EventHandlerTask.run(EPollPort.java:293) ~[?:1.8.0_222]

	at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) ~[?:1.8.0_222]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]

	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]

==> /var/log/openhab2/events.log <==

2020-03-08 19:48:47.400 [hingStatusInfoChangedEvent] - ‘freeathome:bridge:b203d317’ changed from OFFLINE (BRIDGE_OFFLINE): XMPP connection lost to OFFLINE (COMMUNICATION_ERROR): Can not connect to SysAP with address: 192.168.1.9

What you should do:

  • ssh into the openhab/karaf console
  • bundle:restart org.openhab.binding.freeathome

This will restart the binding and will also restart the websocket connection.

@kjoglums
Thank you so much !! :+1: :+1: :+1:
It worked and I can find the F@H Devices in the Inbox.

I have a full wireless f@h installation. Is there something that I can do to help integrate wireless devices?

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.