API Device discovery with allow-broadcast-acknowledge / ignore-subnet

This is how discovering in :cvb: Python would look like (no ip setting here):

interface_flags = cvb.DiscoverFlags.UpToLevelInterface | cvb.DiscoverFlags.IgnoreGevSD
all_interfaces = cvb.DeviceFactory.discover_from_root(interface_flags)

broadcast_flags = cvb.DiscoverFlags.IgnoreVins | cvb.DiscoverFlags.IncludeInaccessible | cvb.DiscoverFlags.IgnoreGevSD
all_devices = []
for interface in all_interfaces:
    cvb.DiscoveryInformation.set_genapi_feature(interface, "TLInterface", "DisableSubnetMatch", "1")
    cvb.DiscoveryInformation.set_genapi_feature(interface, "TLInterface", "AllowBroadcastDiscoveryResponse", "1")
    found_devices = cvb.DeviceFactory.discover_from_level(interface.access_token, broadcast_flags)
    for dev in found_devices:
        all_devices.append(dev)
        
for dev in all_devices:
    # Check devices access status etc.:
    # dev.read_property(cvb.DiscoveryProperties.DeviceAccessStatus)

with cvb.DeviceFactory.open(all_devices[0].access_token) as device: # open first camera found (check accessibility before!)
    # work with camera...
2 Likes