SenecHome Binding

Hi there, SENEC switched to HTTPS
=> local SENEC WEB Interface not available via HTTP anymore. Neither /logs /display etc.
Binding is switched to “DEBUG” and reactivated the Thing.

20:16:10.281 [INFO ] [est.core.internal.thing.ThingResource] - Received HTTP PUT request for update configuration at 'things/senechome:senechome:ba729009/config' for an uninitialized thing 'senechome:senechome:ba729009'.
20:16:11.700 [WARN ] [g.senechome.internal.SenecHomeHandler] - Error refreshing source 'senechome:senechome:ba729009'
java.util.concurrent.ExecutionException: java.net.UnknownHostException: http: Name or service not known
        at org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:118) ~[?:?]
        at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101) ~[?:?]
        at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:732) ~[?:?]
        at org.openhab.binding.senechome.internal.SenecHomeApi.getStatistics(SenecHomeApi.java:82) ~[?:?]
        at org.openhab.binding.senechome.internal.SenecHomeHandler.refreshState(SenecHomeHandler.java:139) ~[?:?]
        at org.openhab.core.cache.ExpiringCache.refreshValue(ExpiringCache.java:101) ~[?:?]
        at org.openhab.core.cache.ExpiringCache.getValue(ExpiringCache.java:72) ~[?:?]
        at org.openhab.binding.senechome.internal.SenecHomeHandler.refresh(SenecHomeHandler.java:133) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.net.UnknownHostException: http: Name or service not known
        at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) ~[?:?]
        at java.net.InetAddress$PlatformNameService.lookupAllHostAddr(InetAddress.java:934) ~[?:?]
        at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1543) ~[?:?]
        at java.net.InetAddress$NameServiceAddresses.get(InetAddress.java:852) ~[?:?]
        at java.net.InetAddress.getAllByName0(InetAddress.java:1533) ~[?:?]
        at java.net.InetAddress.getAllByName(InetAddress.java:1385) ~[?:?]
        at java.net.InetAddress.getAllByName(InetAddress.java:1306) ~[?:?]
        at org.eclipse.jetty.util.SocketAddressResolver$Async.lambda$resolve$1(SocketAddressResolver.java:170) ~[?:?]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) ~[?:?]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) ~[?:?]
        ... 1 more
20:16:19.720 [WARN ] [g.senechome.internal.SenecHomeHandler] - Error refreshing source 'senechome:senechome:ba729009'
java.util.concurrent.ExecutionException: java.net.UnknownHostException: http
        at org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:118) ~[?:?]
        at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101) ~[?:?]
        at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:732) ~[?:?]
        at org.openhab.binding.senechome.internal.SenecHomeApi.getStatistics(SenecHomeApi.java:82) ~[?:?]
        at org.openhab.binding.senechome.internal.SenecHomeHandler.refreshState(SenecHomeHandler.java:139) ~[?:?]
        at org.openhab.core.cache.ExpiringCache.refreshValue(ExpiringCache.java:101) ~[?:?]
        at org.openhab.core.cache.ExpiringCache.getValue(ExpiringCache.java:72) ~[?:?]
        at org.openhab.binding.senechome.internal.SenecHomeHandler.refresh(SenecHomeHandler.java:133) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.net.UnknownHostException: http
        at java.net.InetAddress$CachedAddresses.get(InetAddress.java:801) ~[?:?]
        at java.net.InetAddress.getAllByName0(InetAddress.java:1533) ~[?:?]
        at java.net.InetAddress.getAllByName(InetAddress.java:1385) ~[?:?]
        at java.net.InetAddress.getAllByName(InetAddress.java:1306) ~[?:?]
        at org.eclipse.jetty.util.SocketAddressResolver$Async.lambda$resolve$1(SocketAddressResolver.java:170) ~[?:?]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) ~[?:?]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) ~[?:?]
        ... 1 more
20:16:27.741 [WARN ] [g.senechome.internal.SenecHomeHandler] - Error refreshing source 'senechome:senechome:ba729009'
java.util.concurrent.ExecutionException: java.net.UnknownHostException: http: Name or service not known
        at org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:118) ~[?:?]
        at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101) ~[?:?]
        at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:732) ~[?:?]
        at org.openhab.binding.senechome.internal.SenecHomeApi.getStatistics(SenecHomeApi.java:82) ~[?:?]
        at org.openhab.binding.senechome.internal.SenecHomeHandler.refreshState(SenecHomeHandler.java:139) ~[?:?]
        at org.openhab.core.cache.ExpiringCache.refreshValue(ExpiringCache.java:101) ~[?:?]
        at org.openhab.core.cache.ExpiringCache.getValue(ExpiringCache.java:72) ~[?:?]
        at org.openhab.binding.senechome.internal.SenecHomeHandler.refresh(SenecHomeHandler.java:133) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.net.UnknownHostException: http: Name or service not known
        at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) ~[?:?]
        at java.net.InetAddress$PlatformNameService.lookupAllHostAddr(InetAddress.java:934) ~[?:?]
        at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1543) ~[?:?]
        at java.net.InetAddress$NameServiceAddresses.get(InetAddress.java:852) ~[?:?]
        at java.net.InetAddress.getAllByName0(InetAddress.java:1533) ~[?:?]
        at java.net.InetAddress.getAllByName(InetAddress.java:1385) ~[?:?]
        at java.net.InetAddress.getAllByName(InetAddress.java:1306) ~[?:?]
        at org.eclipse.jetty.util.SocketAddressResolver$Async.lambda$resolve$1(SocketAddressResolver.java:170) ~[?:?]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) ~[?:?]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) ~[?:?]
        ... 1 more
