IpCamera: New IP Camera Binding

Tags: #<Tag:0x00007faee1300b28> #<Tag:0x00007faee1300808> #<Tag:0x00007faee13004e8>

Hi Matt

Setting up some hikvision cameras, first time. I see this message

09:22:35.560 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - The Streaming Setup for this camera is not valid, check the SERVER_PORT and STREAM_URL_OVERRIDE settings are correct.


Camera is basically default.

And then:

[.ipcamera.internal.MyNettyAuthHandler] - !!!! Something is wrong with the reply back from the camera. WWW-Authenticate header: qop:auth, realm:

The camera is MJPEG stream, and thats working fine using URL:

http://192.168.1.201/Streaming/channels/102/httppreview

things:


Thing ipcamera:HIKVISION:North_Yard [
    IPADDRESS="192.168.1.200", PASSWORD="password",
    USERNAME="admin",
    POLL_CAMERA_MS=2000,
    SERVER_PORT=50001]


Thing ipcamera:HIKVISION:South_Steps [
    IPADDRESS="192.168.1.201", PASSWORD="password",
    USERNAME="admin",
    POLL_CAMERA_MS=2000,
    SERVER_PORT=50002]


Thing ipcamera:HIKVISION:Driveway [
    IPADDRESS="192.168.1.202", PASSWORD="password",
    USERNAME="admin",
    POLL_CAMERA_MS=2000,
    SERVER_PORT=50003]


Thing ipcamera:HIKVISION:Carport [
    IPADDRESS="192.168.1.203", PASSWORD="password",
    USERNAME="admin",
    POLL_CAMERA_MS=2000,
    SERVER_PORT=50004]

You must be using an older version as I can not find that text in the source code, I often change the logging to make things clearer or better formatted in the logs. Please make sure it is the latest version and you clean cache and temp folders.

I would need some trace level log output to be sure but it appears the realm is missing which is required for DIGEST to work. Check if your camera has a newer firmware version and update to it. The firmwares that ship in cameras usually are out of date.

hi matt, ive changed them all to basic auth. Ill check the firmware levels
binding version is:

212 x Active   x  80 x 2.5.0.201904071342     x IpCamera Binding

Hi Matt
Im now on 5.5.5 , latest for each camera.

Same errors. All are set to digest/basic


11:22:47.373 [ERROR] [ml.internal.messaging.saaj.client.p2p] - SAAJ0008: Bad Response; Not Found
11:22:47.373 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - SOAP error when trying to connect with ONVIF. This may indicate your camera does not fully support ONVIF, check for an updated firmware for your camera. Will try and connect with HTTP. Camera at IP:192.168.1.201, fault was com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Bad response: (404Not Found
11:22:47.377 [INFO ] [ding.ipcamera.handler.IpCameraHandler] - IP Camera at 192.168.1.201:80 is now online.
11:22:47.377 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - The Streaming Setup for this camera is not valid, check the SERVER_PORT and STREAM_URL_OVERRIDE settings are correct.
11:22:47.380 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'ipcamera:HIKVISION:South_Steps' changed from INITIALIZING to ONLINE
11:22:47.384 [ERROR] [ml.internal.messaging.saaj.client.p2p] - SAAJ0008: Bad Response; Not Found
11:22:47.384 [ERROR] [ml.internal.messaging.saaj.client.p2p] - SAAJ0008: Bad Response; Not Found
11:22:47.384 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - SOAP error when trying to connect with ONVIF. This may indicate your camera does not fully support ONVIF, check for an updated firmware for your camera. Will try and connect with HTTP. Camera at IP:192.168.1.202, fault was com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Bad response: (404Not Found
11:22:47.384 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - SOAP error when trying to connect with ONVIF. This may indicate your camera does not fully support ONVIF, check for an updated firmware for your camera. Will try and connect with HTTP. Camera at IP:192.168.1.203, fault was com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Bad response: (404Not Found
11:22:47.385 [INFO ] [ding.ipcamera.handler.IpCameraHandler] - IP Camera at 192.168.1.202:80 is now online.
11:22:47.385 [INFO ] [ding.ipcamera.handler.IpCameraHandler] - IP Camera at 192.168.1.203:80 is now online.
11:22:47.385 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'ipcamera:HIKVISION:Driveway' changed from INITIALIZING to ONLINE
11:22:47.385 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'ipcamera:HIKVISION:Carport' changed from INITIALIZING to ONLINE
11:22:47.386 [ERROR] [ml.internal.messaging.saaj.client.p2p] - SAAJ0008: Bad Response; Not Found
11:22:47.386 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - SOAP error when trying to connect with ONVIF. This may indicate your camera does not fully support ONVIF, check for an updated firmware for your camera. Will try and connect with HTTP. Camera at IP:192.168.1.200, fault was com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Bad response: (404Not Found

Did you also upgrade to the latest version of the binding, the version you listed above is quite old.

1 Like

So I installed the latest and the exact same issue:

What does this error even mean so I can begin to troubleshoot?

18:03:02.193 [ERROR] [ml.internal.messaging.saaj.client.p2p] - SAAJ0008: Bad Response; Not Found
18:03:02.194 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - SOAP error when trying to connect with ONVIF. This may indicate your camera does not fully support ONVIF, check for an updated firmware for your camera. Will try and connect with HTTP. Camera at IP:192.168.1.202, fault was com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Bad response: (404Not Found
18:03:02.196 [ERROR] [ml.internal.messaging.saaj.client.p2p] - SAAJ0008: Bad Response; Not Found
18:03:02.197 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - SOAP error when trying to connect with ONVIF. This may indicate your camera does not fully support ONVIF, check for an updated firmware for your camera. Will try and connect with HTTP. Camera at IP:192.168.1.201, fault was com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Bad response: (404Not Found
18:03:02.197 [ERROR] [ml.internal.messaging.saaj.client.p2p] - SAAJ0008: Bad Response; Not Found
18:03:02.198 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - SOAP error when trying to connect with ONVIF. This may indicate your camera does not fully support ONVIF, check for an updated firmware for your camera. Will try and connect with HTTP. Camera at IP:192.168.1.203, fault was com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Bad response: (404Not Found
18:03:02.199 [ERROR] [ml.internal.messaging.saaj.client.p2p] - SAAJ0008: Bad Response; Not Found
18:03:02.200 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - SOAP error when trying to connect with ONVIF. This may indicate your camera does not fully support ONVIF, check for an updated firmware for your camera. Will try and connect with HTTP. Camera at IP:192.168.1.200, fault was com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Bad response: (404Not Found

If I remember correctly I had to enable the ONVIF setting in my cameras and there was one occasion when upgrading the firmware turned off the setting. I think I also had to create an operator user on the camera and use this operator username and password on the binding.

Thanks Steve, I would imagine that to be true, but I can pull the substream just fine without using any user/pass. In any case, ill create a new user and see if that assists

lol! These errors are hilarious. This is after creating a new user

19:28:46.874 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - !!!! Camera has closed the channel       URL:/ISAPI/Streaming/channels/101/picture Cause reported is: {}
io.netty.util.concurrent.BlockingOperationException: DefaultChannelPromise@495e3e0a(incomplete)
        at io.netty.util.concurrent.DefaultPromise.checkDeadLock(DefaultPromise.java:386) ~[235:io.netty.common:4.1.34.Final]
        at io.netty.channel.DefaultChannelPromise.checkDeadLock(DefaultChannelPromise.java:159) ~[237:io.netty.transport:4.1.34.Final]
        at io.netty.util.concurrent.DefaultPromise.awaitUninterruptibly(DefaultPromise.java:236) ~[235:io.netty.common:4.1.34.Final]
        at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:137) ~[237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:30) ~[237:io.netty.transport:4.1.34.Final]
        at org.openhab.binding.ipcamera.handler.IpCameraHandler.sendHttpRequest(IpCameraHandler.java:543) ~[?:?]
        at org.openhab.binding.ipcamera.internal.MyNettyAuthHandler.processAuth(MyNettyAuthHandler.java:126) ~[?:?]
        at org.openhab.binding.ipcamera.internal.MyNettyAuthHandler.channelRead(MyNettyAuthHandler.java:223) ~[?:?]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:438) [237:io.netty.transport:4.1.34.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:323) [233:io.netty.codec:4.1.34.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) [233:io.netty.codec:4.1.34.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:426) [233:io.netty.codec:4.1.34.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:278) [233:io.netty.codec:4.1.34.Final]
        at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:253) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337) [237:io.netty.transport:4.1.34.Final]
        at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) [232:io.netty.handler:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1408) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:677) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:612) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:529) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:491) [237:io.netty.transport:4.1.34.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:905) [235:io.netty.common:4.1.34.Final]
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [235:io.netty.common:4.1.34.Final]
        at java.lang.Thread.run(Thread.java:748) [?:?]
