mirror of
https://github.com/SyncrowIOT/syncrow-app.git
synced 2026-10-26 04:17:55 +00:00
water leak
This commit is contained in:
@@ -28,7 +28,7 @@ class WaterLeakBloc extends Bloc<WaterLeakEvent, WaterLeakState> {
|
||||
bool closingReminder = false;
|
||||
bool waterAlarm = false;
|
||||
WaterLeakModel deviceStatus =
|
||||
WaterLeakModel(waterContactState: false, batteryPercentage: 0);
|
||||
WaterLeakModel(waterContactState: 'normal', batteryPercentage: 0);
|
||||
|
||||
void _fetchStatus(
|
||||
WaterLeakInitial event, Emitter<WaterLeakState> emit) async {
|
||||
@@ -43,6 +43,7 @@ class WaterLeakBloc extends Bloc<WaterLeakEvent, WaterLeakState> {
|
||||
statusModelList,
|
||||
);
|
||||
emit(UpdateState(waterSensor: deviceStatus));
|
||||
|
||||
Future.delayed(const Duration(milliseconds: 500));
|
||||
_listenToChanges();
|
||||
} catch (e) {
|
||||
@@ -115,39 +116,32 @@ class WaterLeakBloc extends Bloc<WaterLeakEvent, WaterLeakState> {
|
||||
}
|
||||
}
|
||||
|
||||
DeviceReport recordGroups = DeviceReport(
|
||||
startTime: '0',
|
||||
endTime: '0',
|
||||
data: [DeviceEvent(code: '111', eventTime: 23456789, value: 'tyuio')]);
|
||||
DeviceReport recordGroups =
|
||||
DeviceReport(startTime: '0', endTime: '0', data: []);
|
||||
|
||||
Future<void> fetchLogsForLastMonth(
|
||||
ReportLogsInitial event, Emitter<WaterLeakState> emit) async {
|
||||
// Get the current date and time
|
||||
DateTime now = DateTime.now();
|
||||
|
||||
// Calculate the date one month ago
|
||||
DateTime lastMonth = DateTime(now.year, now.month - 1, now.day);
|
||||
|
||||
// Convert the date to milliseconds since epoch (Unix timestamp in milliseconds)
|
||||
int startTime = lastMonth.millisecondsSinceEpoch;
|
||||
int endTime = now.millisecondsSinceEpoch;
|
||||
try {
|
||||
emit(WaterLeakLoadingState());
|
||||
// var response = await DevicesAPI.getReportLogs(
|
||||
// startTime:
|
||||
// startTime.toString(), // Convert to String if the API expects it
|
||||
// endTime: endTime.toString(), // Convert to String if the API expects it
|
||||
// deviceUuid: WLId,
|
||||
// code: 'watercontact_state',
|
||||
// );
|
||||
// print('response======${response}');
|
||||
// recordGroups = response;
|
||||
// Process response here
|
||||
var response = await DevicesAPI.getReportLogs(
|
||||
startTime: startTime.toString(),
|
||||
endTime: endTime.toString(),
|
||||
deviceUuid: WLId,
|
||||
code: 'watercontact_state',
|
||||
);
|
||||
recordGroups = response;
|
||||
emit(UpdateState(waterSensor: deviceStatus));
|
||||
} on DioException catch (e) {
|
||||
final errorData = e.response!.data;
|
||||
String errorMessage = errorData['message'];
|
||||
// Handle error
|
||||
emit(WaterLeakFailedState(errorMessage: errorMessage));
|
||||
|
||||
print('Error fetching logs: ${errorMessage}');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ abstract class WaterLeakEvent extends Equatable {
|
||||
class WaterLeakLoading extends WaterLeakEvent {}
|
||||
|
||||
class WaterLeakSwitch extends WaterLeakEvent {
|
||||
final bool switchD;
|
||||
final String switchD;
|
||||
final String deviceId;
|
||||
final String productId;
|
||||
const WaterLeakSwitch({required this.switchD, this.deviceId = '', this.productId = ''});
|
||||
|
||||
Reference in New Issue
Block a user