When initializing the thing (mill heating api):
2021-03-01 19:16:07.892 [DEBUG] [ernal.handler.MillheatAccountHandler] - Finished initializing!
2021-03-01 19:16:07.916 [DEBUG] [llheat.internal.client.RequestLogger] - Request a2f435b80d-0
a2f435b80d-0 > POST https://eurouter.ablecloud.cn:9005/zc-account/v1/login
a2f435b80d-0 > Accept-Encoding: gzip
a2f435b80d-0 > User-Agent: Jetty/9.4.20.v20190813
a2f435b80d-0 > Connection: Keep-Alive
a2f435b80d-0 > X-Zc-Major-Domain: seanywell
a2f435b80d-0 > X-Zc-Msg-Name: millService
a2f435b80d-0 > X-Zc-Sub-Domain: milltype
a2f435b80d-0 > X-Zc-Seq-Id: 1
a2f435b80d-0 > X-Zc-Version: 1
a2f435b80d-0 > Content-Type: application/x-zc-object
a2f435b80d-0 > Host: eurouter.ablecloud.cn:9005
a2f435b80d-0 > Content-Length: 62
{
"account": "xxx",
"password": "xxx"
}
2021-03-01 19:16:08.045 [DEBUG] [llheat.internal.client.RequestLogger] - Response a2f435b80d-0
a2f435b80d-0 < HTTP/1.1 200 OK
a2f435b80d-0 < Content-Length: 269
a2f435b80d-0 < Content-Type: application/x-zc-object
a2f435b80d-0 < Date: Mon, 01 Mar 2021 18:16:08 GMT
a2f435b80d-0 < X-Zc-Msg-Name: X-Zc-Ack
a2f435b80d-0 < X-Zc-Trace-Id: 23cece7c40a7b82d80523c7ad344238e
{
"email": "xxx",
"nickName": "xxx",
"phone": "",
"refreshToken": "xxx",
"refreshTokenExpire": "2021-03-31 18:16:07",
"token": "xxx",
"tokenExpire": "2021-03-01 20:16:07",
"userId": xxx,
"userProfile": {
"nick_name": "Jacob",
"privacyPolicy": 1
}
}
2021-03-01 19:16:08.053 [DEBUG] [llheat.internal.client.RequestLogger] - Request a2f435b80d-1
a2f435b80d-1 > POST https://eurouter.ablecloud.cn:9005/millService/v1/selectHomeList
a2f435b80d-1 > Accept-Encoding: gzip
a2f435b80d-1 > User-Agent: Jetty/9.4.20.v20190813
a2f435b80d-1 > Connection: Keep-Alive
a2f435b80d-1 > X-Zc-Major-Domain: seanywell
a2f435b80d-1 > X-Zc-Msg-Name: millService
a2f435b80d-1 > X-Zc-Sub-Domain: milltype
a2f435b80d-1 > X-Zc-Seq-Id: 1
a2f435b80d-1 > X-Zc-Version: 1
a2f435b80d-1 > Content-Type: application/x-zc-object
a2f435b80d-1 > X-Zc-Timestamp: 1614622568
a2f435b80d-1 > X-Zc-Timeout: 300
a2f435b80d-1 > X-Zc-Nonce: T1YT612DGZ1HO8VA
a2f435b80d-1 > X-Zc-User-Id: xxx
a2f435b80d-1 > X-Zc-User-Signature: xxx
a2f435b80d-1 > X-Zc-Content-Length: 2
a2f435b80d-1 > Host: eurouter.ablecloud.cn:9005
a2f435b80d-1 > Content-Length: 2
{}
2021-03-01 19:16:08.177 [DEBUG] [llheat.internal.client.RequestLogger] - Response a2f435b80d-1
a2f435b80d-1 < HTTP/1.1 200 OK
a2f435b80d-1 < Content-Length: 514
a2f435b80d-1 < Content-Type: application/x-zc-object
a2f435b80d-1 < Server: Jetty(9.1.5.v20140505)
a2f435b80d-1 < X-Zc-Msg-Name: X-Zc-Ack
a2f435b80d-1 < X-Zc-Trace-Id: 78ca216c40afce9780d359b78192aded
a2f435b80d-1 < Date: Mon, 01 Mar 2021 18:16:08 GMT
{
"hourSystem": 1,
"homeList": [
{
"maxTemperature": 0,
"maxTemperatureMsg": "Temperature range is limited by administrator to 5-35ā",
"homeAlways": 0,
"changeTemperature": 0,
"homeName": "xxx",
"isHoliday": 0,
"holidayStartTime": 0,
"timeZone": "+1:00",
"modeMinute": 0,
"modeStartTime": 0,
"holidayTemp": 10,
"modeHour": 0,
"changeTemperatureMsg": "Temperature change not allowed by administrator",
"currentMode": 0,
"holidayEndTime": 0,
"holidayTempType": 1,
"homeType": 0,
"homeId": 202012301029070016,
"programId": 202012301029070016
}
]
}
2021-03-01 19:16:08.183 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception:
java.time.DateTimeException: Invalid ID for ZoneOffset, non numeric characters found: +1:00
at java.time.ZoneOffset.parseNumber(ZoneOffset.java:269) ~[?:?]
at java.time.ZoneOffset.of(ZoneOffset.java:221) ~[?:?]
at org.openhab.binding.millheat.internal.model.Home.<init>(Home.java:62) ~[?:?]
at org.openhab.binding.millheat.internal.handler.MillheatAccountHandler.refreshModel(MillheatAccountHandler.java:267) ~[?:?]
at org.openhab.binding.millheat.internal.handler.MillheatAccountHandler.lambda$0(MillheatAccountHandler.java:183) ~[?:?]
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:834) [?:?]
==> /var/log/openhab/events.log <==
2021-03-01 19:16:07.878 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'millheat:account:xxx' changed from UNINITIALIZED (DISABLED) to INITIALIZING
When scanning for things:
2021-03-01 19:18:51.030 [DEBUG] [l.discovery.MillheatDiscoveryService] - Start scan for Millheat devices on account millheat:account:a2f435b80d
2021-03-01 19:18:51.037 [DEBUG] [llheat.internal.client.RequestLogger] - Request a2f435b80d-2
a2f435b80d-2 > POST https://eurouter.ablecloud.cn:9005/millService/v1/selectHomeList
a2f435b80d-2 > Accept-Encoding: gzip
a2f435b80d-2 > User-Agent: Jetty/9.4.20.v20190813
a2f435b80d-2 > Connection: Keep-Alive
a2f435b80d-2 > X-Zc-Major-Domain: seanywell
a2f435b80d-2 > X-Zc-Msg-Name: millService
a2f435b80d-2 > X-Zc-Sub-Domain: milltype
a2f435b80d-2 > X-Zc-Seq-Id: 1
a2f435b80d-2 > X-Zc-Version: 1
a2f435b80d-2 > Content-Type: application/x-zc-object
a2f435b80d-2 > X-Zc-Timestamp: 1614622731
a2f435b80d-2 > X-Zc-Timeout: 300
a2f435b80d-2 > X-Zc-Nonce: Y282AZ6QNVDB4P6D
a2f435b80d-2 > X-Zc-User-Id: xxx
a2f435b80d-2 > X-Zc-User-Signature: 3845a61ae62140d03a7813f52891c1bdc4677ede
a2f435b80d-2 > X-Zc-Content-Length: 2
a2f435b80d-2 > Host: eurouter.ablecloud.cn:9005
a2f435b80d-2 > Content-Length: 2
{}
2021-03-01 19:18:51.137 [DEBUG] [llheat.internal.client.RequestLogger] - Response a2f435b80d-2
a2f435b80d-2 < HTTP/1.1 200 OK
a2f435b80d-2 < Content-Length: 514
a2f435b80d-2 < Content-Type: application/x-zc-object
a2f435b80d-2 < Server: Jetty(9.1.5.v20140505)
a2f435b80d-2 < X-Zc-Msg-Name: X-Zc-Ack
a2f435b80d-2 < X-Zc-Trace-Id: 581c8220402aa1e980603f915754bd42
a2f435b80d-2 < Date: Mon, 01 Mar 2021 18:18:51 GMT
{
"hourSystem": 1,
"homeList": [
{
"maxTemperature": 0,
"maxTemperatureMsg": "Temperature range is limited by administrator to 5-35ā",
"homeAlways": 0,
"changeTemperature": 0,
"homeName": "xxx",
"isHoliday": 0,
"holidayStartTime": 0,
"timeZone": "+1:00",
"modeMinute": 0,
"modeStartTime": 0,
"holidayTemp": 10,
"modeHour": 0,
"changeTemperatureMsg": "Temperature change not allowed by administrator",
"currentMode": 0,
"holidayEndTime": 0,
"holidayTempType": 1,
"homeType": 0,
"homeId": 202012301029070016,
"programId": 202012301029070016
}
]
}
2021-03-01 19:18:51.142 [ERROR] [nternal.DiscoveryServiceRegistryImpl] - Cannot trigger scan for thing types '[millheat:room, millheat:heater, millheat:home]' on 'MillheatDiscoveryService'!
java.time.DateTimeException: Invalid ID for ZoneOffset, non numeric characters found: +1:00
at java.time.ZoneOffset.parseNumber(ZoneOffset.java:269) ~[?:?]
at java.time.ZoneOffset.of(ZoneOffset.java:221) ~[?:?]
at org.openhab.binding.millheat.internal.model.Home.<init>(Home.java:62) ~[?:?]
at org.openhab.binding.millheat.internal.handler.MillheatAccountHandler.refreshModel(MillheatAccountHandler.java:267) ~[?:?]
at org.openhab.binding.millheat.internal.handler.MillheatAccountHandler.updateModel(MillheatAccountHandler.java:331) ~[?:?]
at org.openhab.binding.millheat.internal.handler.MillheatAccountHandler.updateModelFromServerWithRetry(MillheatAccountHandler.java:308) ~[?:?]
at org.openhab.binding.millheat.internal.discovery.MillheatDiscoveryService.startScan(MillheatDiscoveryService.java:65) ~[?:?]
at org.openhab.core.config.discovery.AbstractDiscoveryService.startScan(AbstractDiscoveryService.java:194) ~[bundleFile:?]
at org.openhab.core.config.discovery.internal.DiscoveryServiceRegistryImpl.startScan(DiscoveryServiceRegistryImpl.java:377) [bundleFile:?]
at org.openhab.core.config.discovery.internal.DiscoveryServiceRegistryImpl.startScans(DiscoveryServiceRegistryImpl.java:362) [bundleFile:?]
at org.openhab.core.config.discovery.internal.DiscoveryServiceRegistryImpl.startScan(DiscoveryServiceRegistryImpl.java:211) [bundleFile:?]
at org.openhab.core.io.rest.core.internal.discovery.DiscoveryResource.scan(DiscoveryResource.java:105) [bundleFile:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:179) [bundleFile:1.0.9]
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96) [bundleFile:1.0.9]
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:201) [bundleFile:1.0.9]
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:104) [bundleFile:1.0.9]
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59) [bundleFile:1.0.9]
at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:96) [bundleFile:1.0.9]
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) [bundleFile:1.0.9]
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) [bundleFile:1.0.9]
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267) [bundleFile:1.0.9]
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234) [bundleFile:1.0.9]
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208) [bundleFile:1.0.9]
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160) [bundleFile:1.0.9]
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:216) [bundleFile:1.0.9]
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:301) [bundleFile:1.0.9]
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:220) [bundleFile:1.0.9]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) [bundleFile:3.1.0]
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:276) [bundleFile:1.0.9]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:852) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:544) [bundleFile:9.4.20.v20190813]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) [bundleFile:?]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:536) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1581) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1307) [bundleFile:9.4.20.v20190813]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:293) [bundleFile:?]
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:482) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1549) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1204) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [bundleFile:9.4.20.v20190813]
at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) [bundleFile:?]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.Server.handle(Server.java:494) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:374) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:268) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:367) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:782) [bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:918) [bundleFile:9.4.20.v20190813]
at java.lang.Thread.run(Thread.java:834) [?:?]