19:28:51.592 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - The alarm stream was not running for camera 192.168.1.200, re-starting it now
19:28:51.592 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - The alarm stream was not running for camera 192.168.1.201, re-starting it now
19:28:51.595 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - The alarm stream was not running for camera 192.168.1.203, re-starting it now
19:28:51.594 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - The alarm stream was not running for camera 192.168.1.202, re-starting it now
19:28:53.738 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - !!!! Camera has closed the channel       URL:/ISAPI/Streaming/channels/101/picture Cause reported is: {}
io.netty.util.concurrent.BlockingOperationException: DefaultChannelPromise@294c34ac(incomplete)
        at io.netty.util.concurrent.DefaultPromise.checkDeadLock(DefaultPromise.java:386) ~[235:io.netty.common:4.1.34.Final]
        at io.netty.channel.DefaultChannelPromise.checkDeadLock(DefaultChannelPromise.java:159) ~[237:io.netty.transport:4.1.34.Final]
        at io.netty.util.concurrent.DefaultPromise.awaitUninterruptibly(DefaultPromise.java:236) ~[235:io.netty.common:4.1.34.Final]
        at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:137) ~[237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:30) ~[237:io.netty.transport:4.1.34.Final]
        at org.openhab.binding.ipcamera.handler.IpCameraHandler.sendHttpRequest(IpCameraHandler.java:543) ~[?:?]
        at org.openhab.binding.ipcamera.internal.MyNettyAuthHandler.processAuth(MyNettyAuthHandler.java:126) ~[?:?]
        at org.openhab.binding.ipcamera.internal.MyNettyAuthHandler.channelRead(MyNettyAuthHandler.java:223) ~[?:?]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:438) [237:io.netty.transport:4.1.34.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:323) [233:io.netty.codec:4.1.34.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) [233:io.netty.codec:4.1.34.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:426) [233:io.netty.codec:4.1.34.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:278) [233:io.netty.codec:4.1.34.Final]
        at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:253) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337) [237:io.netty.transport:4.1.34.Final]
        at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) [232:io.netty.handler:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1408) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:677) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:612) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:529) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:491) [237:io.netty.transport:4.1.34.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:905) [235:io.netty.common:4.1.34.Final]
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [235:io.netty.common:4.1.34.Final]
        at java.lang.Thread.run(Thread.java:748) [?:?]
