openhab / openhab-addons

Add-ons for openHAB
https://www.openhab.org/
Eclipse Public License 2.0
1.88k stars 3.59k forks source link

[denonmarantz] Cannot invoke BufferReader syslog #15444

Closed Wikibear closed 1 year ago

Wikibear commented 1 year ago

Raspberry Pi 3 B Openhab 4.0.2-1 -> also with 4.0.1

I investigate an unstable issue with openhab and i investigate in all directions. Somebody say that following errors in syslog aren't good that i have to switch off the binding. But i need this binding.

If the receiver isn't available via network i get this issue in syslog:

Aug 17 15:58:02 openhabian karaf[24451]: #011at org.openhab.binding.denonmarantz.internal.connector.telnet.DenonMarantzTelnetClientThread.run(DenonMarantzTelnetClientThread.java:68) Aug 17 15:58:36 openhabian karaf[24451]: Exception in thread "OH-binding-denonmarantz:avr:2b74ec1a" java.lang.NullPointerException: Cannot invoke "java.io.BufferedReader.readLine()" because "this.in" is null

Thanks.

lsiepel commented 1 year ago

Pretty sure i found the problem, could youverify by using this jar: https://1drv.ms/u/s!AnMcxmvEeupwjqVmDjS6MTGKtfRFQQ?e=orDdgn remove current denonmarantz binding, drop the jar in the addon folder and try to reproduce the error you had.

Wikibear commented 1 year ago

Is that ok that the file calls yamaha?

grafik

lsiepel commented 1 year ago

Oops sorry, shared the wrong file: please try again: https://1drv.ms/u/s!AnMcxmvEeupwjs8BkgU2wULjv7gK6A?e=zUccIc

Wikibear commented 1 year ago

If device isn't powered i get this: grafik And syslog is clear. Looks good. I will send you more information tomorrow i will test it more.

Wikibear commented 1 year ago

Looks good. No syslog entrys anymore. Thanks for the fix!

Wikibear commented 1 year ago

Have a new problem after restart: 2023-08-18 15:52:44.547 [WARN ] [core.thing.internal.ThingManagerImpl] - A thing handler factory claims to support 'denonmarantz:avr' for thing 'denonmarantz:avr:2b74ec1a' for more than 120s, but the thing type can't be found in the registry. This should be fixed in the binding. 2023-08-18 15:52:46.570 [WARN ] [core.thing.internal.ThingManagerImpl] - Channel types or config descriptions for thing 'denonmarantz:avr:2b74ec1a' are missing in the respective registry for more than 120s. In case it does not happen immediately after an upgrade, it should be fixed in the binding. 2023-08-18 15:52:46.575 [WARN ] [core.thing.internal.ThingManagerImpl] - Could not normalize configuration for 'denonmarantz:avr:2b74ec1a' because the thing type was not found in registry.

lsiepel commented 1 year ago

Different issue, have seen that before. Have to check why this occurs.

jlaur commented 1 year ago

@Wikibear - can you try to recreate your thing?

jlaur commented 1 year ago

I'm testing the fix right now. I was able to reproduce the NPE, but it took a long time to appear after turning off the receiver and even sending some commands. Even now with the fix my Thing is still online several minutes after I turned off the receiver.

This is a separate issue, so just sharing. I can see in my old project that I configured the Socket with setSoLinger(true, 1), but I don't remember why. I'll experiment a bit and probably create an issue and/or PR if I find anything.

I don't normally use this binding because of the receiver's 1 TCP connection limitation, so on my long TODO there's also a project of creating some kind of telnet proxy/broker which clients could connect to using the AVR protocol, and which would then propagate commands/events between clients and the receiver.

Wikibear commented 1 year ago

Something is odd now after reboot... Thing isn't filled with any information... Only online. I deleted it and now i can't find the binding in the things section...