Reolink TrackMix WiFi crash caused by binding?

Hi,

I’m trying to add a Reolink TrackMix WiFi to my system running OH 4.1.0. When I enable the thing in OH the cam crashes every couple of minutes.

This is the config of the thing:

UID: ipcamera:reolink:reo_c_01
label: reo-c-01
thingTypeUID: ipcamera:reolink
configuration:
  mjpegOptions: -q:v 5 -r 2 -vf scale=640:-2 -update 1
  ipAddress: 192.168.178.48
  updateImageWhen: "0"
  gifPreroll: 0
  onvifPort: 8000
  ffmpegLocation: /usr/bin/ffmpeg
  ipWhitelist: DISABLE
  mp4OutOptions: -c:v copy -c:a copy
  pollTime: 1000
  useToken: false
  password: SECRET
  port: 80
  nvrChannel: 0
  snapshotOptions: -an -vsync vfr -q:v 2 -update 1
  ptzContinuous: true
  onvifMediaProfile: 1
  gifOutOptions: -r 2 -filter_complex
    scale=-2:360:flags=lanczos,setpts=0.5*PTS,split[o1][o2];[o1]palettegen[p];[o2]fifo[o3];[o3][p]paletteuse
  hlsOutOptions: -strict -2 -f lavfi -i aevalsrc=0 -acodec aac -vcodec copy
    -hls_flags delete_segments -hls_time 2 -hls_list_size 4
  username: openhabian
