OH2 digitalSTROM binding "Uninitialised" and even disappearing

Ok, thank you.

BTW: Is it possiple to downgrade dS server?

Sorry, don‘t know if that would be possible


The horror goes on… Yes, I should have known NOT to update my DSS server. However, it is good practice to do the updates as security might be affected. But now the digitalstrom binding does not initialise again! I wonder why other apps that access DSS with a token do not have such an ugly behaviour. Michael: could you please give road side assistance so that I can use the binding at least partially?

Hi guys any advances on this topic? I’d like to use the digitalstrom binding as well, but unfortunately it is stuck as well in the online - configuration_pending loop :frowning:

Posting the same on two threads will not speed up… I will answer on the other one…

If some of you still have issues with openHAB bindings, have a look here: GitHub - gaetancollaud/digitalstrom-mqtt: Bridge between digitalSTROM and MQTT Maybe it can help you.

It’s really limited. Meaning that you can only act and react on devices outputs (no scene or anything else). But maybe it’s enough for you.

As commented in your other post, the following is not true :

Currently, digitalSTROM integrations with home automation systems are rare and sometimes limited.
In [OpenHAB](https://www.openhab.org/addons/bindings/digitalstrom/), you can set a device value but 
you will not get notified when the output changes when you press on a physical button (for example).
So for instance if you have a light state, and you press the physical button, the state is not reflected in the app.

I will remove this part from the readme. Thanks for pointing it out.

I just tried to connect with openHAB 3.0.2 with the digitalStrom Server.

I still get the message “Config Pending”.
The dss creates the necessary Aplikation Token, but it can not connect.

I think the issue may be that RPI running my openhabian has to accept the self signed certificate which is issued by the the digitalstromserver (dss) first.

I tried to connect via openhab console to the dss and I get

openhabian@hab3:~ $ wget https://dss:8080/json/system/loginApplication?loginToken=e4939ce83b4185e7f1d3a2eeda14244bb55fa7c9d8b227612f8a7995a
--2021-05-16 17:25:15--  https://dss:8080/json/system/loginApplication?loginToken=e4939ce83b4185e7f1d3a2eeda14244bb55fa7c9d8b227612f8a7995a
Resolving dss (dss)... 192.168.1.???
Connecting to dss (dss)|192.168.1.???|:8080... connected.
ERROR: The certificate of ‘dss’ is not trusted.
ERROR: The certificate of ‘dss’ doesn't have a known issuer.
The certificate's owner does not match hostname ‘dss’

What do I have to do, that the RPI or openhabian trusts the dss certificate?

Maybe afterwards the configuration message will disapear.

What happens when you disable the server thing and reenable it after a couple of seconds?
This should help…

Here the printout of the log viewer.

Maybe I have a problem with the blue (BL-KM200) or with the Thanos Raumbediengerät (thanos rH S dS white) or the Raumfühler (FTW06 dS) all these together work as TemperatureControlManager

But I think this only is an exception for unsupported digitalstrom things. This should not stop the dss to configuere all known things.

2021-05-16 22:01:50.883 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'digitalstrom:dssBridge:DigitalStromServer' changed from ONLINE (CONFIGURATION_PENDING): Checking configuration... to UNINITIALIZED

2021-05-16 22:01:50.910 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'digitalstrom:dssBridge:DigitalStromServer' changed from UNINITIALIZED to UNINITIALIZED (DISABLED)

2021-05-16 22:02:11.429 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'digitalstrom:dssBridge:DigitalStromServer' changed from UNINITIALIZED (DISABLED) to INITIALIZING

2021-05-16 22:02:11.451 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'digitalstrom:dssBridge:DigitalStromServer' changed from INITIALIZING to ONLINE (CONFIGURATION_PENDING): Checking configuration...

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

2021-05-16 22:02:12.620 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 

java.lang.UnsupportedOperationException: null

	at java.util.AbstractList.add(AbstractList.java:153) ~[?:?]

	at java.util.AbstractList.add(AbstractList.java:111) ~[?:?]

	at org.openhab.binding.digitalstrom.internal.lib.manager.impl.TemperatureControlManager.<init>(TemperatureControlManager.java:154) ~[?:?]

	at org.openhab.binding.digitalstrom.internal.lib.manager.impl.TemperatureControlManager.<init>(TemperatureControlManager.java:130) ~[?:?]

	at org.openhab.binding.digitalstrom.internal.handler.BridgeHandler$Initializer.run(BridgeHandler.java:165) ~[?:?]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]

	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]

	at java.lang.Thread.run(Thread.java:829) [?:?]

