Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ping error: Error: Unexpected end Line: 0 Column: 0 Char: #125

Closed
BuZZy1337 opened this issue Dec 19, 2018 · 17 comments
Closed

Ping error: Error: Unexpected end Line: 0 Column: 0 Char: #125

BuZZy1337 opened this issue Dec 19, 2018 · 17 comments

Comments

@BuZZy1337
Copy link
Contributor

I always get the error "Ping error: Error: Unexpected end Line: 0 Column: 0 Char:" .. I am using hm-rpc.1 configured to pull the virtual devices from the ccu2 (CCU2 Firmware 2.27.8)..

Instance Time Mode MSG
hm-rpc.1 2018-12-19 15:00:56.440 debug start ping interval
hm-rpc.1 2018-12-19 15:00:56.440 debug clear connecting interval
hm-rpc.1 2018-12-19 15:00:56.440 info Connected
hm-rpc.1 2018-12-19 15:00:43.014 debug start connecting interval
hm-rpc.1 2018-12-19 15:00:43.014 debug clear ping interval
hm-rpc.1 2018-12-19 15:00:43.014 debug Connect...
hm-rpc.1 2018-12-19 15:00:43.014 info Disconnected
hm-rpc.1 2018-12-19 15:00:43.014 error Ping error: Error: Unexpected end Line: 0 Column: 0 Char:
hm-rpc.1 2018-12-19 15:00:43.006 debug Send PING...
hm-rpc.1 2018-12-19 15:00:43.006 debug [KEEPALIVE] Check if connection is alive

Screenshot of the instance settings:
image

image

@foxriver76
Copy link
Collaborator

Since which version of the adapter does the issue exist?

@foxriver76
Copy link
Collaborator

foxriver76 commented Dec 19, 2018

Maybe @Holuba can have a look at it, I think he implemented the functionality in #99

@BuZZy1337
Copy link
Contributor Author

I just tried the "virtual groups" thing for the first time right now.. Until now I only had the virtual groups on the ccu.. But not in iobroker.

@Holuba
Copy link
Contributor

Holuba commented Dec 19, 2018

The undocumented VirtualDevice API has a reduced set of methods.
It also does not seem to support PING. Therefore, the error message comes in the log.

With my CCU2 the connection works, and also this error does not appear in the log ...

Here My Connection Settings:
anmerkung 2018-12-19 211635
anmerkung 2018-12-19 211718

CCU2 Firmware Version: 2.41.5
hm-rpc Version: 1.8.0

@BuZZy1337
Copy link
Contributor Author

That's strange.. I had to set the path to /groups without trailing /.. /groups/ always failed with "Error: not found" in the log..?

@Holuba
Copy link
Contributor

Holuba commented Dec 19, 2018

Have you opened the CCU Firewall?

Here are my settings (IP 192.168.2.16 ist my iobroker server):
anmerkung 2018-12-19 213427

@foxriver76
Copy link
Collaborator

Wouldnt be a problem to disable ping for the virtual devices api but somwhere must be a difference between your setups. I don't think its a firewall issue, because firewall block normally just runs in a timeout.

@150d
Copy link

150d commented Jan 6, 2019

I'm seeing both issues as well:

  1. The path for "Virtual Devices" must be "/groups", not "/groups/" (trailing slash.) The default, however, is "/groups/".

  2. My adapter connects and successfully retrieves devices (the heating groups), but terminates a few seconds later with "Ping error: Error: Unexpected end". This is in hmserver.log:

Jan 6 18:22:16 de.eq3.ccu.server.internal.RpcMessageHandler ERROR [vert.x-eventloop-thread-1] rpc.api.group Can not handle request de.eq3.cbcs.legacy.communication.rpc.RpcException: No handler with given name: ping at de.eq3.cbcs.legacy.communication.rpc.internal.rpc.AnnotationAwareRpcHandler.getMethod(AnnotationAwareRpcHandler.java:68) at de.eq3.cbcs.legacy.communication.rpc.internal.format.xml.XmlRpcParser.parseMethodCall(XmlRpcParser.java:118) at de.eq3.cbcs.legacy.communication.rpc.internal.format.xml.XmlRequestResponseProcessor.parseRequest(XmlRequestResponseProcessor.java:231) at de.eq3.ccu.server.internal.RpcMessageHandler.handle(RpcMessageHandler.java:68) at de.eq3.ccu.server.internal.RpcMessageHandler.handle(RpcMessageHandler.java:25) at org.vertx.java.core.eventbus.impl.DefaultEventBus$11.run(DefaultEventBus.java:951) at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:370) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) at java.lang.Thread.run(Thread.java:722)

Both of us (the OP of this issue and I) are running CCU2 with firmware v2.27.8, not the most recent one. Perhaps this issue has already been fixed on the CCU2-side in later versions (as in v2.41.5)? Can anybody verify that?

@150d
Copy link

150d commented Jan 6, 2019

I'm happy to confirm that this indeed was the case: I've just installed the most recent firmware on the CCU2 (v2.41.5) and so far I'm not seeing the previous "ping errors" any more.

@foxriver76
Copy link
Collaborator

foxriver76 commented Jan 6, 2019

Thanks for the feedback. Is /groups/ now also working?

@150d
Copy link

150d commented Jan 6, 2019

My adapter is still set to "/groups" (NO trailing slash) from before. I apologize for not trying, but since Holuba already has the configuration WITH trailing slash working I'd rather not try that out myself. (You know, when you finally have it working, better not to poke the bear. ;-) )

@Holuba
Copy link
Contributor

Holuba commented Jan 6, 2019

I added an Pull Request #140 witch excludes the Virtual Devices Deamon Type from Ping (because the Virtual Devices API not supports the Ping). I think this should solve this issue.

@foxriver76
Copy link
Collaborator

Thanks, but it seems like ping is supported when the CCU2 firmware is up to date.

@Holuba
Copy link
Contributor

Holuba commented Jan 6, 2019

i have the latest Firmware Version 2.41.5 and the system.listMethods call to the Virtual Devices XML-RPC API responses these Methods:

  • init
  • getParamsetDescription
  • getLinks
  • getDeviceDescription
  • getParamsetId
  • getParamset
  • putParamset
  • system.listMethods
  • listDevices
  • getValue
  • setValue
  • listReplaceableDevices
  • deleteDevice

I think newer Versions of CCU2 Firmware only doesn't throw an Exception?
(i use this Google Chrome Extension to check the API: https://chrome.google.com/webstore/detail/xml-rpc-client/mbelaappiaalhoceejaopcghdlnhhain )

@150d
Copy link

150d commented Jan 6, 2019

I agree: I now have the new CCU2 firmware (v2.41.5) running for just over two hours and have not seen a single (ping-)error yet.

With the old CCU2 firmware (v2.27.8), it took less than a minute for the adapter to loose connection to the CCU2.

But hey, if it's not needed (or documented) anyway - sure, the less load on the CCU2 the better.

@foxriver76
Copy link
Collaborator

@Holuba I do not use the API, but if the method is not listed then you are right and we are more backward compatible.

Can you confirm that it also works with /groups on the current firmware because it don’t seem to work with the implemented default path /groups/ in the older versions, then we could also change the default value in front end.

@150d
Copy link

150d commented Jan 6, 2019

@foxriver76 yes, I currently have it running with the path "/groups" (NO trailing slash) with the new CCU2 fIrmware.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants