22
33[ ![ Codacy grade] ( https://img.shields.io/codacy/grade/bff08a94e4d447b690cea49c6594826d?label=Project%20Quality&logo=codacy )] ( https://app.codacy.com/gh/nirsimetri/onvif-python/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade )
44[ ![ Ask DeepWiki] ( https://deepwiki.com/badge.svg )] ( https://deepwiki.com/nirsimetri/onvif-python )
5- [ ![ PyPI] ( https://img.shields.io/badge/PyPI-0.1.6 -orange?logo=archive )] ( https://pypi.org/project/onvif-python/ )
5+ [ ![ PyPI] ( https://img.shields.io/badge/PyPI-0.1.7 -orange?logo=archive )] ( https://pypi.org/project/onvif-python/ )
66[ ![ Downloads] ( https://img.shields.io/pypi/dm/onvif-python?label=Downloads&color=red )] ( https://clickpy.clickhouse.com/dashboard/onvif-python )
77<br >
88[ ![ Build] ( https://github.com/nirsimetri/onvif-python/actions/workflows/python-app.yml/badge.svg?branch=main )] ( https://github.com/nirsimetri/onvif-python/actions/workflows/python-app.yml )
@@ -69,6 +69,10 @@ discovery = ONVIFDiscovery(timeout=5)
6969# Discover devices
7070devices = discovery.discover()
7171
72+ # Or with
73+ # Discover with search filter by types or scopes (case-insensitive substring match)
74+ devices = discovery.discover(search = " Profile/Streaming" )
75+
7276# Display discovered devices
7377for device in devices:
7478 print (f " Found device at { device[' host' ]} : { device[' port' ]} " )
@@ -194,11 +198,12 @@ This library includes a powerful command-line interface (CLI) for interacting wi
194198<summary ><b >1. Direct CLI</b ></summary >
195199
196200``` bash
197- usage: onvif [-h] [--host HOST] [--port PORT] [--username USERNAME] [--password PASSWORD] [--discover] [--timeout TIMEOUT] [--https] [--no-verify]
198- [--no-patch] [--interactive] [--debug] [--wsdl WSDL] [--cache {all,db,mem,none}] [--health-check-interval HEALTH_CHECK_INTERVAL] [--version]
201+ usage: onvif [-h] [--host HOST] [--port PORT] [--username USERNAME] [--password PASSWORD] [--discover] [--search SEARCH] [--timeout TIMEOUT] [--https]
202+ [--no-verify] [--no-patch] [--interactive] [--debug] [--wsdl WSDL] [--cache {all,db,mem,none}]
203+ [--health-check-interval HEALTH_CHECK_INTERVAL] [--version]
199204 [service] [method] [params ...]
200205
201- ONVIF Terminal Client — v0.1.6
206+ ONVIF Terminal Client — v0.1.7
202207https://github.com/nirsimetri/onvif-python
203208
204209positional arguments:
@@ -215,6 +220,8 @@ options:
215220 --password PASSWORD, -p PASSWORD
216221 Password for authentication
217222 --discover, -d Discover ONVIF devices on the network using WS-Discovery
223+ --search SEARCH, -s SEARCH
224+ Filter discovered devices by types or scopes (case-insensitive substring match)
218225 --timeout TIMEOUT Connection timeout in seconds (default: 10)
219226 --https Use HTTPS instead of HTTP
220227 --no-verify Disable SSL certificate verification
@@ -234,6 +241,11 @@ Examples:
234241 onvif media GetProfiles --discover --username admin
235242 onvif -d -i
236243
244+ # Discover with filtering
245+ onvif --discover --search ptz --interactive
246+ onvif -d -s " C210" -i
247+ onvif -d -s " audio_encoder" -u admin -p admin123 -i
248+
237249 # Direct command execution
238250 onvif devicemgmt GetCapabilities Category=All --host 192.168.1.17 --port 8000 --username admin --password admin123
239251 onvif ptz ContinuousMove ProfileToken=Profile_1 Velocity={" PanTilt" : {" x" : -0.1, " y" : 0}} --host 192.168.1.17 --port 8000 --username admin --password admin123
@@ -255,7 +267,7 @@ Examples:
255267<summary ><b >2. Interactive Shell</b ></summary >
256268
257269``` bash
258- ONVIF Interactive Shell — v0.1.6
270+ ONVIF Interactive Shell — v0.1.7
259271https://github.com/nirsimetri/onvif-python
260272
261273Basic Commands:
@@ -388,6 +400,10 @@ onvif --discover --username admin --password admin123 --interactive
388400# Short form
389401onvif -d -u admin -p admin123 -i
390402
403+ # Discover with search filter
404+ onvif --discover --search " C210" --interactive
405+ onvif -d -s ptz -u admin -p admin123 -i
406+
391407# Discover and interactive (will prompt for credentials)
392408onvif -d -i
393409```
0 commit comments