Read devices status from Firebase realtime database

This commit is contained in:
Abdullah Alassaf
2024-08-12 12:32:20 +03:00
parent f6fbf452a0
commit 8e104aeea7
15 changed files with 412 additions and 159 deletions
@@ -4,17 +4,25 @@ class CeilingSensorModel {
String presenceState;
int sensitivity;
String checkingResult;
int presenceRange;
int sportsPara;
String bodyMovement;
CeilingSensorModel({
required this.presenceState,
required this.sensitivity,
required this.checkingResult,
});
CeilingSensorModel(
{required this.presenceState,
required this.sensitivity,
required this.checkingResult,
required this.presenceRange,
required this.sportsPara,
required this.bodyMovement});
factory CeilingSensorModel.fromJson(List<StatusModel> jsonList) {
late String _presenceState;
late int _sensitivity;
late String _checkingResult;
int _presenceRange = 1;
int _sportsPara = 1;
String _bodyMovement = 'none';
for (int i = 0; i < jsonList.length; i++) {
if (jsonList[i].code == 'presence_state') {
@@ -23,9 +31,20 @@ class CeilingSensorModel {
_sensitivity = jsonList[i].value ?? false;
} else if (jsonList[i].code == 'checking_result') {
_checkingResult = jsonList[i].value ?? false;
} else if (jsonList[i].code == 'presence_range') {
_presenceRange = jsonList[i].value ?? false;
} else if (jsonList[i].code == 'sports_para') {
_sportsPara = jsonList[i].value ?? false;
} else if (jsonList[i].code == 'body_movement') {
_bodyMovement = jsonList[i].value ?? false;
}
}
return CeilingSensorModel(
presenceState: _presenceState, sensitivity: _sensitivity, checkingResult: _checkingResult);
presenceState: _presenceState,
sensitivity: _sensitivity,
checkingResult: _checkingResult,
presenceRange: _presenceRange,
sportsPara: _sportsPara,
bodyMovement: _bodyMovement);
}
}