location: Terrace
channels:
  - id: startStream
    channelTypeUID: ipcamera:startStream
    label: Start HLS Stream
    description: Lower the delay to start casting the camera by creating the files
      non stop in case they are needed.
    configuration: {}
  - id: pollImage
    channelTypeUID: ipcamera:pollImage
    label: Poll Image
    description: This can be used to trigger snapshot updates when an external PIR,
      button or other form of sensor turns this channel ON.
    configuration: {}
  - id: image
    channelTypeUID: ipcamera:image
    label: Image
    description: Low frame rate image from your camera. Recommend this is NOT used
      unless you have large pollTime.
    configuration: {}
  - id: recordingGif
    channelTypeUID: ipcamera:recordingGif
    label: GIF Recording
    description: Indicates how long the recording will occur for and when the file
      is created, the channel will change to 0 by itself.
    configuration: {}
  - id: gifHistory
    channelTypeUID: ipcamera:gifHistory
    label: GIF History
    description: A history of the last GIFs created in a CSV formatted string.
    configuration: {}
  - id: gifHistoryLength
    channelTypeUID: ipcamera:gifHistoryLength
    label: GIF History Length
    description: How many GIFs are stored in the history.
    configuration: {}
  - id: recordingMp4
    channelTypeUID: ipcamera:recordingMp4
    label: MP4 Recording
    description: Indicates how long the recording will occur for and when the file
      is created, the channel will change to 0 by itself.
    configuration: {}
  - id: mp4History
    channelTypeUID: ipcamera:mp4History
    label: MP4 History
    description: A history of the last mp4 recordings created in a CSV formatted string.
    configuration: {}
  - id: mp4HistoryLength
    channelTypeUID: ipcamera:mp4HistoryLength
    label: MP4 History Length
    description: How many mp4 recordings are stored in the history.
    configuration: {}
  - id: lastMotionType
    channelTypeUID: ipcamera:lastMotionType
    label: Last Motion Type
    description: A string that contains the type of motion alarm that was last triggered.
    configuration: {}
  - id: lastEventData
    channelTypeUID: ipcamera:lastEventData
    label: Last Event Data
    description: A string that contains detailed data on the last alarm that was triggered.
    configuration: {}
  - id: ffmpegMotionControl
    channelTypeUID: ipcamera:ffmpegMotionControl
    label: Control FFmpeg Motion Alarm
    description: Enable/Disable the motion alarm and control the sensitivity.
    configuration: {}
  - id: ffmpegMotionAlarm
    channelTypeUID: ipcamera:ffmpegMotionAlarm
    label: FFmpeg Motion Alarm
    description: FFmpeg has detected motion.
    configuration: {}
  - id: enableMotionAlarm
    channelTypeUID: ipcamera:enableMotionAlarm
    label: Enable Motion Alarm
    description: By using this feature you can stop the camera from sending e-mails
      when you are actually home.
    configuration: {}
  - id: motionAlarm
    channelTypeUID: ipcamera:motionAlarm
    label: Motion Alarm
    description: Motion has been detected.
    configuration: {}
  - id: cellMotionAlarm
    channelTypeUID: ipcamera:cellMotionAlarm
    label: Cell Motion Alarm
    description: Cell based motion has been detected.
    configuration: {}
  - id: externalMotion
    channelTypeUID: ipcamera:externalMotion
    label: External Motion
    description: Use any external sensor like a ZWave PIR sensor to flag that the
      camera has motion in its field of view.
    configuration: {}
  - id: enableAudioAlarm
    channelTypeUID: ipcamera:enableAudioAlarm
    label: Enable Audio Alarm
    description: By using this feature you can stop the camera from sending e-mails
      when you are having a party.
    configuration: {}
  - id: thresholdAudioAlarm
    channelTypeUID: ipcamera:thresholdAudioAlarm
    label: Audio Alarm Threshold
    description: By moving this control you should be able to change how sensitive
      the audio alarm is to soft or loud noises.
    configuration: {}
  - id: audioAlarm
    channelTypeUID: ipcamera:audioAlarm
    label: Audio Alarm
    description: Audio has triggered an Alarm.
    configuration: {}
  - id: pan
    channelTypeUID: ipcamera:pan
    label: Pan
    description: Pan the camera to a new position.
    configuration: {}
  - id: tilt
    channelTypeUID: ipcamera:tilt
    label: Tilt
    description: Tilt the camera to a new position.
    configuration: {}
  - id: zoom
    channelTypeUID: ipcamera:zoom
    label: Zoom
    description: Zoom the camera to a new value.
    configuration: {}
  - id: gotoPreset
    channelTypeUID: ipcamera:gotoPreset
    label: Go To Preset
    description: Move a P.T.Z camera to this ONVIF preset location.
    configuration: {}
  - id: mjpegUrl
    channelTypeUID: ipcamera:mjpegUrl
    label: MJPEG URL
    description: A link you can use in openHAB/HABpanel to fetch a MJPEG video feed
      from the camera.
    configuration: {}
  - id: rtspUrl
    channelTypeUID: ipcamera:rtspUrl
    label: RTSP URL
    description: A link that the camera uses for RTSP.
    configuration: {}
  - id: imageUrl
    channelTypeUID: ipcamera:imageUrl
    label: Image URL
    description: A link you can use to fetch a static image from the camera.
    configuration: {}
  - id: hlsUrl
    channelTypeUID: ipcamera:hlsUrl
    label: HLS URL
    description: A link you can use in openHAB to cast video feeds.
    configuration: {}
  - id: carAlarm
    channelTypeUID: ipcamera:carAlarm
    label: Car Alarm
    description: A car has triggered the Vehicle Detection.
    configuration: {}
  - id: humanAlarm
    channelTypeUID: ipcamera:humanAlarm
    label: Human Alarm
    description: A person has triggered the Human Detection.
    configuration: {}
  - id: animalAlarm
    channelTypeUID: ipcamera:animalAlarm
    label: Animal Alarm
    description: An animal has triggered the object detection.
    configuration: {}
  - id: faceDetected
    channelTypeUID: ipcamera:faceDetected
    label: Face Detected Alarm
    description: A face has been detected.
    configuration: {}
  - id: autoLED
    channelTypeUID: ipcamera:autoLED
    label: Auto LED
    description: Turn the automatic mode for the LED ON and OFF.
    configuration: {}
  - id: enableLED
    channelTypeUID: ipcamera:enableLED
    label: LED Controls
    description: Turn the LED ON and OFF and if supported also 0-100% dimming.
    configuration: {}
  - id: textOverlay
    channelTypeUID: ipcamera:textOverlay
    label: Text Overlay
    description: Enter some text you wish to overlay on top of the cameras snapshot
      and video streams.
    configuration: {}
  - id: activateAlarmOutput
    channelTypeUID: ipcamera:activateAlarmOutput
    label: Alarm Output 1 ON/OFF
    description: You can use the cameras output to trigger a device like a burglar alarm.
    configuration: {}
  - id: doorBell
    channelTypeUID: ipcamera:doorBell
    label: Door Bell
    description: The button has been pushed.
    configuration: {}
  - id: enableRecordings
    channelTypeUID: ipcamera:enableRecordings
    label: Enable Recordings
    description: Enable/Disable the cameras internal recordings
    configuration: {}
  - id: enableFTP
    channelTypeUID: ipcamera:enableFTP
    label: Enable FTP
    description: Turn the FTP features of the camera on and off
    configuration: {}

