Hikvision with Onvif on dashboard

Hello everyone, I’m trying to connect my Hikvision recorder to Homey Pro using Onvif. Onvif recognizes the recorder and the 6 channels I’m using. However, when I add the channels, I see the same image on each channel. How can I adjust this? And is live streaming possible as well? I would prefer to have a few live images on the dashboard…







Please use the Onvif app topic, to reach the developer, thx.
Links to that topic are mentioned at the app store app page.

Try coping the snapshot url and paste it into the user snapshot url, then change the 101 to 102 to sae if that helps.

Tried it but unfortunately doesnt work…

Could you open the app settings page and select the Diagnostics Log tab, set the Log level to Detailed and then restart the app. Go back to the Diagnostics Log and once it has captured the details, tap on Send Log.

The log is huge and i can’t fit it all in this box, but here is a part:

Log ID: 2025-04-20T07:24:00.907Z
App version 2.0.48

7:24:0.907: Initialising CameraDevice (192.168.2.9 (Ch1))
7:24:0.915: Initialising CameraDevice (192.168.2.9 (Ch2))
7:24:0.917: Initialising CameraDevice (192.168.2.9 (Ch3))
7:24:0.921: Initialising CameraDevice (192.168.2.9 (Ch4))
7:24:0.924: Initialising CameraDevice (192.168.2.9 (Ch5))
7:24:0.927: Initialising CameraDevice (192.168.2.9 (Ch6))
7:24:10.614: --------------------------
7:24:10.617: Connect to Camera 192.168.2.9:91 - admin
7:24:10.733: getSystemDateAndTime (192.168.2.9): Sun Apr 20 2025 08:23:43 GMT+0000 (Coordinated Universal Time), Time Shift: 3572268 Finished -----
7:24:10.737: getServices (192.168.2.9): Started *****
7:24:10.798: getServices (192.168.2.9): Finished -----
7:24:10.801: getCapabilities (192.168.2.9): Started *****
7:24:10.851: getCapabilities (192.168.2.9): Finished -----
7:24:10.998: VideoSources (192.168.2.9): [
	{
		"$": {
			"token": "VideoSourceToken001"
		},
		"framerate": 25,
		"resolution": {
			"width": 1280,
			"height": 720
		},
		"imaging": {
			"brightness": 50,
			"colorSaturation": 50,
			"contrast": 55
		}
	},
	{
		"$": {
			"token": "VideoSourceToken002"
		},
		"framerate": 25,
		"resolution": {
			"width": 1280,
			"height": 720
		},
		"imaging": {
			"brightness": 50,
			"colorSaturation": 50,
			"contrast": 55
		}
	},
	{
		"$": {
			"token": "VideoSourceToken003"
		},
		"framerate": 25,
		"resolution": {
			"width": 1280,
			"height": 720
		},
		"imaging": {
			"brightness": 50,
			"colorSaturation": 50,
			"contrast": 50
		}
	},
	{
		"$": {
			"token": "VideoSourceToken005"
		},
		"framerate": 25,
		"resolution": {
			"width": 1280,
			"height": 720
		},
		"imaging": {
			"brightness": 50,
			"colorSaturation": 50,
			"contrast": 50
		}
	},
	{
		"$": {
			"token": "VideoSourceToken006"
		},
		"framerate": 25,
		"resolution": {
			"width": 1280,
			"height": 720
		},
		"imaging": {
			"brightness": 50,
			"colorSaturation": 50,
			"contrast": 50
		}
	},
	{
		"$": {
			"token": "VideoSourceToken008"
		},
		"framerate": 25,
		"resolution": {
			"width": 1280,
			"height": 720
		},
		"imaging": {
			"brightness": 50,
			"colorSaturation": 50,
			"contrast": 50
		}
	}
]
7:24:11.002: getActiveSources (192.168.2.9): Unrecognized configuration form [
	{
		"$": {
			"token": "ProfileToken001",
			"fixed": true
		},
		"name": "ProfileName001",
		"videoSourceConfiguration": {
			"$": {
				"token": "VideoSourceConfigurationToken001"
			},
			"name": "VideoSourceConfigurationName001",
			"useCount": 2,
			"sourceToken": "VideoSourceToken001",
			"bounds": {
				"$": {
					"x": 0,
					"y": 0,
					"width": 1280,
					"height": 720
				}
			}
		},
		"audioSourceConfiguration": {
			"$": {
				"token": "AudioSourceConfigurationToken001"
			},
			"name": "AudioSourceConfigurationName001",
			"useCount": 2,
			"sourceToken": "AudioSourceToken001"
		},
		"audioEncoderConfiguration": {
			"$": {
				"token": "AudioEncoderConfigurationToken001"
			},
			"name": "AudioEncoderConfigurationName001",
			"useCount": 2,
			"encoding": "G711",
			"bitrate": 64,
			"sampleRate": 8,
			"multicast": {
				"address": {
					"type": "IPv4",
					"IPv4Address": "0.0.0.0"
				},
				"port": 8862,
				"TTL": 128,
				"autoStart": false
			},
			"sessionTimeout": "PT30S"
		},
		"PTZConfiguration": {
			"$": {
				"token": "PTZConfigurationToken001"
			},
			"name": "PTZConfigurationName001",
			"useCount": 0,
			"nodeToken": "PTZNodeToken001",
			"defaultContinuousPanTiltVelocitySpace": "http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace",
			"defaultContinuousZoomVelocitySpace": "http://www.onvif.org/ver10/tptz/ZoomSpaces/VelocityGenericSpace",
			"defaultPTZTimeout": "PT60S"
		},
		"extension": {
			"audioOutputConfiguration": {
				"$": {
					"token": "AudioOutputConfigurationToken"
				},
				"name": "AudioOutputConfigurationName",
				"useCount": 2,
				"outputToken": "AudioOutputToken",
				"sendPrimacy": "www.onvif.org/ver20/HalfDuplex/Server",
				"outputLevel": 10
			},
			"audioDecoderConfiguration": {
				"$": {
					"token": "AudioDecoderConfigToken"
				},
				"name": "AudioDecoderConfig",
				"useCount": 2
			}
		}
	},
	{
		"$": {
			"token": "ProfileToken002",
			"fixed": true
		},
		"name": "ProfileName002",
		"videoSourceConfiguration": {
			"$": {
				"token": "VideoSourceConfigurationToken002"
			},
			"name": "VideoSourceConfigurationName002",
			"useCount": 2,
			"sourceToken": "VideoSourceToken002",
			"bounds": {
				"$": {
					"x": 0,
					"y": 0,
					"width": 1280,
					"height": 720
				}
			}
		},
		"audioSourceConfiguration": {
			"$": {
				"token": "AudioSourceConfigurationToken002"
			},
			"name": "AudioSourceConfigurationName002",
			"useCount": 2,
			"sourceToken": "AudioSourceToken002"
		},
		"audioEncoderConfiguration": {
			"$": {
				"token": "AudioEncoderConfigurationToken002"
			},
			"name": "AudioEncoderConfigurationName002",
			"useCount": 2,
			"encoding": "G711",
			"bitrate": 64,
			"sampleRate": 8,
			"multicast": {
				"address": {
					"type": "IPv4",
					"IPv4Address": "0.0.0.0"
				},
				"port": 8862,
				"TTL": 128,
				"autoStart": false
			},
			"sessionTimeout": "PT30S"
		},
		"extension": {
			"audioOutputConfiguration": {
				"$": {
					"token": "AudioOutputConfigurationToken"
				},
				"name": "AudioOutputConfigurationName",
				"useCount": 2,
				"outputToken": "AudioOutputToken",
				"sendPrimacy": "www.onvif.org/ver20/HalfDuplex/Server",
				"outputLevel": 10
			},
			"audioDecoderConfiguration": {
				"$": {
					"token": "AudioDecoderConfigToken"
				},
				"name": "AudioDecoderConfig",
				"useCount": 2
			}
		}
	},
	{
		"$": {
			"token": "ProfileToken003",
			"fixed": true
		},
		"name": "ProfileName003",
		"videoSourceConfiguration": {
			"$": {
				"token": "VideoSourceConfigurationToken003"
			},
			"name": "VideoSourceConfigurationName003",
			"useCount": 2,
			"sourceToken": "VideoSourceToken003",
			"bounds": {
				"$": {
					"x": 0,
					"y": 0,
					"width": 1280,
					"height": 720
				}
			}
		},
		"audioSourceConfiguration": {
			"$": {
				"token": "AudioSourceConfigurationToken003"
			},
			"name": "AudioSourceConfigurationName003",
			"useCount": 2,
			"sourceToken": "AudioSourceToken003"
		},
		"audioEncoderConfiguration": {
			"$": {
				"token": "AudioEncoderConfigurationToken003"
			},
			"name": "AudioEncoderConfigurationName003",
			"useCount": 2,
			"encoding": "G711",
			"bitrate": 64,
			"sampleRate": 8,
			"multicast": {
				"address": {
					"type": "IPv4",
					"IPv4Address": "0.0.0.0"
				},
				"port": 8862,
				"TTL": 128,
				"autoStart": false
			},
			"sessionTimeout": "PT30S"
		},
		"extension": {
			"audioOutputConfiguration": {
				"$": {
					"token": "AudioOutputConfigurationToken"
				},
				"name": "AudioOutputConfigurationName",
				"useCount": 2,
				"outputToken": "AudioOutputToken",
				"sendPrimacy": "www.onvif.org/ver20/HalfDuplex/Server",
				"outputLevel": 10
			},
			"audioDecoderConfiguration": {
				"$": {
					"token": "AudioDecoderConfigToken"
				},
				"name": "AudioDecoderConfig",
				"useCount": 2
			}
		}
	},
	{
		"$": {
			"token": "ProfileToken005",
			"fixed": true
		},
		"name": "ProfileName005",
		"videoSourceConfiguration": {
			"$": {
				"token": "VideoSourceConfigurationToken005"
			},
			"name": "VideoSourceConfigurationName005",
			"useCount": 2,
			"sourceToken": "VideoSourceToken005",
			"bounds": {
				"$": {
					"x": 0,
					"y": 0,
					"width": 1280,
					"height": 720
				}
			}
		},
		"audioSourceConfiguration": {
			"$": {
				"token": "AudioSourceConfigurationToken005"
			},
			"name": "AudioSourceConfigurationName005",
			"useCount": 2,
			"sourceToken": "AudioSourceToken005"
		},
		"audioEncoderConfiguration": {
			"$": {
				"token": "AudioEncoderConfigurationToken005"
			},
			"name": "AudioEncoderConfigurationName005",
			"useCount": 2,
			"encoding": "G711",
			"bitrate": 64,
			"sampleRate": 8,
			"multicast": {
				"address": {
					"type": "IPv4",
					"IPv4Address": "0.0.0.0"
				},
				"port": 8862,
				"TTL": 128,
				"autoStart": false
			},
			"sessionTimeout": "PT30S"
		},
		"extension": {
			"audioOutputConfiguration": {
				"$": {
					"token": "AudioOutputConfigurationToken"
				},
				"name": "AudioOutputConfigurationName",
				"useCount": 2,
				"outputToken": "AudioOutputToken",
				"sendPrimacy": "www.onvif.org/ver20/HalfDuplex/Server",
				"outputLevel": 10
			},
			"audioDecoderConfiguration": {
				"$": {
					"token": "AudioDecoderConfigToken"
				},
				"name": "AudioDecoderConfig",
				"useCount": 2
			}
		}
	},
	{
		"$": {
			"token": "ProfileToken006",
			"fixed": true
		},
		"name": "ProfileName006",
		"videoSourceConfiguration": {
			"$": {
				"token": "VideoSourceConfigurationToken006"
			},
			"name": "VideoSourceConfigurationName006",
			"useCount": 2,
			"sourceToken": "VideoSourceToken006",
			"bounds": {
				"$": {
					"x": 0,
					"y": 0,
					"width": 1280,
					"height": 720
				}
			}
		},
		"audioSourceConfiguration": {
			"$": {
				"token": "AudioSourceConfigurationToken006"
			},
			"name": "AudioSourceConfigurationName006",
			"useCount": 2,
			"sourceToken": "AudioSourceToken006"
		},
		"audioEncoderConfiguration": {
			"$": {
				"token": "AudioEncoderConfigurationToken006"
			},
			"name": "AudioEncoderConfigurationName006",
			"useCount": 2,
			"encoding": "G711",
			"bitrate": 64,
			"sampleRate": 8,
			"multicast": {
				"address": {
					"type": "IPv4",
					"IPv4Address": "0.0.0.0"
				},
				"port": 8862,
				"TTL": 128,
				"autoStart": false
			},
			"sessionTimeout": "PT30S"
		},
		"extension": {
			"audioOutputConfiguration": {
				"$": {
					"token": "AudioOutputConfigurationToken"
				},
				"name": "AudioOutputConfigurationName",
				"useCount": 2,
				"outputToken": "AudioOutputToken",
				"sendPrimacy": "www.onvif.org/ver20/HalfDuplex/Server",
				"outputLevel": 10
			},
			"audioDecoderConfiguration": {
				"$": {
					"token": "AudioDecoderConfigToken"
				},
				"name": "AudioDecoderConfig",
				"useCount": 2
			}
		}
	},
	{
		"$": {
			"token": "ProfileToken008",
			"fixed": true
		},
		"name": "ProfileName008",
		"videoSourceConfiguration": {
			"$": {
				"token": "VideoSourceConfigurationToken008"
			},
			"name": "VideoSourceConfigurationName008",
			"useCount": 2,
			"sourceToken": "VideoSourceToken008",
			"bounds": {
				"$": {
					"x": 0,
					"y": 0,
					"width": 1280,
					"height": 720
				}
			}
		},
		"audioSourceConfiguration": {
			"$": {
				"token": "AudioSourceConfigurationToken008"
			},
			"name": "AudioSourceConfigurationName008",
			"useCount": 2,
			"sourceToken": "AudioSourceToken008"
		},
		"audioEncoderConfiguration": {
			"$": {
				"token": "AudioEncoderConfigurationToken008"
			},
			"name": "AudioEncoderConfigurationName008",
			"useCount": 2,
			"encoding": "G711",
			"bitrate": 64,
			"sampleRate": 8,
			"multicast": {
				"address": {
					"type": "IPv4",
					"IPv4Address": "0.0.0.0"
				},
				"port": 8862,
				"TTL": 128,
				"autoStart": false
			},
			"sessionTimeout": "PT30S"
		},
		"extension": {
			"audioOutputConfiguration": {
				"$": {
					"token": "AudioOutputConfigurationToken"
				},
				"name": "AudioOutputConfigurationName",
				"useCount": 2,
				"outputToken": "AudioOutputToken",
				"sendPrimacy": "www.onvif.org/ver20/HalfDuplex/Server",
				"outputLevel": 10
			},
			"audioDecoderConfiguration": {
				"$": {
					"token": "AudioDecoderConfigToken"
				},
				"name": "AudioDecoderConfig",
				"useCount": 2
			}
		}
	},
	{
		"$": {
			"token": "ProfileToken009",
			"fixed": true
		},
		"name": "ProfileName009",
		"videoSourceConfiguration": {
			"$": {
				"token": "VideoSourceConfigurationToken001"
			},
			"name": "VideoSourceConfigurationName001",
			"useCount": 2,
			"sourceToken": "VideoSourceToken001",
			"bounds": {
				"$": {
					"x": 0,
					"y": 0,
					"width": 1280,
					"height": 720
				}
			}
		},
		"audioSourceConfiguration": {
			"$": {
				"token": "AudioSourceConfigurationToken001"
			},
			"name": "AudioSourceConfigurationName001",
			"useCount": 2,
			"sourceToken": "AudioSourceToken001"
		},
		"audioEncoderConfiguration": {
			"$": {
				"token": "AudioEncoderConfigurationToken001"
			},
			"name": "AudioEncoderConfigurationName001",
			"useCount": 2,
			"encoding": "G711",
			"bitrate": 64,
			"sampleRate": 8,
			"multicast": {
				"address": {
					"type": "IPv4",
					"IPv4Address": "0.0.0.0"
				},
				"port": 8862,
				"TTL": 128,
				"autoStart": false
			},
			"sessionTimeout": "PT30S"
		},
		"PTZConfiguration": {
			"$": {
				"token": "PTZConfigurationToken001"
			},
			"name": "PTZConfigurationName001",
			"useCount": 0,
			"nodeToken": "PTZNodeToken001",
			"defaultContinuousPanTiltVelocitySpace": "http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace",
			"defaultContinuousZoomVelocitySpace": "http://www.onvif.org/ver10/tptz/ZoomSpaces/VelocityGenericSpace",
			"defaultPTZTimeout": "PT60S"
		},
		"extension": {
			"audioOutputConfiguration": {
				"$": {
					"token": "AudioOutputConfigurationToken"
				},
				"name": "AudioOutputConfigurationName",
				"useCount": 2,
				"outputToken": "AudioOutputToken",
				"sendPrimacy": "www.onvif.org/ver20/HalfDuplex/Server",
				"outputLevel": 10
			},
			"audioDecoderConfiguration": {
				"$": {
					"token": "AudioDecoderConfigToken"
				},
				"name": "AudioDecoderConfig",
				"useCount": 2
			}
		}
	},
	{
		"$": {
			"token": "ProfileToken010",
			"fixed": true
		},
		"name": "ProfileName010",
		"videoSourceConfiguration": {
			"$": {
				"token": "VideoSourceConfigurationToken002"
			},
			"name": "VideoSourceConfigurationName002",
			"useCount": 2,
			"sourceToken": "VideoSourceToken002",
			"bounds": {
				"$": {
					"x": 0,
					"y": 0,
					"width": 1280,
					"height": 720
				}
			}
		},
		"audioSourceConfiguration": {
			"$": {
				"token": "AudioSourceConfigurationToken002"
			},
			"name": "AudioSourceConfigurationName002",
			"useCount": 2,
			"sourceToken": "AudioSourceToken002"
		},
		"audioEncoderConfiguration": {
			"$": {
				"token": "AudioEncoderConfigurationToken002"
			},
			"name": "AudioEncoderConfigurationName002",
			"useCount": 2,
			"encoding": "G711",
			"bitrate": 64,
			"sampleRate": 8,
			"multicast": {
				"address": {
					"type": "IPv4",
					"IPv4Address": "0.0.0.0"
				},
				"port": 8862,
				"TTL": 128,
				"autoStart": false
			},
			"sessionTimeout": "PT30S"
		},
		"extension": {
			"audioOutputConfiguration": {
				"$": {
					"token": "AudioOutputConfigurationToken"
				},
				"name": "AudioOutputConfigurationName",
				"useCount": 2,
				"outputToken": "AudioOutputToken",
				"sendPrimacy": "www.onvif.org/ver20/HalfDuplex/Server",
				"outputLevel": 10
			},
			"audioDecoderConfiguration": {
				"$": {
					"token": "AudioDecoderConfigToken"
				},
				"name": "AudioDecoderConfig",
				"useCount": 2
			}
		}
	},
	{
		"$": {
			"token": "ProfileToken011",
			"fixed": true
		},
		"name": "ProfileName011",
		"videoSourceConfiguration": {
			"$": {
				"token": "VideoSourceConfigurationToken003"
			},
			"name": "VideoSourceConfigurationName003",
			"useCount": 2,
			"sourceToken": "VideoSourceToken003",
			"bounds": {
				"$": {
					"x": 0,
					"y": 0,
					"width": 1280,
					"height": 720
				}
			}
		},
		"audioSourceConfiguration": {
			"$": {
				"token": "AudioSourceConfigurationToken003"
			},
			"name": "AudioSourceConfigurationName003",
			"useCount": 2,
			"sourceToken": "AudioSourceToken003"
		},
		"audioEncoderConfiguration": {
			"$": {
				"token": "AudioEncoderConfigurationToken003"
			},
			"name": "AudioEncoderConfigurationName003",
			"useCount": 2,
			"encoding": "G711",
			"bitrate": 64,
			"sampleRate": 8,
			"multicast": {
				"address": {
					"type": "IPv4",
					"IPv4Address": "0.0.0.0"
				},
				"port": 8862,
				"TTL": 128,
				"autoStart": false
			},
			"sessionTimeout": "PT30S"
		},
		"extension": {
			"audioOutputConfiguration": {
				"$": {
					"token": "AudioOutputConfigurationToken"
				},
				"name": "AudioOutputConfigurationName",
				"useCount": 2,
				"outputToken": "AudioOutputToken",
				"sendPrimacy": "www.onvif.org/ver20/HalfDuplex/Server",
				"outputLevel": 10
			},
			"audioDecoderConfiguration": {
				"$": {
					"token": "AudioDecoderConfigToken"
				},
				"name": "AudioDecoderConfig",
				"useCount": 2
			}
		}
	},
	{
		"$": {
			"token": "ProfileToken013",
			"fixed": true
		},
		"name": "ProfileName013",
		"videoSourceConfiguration": {
			"$": {
				"token": "VideoSourceConfigurationToken005"
			},
			"name": "VideoSourceConfigurationName005",
			"useCount": 2,
			"sourceToken": "VideoSourceToken005",
			"bounds": {
				"$": {
					"x": 0,
					"y": 0,
					"width": 1280,
					"height": 720
				}
			}
		},
		"audioSourceConfiguration": {
			"$": {
				"token": "AudioSourceConfigurationToken005"
			},
			"name": "AudioSourceConfigurationName005",
			"useCount": 2,
			"sourceToken": "AudioSourceToken005"
		},
		"audioEncoderConfiguration": {
			"$": {
				"token": "AudioEncoderConfigurationToken005"
			},
			"name": "AudioEncoderConfigurationName005",
			"useCount": 2,
			"encoding": "G711",
			"bitrate": 64,
			"sampleRate": 8,
			"multicast": {
				"address": {
					"type": "IPv4",
					"IPv4Address": "0.0.0.0"
				},
				"port": 8862,
				"TTL": 128,
				"autoStart": false
			},
			"sessionTimeout": "PT30S"
		},
		"extension": {
			"audioOutputConfiguration": {
				"$": {
					"token": "AudioOutputConfigurationToken"
				},
				"name": "AudioOutputConfigurationName",
				"useCount": 2,
				"outputToken": "AudioOutputToken",
				"sendPrimacy": "www.onvif.org/ver20/HalfDuplex/Server",
				"outputLevel": 10
			},
			"audioDecoderConfiguration": {
				"$": {
					"token": "AudioDecoderConfigToken"
				},
				"name": "AudioDecoderConfig",
				"useCount": 2
			}
		}
	},
	{
		"$": {
			"token": "ProfileToken014",
			"fixed": true
		},
		"name": "ProfileName014",
		"videoSourceConfiguration": {
			"$": {
				"token": "VideoSourceConfigurationToken006"
			},
			"name": "VideoSourceConfigurationName006",
			"useCount": 2,
			"sourceToken": "VideoSourceToken006",
			"bounds": {
				"$": {
					"x": 0,
					"y": 0,
					"width": 1280,
					"height": 720
				}
			}
		},
		"audioSourceConfiguration": {
			"$": {
				"token": "AudioSourceConfigurationToken006"
			},
			"name": "AudioSourceConfigurationName006",
			"useCount": 2,
			"sourceToken": "AudioSourceToken006"
		},
		"audioEncoderConfiguration": {
			"$": {
				"token": "AudioEncoderConfigurationToken006"
			},
			"name": "AudioEncoderConfigurationName006",
			"useCount": 2,
			"encoding": "G711",
			"bitrate": 64,
			"sampleRate": 8,
			"multicast": {
				"address": {
					"type": "IPv4",
					"IPv4Address": "0.0.0.0"
				},
				"port": 8862,
				"TTL": 128,
				"autoStart": false
			},
			"sessionTimeout": "PT30S"
		},
		"extension": {
			"audioOutputConfiguration": {
				"$": {
					"token": "AudioOutputConfigurationToken"
				},
				"name": "AudioOutputConfigurationName",
				"useCount": 2,
				"outputToken": "AudioOutputToken",
				"sendPrimacy": "www.onvif.org/ver20/HalfDuplex/Server",
				"outputLevel": 10
			},
			"audioDecoderConfiguration": {
				"$": {
					"token": "AudioDecoderConfigToken"
				},
				"name": "AudioDecoderConfig",
				"useCount": 2
			}
		}
	},
	{
		"$": {
			"token": "ProfileToken016",
			"fixed": true
		},
		"name": "ProfileName016",
		"videoSourceConfiguration": {
			"$": {
				"token": "VideoSourceConfigurationToken008"
			},
			"name": "VideoSourceConfigurationName008",
			"useCount": 2,
			"sourceToken": "VideoSourceToken008",
			"bounds": {
				"$": {
					"x": 0,
					"y": 0,
					"width": 1280,
					"height": 720
				}
			}
		},
		"audioSourceConfiguration": {
			"$": {
				"token": "AudioSourceConfigurationToken008"
			},
			"name": "AudioSourceConfigurationName008",
			"useCount": 2,
			"sourceToken": "AudioSourceToken008"
		},
		"audioEncoderConfiguration": {
			"$": {
				"token": "AudioEncoderConfigurationToken008"
			},
			"name": "AudioEncoderConfigurationName008",
			"useCount": 2,
			"encoding": "G711",
			"bitrate": 64,
			"sampleRate": 8,
			"multicast": {
				"address": {
					"type": "IPv4",
					"IPv4Address": "0.0.0.0"
				},
				"port": 8862,
				"TTL": 128,
				"autoStart": false
			},
			"sessionTimeout": "PT30S"
		},
		"extension": {
			"audioOutputConfiguration": {
				"$": {
					"token": "AudioOutputConfigurationToken"
				},
				"name": "AudioOutputConfigurationName",
				"useCount": 2,
				"outputToken": "AudioOutputToken",
				"sendPrimacy": "www.onvif.org/ver20/HalfDuplex/Server",
				"outputLevel": 10
			},
			"audioDecoderConfiguration": {
				"$": {
					"token": "AudioDecoderConfigToken"
				},
				"name": "AudioDecoderConfig",
				"useCount": 2
			}
		}
	}
]
7:24:11.008: Error getting video sources: Unrecognized configuration
7:24:11.013: setActiveSource (192.168.2.9): Invalid source for this device
7:24:11.034: ** service capabilities 192.168.2.9 (Ch1) = {
	"network": {
		"IPFilter": false,
		"ZeroConfiguration": false,
		"IPVersion6": true,
		"DynDNS": true,
		"Dot11Configuration": false,
		"Dot1XConfigurations": 0,
		"HostnameFromDHCP": false,
		"NTP": 1,
		"DHCPv6": false
	},
	"security": {
		"TLS1.0": false,
		"TLS1.1": false,
		"TLS1.2": false,
		"OnboardKeyGeneration": false,
		"AccessPolicyConfig": false,
		"DefaultAccessPolicy": false,
		"Dot1X": false,
		"RemoteUserHandling": false,
		"X.509Token": false,
		"SAMLToken": false,
		"KerberosToken": false,
		"UsernameToken": true,
		"HttpDigest": true,
		"RELToken": true,
		"MaxUsers": 32
	},
	"system": {
		"DiscoveryResolve": false,
		"DiscoveryBye": true,
		"RemoteDiscovery": false,
		"SystemBackup": false,
		"SystemLogging": false,
		"FirmwareUpgrade": false,
		"HttpFirmwareUpgrade": true,
		"HttpSystemBackup": false,
		"HttpSystemLogging": false,
		"HttpSupportInformation": false
	}
}
7:24:11.039: getServices (192.168.2.9): Started *****
7:24:11.068: getServices (192.168.2.9): Finished -----
7:24:11.072: ** Service 192.168.2.9 (Ch1){
	"namespace": "http://www.onvif.org/ver10/device/wsdl",
	"XAddr": "http://192.168.2.9:91/onvif/device_service",
	"capabilities": {
		"capabilities": {
			"network": {
				"$": {
					"IPFilter": false,
					"ZeroConfiguration": false,
					"IPVersion6": true,
					"DynDNS": true,
					"Dot11Configuration": false,
					"Dot1XConfigurations": 0,
					"HostnameFromDHCP": false,
					"NTP": 1,
					"DHCPv6": false
				}
			},
			"security": {
				"$": {
					"TLS1.0": false,
					"TLS1.1": false,
					"TLS1.2": false,
					"OnboardKeyGeneration": false,
					"AccessPolicyConfig": false,
					"DefaultAccessPolicy": false,
					"Dot1X": false,
					"RemoteUserHandling": false,
					"X.509Token": false,
					"SAMLToken": false,
					"KerberosToken": false,
					"UsernameToken": true,
					"HttpDigest": true,
					"RELToken": true,
					"MaxUsers": 32
				}
			},
			"system": {
				"$": {
					"DiscoveryResolve": false,
					"DiscoveryBye": true,
					"RemoteDiscovery": false,
					"SystemBackup": false,
					"SystemLogging": false,
					"FirmwareUpgrade": false,
					"HttpFirmwareUpgrade": true,
					"HttpSystemBackup": false,
					"HttpSystemLogging": false,
					"HttpSupportInformation": false
				}
			}
		}
	},
	"version": {
		"major": 2,
		"minor": 10
	}
}
7:24:11.077: ** Service 192.168.2.9 (Ch1){
	"namespace": "http://www.onvif.org/ver10/media/wsdl",
	"XAddr": "http://192.168.2.9:91/onvif/media_service",
	"capabilities": {
		"capabilities": {
			"$": {
				"SnapshotUri": true,
				"Rotation": false
			},
			"profileCapabilities": {
				"$": {
					"MaximumNumberOfProfiles": 17
				}
			},
			"streamingCapabilities": {
				"$": {
					"RTPMulticast": false,
					"RTP_TCP": false,
					"RTP_RTSP_TCP": true,
					"NonAggregateControl": false
				}
			}
		}
	},
	"version": {
		"major": 2,
		"minor": 10
	}
}
7:24:11.082: ** Snapshots are supported on 192.168.2.9 (Ch1)
7:24:11.088: ** Service 192.168.2.9 (Ch1){
	"namespace": "http://www.onvif.org/ver10/events/wsdl",
	"XAddr": "http://192.168.2.9:91/onvif/event_service",
	"capabilities": {
		"capabilities": {
			"$": {
				"WSSubscriptionPolicySupport": true,
				"WSPullPointSupport": true,
				"WSPausableSubscriptionManagerInterfaceSupport": false,
				"MaxNotificationProducers": 10,
				"MaxPullPoints": 10
			}
		}
	},
	"version": {
		"major": 2,
		"minor": 10
	}
}
7:24:11.091: ** PushEvent supported on 192.168.2.9 (Ch1)
7:24:11.095: ** Service 192.168.2.9 (Ch1){
	"namespace": "http://www.onvif.org/ver20/ptz/wsdl",
	"XAddr": "http://192.168.2.9:91/onvif/ptz_service",
	"capabilities": {
		"capabilities": {
			"$": {
				"EFlip": false,
				"Reverse": false
			}
		}
	},
	"version": {
		"major": 2,
		"minor": 10
	}
}
7:24:11.098: ** Service 192.168.2.9 (Ch1){
	"namespace": "http://www.onvif.org/ver20/imaging/wsdl",
	"XAddr": "http://192.168.2.9:91/onvif/imaging_service",
	"capabilities": {
		"capabilities": {
			"$": {
				"ImageStabilization": false
			}
		}
	},
	"version": {
		"major": 2,
		"minor": 10
	}
}
7:24:11.102: ** Service 192.168.2.9 (Ch1){
	"namespace": "http://www.onvif.org/ver10/deviceIO/wsdl",
	"XAddr": "http://192.168.2.9:91/onvif/deviceio_service",
	"capabilities": {
		"capabilities": {
			"$": {
				"VideoSources": 6,
				"VideoOutputs": 2,
				"AudioSources": 6,
				"AudioOutputs": 1,
				"RelayOutputs": 1,
				"SerialPorts": 0,
				"DigitalInputs": 4
			}
		}
	},
	"version": {
		"major": 2,
		"minor": 10
	}
}
7:24:11.107: ** Service 192.168.2.9 (Ch1){
	"namespace": "http://www.onvif.org/ver10/recording/wsdl",
	"XAddr": "http://192.168.2.9:91/onvif/recording_service",
	"capabilities": {
		"capabilities": {
			"$": {
				"DynamicRecordings": false,
				"DynamicTracks": false,
				"Encoding": "H264 G726",
				"MaxRate": 16384,
				"MaxTotalRate": 16384,
				"MaxRecordings": 8,
				"MaxRecordingJobs": 6,
				"Option": true
			}
		}
	},
	"version": {
		"major": 2,
		"minor": 20
	}
}
7:24:11.110: ** Service 192.168.2.9 (Ch1){
	"namespace": "http://www.onvif.org/ver10/search/wsdl",
	"XAddr": "http://192.168.2.9:91/onvif/search_service",
	"capabilities": {
		"capabilities": {
			"$": {
				"MetadataSearch": false,
				"GeneralStartEvents": false
			}
		}
	},
	"version": {
		"major": 2,
		"minor": 20
	}
}
7:24:11.118: ** Service 192.168.2.9 (Ch1){
	"namespace": "http://www.onvif.org/ver10/replay/wsdl",
	"XAddr": "http://192.168.2.9:91/onvif/replay_service",
	"capabilities": {
		"capabilities": {
			"$": {
				"ReversePlayback": false,
				"SessionTimeoutRange": "5 30",
				"RTP_RTSP_TCP": true
			}
		}
	},
	"version": {
		"major": 2,
		"minor": 20
	}
}
7:24:11.124: ** Service 192.168.2.9 (Ch1){
	"namespace": "http://www.onvif.org/ver10/receiver/wsdl",
	"XAddr": "http://192.168.2.9:91/onvif/receiver_service",
	"capabilities": {
		"capabilities": {
			"$": {
				"RTP_Multicast": true,
				"RTP_TCP": false,
				"RTP_RTSP_TCP": true,
				"SupportedReceivers": 8,
				"MaximumRTSPURILength": 255
			}
		}
	},
	"version": {
		"major": 2,
		"minor": 20
	}
}
7:24:11.145: Camera Information (192.168.2.9 (Ch1)): {
	"manufacturer": "Hangzhou Hikvision Digital Technology Co., Ltd",
	"model": "DS-7608NI-K2%2F8P",
	"firmwareVersion": "V4.30.071, build 210517",
	"serialNumber": "0820210805CCRRG47736832WCVU",
	"hardwareId": 255
}
7:24:11.150: getCapabilities (192.168.2.9): Started *****
7:24:11.179: getCapabilities (192.168.2.9): Finished -----
7:24:11.185: Camera (192.168.2.9 (Ch1)) supports PullPoint
7:24:11.222: Supported Events(192.168.2.9 (Ch1)): JOBSTATE,RECORDINGJOBCONFIGURATION,RECORDINGCONFIGURATION,TRACKCONFIGURATION,MOTION,TAMPER,DIGITALINPUT
7:24:11.261: setActiveSource (192.168.2.9): Invalid source for this device
7:24:11.294: Snapshot URL: http://192.168.2.9:91/onvif/snapshot/101
7:24:11.310: Registering Now image (192.168.2.9 (Ch1))
7:24:11.315: registered Now image (192.168.2.9 (Ch1))
7:24:11.322: SnapShot save file (192.168.2.9 (Ch1)) = eventimageurn_uuid_34d2788d_8129_466d_adb7_aff03412b7a7__ch1_.jpg
7:24:11.327: Registering event image (192.168.2.9 (Ch1))
7:24:11.353: registered event image (192.168.2.9 (Ch1))
7:24:11.360: Camera (192.168.2.9 (Ch1)) is ready
7:24:11.365: --------------------------
7:24:11.370: Connect to Camera 192.168.2.9:91 - admin
7:24:11.387: getSystemDateAndTime (192.168.2.9): Sun Apr 20 2025 08:23:44 GMT+0000 (Coordinated Universal Time), Time Shift: 3572614 Finished -----
7:24:11.392: getServices (192.168.2.9): Started *****
7:24:11.420: getServices (192.168.2.9): Finished -----
7:24:11.424: getCapabilities (192.168.2.9): Started *****
7:24:11.449: getCapabilities (192.168.2.9): Finished -----
7:24:11.524: VideoSources (192.168.2.9): [
	{
		"$": {
			"token": "VideoSourceToken001"
		},
		"framerate": 25,
		"resolution": {
			"width": 1280,
			"height": 720
		},
		"imaging": {
			"brightness": 50,
			"colorSaturation": 50,
			"contrast": 55
		}
	},
	{
		"$": {
			"token": "VideoSourceToken002"
		},
		"framerate": 25,
		"resolution": {
			"width": 1280,
			"height": 720
		},
		"imaging": {
			"brightness": 50,
			"colorSaturation": 50,
			"contrast": 55
		}
	},
	{
		"$": {
			"token": "VideoSourceToken003"
		},
		"framerate": 25,
		"resolution": {
			"width": 1280,
			"height": 720
		},
		"imaging": {
			"brightness": 50,
			"colorSaturation": 50,
			"contrast": 50
		}
	},
	{
		"$": {
			"token": "VideoSourceToken005"
		},
		"framerate": 25,
		"resolution": {
			"width": 1280,
			"height": 720
		},
		"imaging": {
			"brightness": 50,
			"colorSaturation": 50,
			"contrast": 50
		}
	},
	{
		"$": {
			"token": "VideoSourceToken006"
		},
		"framerate": 25,
		"resolution": {
			"width": 1280,
			"height": 720
		},
		"imaging": {
			"brightness": 50,
			"colorSaturation": 50,
			"contrast": 50
		}
	},
	{
		"$": {
			"token": "VideoSourceToken008"
		},
		"framerate": 25,
		"resolution": {
			"width": 1280,
			"height": 720
		},
		"imaging": {
			"brightness": 50,
			"colorSaturation": 50,
			"contrast": 50
		}
	}
]
7:24:11.528: getActiveSources (192.168.2.9): Unrecognized configuration form [
	{
		"$": {
			"token": "ProfileToken001",
			"fixed": true
		},
		"name": "ProfileName001",
		"videoSourceConfiguration": {
			"$": {
				"token": "VideoSourceConfigurationToken001"
			},
			"name": "VideoSourceConfigurationName001",
			"useCount": 2,
			"sourceToken":

Please use pre-formatted text in future so that other users can see easily that this is code, a device interview, protocols, etc. So everything that you haven’t typed in yourself, except for quotations.
These pre-formatted texts can also be copied for other users with just a single click, which reduces the workload for other users, especially for the app developers.

@Jeroen_Coenradi Edited for you

It appears that your NVR isn’t returning any videoEncoderConfiguration sections in the profiles, which is preventing the app from selecting a source and then fetching the correct snapshot URL.
I’m not sure if the app actually needs that information, as it doesn’t provide a live stream, so I might be able to change the library to cope.

In the meantime, all I can suggest is to try variations of the last number to see if you can fine the required snapshot URL. Tray variations of 102, 201, 202, etc.

You are the best!!! the variations of 201/301/401/etc works!!! now i can finally watch the camera’s. Thank u so much.
One more question… is it possible to have live screens instead of snapshots?

No, Homey doesn’t support live streaming. Maybe in the future as it’s been rumoured the HP2023 might.

ok, final question (sorry) is there a possibility to automatically update the snapshot in my dashboard? say every 10 seconds?

You should be able to do that via a Flow.