firebase configuration and connect device with real-time bd

This commit is contained in:
mohammad
2025-02-13 14:07:29 +03:00
parent a623f1c723
commit ba44d1d359
40 changed files with 1136 additions and 153 deletions

View File

@ -1,4 +1,5 @@
import 'dart:async';
import 'package:firebase_database/firebase_database.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/models/device_status.dart';
import 'package:syncrow_web/pages/device_managment/curtain/bloc/curtain_event.dart';
@ -32,6 +33,36 @@ class CurtainBloc extends Bloc<CurtainEvent, CurtainState> {
emit(CurtainError(e.toString()));
}
}
// _listenToChanges(deviceId) {
// try {
// DatabaseReference ref =
// FirebaseDatabase.instance.ref('device-status/$deviceId');
// Stream<DatabaseEvent> stream = ref.onValue;
// stream.listen((DatabaseEvent event) {
// Map<dynamic, dynamic> usersMap =
// event.snapshot.value as Map<dynamic, dynamic>;
// List<Status> statusList = [];
// usersMap['status'].forEach((element) {
// statusList
// .add(Status(code: element['code'], value: element['value']));
// });
// deviceStatus =
// GarageDoorStatusModel.fromJson(usersMap['productUuid'], statusList);
// if (!isClosed) {
// add(StatusUpdated(deviceStatus));
// }
// });
// } catch (_) {}
// }
// void _onStatusUpdated(StatusUpdated event, Emitter<GarageDoorState> emit) {
// deviceStatus = event.deviceStatus;
// emit(GarageDoorLoadedState(status: deviceStatus));
// }
FutureOr<void> _onCurtainControl(
CurtainControl event, Emitter<CurtainState> emit) async {