Files
syncrow-app/lib/features/devices/model/wall_sensor_model.dart
2024-08-21 16:10:57 +03:00

64 lines
2.1 KiB
Dart

import 'package:syncrow_app/features/devices/model/status_model.dart';
class WallSensorModel {
String presenceState;
int farDetection;
int presenceTime;
int motionSensitivity;
int motionlessSensitivity;
int currentDistance;
int illuminance;
bool indicator;
WallSensorModel({
required this.presenceState,
required this.farDetection,
required this.presenceTime,
required this.motionSensitivity,
required this.motionlessSensitivity,
required this.currentDistance,
required this.illuminance,
required this.indicator,
});
factory WallSensorModel.fromJson(List<StatusModel> jsonList) {
late String _presenceState;
late int _farDetection;
late int _presenceTime;
late int _motionSensitivity;
late int _motionlessSensitivity;
late int _currentDistance;
late int _illuminance;
late bool _indicator;
for (int i = 0; i < jsonList.length; i++) {
if (jsonList[i].code == 'presence_state') {
_presenceState = jsonList[i].value ?? 'none';
} else if (jsonList[i].code == 'far_detection') {
_farDetection = jsonList[i].value ?? 0;
} else if (jsonList[i].code == 'presence_time') {
_presenceTime = jsonList[i].value ?? 0;
} else if (jsonList[i].code == 'motion_sensitivity_value') {
_motionSensitivity = jsonList[i].value ?? 0;
} else if (jsonList[i].code == 'motionless_sensitivity') {
_motionlessSensitivity = jsonList[i].value ?? 0;
} else if (jsonList[i].code == 'dis_current') {
_currentDistance = jsonList[i].value ?? 0;
} else if (jsonList[i].code == 'illuminance_value') {
_illuminance = jsonList[i].value ?? 0;
} else if (jsonList[i].code == 'indicator') {
_indicator = jsonList[i].value ?? false;
}
}
return WallSensorModel(
presenceState: _presenceState,
farDetection: _farDetection,
presenceTime: _presenceTime,
motionSensitivity: _motionSensitivity,
motionlessSensitivity: _motionlessSensitivity,
currentDistance: _currentDistance,
illuminance: _illuminance,
indicator: _indicator);
}
}