Hello @jb4711,
I think I found a bug in your Binding:
In the last weeks I had problems with my internet connection from time to time. However, I have to investigate this further…
I then noticed that I no longer received any messages from my washing machine during the next wash cycle. In the /homeconnect console, the Thing was online, but the sse connection = 0! Restarting the Binding helped immediately and the sse connection was back. But I think the Thing should not be shown as online if the sser connection is down, right?
In the log then the following can be found:
Error when internet was down
2022-09-05 06:51:46.316 [WARN ] [internal.client.HomeConnectApiClient] - Failed to get home appliance! haId=SIEMENS-WM14VMG2-***, error=DNS timeout 15000 ms
2022-09-05 06:53:58.395 [INFO ] [control.internal.WebSocketConnection] - Web Socket error
org.eclipse.jetty.websocket.api.UpgradeException: 0 null
at org.eclipse.jetty.websocket.client.WebSocketUpgradeRequest.onComplete(WebSocketUpgradeRequest.java:529) ~[?:?]
at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:218) ~[?:?]
at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:210) ~[?:?]
at org.eclipse.jetty.client.HttpExchange.notifyFailureComplete(HttpExchange.java:276) ~[?:?]
at org.eclipse.jetty.client.HttpExchange.abort(HttpExchange.java:247) ~[?:?]
at org.eclipse.jetty.client.HttpConversation.abort(HttpConversation.java:164) ~[?:?]
at org.eclipse.jetty.client.HttpRequest.abort(HttpRequest.java:819) ~[?:?]
at org.eclipse.jetty.client.HttpDestination.abort(HttpDestination.java:502) ~[?:?]
at org.eclipse.jetty.client.HttpDestination.failed(HttpDestination.java:252) ~[?:?]
at org.eclipse.jetty.client.AbstractConnectionPool$FutureConnection.failed(AbstractConnectionPool.java:570) ~[?:?]
at org.eclipse.jetty.client.HttpClient$1.failed(HttpClient.java:621) ~[?:?]
at org.eclipse.jetty.util.SocketAddressResolver$Async.lambda$resolve$0(SocketAddressResolver.java:161) ~[?:?]
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) [?:?]
Caused by: java.util.concurrent.TimeoutException: DNS timeout 15000 ms
... 7 more
Debug when Thing ist online, but sse connection =0
Then there is no keep alive message!
2022-09-08 18:18:34.996 [DEBUG] [dler.AbstractHomeConnectThingHandler] - Offline monitor 1: Check if thing is ONLINE. thing=Siemens Waschmaschine (SIEMENS-WM14VMG2-***), haId=SIEMENS-WM14VMG2-***
2022-09-08 18:18:34.997 [DEBUG] [meconnect.internal.client.HttpHelper] - Current access token: ***
2022-09-08 18:18:35.166 [DEBUG] [internal.client.HomeConnectApiClient] - [SIEMENS-WM14VMG2-***] GET 200 https://api.home-connect.com/api/homeappliances/SIEMENS-WM14VMG2-***
> Authorization: Bearer ***
> Accept: application/vnd.bsh.sdk.v1+json
> User-Agent: Jetty/9.4.46.v20220331
> Host: api.home-connect.com
> Accept-Encoding: gzip
< access-control-allow-headers: Authorization,Content-Type,Accept,Cache-Control,Last-Event-ID,If-Modified-Since,X-Requested-With,X-Events-Facade,User-Agent
< x-frame-options: sameorigin
< x-vcap-request-id: b880d26e-2ba6-4971-4bb6-d1ff0b6fd614
< Connection: keep-alive
< Date: Thu, 08 Sep 2022 16:18:35 GMT
< access-control-allow-methods: GET,POST,OPTIONS,PUT,DELETE
< access-control-allow-origin: *
< access-control-allow-credentials: true
< x-content-type-options: nosniff
< x-xss-protection: 1; mode=block
< api-gateway-service: api-gateway
< referrer-policy: origin
< hc-env: EU-PRD
< Content-Length: 215
< Content-Type: application/vnd.bsh.sdk.v1+json
{
"data": {
"brand": "Siemens",
"connected": false,
"enumber": "WM14VMG2/04",
"haId": "SIEMENS-WM14VMG2-***",
"name": "Waschmaschine",
"type": "Washer",
"vib": "WM14VMG2"
}
}
And would it be possible to include the following url in the sse connection?
If the washing machine is running, you get the actual process phase (IntermediateSpin, Washing, Rinsing…).
/api/homeappliances/SIEMENS-WM14VMG2-***/programs/active/options/LaundryCare.Common.Option.ProcessPhase
The log of the Binding restart is to long.
If you need it too, i have to cut it down first 