20:16:35.760 [WARN ] [g.senechome.internal.SenecHomeHandler] - Error refreshing source 'senechome:senechome:ba729009'
java.util.concurrent.ExecutionException: java.net.UnknownHostException: http
        at org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:118) ~[?:?]
        at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101) ~[?:?]
        at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:732) ~[?:?]
        at org.openhab.binding.senechome.internal.SenecHomeApi.getStatistics(SenecHomeApi.java:82) ~[?:?]
        at org.openhab.binding.senechome.internal.SenecHomeHandler.refreshState(SenecHomeHandler.java:139) ~[?:?]
        at org.openhab.core.cache.ExpiringCache.refreshValue(ExpiringCache.java:101) ~[?:?]
        at org.openhab.core.cache.ExpiringCache.getValue(ExpiringCache.java:72) ~[?:?]
        at org.openhab.binding.senechome.internal.SenecHomeHandler.refresh(SenecHomeHandler.java:133) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.net.UnknownHostException: http
        at java.net.InetAddress$CachedAddresses.get(InetAddress.java:801) ~[?:?]
        at java.net.InetAddress.getAllByName0(InetAddress.java:1533) ~[?:?]
        at java.net.InetAddress.getAllByName(InetAddress.java:1385) ~[?:?]
        at java.net.InetAddress.getAllByName(InetAddress.java:1306) ~[?:?]
        at org.eclipse.jetty.util.SocketAddressResolver$Async.lambda$resolve$1(SocketAddressResolver.java:170) ~[?:?]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) ~[?:?]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) ~[?:?]
        ... 1 more
20:16:43.773 [WARN ] [g.senechome.internal.SenecHomeHandler] - Error refreshing source 'senechome:senechome:ba729009'
java.util.concurrent.ExecutionException: java.net.UnknownHostException: http: Name or service not known
        at org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:118) ~[?:?]
        at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101) ~[?:?]
        at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:732) ~[?:?]
        at org.openhab.binding.senechome.internal.SenecHomeApi.getStatistics(SenecHomeApi.java:82) ~[?:?]
        at org.openhab.binding.senechome.internal.SenecHomeHandler.refreshState(SenecHomeHandler.java:139) ~[?:?]
        at org.openhab.core.cache.ExpiringCache.refreshValue(ExpiringCache.java:101) ~[?:?]
        at org.openhab.core.cache.ExpiringCache.getValue(ExpiringCache.java:72) ~[?:?]
        at org.openhab.binding.senechome.internal.SenecHomeHandler.refresh(SenecHomeHandler.java:133) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.net.UnknownHostException: http: Name or service not known
        at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) ~[?:?]
        at java.net.InetAddress$PlatformNameService.lookupAllHostAddr(InetAddress.java:934) ~[?:?]
        at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1543) ~[?:?]
        at java.net.InetAddress$NameServiceAddresses.get(InetAddress.java:852) ~[?:?]
        at java.net.InetAddress.getAllByName0(InetAddress.java:1533) ~[?:?]
        at java.net.InetAddress.getAllByName(InetAddress.java:1385) ~[?:?]
        at java.net.InetAddress.getAllByName(InetAddress.java:1306) ~[?:?]
        at org.eclipse.jetty.util.SocketAddressResolver$Async.lambda$resolve$1(SocketAddressResolver.java:170) ~[?:?]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) ~[?:?]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) ~[?:?]
        ... 1 more
20:16:51.785 [WARN ] [g.senechome.internal.SenecHomeHandler] - Error refreshing source 'senechome:senechome:ba729009'
java.util.concurrent.ExecutionException: java.net.UnknownHostException: http
        at org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:118) ~[?:?]
        at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101) ~[?:?]
        at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:732) ~[?:?]
        at org.openhab.binding.senechome.internal.SenecHomeApi.getStatistics(SenecHomeApi.java:82) ~[?:?]
        at org.openhab.binding.senechome.internal.SenecHomeHandler.refreshState(SenecHomeHandler.java:139) ~[?:?]
        at org.openhab.core.cache.ExpiringCache.refreshValue(ExpiringCache.java:101) ~[?:?]
        at org.openhab.core.cache.ExpiringCache.getValue(ExpiringCache.java:72) ~[?:?]
        at org.openhab.binding.senechome.internal.SenecHomeHandler.refresh(SenecHomeHandler.java:133) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.net.UnknownHostException: http
        at java.net.InetAddress$CachedAddresses.get(InetAddress.java:801) ~[?:?]
        at java.net.InetAddress.getAllByName0(InetAddress.java:1533) ~[?:?]
        at java.net.InetAddress.getAllByName(InetAddress.java:1385) ~[?:?]
        at java.net.InetAddress.getAllByName(InetAddress.java:1306) ~[?:?]
        at org.eclipse.jetty.util.SocketAddressResolver$Async.lambda$resolve$1(SocketAddressResolver.java:170) ~[?:?]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) ~[?:?]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) ~[?:?]
        ... 1 more

