# \[APP\]\[Pro\]\[TEST\] Hikvision SDK v3

**URL:** https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226
**Category:** Apps
**Tags:** advancedflow
**Created:** [July 15, 2026, 6:25pm UTC](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226 "2026-07-15T18:25:28Z")
**Posts on this page:** 20
**Page:** 7

<div class="post-metadata">

### Author: ![Morten\_Bech](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/morten_bech/32/120753_2.png) [@Morten\_Bech](https://community.homey.app/u/Morten_Bech)
#### Post date: [September 11, 2026, 9:55pm UTC](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226/124 "2026-09-11T21:55:16Z")

</div>

Hi Brian,

Thanks for building this app - it’s exactly what I needed to replace my old setup, where I had to push video through Home Assistant. Clearly a lot of careful work went into it.

One thing I ran into: I have a HiLook (budget Hikvision) NVR-208MH-C/8P with 6 PoE-connected IPC-B180H cameras, and since the NVR driver models the whole NVR as one Homey device, all 6 channels share a single alarm\_motion capability. I get live video and snapshots per channel, but can’t tell which camera triggered motion or build per-camera flows. Not sure if that’s a budget-NVR quirk or the driver.

As a personal project (with some Claude help) I put together a fork that adds a second driver alongside yours, pairing each NVR channel as its own Homey device - own motion capability, live video and snapshot - while still sharing one HikvisionClient/alert-stream connection per NVR to avoid opening 6 duplicate ISAPI sessions on what’s a fairly resource-limited box. Running well so far.

It’s a proof of concept fitted to my own needs, not PR-polished - no PTZ, doorbell handling, or the other alarm types, just motion + video per channel.

Happy to share it if you want a look, whether as inspiration for the main driver or a PR starting point. Flagging it mainly for others with PoE NVRs who might hit the same thing.

Thanks again!

---

<div class="post-metadata">

### Author: ![Mateusz\_Borowiec](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/mateusz_borowiec/32/171953_2.png) [@Mateusz\_Borowiec](https://community.homey.app/u/Mateusz_Borowiec)
#### Post date: [September 12, 2026, 12:47pm UTC](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226/125 "2026-09-12T12:47:30Z")

</div>

Hei @Brian_Monninkhof

- Iphone 17 pro
- iOS 26.6.2
- 10.1.1.2098
- **Devices → camera → Live** black view
- desktop mean Homey Web App
- 4 cameras connected direct to NVR
- Annke N98PBK . Frimware V4.75.000 build 240308 . Number of chanels 8 , camera model 4xI91DD
- every 15s
- on widgets i cant change cameras i have only one view …

Annke is same what hikvision btw 🙂

i hope this information will be helpful for you 🙂

 ![IMG_9446](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/e/e/eec94fc23ea34f4760c680d34ff60a5444721e5e.png)

 ![IMG_9445](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/6/0/604777255a02972002bdbe35708b0f011d5c54a9.png)

 ![IMG_9448.PNG](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/e/6/e654f2f0f9d981704dea6eb9573a4b5a25ff1eb7.jpeg)

 ![IMG_9449.PNG](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/d/4/d4f380be70d526cca16798ff4554b333afebbff3.jpeg)

 ![IMG_9447](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/3/c/3ce47bb6da237d4344c3c66560206957fa112e07.png)

---

<div class="post-metadata">

### Author: ![Brian\_Monninkhof](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/brian_monninkhof/32/59307_2.png) [@Brian\_Monninkhof](https://community.homey.app/u/Brian_Monninkhof)
#### Post date: [September 12, 2026, 8:18pm UTC](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226/126 "2026-09-12T20:18:46Z")

</div>

Hi @Morten_Bech,

Thank you for the detailed explanation and for offering to share your work. Please share the GitHub fork, branch or pull request when you can.

I would specifically like to review:

- how the NVR connection and alert stream are shared between channel devices;
- how events are routed to the correct channel;
- the unique device data used for pairing each channel;
- cleanup and reconnect behaviour when channel devices are added or removed.

My intention is to keep the current NVR device for backward compatibility and evaluate per-channel camera devices as an additional driver. If the foundation is suitable, I can then extend it with the other supported alarm types, snapshots, widgets and relevant PTZ functions.