Log filtered for ‘onvif’ startup till crash and ‘ipcam’:

(log deleted)

Any suggestions on what to do/try next are very welcome. The cam itself does a very good job, but it shouldn’t be crashing of course - which is the case until I activate the oh-thing.

Hi.
Network wired or wifi? ah, I see wifi in the title :sweat_smile:
do you connect a different onvif client?
i had problems with 5gHz last year.
Is your cam thing a ‘Reolink’ thing?
maybe @matt1 can help more than me.

greets.

1 Like

Maybe try the version of the binding from this thread? Adding Reolink API to the IpCamera binding, beta testers needed - #171 by mjcumming

1 Like

Your getting double ups of the same onvif commands getting sent, which matches a bug I fixed a few weeks back. The fix will be out in next milestone which is days away hopefully or you can use the jar from the thread someone linked to and use it on any v4 core.

It’s caused by a race condition so will not happen on most systems and the camera I found it with did not crash as it could handle two onvif programs at once. Let me know if it is not fixed with latest code.

A work around would be to set the onvif port to 0 which will stop onvif from trying to connect and should allow you to use the camera with no PTZ, which yours appears to have that feature from the logs, but that is another choice to get the camera online till you get a fixed jar.

Hi, yes the cam is currently connected via wifi, but I’ll change that soon. As I said - it’s working fine until I activate the ‘thing’ which is indeed a ‘Reolink’ thing. No other onvif clients are connected AFAIK,

I’ll look into it. Thanks.

Okay, I’ll need to figure out on how to use the jar. For now I’ll just use snapshots delivered by telegram on detection events. Once I figured out how to use the fixed version I’ll definetly let you know if the problem persisted or not. Thank you for your assistance.

Steps to get it going are:
1.Uninstalled the merged binding first
2. Install the Tellstick Binding, this provides the Netty libs that are not in the jar.
3. Download the JAR from here the date is in the zip name from when it was last built: Index of /openhab/IpCameraBinding/
4. UNZIP the jar to your addons folder.
5. Everything should be automatic and just go back to working.
6. When you go to the next milestone just reverse what you did above and it should be very smooth as the code should be identical.

Only thing to be aware of is that the newer jar will add extra channels so going forwards it is automated and smooth, should you want to go back you will then need to delete and re-add the camera thing using the same UID and it will all go back to normal. But that should not happen as its been tested by multiple people and been checked and merged.

If all that sounds scary or you dont have time, just wait a matter of days as its now getting close to 30 days since the last release. I gave a work around that you should be able to use to get it online.

1 Like

Thank’s a buch for the instructions. I’ll give it a try now and let you know the outcome. :crossed_fingers:

Okay, so the thing is now staying online, but I noticed that the cam was crashing again:
(logs)

The crash might be related to streaming the video. I’ll try to get more info on that.

…one hour later…

It didn’t crash again. I’ll try to get PTZ and Person detection configured, soon, but so far it’s looking good.
Thank you again!

No problem, just please mark the thread as solved so it helps others that may get the same problem. The double sending of the onvif messages has gone away in your logs.

BTW delete the logs as they may have a password in them. Feel free to send logs via PM in future but keep posts in public so others can get the help faster by seeing the posts.

1 Like

I deleted the logs and marked the post accordingly.