Hey,
here my first try to debug and fix the issue. I enforce HTTPS now and ignore all certificates. The enforcement is static, I need to think about a good way how to make this smarter.

Code: GitHub.com code comparison
Jar: DELETED LINK BECAUSE JAR IS BROKEN

Can you install this test binding and check the logs, again in debug mode? And what model of Senec do you have? Mine is still on http only.

And do you have a github account? If yes, could you please create an issue? Thank you! Issues · openhab/openhab-addons · GitHub

Cheers

Hello,
I also have the problem.
how can I install the “new” binding?

I tried to install your “Nextcloud” version.
I removed the 4.0.2 senec binding, and copied the new one into /usr/share/openhab/addons/

but:

2023-09-04 14:26:29.400 [WARN ] [org.apache.felix.fileinstall        ] - Error while starting bundle: file:/usr/share/openhab/addons/org.openhab.binding.senechome-4.1.0-SNAPSHOT.jar
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.senechome [293]
  Unresolved requirement: Import-Package: javax.measure; version="[2.2.0,3.0.0)"

	at org.eclipse.osgi.container.Module.start(Module.java:463) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:445) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) ~[?:?]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) ~[?:?]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:520) ~[?:?]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) ~[?:?]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) ~[?:?]

Anything I can do to fix it?

I put it in the addon binding folder.
Unfortenly does not work:

Hey @kl8ter, @DirkNeumann and @demlstda :

There is a weird behaviour if you build a binding, the dependency to javax.measure is higher than what openhab provides. Found a workaround. This time I tested it also locally, for me the binding works on Openhab 4.0.2.

What I changed:
Downgraded the binding from 4.1 to 4.0, downgraded javax.measure dependency
Introduced a https configuration parameter, please set it to true
Smaller stability improvements and debugging output

New jar: org.openhab.binding.senechome-4.0.3-SNAPSHOT_23-09-06.jar

Is the binding now installing for you? And can it connect again to the Senec?

Cheers

1 Like

Thanks for the support.
I’m trying to get the new version up and running.
I have a question about it:
How can I set the “https” option to True via the Thing file?

No Problem, should work like this:

Thing senechome:senechome:pvbattery [ hostname=“192.168.0.128”, useHttps=true, refreshInterval=60, limitationTresholdValue=70, limitationDuration=60 ]

My items are filling up with life.
As it looks in my short test, it is running again.
Thanks

Same for me: working again. Several tries to get away from offline (error) but after logging in and restarting several times, it went to green again.

Thanks a lot !!!

Just found a GitHub Issue and linked it to my Pull Request. Hopefully this PR is added to the next OpenHAB release.

Hi @KobiP ,

I found that the „Live“ parameters, like LiveGridImport a.s.o. are down to zero! Except the Live Wallbox 1 Charged Energy. This value is filled and ok, but all the others are 0.
Is it on my side only?

QHi, also works again for. In addition to @demlstda the wallbox1chargingPower also does not provide new values.

No reaction ;(

Hey,
the discussion continued also on GitHub in an Issue ticket. Another maintainer and myself try to get the changes merged to the official binding. And I started with an implementation that receives the live values from mein-senec.de. But it is a completely new implmentation and it will take some time.
Cheers

1 Like

Hi @KobiP

thank you for providing the snapshot.
is it possible that the live house consumption channel was accidentally removed from the snapshot?
Can this possibly be added again ?

Cheers
Michael

Sorry, it wasn’t removed by accident. SENEC removed it, so the binding can’t read it. I have an Idea how to get it back, but it ain’t simple. So I can’t promise that this will come any time soon.

By the way, my solution works, but another programmer also fixed it very similar. His solution will be merged to hopefully the next OpenHAB release. And it will need a slightly different configuration. Just to let you know :slight_smile:

@KobiP
Could you please upload the .jar file again. (your link is offline)

As Senec has removed some parts of the local interface (lala.cgi) as well as has no local interface for their current Home 4 systems at all. I have made the effort to to analyse the posibilities to use their app-gateway that provides the Data for their mobil APP.

A documentation of the REST Services used by the the current App v. 4.3.3 as well as the upcoming version 4.4.0_beta01 are available at:
SENEC APP API 4.3.3

Tracking the wallbox Services is still a work in progress and the documentation will be updated continiously.

Might be used as a basis to be implemented in the existing senechome binding or to create a new one based on the APP Api gateway.

Authorization is quite easy as it requires only a one time call of the login service with username and password, which returnes a static access token with no lease time, so the token can be used for all other service calls without the need to reauthentificate for ever

1 Like

This sounds great, who can bring this into the next release of openhab? @mstormi