---

<div class="post-metadata">

### Author: ![Brian\_Monninkhof](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/brian_monninkhof/32/59307_2.png) [@Brian\_Monninkhof](https://community.homey.app/u/Brian_Monninkhof)
#### Post date: [September 12, 2026, 8:19pm UTC](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226/127 "2026-09-12T20:19:05Z")

</div>

Hi @Mateusz_Borowiec,

Thank you, this information and the screenshots are helpful. They confirm that ISAPI snapshots work, while the native RTSP Live view remains black. Please test the following in this order:

1. Open the Hikvision device settings in Homey.
2. Set **RTSP stream** to **Substream**.
3. Set **Playback transport** to **Homey WebRTC proxy** instead of Direct RTSP.
4. In the ANNKE NVR settings, verify that this channel’s substream uses **H.264** , not H.265 or H.265+.
5. Save the settings, completely close the Live view and open it again.

If Live is still black, please open **Repair device** for the NVR, reproduce the problem and generate the privacy-safe bug report. Post that report here together with the channel number you tested. The app report excludes passwords, usernames, IP addresses, images and video.

The Dashboard zoom widget currently uses the first NVR channel only. I am separately investigating per-channel NVR devices and channel selection; that limitation is not the cause of the black native Live view.

---

<div class="post-metadata">

### Author: ![Morten\_Bech](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/morten_bech/32/120753_2.png) [@Morten\_Bech](https://community.homey.app/u/Morten_Bech)
#### Post date: [September 12, 2026, 9:08pm UTC](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226/129 "2026-09-12T21:08:13Z")

</div>

Hi Brian

I am new to git and in general programming. But I send the branch as PR as my ai suggests.

the ai responds to you inquiry is as follows:

Here’s the branch:

> **[GitHub - DrChip666/nl.nobrainer.hikvision-forkDrChip666 at...](https://github.com/DrChip666/nl.nobrainer.hikvision-forkDrChip666/tree/feature/per-camera-devices)**
>
> Homey SDK v3 integration for local Hikvision cameras, video doorbells and NVRs using ISAPI and RTSP. - DrChip666/nl.nobrainer.hikvision-forkDrChip666

Glad you’re open to evaluating it as an additional driver rather than a replacement - that matches what I was hoping for. Answering your four points directly:

**Connection/alert-stream sharing** - lib/nvr-connection-pool.js. It’s a singleton keyed by host+port+ssl+username. acquire() creates one HikvisionClient per key (or reuses the existing one) and calls startAlertStream() exactly once per key, regardless of how many channel devices are attached. Callers get back {client, onChannelAlarm, onConnect, onAlarmError, release}.

**Event routing to the correct channel** - the pool keeps a Map\<channel, Set\> per NVR entry. Your HikvisionClient already emits ‘alarm’ with (code, action, channel) parsed from dynChannelID/channelID, so the pool just dispatches to whichever channel’s listeners are registered - no parsing duplicated. Each channel device registers itself via pooled.onChannelAlarm(this.channelId, …) in device.js.

**Unique pairing data** - in the new driver.js, testConnection() builds deviceId = `${info.id}:${channelId}` (info.id from getDeviceInfo, same identifier your NVR driver already uses) and stores {id: deviceId, channel: channelId} as device data. Pairing also cross-checks already-added devices so re-running the wizard on the same NVR only offers unpaired channels.

**Cleanup/reconnect** - device.js onInit/onUninit map to connect()/disconnect(). disconnect() unregisters the device’s listeners and calls pooled.release(), which only stops the underlying client and alert stream once refCount hits zero (i.e. the last channel device for that NVR is removed). onSettings watches connection-relevant keys and triggers a full reconnect. One known limitation worth flagging for your review: the pool key deliberately excludes password, so if someone changes only the password on one channel device, sibling devices sharing that NVR won’t pick it up automatically - fine in my case since all channels share one NVR login, but worth deciding how you’d want that handled before merging anything.

Happy to answer anything else or adjust the approach if you’d rather structure the sharing/routing differently before you build on top of it.

---

<div class="post-metadata">

### Author: ![Brian\_Monninkhof](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/brian_monninkhof/32/59307_2.png) [@Brian\_Monninkhof](https://community.homey.app/u/Brian_Monninkhof)
#### Post date: [September 13, 2026, 8:03am UTC](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226/130 "2026-09-13T08:03:54Z")

</div>

Hi @Mateusz_Borowiec and @Morten_Bech,

**Update:** test version **2026.9.11** is now available:

> **[Hikvision | Homey](https://homey.app/en-us/app/nl.nobrainer.hikvision/Hikvision/test/)**
>
> Keep an eye on what matters, live and locally.

The earlier 2026.9.10 widget improvements are still included. Version 2026.9.11 now also adds a separate **Hikvision NVR camera channel** driver. This means automatically detected NVR channels can be installed as individual Homey devices, each with its own name, zone, tile, Live video, snapshots, recordings, status and Flows.

I kept the existing NVR driver intact for compatibility. The individual channel devices subscribe to the installed NVR and share its ISAPI connection, event stream and bounded image cache, so the app does not open a separate Hikvision connection for every channel.

To test it:

1. Install or update to 2026.9.11.
2. Keep the existing NVR installed and connected.
3. Add a device and select **Hikvision NVR camera channel**.
4. Select one or more detected channels and assign each to a zone.
5. Test Live video, snapshots, the zoom and recordings widgets, motion/smart-event status and a Flow for that specific channel.

@Morten_Bech, thank you again for the branch and detailed explanation. It helped define the channel-routing requirements. I used an isolated parent/child implementation so current NVR installations remain compatible.

@Mateusz_Borowiec, the channel selector and refresh-rate options from 2026.9.10 remain available. Please send a new privacy-safe bug report if native Live video is still black.

---

<div class="post-metadata">

### Author: ![Brian\_Monninkhof](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/brian_monninkhof/32/59307_2.png) [@Brian\_Monninkhof](https://community.homey.app/u/Brian_Monninkhof)
#### Post date: [September 13, 2026, 12:52pm UTC](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226/132 "2026-09-13T12:52:16Z")

</div>

@Mateusz_Borowiec, thank you for testing and for the report. It confirms that the NVR connection and channel selector work. The black native Live view is a separate playback issue; version 2026.9.11 does not claim to solve that yet.

Could you please test the following in 2026.9.11?

1. Keep the NVR installed and add one camera through **Hikvision NVR camera channel**.
2. Open that channel’s device settings and choose **Substream**.
3. Test Live video once with **Homey WebRTC proxy** and once with **Direct RTSP (compatibility)**.
4. Let me know which phone and OS version you use, which Homey mobile-app version is installed, and whether the zoom widget continues to show the correct image in both modes.

Please also confirm that the selected Hikvision substream is configured as H.264 rather than H.265. If the result remains black, send another bug report from the newly added channel device.

@Morten_Bech, the separate channel driver is now available in the same test version. Thank you for the detailed branch explanation. Please test adding multiple channels, their individual Live views and a motion or smart-event Flow per channel:

> **[Hikvision | Homey](https://homey.app/en-us/app/nl.nobrainer.hikvision/Hikvision/test/)**
>
> Keep an eye on what matters, live and locally.

---

<div class="post-metadata">

### Author: ![Morten\_Bech](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/morten_bech/32/120753_2.png) [@Morten\_Bech](https://community.homey.app/u/Morten_Bech)
#### Post date: [September 13, 2026, 2:01pm UTC](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226/133 "2026-09-13T14:01:53Z")

</div>

> [@Brian\_Monninkhof](#):
>
> Please test adding multiple channels,

Hi Brian,

Version 2026.9.11 can now include my 6 camera channels from the nvr just fine. And the video seem to work fine as well.

EDIT 2:

Motion detection seem a little “flaky”. Sometimes it shows motion, sometimes not. I will do a little more testing. And let you know.

Edit 3: Done some more testning. Motion works fine. I uninstalled your app, re-installed 2026.9.11, re-added the NVR, and then added the 6 video channels I have. I think it’s nessesary to re-add the NVR from scratch in order for motion detection to be registered in the device correctly.

Great work!

---

<div class="post-metadata">

### Author: ![Brian\_Monninkhof](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/brian_monninkhof/32/59307_2.png) [@Brian\_Monninkhof](https://community.homey.app/u/Brian_Monninkhof)
#### Post date: [September 13, 2026, 2:37pm UTC](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226/135 "2026-09-13T14:37:52Z")

</div>

Hi Mateusz, the bug report shows that the selected substream is still using H.265. Please change the substream for channel 1 to H.264 in your Hikvision NVR settings and then test the Live view again. If it remains black, please send a new channel bug report. Thank you!

---

<div class="post-metadata">

### Author: ![Brian\_Monninkhof](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/brian_monninkhof/32/59307_2.png) [@Brian\_Monninkhof](https://community.homey.app/u/Brian_Monninkhof)
#### Post date: [September 13, 2026, 6:39pm UTC](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226/137 "2026-09-13T18:39:23Z")

</div>

Hi Mateusz, the new report confirms that channel 1 is now using H.264. Does the Live view work now? If it is still black, please test it separately with **Homey WebRTC proxy** and **Direct RTSP (compatibility)** in the channel device settings, and let me know the result for each option.

---

<div class="post-metadata">

### Author: ![Mateusz\_Borowiec](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/mateusz_borowiec/32/171953_2.png) [@Mateusz\_Borowiec](https://community.homey.app/u/Mateusz_Borowiec)
#### Post date: [September 13, 2026, 7:39pm UTC](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226/138 "2026-09-13T19:39:35Z")

</div>

Hei @Brian_Monninkhof i tested both option and is black on diret rtsp and homey webrtc …

---

<div class="post-metadata">

### Author: ![Brian\_Monninkhof](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/brian_monninkhof/32/59307_2.png) [@Brian\_Monninkhof](https://community.homey.app/u/Brian_Monninkhof)
#### Post date: [September 13, 2026, 8:37pm UTC](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226/139 "2026-09-13T20:37:55Z")

</div>

Hi Mateusz, I have published version 2026.9.12 with additional privacy-safe RTSP diagnostics.

Please:

1. Update to version 2026.9.12.
2. Open Live view once using Homey WebRTC proxy.
3. Open Live view once using Direct RTSP (compatibility).
4. Open the NVR channel device, select Repair device and create a new bug report.
5. Post the complete new report here.

The report now checks whether the RTSP port is reachable, authentication succeeds, the stream responds to DESCRIBE and which audio/video codecs are actually advertised. It does not include your address, username or password.

---

<div class="post-metadata">

### Author: ![Brian\_Monninkhof](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/brian_monninkhof/32/59307_2.png) [@Brian\_Monninkhof](https://community.homey.app/u/Brian_Monninkhof)
#### Post date: [September 14, 2026, 4:35am UTC](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226/141 "2026-09-14T04:35:51Z")

</div>

Hi Mateusz, thank you for the report and screenshot. I have published version 2026.9.13. The bug report screen has been improved for smaller mobile screens, and I added another Hikvision-compatible RTSP authentication method.

Please update the app, test the NVR channel again with both Homey WebRTC proxy and Direct RTSP, and then create a new bug report. Please also check whether the bug report page and its buttons are now displayed correctly.

---

<div class="post-metadata">

### Author: ![Brian\_Monninkhof](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/brian_monninkhof/32/59307_2.png) [@Brian\_Monninkhof](https://community.homey.app/u/Brian_Monninkhof)
#### Post date: [September 14, 2026, 5:44pm UTC](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226/144 "2026-09-14T17:44:42Z")

</div>

Hi @Mateusz_Borowiec and @EdNL,

Version 2026.9.14 is now available for testing. It contains improvements for the Live video connection and limits RTSP-only mode to compatible video doorbells and door stations.

Please first update the Hikvision app to version 2026.9.14. Then test with:

- RTSP stream: Automatic
- Playback transport: Automatic
- RTSP-only mode: No

Please test Live view in both the Homey mobile app and Homey Web App. If the image remains black, change only Playback transport to Direct RTSP and test again.

Only after updating and completing these tests, please create and share a new bug report from version 2026.9.14. Also mention which platform and setting combination worked or remained black.

---

<div class="post-metadata">

### Author: ![Brian\_Monninkhof](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/brian_monninkhof/32/59307_2.png) [@Brian\_Monninkhof](https://community.homey.app/u/Brian_Monninkhof)
#### Post date: [September 15, 2026, 7:09pm UTC](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226/146 "2026-09-15T19:09:37Z")

</div>

Hi @Mateusz_Borowiec, thank you for the new report. It confirms that RTSP authentication now succeeds and that channel 1 provides a valid H.264 stream.

The report shows that Direct RTSP is selected on the parent NVR, while the individual NVR channel is still set to Automatic. Please open the settings of the individual NVR channel device and set Playback transport to Direct RTSP. Save the setting, completely close Live view and then reopen it.

Please let me know whether Live view then works in both the Homey mobile app and the Homey Web App.

---

<div class="post-metadata">

### Author: ![Brian\_Monninkhof](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/brian_monninkhof/32/59307_2.png) [@Brian\_Monninkhof](https://community.homey.app/u/Brian_Monninkhof)
#### Post date: [September 16, 2026, 5:39am UTC](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226/148 "2026-09-16T05:39:54Z")

</div>

Hi @Mateusz_Borowiec, version 2026.9.15 is now available for testing. It adds more detailed, privacy-safe RTSP diagnostics and now reports the actual playback settings of each individual NVR channel. Please update first, repeat the test on the individual channel using Substream + Direct RTSP, and then share a new bug report from version 2026.9.15. This should provide the information needed to determine why the video remains black.

---

<div class="post-metadata">

### Author: ![EdNL](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ednl/32/90603_2.png) [@EdNL](https://community.homey.app/u/EdNL)
#### Post date: [September 16, 2026, 11:24am UTC](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226/149 "2026-09-16T11:24:11Z")

</div>

I’ve run into two odd issues I’d like to share with you.

At first, I had a video feed in the Homey app but not via Homey in Safari. I went into the settings and changed the playback transport to “Direct RTSP”; after that, I could see the feed on Homey in Safari but no longer in the Homey app. However, when I change the playback transport back to “Automatic,” I can see the feed in the Homey app again, but not on Homey in Safari.

I have downloaded your latest test version.

---

<div class="post-metadata">

### Author: ![EdNL](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ednl/32/90603_2.png) [@EdNL](https://community.homey.app/u/EdNL)
#### Post date: [September 16, 2026, 11:33am UTC](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226/150 "2026-09-16T11:33:08Z")

</div>

And here is something I noticed:  
When viewing your footage via Dashboards, clicking the enlarge button (at the bottom right of the screen) gives you a nice, larger view. However, that enlarge button—which I also need to click to shrink the view back down—ends up off-screen. Consequently, I can’t shrink the image again ☹ — I have to exit Dashboards entirely to get back to the previous view.

Using the enlarge function via Dashboards on an iPad isn’t convenient either. The image displays vertically rather than horizontally; this is very awkward on an iPad, as I have to tilt the device just to see the enlarged view.

---

<div class="post-metadata">

### Author: ![EdNL](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ednl/32/90603_2.png) [@EdNL](https://community.homey.app/u/EdNL)
#### Post date: [September 16, 2026, 12:31pm UTC](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226/151 "2026-09-16T12:31:31Z")

</div>

Is it also possible to display a live feed directly in the dashboard? Currently, I see a rather large black block (placeholder). I would prefer to see a live image and be able to enlarge it if something catches my interest (especially on an iPad).

---

<div class="post-metadata">

### Author: ![Brian\_Monninkhof](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/brian_monninkhof/32/59307_2.png) [@Brian\_Monninkhof](https://community.homey.app/u/Brian_Monninkhof)
#### Post date: [September 16, 2026, 5:35pm UTC](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226/153 "2026-09-16T17:35:46Z")

</div>

Hi @EdNL, I can’t reproduce the rotation and enlarge-button issue in my own test. Could you share screenshots of the dashboard before and after enlarging the camera view, including where the shrink button ends up? Please also tell me your iPad model, iPadOS version, whether rotation lock is on, and whether you’re holding it in portrait or landscape. That should help me pinpoint the layout difference.

[Previous page](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226.md?page=6)

[Next page](https://community.homey.app/t/app-pro-test-hikvision-sdk-v3/157226.md?page=8)
