The device lock/unlock functionality was failing with INVALID_ARGUMENT error when trying to control devices for families with multiple supervised children. The issue was that async_control_device() was always using the first child's ID instead of the correct child's ID for the device.
Changes:
- Updated async_control_device() in api.py to accept optional child_id parameter
- Modified coordinator to pass child_id when calling device control API
- Now correctly uses the device owner's child_id for lock/unlock operations
Fixes the 400 error: "Request contains an invalid argument"