After this a few hundred entries followed

2021-05-16 22:16:38.617 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 

java.lang.StackOverflowError: null

	at java.lang.ThreadLocal.get(ThreadLocal.java:163) ~[?:?]

	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:77) ~[org.eclipse.osgi-3.12.100.jar:?]

	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:529) ~[org.eclipse.osgi-3.12.100.jar:?]

	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328) ~[org.eclipse.osgi-3.12.100.jar:?]

	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:368) ~[org.eclipse.osgi-3.12.100.jar:?]

	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:446) ~[org.eclipse.osgi-3.12.100.jar:?]

	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395) ~[org.eclipse.osgi-3.12.100.jar:?]

	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387) ~[org.eclipse.osgi-3.12.100.jar:?]

	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150) ~[org.eclipse.osgi-3.12.100.jar:?]

	at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]

	at java.lang.Class.forName0(Native Method) ~[?:?]

	at java.lang.Class.forName(Class.java:315) ~[?:?]

	at org.apache.logging.log4j.util.LoaderUtil.loadClass(LoaderUtil.java:168) ~[bundleFile:?]

	at org.apache.logging.log4j.core.impl.ThrowableProxyHelper.loadClass(ThrowableProxyHelper.java:218) ~[bundleFile:?]

	at org.apache.logging.log4j.core.impl.ThrowableProxyHelper.toExtendedStackTrace(ThrowableProxyHelper.java:114) ~[bundleFile:?]

	at org.apache.logging.log4j.core.impl.ThrowableProxy.<init>(ThrowableProxy.java:121) ~[bundleFile:?]

	at org.apache.logging.log4j.core.impl.ThrowableProxy.<init>(ThrowableProxy.java:94) ~[bundleFile:?]

	at org.apache.logging.log4j.core.impl.Log4jLogEvent.getThrownProxy(Log4jLogEvent.java:629) ~[bundleFile:?]

	at org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter.format(ExtendedThrowablePatternConverter.java:63) ~[bundleFile:?]

	at org.apache.logging.log4j.core.pattern.PatternFormatter.format(PatternFormatter.java:38) ~[bundleFile:?]

	at org.apache.logging.log4j.core.layout.PatternLayout$PatternSerializer.toSerializable(PatternLayout.java:341) ~[bundleFile:?]

	at org.apache.logging.log4j.core.layout.PatternLayout.toText(PatternLayout.java:240) ~[bundleFile:?]

	at org.apache.logging.log4j.core.layout.PatternLayout.encode(PatternLayout.java:225) ~[bundleFile:?]

	at org.apache.logging.log4j.core.layout.PatternLayout.encode(PatternLayout.java:59) ~[bundleFile:?]

	at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.directEncodeEvent(AbstractOutputStreamAppender.java:197) ~[bundleFile:?]

	at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:190) ~[bundleFile:?]

	at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:181) ~[bundleFile:?]

	at org.apache.logging.log4j.core.appender.RollingFileAppender.append(RollingFileAppender.java:312) ~[bundleFile:?]

	at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156) ~[bundleFile:?]

	at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129) ~[bundleFile:?]

	at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120) ~[bundleFile:?]

	at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84) ~[bundleFile:?]

	at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:543) ~[bundleFile:?]

	at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:502) ~[bundleFile:?]

	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:485) ~[bundleFile:?]

	at org.apache.logging.log4j.core.config.LoggerConfig.logParent(LoggerConfig.java:534) ~[bundleFile:?]

	at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:504) ~[bundleFile:?]

	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:485) ~[bundleFile:?]

	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:412) ~[bundleFile:?]

	at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:63) ~[bundleFile:?]

	at org.apache.logging.log4j.core.Logger.logMessage(Logger.java:154) ~[bundleFile:?]

	at org.ops4j.pax.logging.log4j2.internal.PaxLoggerImpl.doLog0(PaxLoggerImpl.java:354) ~[bundleFile:?]

	at org.ops4j.pax.logging.log4j2.internal.PaxLoggerImpl.doLog(PaxLoggerImpl.java:337) ~[bundleFile:?]

	at org.ops4j.pax.logging.log4j2.internal.PaxLoggerImpl.error(PaxLoggerImpl.java:163) ~[bundleFile:?]

	at org.ops4j.pax.logging.internal.TrackingLogger.error(TrackingLogger.java:130) ~[bundleFile:?]

	at org.ops4j.pax.logging.slf4j.Slf4jLogger.error(Slf4jLogger.java:1019) ~[bundleFile:?]

	at org.openhab.binding.digitalstrom.internal.lib.serverconnection.impl.HttpTransportImpl.execute(HttpTransportImpl.java:304) ~[?:?]

	at org.openhab.binding.digitalstrom.internal.lib.serverconnection.impl.HttpTransportImpl.execute(HttpTransportImpl.java:240) ~[?:?]

	at org.openhab.binding.digitalstrom.internal.lib.serverconnection.impl.DsAPIImpl.loginApplication(DsAPIImpl.java:590) ~[?:?]

	at org.openhab.binding.digitalstrom.internal.lib.manager.impl.ConnectionManagerImpl.getNewSessionToken(ConnectionManagerImpl.java:290) ~[?:?]

	at org.openhab.binding.digitalstrom.internal.lib.serverconnection.impl.HttpTransportImpl.checkSessionToken(HttpTransportImpl.java:327) ~[?:?]

	at org.openhab.binding.digitalstrom.internal.lib.serverconnection.impl.HttpTransportImpl.execute(HttpTransportImpl.java:254) ~[?:?]

	at org.openhab.binding.digitalstrom.internal.lib.serverconnection.impl.HttpTransportImpl.execute(HttpTransportImpl.java:282) ~[?:?]

	at org.openhab.binding.digitalstrom.internal.lib.serverconnection.impl.HttpTransportImpl.execute(HttpTransportImpl.java:282) ~[?:?]

	at org.openhab.binding.digitalstrom.internal.lib.serverconnection.impl.HttpTransportImpl.execute(HttpTransportImpl.java:282) ~[?:?]

	at org.openhab.binding.digitalstrom.internal.lib.serverconnection.impl.HttpTransportImpl.execute(HttpTransportImpl.java:282) ~[?:?]

	at org.openhab.binding.digitalstrom.internal.lib.serverconnection.impl.HttpTransportImpl.execute(HttpTransportImpl.java:282) ~[?:?]

	at org.openhab.binding.digitalstrom.internal.lib.serverconnection.impl.HttpTransportImpl.execute(HttpTransportImpl.java:282) ~[?:?]

	at org.openhab.binding.digitalstrom.internal.lib.serverconnection.impl.HttpTransportImpl.execute(HttpTransportImpl.java:282) ~[?:?]

	at org.openhab.binding.digitalstrom.internal.lib.serverconnection.impl.HttpTransportImpl.execute(HttpTransportImpl.java:282) ~[?:?]

	at org.openhab.binding.digitalstrom.internal.lib.serverconnection.impl.HttpTransportImpl.execute(HttpTransportImpl.java:282) ~[?:?]

	at org.openhab.binding.digitalstrom.internal.lib.serverconnection.impl.HttpTransportImpl.execute(HttpTransportImpl.java:282) ~[?:?]

	at org.openhab.binding.digitalstrom.internal.lib.serverconnection.impl.HttpTransportImpl.execute(HttpTransportImpl.java:282) ~[?:?]

	at org.openhab.binding.digitalstrom.internal.lib.serverconnection.impl.HttpTransportImpl.execute(HttpTransportImpl.java:282) ~[?:?]

	at org.openhab.binding.digitalstrom.internal.lib.serverconnection.impl.HttpTransportImpl.execute(HttpTransportImpl.java:282) ~[?:?]



According to the binding doku, those devices are not tested, therefore I would classify them as unsupported.

Yes, this may be true, but this can not be a reason that nothing from the digitalstrom binding is working. In that case they may throw an exception, but the rest should continue working.

I can not take these devices out of my digitalstrom system as I need them for room temperature control of my wall heating.