Group Control - bharat-1809/wizctl GitHub Wiki
Group Control
Control multiple lights in parallel. All commands run concurrently.
final lights = [WizLight('192.168.1.100'), WizLight('192.168.1.101')];
await WizGroup.turnOn(lights);
await WizGroup.turnOff(lights);
await WizGroup.setColor(lights, 255, 100, 50);
await WizGroup.setTemperature(lights, 3000);
await WizGroup.setScene(lights, WizScene.cozy);
Handling results
Each command returns results for all lights:
final results = await WizGroup.turnOn(lights);
for (final r in results) {
if (r.success) {
print('${r.light.ip}: OK');
} else {
print('${r.light.ip}: ${r.error}');
}
}
Reading state
final states = await WizGroup.getStates(lights);
for (final entry in states.entries) {
final light = entry.key;
final state = entry.value; // null if no response
print('${light.ip}: ${state?.isOn}');
}