class ACModel { final bool power; final String mode; final int temp; final String fan; final bool swing; final String controlMode; ACModel({ required this.power, required this.mode, required this.temp, required this.fan, required this.swing, required this.controlMode, }); factory ACModel.fromMap(Map json) { return ACModel( power: json['power'] ?? false, mode: json['mode']?.toString().toUpperCase() ?? 'COOL', temp: json['temp'] ?? 24, fan: json['fan']?.toString().toUpperCase() ?? 'AUTO', swing: json['swing'] == true, controlMode: json['control_mode']?.toString().toLowerCase() ?? 'auto', ); } Map toMap() { return { 'power': power, 'mode': mode, 'temp': temp, 'fan': fan, 'swing': swing, 'control_mode': controlMode, }; } ACModel copyWith({ bool? power, String? mode, int? temp, String? fan, bool? swing, String? controlMode, }) { return ACModel( power: power ?? this.power, mode: mode ?? this.mode, temp: temp ?? this.temp, fan: fan ?? this.fan, swing: swing ?? this.swing, controlMode: controlMode ?? this.controlMode, ); } }