19:28:54.096 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - !!!! Camera has closed the channel       URL:/ISAPI/Event/notification/alertStream Cause reported is: {}
io.netty.util.concurrent.BlockingOperationException: DefaultChannelPromise@74014e51(incomplete)
        at io.netty.util.concurrent.DefaultPromise.checkDeadLock(DefaultPromise.java:386) ~[235:io.netty.common:4.1.34.Final]
        at io.netty.channel.DefaultChannelPromise.checkDeadLock(DefaultChannelPromise.java:159) ~[237:io.netty.transport:4.1.34.Final]
        at io.netty.util.concurrent.DefaultPromise.awaitUninterruptibly(DefaultPromise.java:236) ~[235:io.netty.common:4.1.34.Final]
        at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:137) ~[237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:30) ~[237:io.netty.transport:4.1.34.Final]
        at org.openhab.binding.ipcamera.handler.IpCameraHandler.sendHttpRequest(IpCameraHandler.java:543) ~[?:?]
        at org.openhab.binding.ipcamera.internal.MyNettyAuthHandler.processAuth(MyNettyAuthHandler.java:126) ~[?:?]
        at org.openhab.binding.ipcamera.internal.MyNettyAuthHandler.channelRead(MyNettyAuthHandler.java:223) ~[?:?]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:438) [237:io.netty.transport:4.1.34.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:323) [233:io.netty.codec:4.1.34.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) [233:io.netty.codec:4.1.34.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:426) [233:io.netty.codec:4.1.34.Final]
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:278) [233:io.netty.codec:4.1.34.Final]
        at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:253) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337) [237:io.netty.transport:4.1.34.Final]
        at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) [232:io.netty.handler:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1408) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:677) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:612) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:529) [237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:491) [237:io.netty.transport:4.1.34.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:905) [235:io.netty.common:4.1.34.Final]
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [235:io.netty.common:4.1.34.Final]
        at java.lang.Thread.run(Thread.java:748) [?:?]
19:28:55.582 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - Can't find ch when removing handler              URL:null
19:29:02.588 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - Can't find ch when removing handler              URL:null
19:29:02.589 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - Can't find ch when removing handler              URL:null

Did you clear cache and tmp as well?

Yes I did.

That’s strange, I have 3 Hikvision cameras running without any problems, what are the model numbers of your cameras?

They are CD2355s and CD2342s

Can you provide your configuration Steve?

@dastrix80
I am 100% sure you are running an old JAR and not the latest, multiple log entries you have posted prove they do not match what the current JAR will insert into the logs.

  1. Re download the latest version and place all files from the zip into the addons folder.
  2. Make sure you only have the 1.4 version of xml SOAP in the addons folder and not two different versions.
  3. Clean cache and temp and REBOOT by using this line in linux…
