Discovery - bharat-1809/wizctl GitHub Wiki

Discovery

Finds WiZ lights on the local network via UDP broadcast.

final lights = await WizDiscovery.discover();

for (final light in lights) {
  print('${light.ip} - ${light.mac}');
  print('  Type: ${light.bulbClass?.displayName}');
}

Options

Parameter Default Note
timeout 10s Total window for collecting responses
retry exponential, 5 retries See Retry-Configuration
broadcastAddress 255.255.255.255
port 38899
// Fixed retry interval
await WizDiscovery.discover(
  retry: RetryConfig.fixed(count: 5, interval: Duration(seconds: 1)),
);

// Single broadcast, no retries
await WizDiscovery.discover(retry: RetryConfig.none());

Multi-homed systems

For machines with multiple network interfaces:

await WizDiscovery.discoverOnAllInterfaces();

DiscoveredLight

Property Type Note
ip String
mac String
moduleName String? e.g. "ESP01_SHRGB1C_31"
fwVersion String?
bulbClass BulbClass? See Bulb-Types