sendLevel method

Future<SendLevelResponse> sendLevel(
  1. String address,
  2. dynamic level, {
  3. int delay = 0,
  4. int transition = 0,
})

Send the level to the device at address

Implementation

Future<SendLevelResponse> sendLevel(
  final String address,
  final dynamic level, {
  final int delay = 0,
  final int transition = 0,
}) async {
  _checkValidAddress(address);
  if (level == null) {
    throw ArgumentError.notNull('level');
  }
  if (level is int) {
    if (level < 0 || level > 100) {
      throw RangeError.range(level, 0, 100, 'level');
    }
  } else if (level is String) {
    if (level != 'on' && level != 'off') {
      throw ArgumentError('level as String must be either \'on\' or \'off\'');
    }
  } else {
    throw UnsupportedError('level must be either of int or String type');
  }
  return SendLevelResponse.fromJson(await _sendRequest(
    'set',
    params: <String, dynamic>{
      'address': address,
      'level': level,
      'delay_ms': delay,
      'transition_ms': transition,
    },
  ));
}