sudo service openhab2 stop && sudo rm -rf /var/lib/openhab2/cache/* && sudo rm -rf /var/lib/openhab2/tmp/* && sudo reboot
  1. You must use admin rights to talk to your cameras and you must create an ONVIF user and password and also enable the cgi/API features in the cameras control panel.
  2. Try and get 1 single camera working first before trying multiples as often you need to increase the heap size.

Hi Matt

Im using this version now. I am using the admin user / pass

bundle:list | grep Camera
238 x Active x 80 x 2.5.0.201908030247 x openHAB Add-ons :: Bundles :: IpCamera Binding
openhab>

Here shows the soap version

 ls /usr/share/openhab2/addons/
doorbird-deps-1.0.0.jar        netty-codec-http-4.1.34.Final.jar  netty-transport-4.1.34.Final.jar                          org.openhab.binding.broadlink-2.2.0-BETA2.jar    README
javax.xml.soap-api-1.4.0.jar   netty-common-4.1.34.Final.jar      openhab-addons-2.4.0.kar                                  org.openhab.binding.doorbird-2.5.0-SNAPSHOT.jar
netty-buffer-4.1.34.Final.jar  netty-handler-4.1.34.Final.jar     org.apache.servicemix.bundles.xstream-1.4.7_1.jar         org.openhab.binding.ipcamera-2.5.0-SNAPSHOT.jar
netty-codec-4.1.34.Final.jar   netty-resolver-4.1.34.Final.jar    org.openhab.binding.amazonechocontrol-2.5.0-SNAPSHOT.jar  org.openhab.binding.zwave-2.5.0-SNAPSHOT.jar

and heres another error after a restart


10:29:36.946 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - Can't find ch when removing handler              URL:null
10:29:37.483 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - Can't find ch when removing handler              URL:null
10:29:37.484 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - Can't find ch when removing handler              URL:null
10:29:38.956 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - Can't find ch when removing handler              URL:null
10:29:39.957 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - Can't find ch when removing handler              URL:null
10:29:42.749 [INFO ] [smarthome.event.ItemStateChangedEvent] - Entrance_Motion_Alarm changed from ON to OFF
10:29:46.275 [INFO ] [ding.ipcamera.handler.IpCameraHandler] - ipCamera Dispose() called.
10:29:46.275 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'ipcamera:HIKVISION:Driveway' changed from ONLINE to UNINITIALIZED
10:29:46.276 [INFO ] [ding.ipcamera.handler.IpCameraHandler] - ipCamera restarting.
10:29:46.279 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'ipcamera:HIKVISION:Driveway' changed from UNINITIALIZED to UNINITIALIZED (HANDLER_MISSING_ERROR)
10:29:46.280 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'ipcamera:HIKVISION:North_Yard' changed from ONLINE to UNINITIALIZED
10:29:46.280 [INFO ] [ding.ipcamera.handler.IpCameraHandler] - ipCamera Dispose() called.
10:29:46.281 [INFO ] [ding.ipcamera.handler.IpCameraHandler] - ipCamera restarting.
10:29:46.284 [INFO ] [ding.ipcamera.handler.IpCameraHandler] - ipCamera Dispose() called.
10:29:46.284 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'ipcamera:HIKVISION:North_Yard' changed from UNINITIALIZED to UNINITIALIZED (HANDLER_MISSING_ERROR)
10:29:46.284 [INFO ] [ding.ipcamera.handler.IpCameraHandler] - ipCamera restarting.
10:29:46.285 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'ipcamera:HIKVISION:South_Steps' changed from ONLINE to UNINITIALIZED
10:29:46.288 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'ipcamera:HIKVISION:South_Steps' changed from UNINITIALIZED to UNINITIALIZED (HANDLER_MISSING_ERROR)
10:29:46.288 [INFO ] [ding.ipcamera.handler.IpCameraHandler] - ipCamera Dispose() called.
10:29:46.289 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'ipcamera:HIKVISION:Carport' changed from ONLINE to UNINITIALIZED
10:29:46.289 [INFO ] [ding.ipcamera.handler.IpCameraHandler] - ipCamera restarting.
10:29:46.292 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'ipcamera:HIKVISION:Carport' changed from UNINITIALIZED to UNINITIALIZED (HANDLER_MISSING_ERROR)
10:29:46.333 [INFO ] [smarthome.event.ThingUpdatedEvent    ] - Thing 'ipcamera:HIKVISION:North_Yard' has been updated.
10:29:46.334 [INFO ] [smarthome.event.ThingUpdatedEvent    ] - Thing 'ipcamera:HIKVISION:South_Steps' has been updated.
10:29:46.334 [INFO ] [smarthome.event.ThingUpdatedEvent    ] - Thing 'ipcamera:HIKVISION:Driveway' has been updated.
10:29:46.335 [INFO ] [smarthome.event.ThingUpdatedEvent    ] - Thing 'ipcamera:HIKVISION:Carport' has been updated.
10:29:46.337 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'ipcamera:HIKVISION:North_Yard' changed from UNINITIALIZED (HANDLER_MISSING_ERROR) to INITIALIZING
10:29:46.340 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'ipcamera:HIKVISION:South_Steps' changed from UNINITIALIZED (HANDLER_MISSING_ERROR) to INITIALIZING
10:29:46.342 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'ipcamera:HIKVISION:Driveway' changed from UNINITIALIZED (HANDLER_MISSING_ERROR) to INITIALIZING
10:29:46.344 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'ipcamera:HIKVISION:Carport' changed from UNINITIALIZED (HANDLER_MISSING_ERROR) to INITIALIZING
10:29:47.350 [ERROR] [ml.internal.messaging.saaj.client.p2p] - SAAJ0008: Bad Response; Not Found
10:29:47.350 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - SOAP error when trying to connect with ONVIF. This may indicate your camera does not fully support ONVIF, check for an updated firmware for your camera. Will try and connect with HTTP. Camera at IP:192.168.1.203, fault was com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Bad response: (404Not Found
10:29:47.350 [ERROR] [ml.internal.messaging.saaj.client.p2p] - SAAJ0008: Bad Response; Not Found
10:29:47.350 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - SOAP error when trying to connect with ONVIF. This may indicate your camera does not fully support ONVIF, check for an updated firmware for your camera. Will try and connect with HTTP. Camera at IP:192.168.1.200, fault was com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Bad response: (404Not Found
10:29:47.353 [ERROR] [ml.internal.messaging.saaj.client.p2p] - SAAJ0008: Bad Response; Not Found
10:29:47.353 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - SOAP error when trying to connect with ONVIF. This may indicate your camera does not fully support ONVIF, check for an updated firmware for your camera. Will try and connect with HTTP. Camera at IP:192.168.1.202, fault was com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Bad response: (404Not Found
10:29:47.356 [ERROR] [ml.internal.messaging.saaj.client.p2p] - SAAJ0008: Bad Response; Not Found
10:29:47.356 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - SOAP error when trying to connect with ONVIF. This may indicate your camera does not fully support ONVIF, check for an updated firmware for your camera. Will try and connect with HTTP. Camera at IP:192.168.1.201, fault was com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Bad response: (404Not Found
10:29:47.359 [INFO ] [ding.ipcamera.handler.IpCameraHandler] - IpCamera file server for camera 192.168.1.200 has started on port 50001
10:29:47.359 [INFO ] [ding.ipcamera.handler.IpCameraHandler] - IP Camera at 192.168.1.200 is now online.
10:29:47.359 [INFO ] [ding.ipcamera.handler.IpCameraHandler] - IpCamera file server for camera 192.168.1.203 has started on port 50004
10:29:47.359 [INFO ] [ding.ipcamera.handler.IpCameraHandler] - IP Camera at 192.168.1.203 is now online.
10:29:47.359 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'ipcamera:HIKVISION:North_Yard' changed from INITIALIZING to ONLINE
10:29:47.360 [INFO ] [ding.ipcamera.handler.IpCameraHandler] - IpCamera file server for camera 192.168.1.202 has started on port 50003
10:29:47.360 [INFO ] [ding.ipcamera.handler.IpCameraHandler] - IP Camera at 192.168.1.202 is now online.
10:29:47.360 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'ipcamera:HIKVISION:Carport' changed from INITIALIZING to ONLINE
10:29:47.360 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'ipcamera:HIKVISION:Driveway' changed from INITIALIZING to ONLINE
10:29:47.379 [INFO ] [ding.ipcamera.handler.IpCameraHandler] - IpCamera file server for camera 192.168.1.201 has started on port 50002
10:29:47.380 [INFO ] [ding.ipcamera.handler.IpCameraHandler] - IP Camera at 192.168.1.201 is now online.
10:29:47.380 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'ipcamera:HIKVISION:South_Steps' changed from INITIALIZING to ONLINE
10:29:49.740 [WARN ] [ding.ipcamera.handler.IpCameraHandler] - !!!! Camera has closed the channel       URL:/ISAPI/Streaming/channels/101/picture Cause reported is: {}
io.netty.util.concurrent.BlockingOperationException: DefaultChannelPromise@23b31a3c(incomplete)
        at io.netty.util.concurrent.DefaultPromise.checkDeadLock(DefaultPromise.java:386) ~[235:io.netty.common:4.1.34.Final]
        at io.netty.channel.DefaultChannelPromise.checkDeadLock(DefaultChannelPromise.java:159) ~[237:io.netty.transport:4.1.34.Final]
        at io.netty.util.concurrent.DefaultPromise.awaitUninterruptibly(DefaultPromise.java:236) ~[235:io.netty.common:4.1.34.Final]
        at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:137) ~[237:io.netty.transport:4.1.34.Final]
        at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:30) ~[237:io.netty.transport:4.1.34.Final]


Provide some trace level log with only one camera and I’ll take a look at what is going on. Must be trace and only one camera.

1 Like

Hi Matt. Great binding. Installed over the weekend and configured a Foscam FI9816P. Seems to be working well (pan, tilt, motion detection, image in PaperUI) Now to start configuring rules.

Hi Everyone. If buying new cameras, what are people recommending to work with the binding? Thanks

Glad you like the binding.

For which brands work best and what features are implemented for each brand please see the first post of this thread here…

Also for camera recommendations best to ask in a camera form like this one, plenty of threads already discussing which camera is best for which application.

Hi Matt

See attached debug, only 1 camera is configured. Latest binding version
It seems authentication related, but ive tried the admin crendentials and an operator user, same issue. Its set to digest/basic, the other option is digest only.

Hopefully this helps:


:
2019-08-22 15:50:19.832 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] - Sending camera: GET: http://192.168.1.200/ISAPI/Event/notification/alertStream
2019-08-22 15:50:19.832 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] -    Using the already open channel:2    GET:/ISAPI/Event/notification/alertStream
2019-08-22 15:50:19.833 [TRACE] [ipcamera.internal.MyNettyAuthHandler] - MyNettyAuthHandler is now setup for    GET:/ISAPI/Event/notification/alertStream
2019-08-22 15:50:19.833 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - DefaultHttpResponse(decodeResult: success, version: HTTP/1.1)
HTTP/1.1 401 Unauthorized
Date: Thu, 22 Aug 2019 15:50:08 GMT
Server: App-webs/
Content-Length: 178
Content-Type: text/html
Connection: keep-alive
Keep-Alive: timeout=10, max=82
WWW-Authenticate: Digest qop="auth", realm="IP Camera(76898)", nonce="5a44466c5a6d4535597a7069595441314e5749354e773d3d", stale="FALSE"
WWW-Authenticate: Basic realm="IP Camera(76898)"
2019-08-22 15:50:19.834 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - DefaultLastHttpContent(data: PooledSlicedByteBuf(ridx: 0, widx: 178, cap: 178/178, unwrapped: PooledUnsafeDirectByteBuf(ridx: 551, widx: 551, cap: 1024)), decoderResult: success)
2019-08-22 15:50:19.834 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - HTTP Result back from camera is        :<!DOCTYPE html>
<html><head><title>Document Error: Unauthorized</title></head>
<body><h2>Access Error: 401 -- Unauthorized</h2>
<p>Authentication Error</p>
</body>
</html>
:
2019-08-22 15:50:19.836 [DEBUG] [ipcamera.internal.MyNettyAuthHandler] - 401: Mark to re-use,  the channel:2    GET:/ISAPI/Event/notification/alertStream
2019-08-22 15:50:19.836 [DEBUG] [ipcamera.internal.MyNettyAuthHandler] - Setting up the camera to use Basic Auth and resending last request with correct auth.
2019-08-22 15:50:19.837 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] - Sending camera: GET: http://192.168.1.200/ISAPI/Event/notification/alertStream
2019-08-22 15:50:19.837 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] -    Using the already open channel:2    GET:/ISAPI/Event/notification/alertStream
2019-08-22 15:50:19.837 [TRACE] [ipcamera.internal.MyNettyAuthHandler] - MyNettyAuthHandler is now setup for    GET:/ISAPI/Event/notification/alertStream
2019-08-22 15:50:19.838 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - DefaultHttpResponse(decodeResult: success, version: HTTP/1.1)
HTTP/1.1 401 Unauthorized
Date: Thu, 22 Aug 2019 15:50:08 GMT
Server: App-webs/
Content-Length: 178
Content-Type: text/html
Connection: keep-alive
Keep-Alive: timeout=10, max=81
WWW-Authenticate: Digest qop="auth", realm="IP Camera(76898)", nonce="4f5445774e4446694e6a5536596d45774e5456694f57493d", stale="FALSE"
WWW-Authenticate: Basic realm="IP Camera(76898)"
2019-08-22 15:50:19.838 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - DefaultLastHttpContent(data: PooledSlicedByteBuf(ridx: 0, widx: 178, cap: 178/178, unwrapped: PooledUnsafeDirectByteBuf(ridx: 551, widx: 551, cap: 1024)), decoderResult: success)
2019-08-22 15:50:19.839 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - HTTP Result back from camera is        :<!DOCTYPE html>
<html><head><title>Document Error: Unauthorized</title></head>
<body><h2>Access Error: 401 -- Unauthorized</h2>
<p>Authentication Error</p>
</body>
</html>
:
2019-08-22 15:50:19.841 [DEBUG] [ipcamera.internal.MyNettyAuthHandler] - 401: Mark to re-use,  the channel:2    GET:/ISAPI/Event/notification/alertStream
2019-08-22 15:50:19.841 [DEBUG] [ipcamera.internal.MyNettyAuthHandler] - Setting up the camera to use Basic Auth and resending last request with correct auth.
2019-08-22 15:50:19.842 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] - Sending camera: GET: http://192.168.1.200/ISAPI/Event/notification/alertStream
2019-08-22 15:50:19.842 [DEBUG] [ipcamera.internal.MyNettyAuthHandler] - 401: Mark to re-use,  the channel:1    GET:/ISAPI/Streaming/channels/101/picture
2019-08-22 15:50:19.842 [DEBUG] [ipcamera.internal.MyNettyAuthHandler] - Setting up the camera to use Basic Auth and resending last request with correct auth.
2019-08-22 15:50:19.842 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] -    Using the already open channel:2    GET:/ISAPI/Event/notification/alertStream
2019-08-22 15:50:19.843 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] - Sending camera: GET: http://192.168.1.200/ISAPI/Streaming/channels/101/picture
2019-08-22 15:50:19.843 [TRACE] [ipcamera.internal.MyNettyAuthHandler] - MyNettyAuthHandler is now setup for    GET:/ISAPI/Event/notification/alertStream
2019-08-22 15:50:19.843 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - DefaultHttpResponse(decodeResult: success, version: HTTP/1.1)
HTTP/1.1 401 Unauthorized
Date: Thu, 22 Aug 2019 15:50:08 GMT
Server: App-webs/
Content-Length: 178
Content-Type: text/html
Connection: keep-alive
Keep-Alive: timeout=10, max=80
WWW-Authenticate: Digest qop="auth", realm="IP Camera(76898)", nonce="4d5449354e575a694f575936596d45774e5456695954413d", stale="FALSE"
WWW-Authenticate: Basic realm="IP Camera(76898)"
2019-08-22 15:50:19.843 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] -    Using the already open channel:1    GET:/ISAPI/Streaming/channels/101/picture
2019-08-22 15:50:19.844 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - DefaultLastHttpContent(data: PooledSlicedByteBuf(ridx: 0, widx: 178, cap: 178/178, unwrapped: PooledUnsafeDirectByteBuf(ridx: 551, widx: 551, cap: 1024)), decoderResult: success)
2019-08-22 15:50:19.844 [TRACE] [ipcamera.internal.MyNettyAuthHandler] - MyNettyAuthHandler is now setup for    GET:/ISAPI/Streaming/channels/101/picture
2019-08-22 15:50:19.844 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - HTTP Result back from camera is        :<!DOCTYPE html>
<html><head><title>Document Error: Unauthorized</title></head>
<body><h2>Access Error: 401 -- Unauthorized</h2>
<p>Authentication Error</p>
</body>
</html>
:
2019-08-22 15:50:19.844 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - DefaultHttpResponse(decodeResult: success, version: HTTP/1.1)
HTTP/1.1 401 Unauthorized
Date: Thu, 22 Aug 2019 15:50:08 GMT
Server: App-webs/
Content-Length: 178
Content-Type: text/html
Connection: keep-alive
Keep-Alive: timeout=10, max=15
WWW-Authenticate: Digest qop="auth", realm="IP Camera(76898)", nonce="4f5745785a5468695a546b36596d45774e5456694f57513d", stale="FALSE"
WWW-Authenticate: Basic realm="IP Camera(76898)"
2019-08-22 15:50:19.845 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - DefaultLastHttpContent(data: PooledSlicedByteBuf(ridx: 0, widx: 178, cap: 178/178, unwrapped: PooledUnsafeDirectByteBuf(ridx: 551, widx: 551, cap: 1024)), decoderResult: success)
2019-08-22 15:50:19.845 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - HTTP Result back from camera is        :<!DOCTYPE html>
<html><head><title>Document Error: Unauthorized</title></head>
<body><h2>Access Error: 401 -- Unauthorized</h2>
<p>Authentication Error</p>
</body>
</html>
:
2019-08-22 15:50:19.848 [DEBUG] [ipcamera.internal.MyNettyAuthHandler] - 401: Mark to re-use,  the channel:1    GET:/ISAPI/Streaming/channels/101/picture
2019-08-22 15:50:19.849 [DEBUG] [ipcamera.internal.MyNettyAuthHandler] - Setting up the camera to use Basic Auth and resending last request with correct auth.
2019-08-22 15:50:19.849 [DEBUG] [ipcamera.internal.MyNettyAuthHandler] - 401: Mark to re-use,  the channel:2    GET:/ISAPI/Event/notification/alertStream
2019-08-22 15:50:19.849 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] - Sending camera: GET: http://192.168.1.200/ISAPI/Streaming/channels/101/picture
2019-08-22 15:50:19.849 [DEBUG] [ipcamera.internal.MyNettyAuthHandler] - Setting up the camera to use Basic Auth and resending last request with correct auth.
2019-08-22 15:50:19.849 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] -    Using the already open channel:1    GET:/ISAPI/Streaming/channels/101/picture
2019-08-22 15:50:19.850 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] - Sending camera: GET: http://192.168.1.200/ISAPI/Event/notification/alertStream
2019-08-22 15:50:19.850 [TRACE] [ipcamera.internal.MyNettyAuthHandler] - MyNettyAuthHandler is now setup for    GET:/ISAPI/Streaming/channels/101/picture
2019-08-22 15:50:19.850 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - DefaultHttpResponse(decodeResult: success, version: HTTP/1.1)
HTTP/1.1 401 Unauthorized
Date: Thu, 22 Aug 2019 15:50:08 GMT
Server: App-webs/
Content-Length: 178
Content-Type: text/html
Connection: keep-alive
Keep-Alive: timeout=10, max=14
WWW-Authenticate: Digest qop="auth", realm="IP Camera(76898)", nonce="4d574e6b4e32453559324d36596d45774e5456695954673d", stale="FALSE"
WWW-Authenticate: Basic realm="IP Camera(76898)"
2019-08-22 15:50:19.850 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] -    Using the already open channel:2    GET:/ISAPI/Event/notification/alertStream
2019-08-22 15:50:19.850 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - DefaultLastHttpContent(data: PooledSlicedByteBuf(ridx: 0, widx: 178, cap: 178/178, unwrapped: PooledUnsafeDirectByteBuf(ridx: 551, widx: 551, cap: 1024)), decoderResult: success)
2019-08-22 15:50:19.851 [TRACE] [ipcamera.internal.MyNettyAuthHandler] - MyNettyAuthHandler is now setup for    GET:/ISAPI/Event/notification/alertStream
2019-08-22 15:50:19.851 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - HTTP Result back from camera is        :<!DOCTYPE html>
<html><head><title>Document Error: Unauthorized</title></head>
<body><h2>Access Error: 401 -- Unauthorized</h2>
<p>Authentication Error</p>
</body>
</html>
:
2019-08-22 15:50:19.851 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - DefaultHttpResponse(decodeResult: success, version: HTTP/1.1)
HTTP/1.1 401 Unauthorized
Date: Thu, 22 Aug 2019 15:50:08 GMT
Server: App-webs/
Content-Length: 178
Content-Type: text/html
Connection: keep-alive
Keep-Alive: timeout=10, max=79
WWW-Authenticate: Digest qop="auth", realm="IP Camera(76898)", nonce="4f546c694e446469596d4d36596d45774e5456695954633d", stale="FALSE"
WWW-Authenticate: Basic realm="IP Camera(76898)"
2019-08-22 15:50:19.852 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - DefaultLastHttpContent(data: PooledSlicedByteBuf(ridx: 0, widx: 178, cap: 178/178, unwrapped: PooledUnsafeDirectByteBuf(ridx: 551, widx: 551, cap: 1024)), decoderResult: success)
2019-08-22 15:50:19.852 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - HTTP Result back from camera is        :<!DOCTYPE html>
<html><head><title>Document Error: Unauthorized</title></head>
<body><h2>Access Error: 401 -- Unauthorized</h2>
<p>Authentication Error</p>
</body>
</html>
:
2019-08-22 15:50:19.854 [DEBUG] [ipcamera.internal.MyNettyAuthHandler] - 401: Mark to re-use,  the channel:2    GET:/ISAPI/Event/notification/alertStream
2019-08-22 15:50:19.854 [DEBUG] [ipcamera.internal.MyNettyAuthHandler] - Setting up the camera to use Basic Auth and resending last request with correct auth.
2019-08-22 15:50:19.854 [DEBUG] [ipcamera.internal.MyNettyAuthHandler] - 401: Mark to re-use,  the channel:1    GET:/ISAPI/Streaming/channels/101/picture
2019-08-22 15:50:19.855 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] - Sending camera: GET: http://192.168.1.200/ISAPI/Event/notification/alertStream
2019-08-22 15:50:19.855 [DEBUG] [ipcamera.internal.MyNettyAuthHandler] - Setting up the camera to use Basic Auth and resending last request with correct auth.
2019-08-22 15:50:19.855 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] -    Using the already open channel:2    GET:/ISAPI/Event/notification/alertStream
2019-08-22 15:50:19.855 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] - Sending camera: GET: http://192.168.1.200/ISAPI/Streaming/channels/101/picture
2019-08-22 15:50:19.855 [TRACE] [ipcamera.internal.MyNettyAuthHandler] - MyNettyAuthHandler is now setup for    GET:/ISAPI/Event/notification/alertStream
2019-08-22 15:50:19.856 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - DefaultHttpResponse(decodeResult: success, version: HTTP/1.1)
HTTP/1.1 401 Unauthorized
Date: Thu, 22 Aug 2019 15:50:08 GMT
Server: App-webs/
Content-Length: 178
Content-Type: text/html
Connection: keep-alive
Keep-Alive: timeout=10, max=78
WWW-Authenticate: Digest qop="auth", realm="IP Camera(76898)", nonce="4e44566a5932493159324536596d45774e5456695957513d", stale="FALSE"
WWW-Authenticate: Basic realm="IP Camera(76898)"
2019-08-22 15:50:19.856 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] -    Using the already open channel:1    GET:/ISAPI/Streaming/channels/101/picture
2019-08-22 15:50:19.856 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - DefaultLastHttpContent(data: PooledSlicedByteBuf(ridx: 0, widx: 178, cap: 178/178, unwrapped: PooledUnsafeDirectByteBuf(ridx: 551, widx: 551, cap: 1024)), decoderResult: success)
2019-08-22 15:50:19.856 [TRACE] [ipcamera.internal.MyNettyAuthHandler] - MyNettyAuthHandler is now setup for    GET:/ISAPI/Streaming/channels/101/picture
2019-08-22 15:50:19.856 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - HTTP Result back from camera is        :<!DOCTYPE html>
<html><head><title>Document Error: Unauthorized</title></head>
<body><h2>Access Error: 401 -- Unauthorized</h2>
<p>Authentication Error</p>
</body>
</html>
:
2019-08-22 15:50:19.857 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - DefaultHttpResponse(decodeResult: success, version: HTTP/1.1)
HTTP/1.1 401 Unauthorized
Date: Thu, 22 Aug 2019 15:50:08 GMT
Server: App-webs/
Content-Length: 178
Content-Type: text/html
Connection: keep-alive
Keep-Alive: timeout=10, max=13
WWW-Authenticate: Digest qop="auth", realm="SéH", nonce="4f546c6c4f5749354e325936596d45774e54566959574d3d", stale="FALSE"
WWW-Authenticate: Basic realm="IP Camera(76898)"
2019-08-22 15:50:19.857 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - DefaultLastHttpContent(data: PooledSlicedByteBuf(ridx: 0, widx: 178, cap: 178/178, unwrapped: PooledUnsafeDirectByteBuf(ridx: 538, widx: 538, cap: 1024)), decoderResult: success)
2019-08-22 15:50:19.857 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - HTTP Result back from camera is        :<!DOCTYPE html>
<html><head><title>Document Error: Unauthorized</title></head>
<body><h2>Access Error: 401 -- Unauthorized</h2>
<p>Authentication Error</p>
</body>
</html>
:
2019-08-22 15:50:19.859 [DEBUG] [ipcamera.internal.MyNettyAuthHandler] - 401: Mark to re-use,  the channel:1    GET:/ISAPI/Streaming/channels/101/picture
2019-08-22 15:50:19.859 [DEBUG] [ipcamera.internal.MyNettyAuthHandler] - Setting up the camera to use Basic Auth and resending last request with correct auth.
2019-08-22 15:50:19.859 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] - Sending camera: GET: http://192.168.1.200/ISAPI/Streaming/channels/101/picture
2019-08-22 15:50:19.859 [DEBUG] [ipcamera.internal.MyNettyAuthHandler] - 401: Mark to re-use,  the channel:2    GET:/ISAPI/Event/notification/alertStream
2019-08-22 15:50:19.860 [DEBUG] [ipcamera.internal.MyNettyAuthHandler] - Setting up the camera to use Basic Auth and resending last request with correct auth.
2019-08-22 15:50:19.860 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] -    Using the already open channel:1    GET:/ISAPI/Streaming/channels/101/picture
2019-08-22 15:50:19.860 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] - Sending camera: GET: http://192.168.1.200/ISAPI/Event/notification/alertStream
2019-08-22 15:50:37.815 [WARN ] [me.core.internal.events.EventHandler] - Dispatching event to subscriber 'org.eclipse.smarthome.io.monitor.internal.EventLogger@5e9d07e0' takes more than 5000ms.
2019-08-22 15:50:32.809 [INFO ] [.smarthome.model.script.system.rules] - Server Uptime updated to 6 Days / 22 Hours / 17 Min.
2019-08-22 15:50:19.860 [TRACE] [ipcamera.internal.MyNettyAuthHandler] - MyNettyAuthHandler is now setup for    GET:/ISAPI/Streaming/channels/101/picture
2019-08-22 15:51:19.863 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - DefaultHttpResponse(decodeResult: success, version: HTTP/1.1)
HTTP/1.1 401 Unauthorized
Date: Thu, 22 Aug 2019 15:50:08 GMT
Server: App-webs/
Content-Length: 178
Content-Type: text/html
Connection: keep-alive
Keep-Alive: timeout=10, max=12
WWW-Authenticate: Digest qop="auth", realm="IP Camera(76898)", nonce="59574e6c4d7a63794f545136596d45774e545669596a493d", stale="FALSE"
WWW-Authenticate: Basic realm="IP Camera(76898)"
2019-08-22 15:51:19.863 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] - commonCameraHandler closed channel:3   URL:/ISAPI/Streaming/channels/101/picture
2019-08-22 15:51:19.863 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - DefaultLastHttpContent(data: PooledSlicedByteBuf(ridx: 0, widx: 178, cap: 178/178, unwrapped: PooledUnsafeDirectByteBuf(ridx: 551, widx: 551, cap: 1024)), decoderResult: success)
2019-08-22 15:51:19.864 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] - commonCameraHandler closed channel:4   URL:/ISAPI/Event/notification/alertStream
2019-08-22 15:51:19.864 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - HTTP Result back from camera is        :<!DOCTYPE html>
<html><head><title>Document Error: Unauthorized</title></head>
<body><h2>Access Error: 401 -- Unauthorized</h2>
<p>Authentication Error</p>
</body>
</html>
:
2019-08-22 15:51:19.864 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] -    Using the already open channel:2    GET:/ISAPI/Event/notification/alertStream
2019-08-22 15:51:19.864 [TRACE] [ipcamera.internal.MyNettyAuthHandler] - MyNettyAuthHandler is now setup for    GET:/ISAPI/Event/notification/alertStream
2019-08-22 15:51:19.872 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - DefaultHttpResponse(decodeResult: success, version: HTTP/1.1)
HTTP/1.1 401 Unauthorized
Date: Thu, 22 Aug 2019 15:50:08 GMT
Server: App-webs/
Content-Length: 178
Content-Type: text/html
Connection: keep-alive
Keep-Alive: timeout=10, max=77
WWW-Authenticate: Digest qop="auth", realm="IP Camera(76898)", nonce="4e4451304f5463344d546336596d45774e545669596a4d3d", stale="FALSE"
WWW-Authenticate: Basic realm="IP Camera(76898)"
2019-08-22 15:51:19.872 [DEBUG] [ing.ipcamera.handler.IpCameraHandler] - commonCameraHandler closed channel:1   URL:/ISAPI/Streaming/channels/101/picture
2019-08-22 15:51:19.872 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - DefaultLastHttpContent(data: PooledSlicedByteBuf(ridx: 0, widx: 178, cap: 178/178, unwrapped: PooledUnsafeDirectByteBuf(ridx: 551, widx: 551, cap: 1024)), decoderResult: success)
2019-08-22 15:51:19.872 [TRACE] [ing.ipcamera.handler.IpCameraHandler] - HTTP Result back from camera is        :<!DOCTYPE html>
<html><head><title>Document Error: Unauthorized</title></head>
<body><h2>Access Error: 401 -- Unauthorized</h2>
<p>Authentication Error</p>
</body>
</html>
:

It did not show any problems so check this…

In cameras settings make sure “Enable Illegal Login Lock” is unticked, save and then reboot the camera. Also make sure the IP filter is not setup.

I have multiple HIk cameras and have one setup for basic and the other for digest and they just work.

I did notice this weird thing in the logs which to my knowledge a camera should not change the realm. It may be a bug in the cameras firmware that has triggered the illegal lock feature.

WWW-Authenticate: Digest qop="auth", realm="SéH",
WWW-Authenticate: Digest qop="auth", realm="IP Camera(76898)",

Also it must be login details for admin rights, user level is not enough.