mirror of
https://bitbucket.org/myhomie/myhomie_app.git
synced 2025-12-06 00:51:19 +00:00
Wip camera test + name for action update
This commit is contained in:
parent
bcfef44caa
commit
e63b2a0715
@ -1,5 +1,5 @@
|
|||||||
#Fri Aug 11 16:46:29 CEST 2023
|
#Thu Aug 31 16:53:49 CEST 2023
|
||||||
VERSION_BUILD=72
|
VERSION_BUILD=89
|
||||||
VERSION_MAJOR=1
|
VERSION_MAJOR=1
|
||||||
VERSION_MINOR=0
|
VERSION_MINOR=0
|
||||||
VERSION_PATCH=0
|
VERSION_PATCH=0
|
||||||
|
|||||||
@ -79,7 +79,7 @@ class _HomeScreenState extends State<HomeScreen> {
|
|||||||
height: size.height * 0.88,
|
height: size.height * 0.88,
|
||||||
child: GridView.builder(
|
child: GridView.builder(
|
||||||
shrinkWrap: true,
|
shrinkWrap: true,
|
||||||
gridDelegate: new SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2, childAspectRatio: 1),
|
gridDelegate: new SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2, childAspectRatio: 1.15),
|
||||||
itemCount: roomsMaindetails.length,
|
itemCount: roomsMaindetails.length,
|
||||||
itemBuilder: (BuildContext context, int index) {
|
itemBuilder: (BuildContext context, int index) {
|
||||||
return InkWell(
|
return InkWell(
|
||||||
|
|||||||
@ -129,11 +129,15 @@ class _RoomDetailPageState extends State<RoomDetailPage> {
|
|||||||
margin: EdgeInsets.symmetric(vertical: 8, horizontal: 8),
|
margin: EdgeInsets.symmetric(vertical: 8, horizontal: 8),
|
||||||
child: Stack(
|
child: Stack(
|
||||||
children: [
|
children: [
|
||||||
Center(
|
Padding(
|
||||||
child: Text(
|
padding: const EdgeInsets.only(bottom: 35),
|
||||||
roomDetailDTO.devices![index].name!,
|
child: Align(
|
||||||
style: new TextStyle(fontSize: kDescriptionDetailSize, color: kBackgroundSecondGrey),
|
alignment: Alignment.center,
|
||||||
textAlign: TextAlign.center,
|
child: Text(
|
||||||
|
roomDetailDTO.devices![index].name!,
|
||||||
|
style: new TextStyle(fontSize: kDescriptionSmallDetailSize, color: kBackgroundSecondGrey),
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
||||||
@ -150,6 +154,255 @@ class _RoomDetailPageState extends State<RoomDetailPage> {
|
|||||||
],
|
],
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|
||||||
|
if(roomDetailDTO.devices![index].isTemperature!)
|
||||||
|
Positioned(
|
||||||
|
bottom: 30,
|
||||||
|
left: 0,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons.thermostat,
|
||||||
|
size: 20,
|
||||||
|
color: kMainColor,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
roomDetailDTO.devices![index].temperature.toString(),
|
||||||
|
style: new TextStyle(fontSize: kDescriptionSmallDetailSize, color: kBackgroundSecondGrey),
|
||||||
|
maxLines: 1,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
if(roomDetailDTO.devices![index].isHumidity!)
|
||||||
|
Positioned(
|
||||||
|
bottom: 30,
|
||||||
|
left: roomDetailDTO.devices![index].isTemperature! ? 60 : 0,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons.water,
|
||||||
|
size: 20,
|
||||||
|
color: kMainColor,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
roomDetailDTO.devices![index].humidity!.toString(),
|
||||||
|
style: new TextStyle(fontSize: kDescriptionSmallDetailSize, color: kBackgroundSecondGrey),
|
||||||
|
maxLines: 1,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
if(roomDetailDTO.devices![index].isContact!)
|
||||||
|
Positioned(
|
||||||
|
bottom: 10,
|
||||||
|
right: 5,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons.motion_photos_on_rounded,
|
||||||
|
size: 20,
|
||||||
|
color: !roomDetailDTO.devices![index].contact! ? kMainColor : kBackgroundSecondGrey,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
if(roomDetailDTO.devices![index].isOccupation!)
|
||||||
|
Positioned(
|
||||||
|
bottom: 10,
|
||||||
|
right: roomDetailDTO.devices![index].isContact! ? 20 : 5,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons.directions_walk,
|
||||||
|
size: 20,
|
||||||
|
color: roomDetailDTO.devices![index].occupation! ? kMainColor : kBackgroundSecondGrey,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
if(roomDetailDTO.devices![index].isAirQuality!)
|
||||||
|
Positioned(
|
||||||
|
bottom: 5,
|
||||||
|
right: 20,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons.air,
|
||||||
|
size: 20,
|
||||||
|
color: kBackgroundSecondGrey,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
roomDetailDTO.devices![index].airQuality!.toString(),
|
||||||
|
style: new TextStyle(fontSize: kDescriptionSmallDetailSize, color: kBackgroundSecondGrey),
|
||||||
|
maxLines: 1,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
if(roomDetailDTO.devices![index].isConsumption!)
|
||||||
|
Positioned(
|
||||||
|
bottom: 5,
|
||||||
|
right: 0,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons.money,
|
||||||
|
size: 20,
|
||||||
|
color: kBackgroundSecondGrey,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
roomDetailDTO.devices![index].consumption!.roundToDouble().toString(),
|
||||||
|
style: new TextStyle(fontSize: kDescriptionSmallDetailSize, color: kBackgroundSecondGrey),
|
||||||
|
maxLines: 1,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
if(roomDetailDTO.devices![index].isCurrentPower!)
|
||||||
|
Positioned(
|
||||||
|
bottom: 5,
|
||||||
|
left: 0,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons.power,
|
||||||
|
size: 20,
|
||||||
|
color: kBackgroundSecondGrey,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
roomDetailDTO.devices![index].currentPower!.toStringAsFixed(2).toString(),
|
||||||
|
style: new TextStyle(fontSize: kDescriptionSmallDetailSize, color: kBackgroundSecondGrey),
|
||||||
|
maxLines: 1,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
if(roomDetailDTO.devices![index].isCO2!)
|
||||||
|
Positioned(
|
||||||
|
bottom: 5,
|
||||||
|
right: 5,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons.co2,
|
||||||
|
size: 20,
|
||||||
|
color: kBackgroundSecondGrey,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
roomDetailDTO.devices![index].cO2!.toString(),
|
||||||
|
style: new TextStyle(fontSize: kDescriptionSmallDetailSize, color: kBackgroundSecondGrey),
|
||||||
|
maxLines: 1,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
),
|
||||||
|
if(roomDetailDTO.devices![index].isNoise!)
|
||||||
|
Positioned(
|
||||||
|
bottom: 5,
|
||||||
|
left: 0,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons.volume_down,
|
||||||
|
size: 20,
|
||||||
|
color: kBackgroundSecondGrey,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
roomDetailDTO.devices![index].noise!.toString(),
|
||||||
|
style: new TextStyle(fontSize: kDescriptionSmallDetailSize, color: kBackgroundSecondGrey),
|
||||||
|
maxLines: 1,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
if(roomDetailDTO.devices![index].isIlluminance!)
|
||||||
|
Positioned(
|
||||||
|
bottom: 5,
|
||||||
|
left: 0,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons.light_mode_outlined,
|
||||||
|
size: 20,
|
||||||
|
color: kBackgroundSecondGrey,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
roomDetailDTO.devices![index].illuminance!.toString(),
|
||||||
|
style: new TextStyle(fontSize: kDescriptionSmallDetailSize, color: kBackgroundSecondGrey),
|
||||||
|
maxLines: 1,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
if(roomDetailDTO.devices![index].isColorTemp!)
|
||||||
|
Positioned(
|
||||||
|
bottom: 5,
|
||||||
|
right: 5,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons.color_lens,
|
||||||
|
size: 20,
|
||||||
|
color: kBackgroundSecondGrey,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
roomDetailDTO.devices![index].colorTemp!.toString(),
|
||||||
|
style: new TextStyle(fontSize: kDescriptionSmallDetailSize, color: kBackgroundSecondGrey),
|
||||||
|
maxLines: 1,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
if(roomDetailDTO.devices![index].isColorXY!)
|
||||||
|
Positioned(
|
||||||
|
bottom: 5,
|
||||||
|
right: 5,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons.colorize_outlined,
|
||||||
|
size: 20,
|
||||||
|
color: kBackgroundSecondGrey,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
roomDetailDTO.devices![index].colorX!.toString() + ' ' + roomDetailDTO.devices![index].colorY!.toString() ,
|
||||||
|
style: new TextStyle(fontSize: kDescriptionSmallDetailSize, color: kBackgroundSecondGrey),
|
||||||
|
maxLines: 1,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
if(roomDetailDTO.devices![index].isBrightness!)
|
||||||
|
Positioned(
|
||||||
|
bottom: 5,
|
||||||
|
left: 0,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons.brightness_medium_rounded,
|
||||||
|
size: 20,
|
||||||
|
color: kBackgroundSecondGrey,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
roomDetailDTO.devices![index].brightness!.toString(),
|
||||||
|
style: new TextStyle(fontSize: kDescriptionSmallDetailSize, color: kBackgroundSecondGrey),
|
||||||
|
maxLines: 1,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -170,7 +423,7 @@ class _RoomDetailPageState extends State<RoomDetailPage> {
|
|||||||
|
|
||||||
boxDecorationDeviceDetail(DeviceDetailDTO deviceDetailDTO, bool isSelected) {
|
boxDecorationDeviceDetail(DeviceDetailDTO deviceDetailDTO, bool isSelected) {
|
||||||
return BoxDecoration(
|
return BoxDecoration(
|
||||||
color: kBackgroundLight,
|
color: deviceDetailDTO.isState! ? deviceDetailDTO.state! ? kMainColor : kBackgroundLight : kBackgroundLight,
|
||||||
shape: BoxShape.rectangle,
|
shape: BoxShape.rectangle,
|
||||||
borderRadius: BorderRadius.circular(20.0),
|
borderRadius: BorderRadius.circular(20.0),
|
||||||
/*image: roomMainDetailDTO.imageSource != null ? new DecorationImage(
|
/*image: roomMainDetailDTO.imageSource != null ? new DecorationImage(
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import 'package:myhomie_app/Components/loading_common.dart';
|
|||||||
import 'package:myhomie_app/Models/homieContext.dart';
|
import 'package:myhomie_app/Models/homieContext.dart';
|
||||||
import 'package:myhomie_app/Screens/Main/Security/alarmDetailPage.dart';
|
import 'package:myhomie_app/Screens/Main/Security/alarmDetailPage.dart';
|
||||||
import 'package:myhomie_app/Screens/Main/Security/changeAlarmMode.dart';
|
import 'package:myhomie_app/Screens/Main/Security/changeAlarmMode.dart';
|
||||||
|
import 'package:myhomie_app/Screens/Main/Security/streamWidget.dart';
|
||||||
import 'package:myhomie_app/app_context.dart';
|
import 'package:myhomie_app/app_context.dart';
|
||||||
import 'package:myhomie_app/constants.dart';
|
import 'package:myhomie_app/constants.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
@ -108,6 +109,16 @@ class _SecurityScreenState extends State<SecurityScreen> {
|
|||||||
}
|
}
|
||||||
),
|
),
|
||||||
Text("TODO Cameras"),
|
Text("TODO Cameras"),
|
||||||
|
Container(
|
||||||
|
height: size.height * 0.3,
|
||||||
|
width: size.width * 0.9,
|
||||||
|
child: ImageStreamWidget(
|
||||||
|
initialImageUrl: "http://192.168.31.140:8765/picture/4/current",
|
||||||
|
) /*VideoPlayerWidget(
|
||||||
|
videoUrl: "http://192.168.31.140:8084/", //"http://192.168.31.140:8084/",
|
||||||
|
)*/,
|
||||||
|
),
|
||||||
|
Text("Test ?"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
//),
|
//),
|
||||||
@ -116,6 +127,7 @@ class _SecurityScreenState extends State<SecurityScreen> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
alarmDecoration(AlarmModeDTO alarmModeDTO) {
|
alarmDecoration(AlarmModeDTO alarmModeDTO) {
|
||||||
return BoxDecoration(
|
return BoxDecoration(
|
||||||
color: alarmModeDTO.activated! && alarmModeDTO.type == AlarmType.desarmed ? Colors.white : Colors.red.withOpacity(0.6),
|
color: alarmModeDTO.activated! && alarmModeDTO.type == AlarmType.desarmed ? Colors.white : Colors.red.withOpacity(0.6),
|
||||||
|
|||||||
49
lib/Screens/Main/Security/streamWidget.dart
Normal file
49
lib/Screens/Main/Security/streamWidget.dart
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'dart:async';
|
||||||
|
|
||||||
|
class ImageStreamWidget extends StatefulWidget {
|
||||||
|
final String initialImageUrl;
|
||||||
|
|
||||||
|
ImageStreamWidget({required this.initialImageUrl});
|
||||||
|
|
||||||
|
@override
|
||||||
|
_ImageStreamWidgetState createState() => _ImageStreamWidgetState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _ImageStreamWidgetState extends State<ImageStreamWidget> {
|
||||||
|
late String currentImageUrl;
|
||||||
|
late Timer _timer;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
currentImageUrl = widget.initialImageUrl;
|
||||||
|
|
||||||
|
// Créez un Timer pour mettre à jour l'image toutes les secondes
|
||||||
|
_timer = Timer.periodic(Duration(seconds: 1), (timer) {
|
||||||
|
updateImageUrl();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
void updateImageUrl() {
|
||||||
|
// Changez l'URL de l'image ici à chaque itération du timer
|
||||||
|
// Par exemple, ajoutez un timestamp pour forcer le rafraîchissement
|
||||||
|
final timestamp = DateTime.now().millisecondsSinceEpoch;
|
||||||
|
setState(() {
|
||||||
|
currentImageUrl = widget.initialImageUrl + '?timestamp=$timestamp';
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
super.dispose();
|
||||||
|
// Arrêtez le timer lorsque le widget est supprimé
|
||||||
|
_timer.cancel();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
// Affichez l'image à partir de l'URL actuelle
|
||||||
|
return Image.network(currentImageUrl);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -3667,6 +3667,9 @@ components:
|
|||||||
name:
|
name:
|
||||||
type: string
|
type: string
|
||||||
nullable: true
|
nullable: true
|
||||||
|
nameForAction:
|
||||||
|
type: string
|
||||||
|
nullable: true
|
||||||
model:
|
model:
|
||||||
type: string
|
type: string
|
||||||
nullable: true
|
nullable: true
|
||||||
|
|||||||
@ -11,6 +11,7 @@ const kBackgroundSecondGrey = Color(0xFF5b5b63);
|
|||||||
|
|
||||||
const kDetailSize = 20.0;
|
const kDetailSize = 20.0;
|
||||||
const kDescriptionDetailSize = 15.0;
|
const kDescriptionDetailSize = 15.0;
|
||||||
|
const kDescriptionSmallDetailSize = 11.0;
|
||||||
|
|
||||||
const kMainColor = Color(0xFF308aae);
|
const kMainColor = Color(0xFF308aae);
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -12,6 +12,7 @@ Name | Type | Description | Notes
|
|||||||
**homeId** | **String** | | [optional]
|
**homeId** | **String** | | [optional]
|
||||||
**description** | **String** | | [optional]
|
**description** | **String** | | [optional]
|
||||||
**name** | **String** | | [optional]
|
**name** | **String** | | [optional]
|
||||||
|
**nameForAction** | **String** | | [optional]
|
||||||
**model** | **String** | | [optional]
|
**model** | **String** | | [optional]
|
||||||
**type** | [**DeviceType**](DeviceType.md) | | [optional]
|
**type** | [**DeviceType**](DeviceType.md) | | [optional]
|
||||||
**status** | **bool** | | [optional]
|
**status** | **bool** | | [optional]
|
||||||
|
|||||||
@ -12,6 +12,7 @@ Name | Type | Description | Notes
|
|||||||
**homeId** | **String** | | [optional]
|
**homeId** | **String** | | [optional]
|
||||||
**description** | **String** | | [optional]
|
**description** | **String** | | [optional]
|
||||||
**name** | **String** | | [optional]
|
**name** | **String** | | [optional]
|
||||||
|
**nameForAction** | **String** | | [optional]
|
||||||
**model** | **String** | | [optional]
|
**model** | **String** | | [optional]
|
||||||
**type** | [**DeviceType**](DeviceType.md) | | [optional]
|
**type** | [**DeviceType**](DeviceType.md) | | [optional]
|
||||||
**status** | **bool** | | [optional]
|
**status** | **bool** | | [optional]
|
||||||
|
|||||||
@ -17,6 +17,7 @@ class DeviceDetailDTO {
|
|||||||
this.homeId,
|
this.homeId,
|
||||||
this.description,
|
this.description,
|
||||||
this.name,
|
this.name,
|
||||||
|
this.nameForAction,
|
||||||
this.model,
|
this.model,
|
||||||
this.type,
|
this.type,
|
||||||
this.status,
|
this.status,
|
||||||
@ -101,6 +102,8 @@ class DeviceDetailDTO {
|
|||||||
|
|
||||||
String? name;
|
String? name;
|
||||||
|
|
||||||
|
String? nameForAction;
|
||||||
|
|
||||||
String? model;
|
String? model;
|
||||||
|
|
||||||
///
|
///
|
||||||
@ -567,6 +570,7 @@ class DeviceDetailDTO {
|
|||||||
other.homeId == homeId &&
|
other.homeId == homeId &&
|
||||||
other.description == description &&
|
other.description == description &&
|
||||||
other.name == name &&
|
other.name == name &&
|
||||||
|
other.nameForAction == nameForAction &&
|
||||||
other.model == model &&
|
other.model == model &&
|
||||||
other.type == type &&
|
other.type == type &&
|
||||||
other.status == status &&
|
other.status == status &&
|
||||||
@ -649,6 +653,7 @@ class DeviceDetailDTO {
|
|||||||
(homeId == null ? 0 : homeId!.hashCode) +
|
(homeId == null ? 0 : homeId!.hashCode) +
|
||||||
(description == null ? 0 : description!.hashCode) +
|
(description == null ? 0 : description!.hashCode) +
|
||||||
(name == null ? 0 : name!.hashCode) +
|
(name == null ? 0 : name!.hashCode) +
|
||||||
|
(nameForAction == null ? 0 : nameForAction!.hashCode) +
|
||||||
(model == null ? 0 : model!.hashCode) +
|
(model == null ? 0 : model!.hashCode) +
|
||||||
(type == null ? 0 : type!.hashCode) +
|
(type == null ? 0 : type!.hashCode) +
|
||||||
(status == null ? 0 : status!.hashCode) +
|
(status == null ? 0 : status!.hashCode) +
|
||||||
@ -725,7 +730,7 @@ class DeviceDetailDTO {
|
|||||||
(noise == null ? 0 : noise!.hashCode);
|
(noise == null ? 0 : noise!.hashCode);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() => 'DeviceDetailDTO[id=$id, homeId=$homeId, description=$description, name=$name, model=$model, type=$type, status=$status, connectionStatus=$connectionStatus, roomId=$roomId, providerId=$providerId, providerName=$providerName, lastStateDate=$lastStateDate, lastMessageDate=$lastMessageDate, battery=$battery, batteryStatus=$batteryStatus, firmwareVersion=$firmwareVersion, hardwareVersion=$hardwareVersion, port=$port, meansOfCommunications=$meansOfCommunications, createdDate=$createdDate, updatedDate=$updatedDate, lastMessage=$lastMessage, lastState=$lastState, ipAddress=$ipAddress, serviceIdentification=$serviceIdentification, manufacturerName=$manufacturerName, groupIds=$groupIds, properties=$properties, supportedOperations=$supportedOperations, isContact=$isContact, contact=$contact, isIlluminance=$isIlluminance, illuminance=$illuminance, isBrightness=$isBrightness, brightness=$brightness, isState=$isState, state=$state, isColorTemp=$isColorTemp, colorTemp=$colorTemp, isColorXY=$isColorXY, colorX=$colorX, colorY=$colorY, isOccupation=$isOccupation, occupation=$occupation, isAlarm=$isAlarm, alarm=$alarm, isWaterLeak=$isWaterLeak, waterLeak=$waterLeak, isSmoke=$isSmoke, smoke=$smoke, isVibration=$isVibration, vibration=$vibration, isAction=$isAction, action=$action, isTemperature=$isTemperature, temperature=$temperature, isHumidity=$isHumidity, humidity=$humidity, isPressure=$isPressure, pressure=$pressure, isAirQuality=$isAirQuality, airQuality=$airQuality, isFanSpeed=$isFanSpeed, fanSpeed=$fanSpeed, isFanMode=$isFanMode, fanMode=$fanMode, isConsumption=$isConsumption, consumption=$consumption, isCurrentPower=$isCurrentPower, currentPower=$currentPower, isVoltage=$isVoltage, voltage=$voltage, isLinkQuality=$isLinkQuality, linkQuality=$linkQuality, isCO2=$isCO2, cO2=$cO2, isNoise=$isNoise, noise=$noise]';
|
String toString() => 'DeviceDetailDTO[id=$id, homeId=$homeId, description=$description, name=$name, nameForAction=$nameForAction, model=$model, type=$type, status=$status, connectionStatus=$connectionStatus, roomId=$roomId, providerId=$providerId, providerName=$providerName, lastStateDate=$lastStateDate, lastMessageDate=$lastMessageDate, battery=$battery, batteryStatus=$batteryStatus, firmwareVersion=$firmwareVersion, hardwareVersion=$hardwareVersion, port=$port, meansOfCommunications=$meansOfCommunications, createdDate=$createdDate, updatedDate=$updatedDate, lastMessage=$lastMessage, lastState=$lastState, ipAddress=$ipAddress, serviceIdentification=$serviceIdentification, manufacturerName=$manufacturerName, groupIds=$groupIds, properties=$properties, supportedOperations=$supportedOperations, isContact=$isContact, contact=$contact, isIlluminance=$isIlluminance, illuminance=$illuminance, isBrightness=$isBrightness, brightness=$brightness, isState=$isState, state=$state, isColorTemp=$isColorTemp, colorTemp=$colorTemp, isColorXY=$isColorXY, colorX=$colorX, colorY=$colorY, isOccupation=$isOccupation, occupation=$occupation, isAlarm=$isAlarm, alarm=$alarm, isWaterLeak=$isWaterLeak, waterLeak=$waterLeak, isSmoke=$isSmoke, smoke=$smoke, isVibration=$isVibration, vibration=$vibration, isAction=$isAction, action=$action, isTemperature=$isTemperature, temperature=$temperature, isHumidity=$isHumidity, humidity=$humidity, isPressure=$isPressure, pressure=$pressure, isAirQuality=$isAirQuality, airQuality=$airQuality, isFanSpeed=$isFanSpeed, fanSpeed=$fanSpeed, isFanMode=$isFanMode, fanMode=$fanMode, isConsumption=$isConsumption, consumption=$consumption, isCurrentPower=$isCurrentPower, currentPower=$currentPower, isVoltage=$isVoltage, voltage=$voltage, isLinkQuality=$isLinkQuality, linkQuality=$linkQuality, isCO2=$isCO2, cO2=$cO2, isNoise=$isNoise, noise=$noise]';
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final json = <String, dynamic>{};
|
final json = <String, dynamic>{};
|
||||||
@ -749,6 +754,11 @@ class DeviceDetailDTO {
|
|||||||
} else {
|
} else {
|
||||||
json[r'name'] = null;
|
json[r'name'] = null;
|
||||||
}
|
}
|
||||||
|
if (this.nameForAction != null) {
|
||||||
|
json[r'nameForAction'] = this.nameForAction;
|
||||||
|
} else {
|
||||||
|
json[r'nameForAction'] = null;
|
||||||
|
}
|
||||||
if (this.model != null) {
|
if (this.model != null) {
|
||||||
json[r'model'] = this.model;
|
json[r'model'] = this.model;
|
||||||
} else {
|
} else {
|
||||||
@ -1145,6 +1155,7 @@ class DeviceDetailDTO {
|
|||||||
homeId: mapValueOfType<String>(json, r'homeId'),
|
homeId: mapValueOfType<String>(json, r'homeId'),
|
||||||
description: mapValueOfType<String>(json, r'description'),
|
description: mapValueOfType<String>(json, r'description'),
|
||||||
name: mapValueOfType<String>(json, r'name'),
|
name: mapValueOfType<String>(json, r'name'),
|
||||||
|
nameForAction: mapValueOfType<String>(json, r'nameForAction'),
|
||||||
model: mapValueOfType<String>(json, r'model'),
|
model: mapValueOfType<String>(json, r'model'),
|
||||||
type: DeviceType.fromJson(json[r'type']),
|
type: DeviceType.fromJson(json[r'type']),
|
||||||
status: mapValueOfType<bool>(json, r'status'),
|
status: mapValueOfType<bool>(json, r'status'),
|
||||||
|
|||||||
@ -17,6 +17,7 @@ class DeviceSummaryDTO {
|
|||||||
this.homeId,
|
this.homeId,
|
||||||
this.description,
|
this.description,
|
||||||
this.name,
|
this.name,
|
||||||
|
this.nameForAction,
|
||||||
this.model,
|
this.model,
|
||||||
this.type,
|
this.type,
|
||||||
this.status,
|
this.status,
|
||||||
@ -38,6 +39,8 @@ class DeviceSummaryDTO {
|
|||||||
|
|
||||||
String? name;
|
String? name;
|
||||||
|
|
||||||
|
String? nameForAction;
|
||||||
|
|
||||||
String? model;
|
String? model;
|
||||||
|
|
||||||
///
|
///
|
||||||
@ -108,6 +111,7 @@ class DeviceSummaryDTO {
|
|||||||
other.homeId == homeId &&
|
other.homeId == homeId &&
|
||||||
other.description == description &&
|
other.description == description &&
|
||||||
other.name == name &&
|
other.name == name &&
|
||||||
|
other.nameForAction == nameForAction &&
|
||||||
other.model == model &&
|
other.model == model &&
|
||||||
other.type == type &&
|
other.type == type &&
|
||||||
other.status == status &&
|
other.status == status &&
|
||||||
@ -127,6 +131,7 @@ class DeviceSummaryDTO {
|
|||||||
(homeId == null ? 0 : homeId!.hashCode) +
|
(homeId == null ? 0 : homeId!.hashCode) +
|
||||||
(description == null ? 0 : description!.hashCode) +
|
(description == null ? 0 : description!.hashCode) +
|
||||||
(name == null ? 0 : name!.hashCode) +
|
(name == null ? 0 : name!.hashCode) +
|
||||||
|
(nameForAction == null ? 0 : nameForAction!.hashCode) +
|
||||||
(model == null ? 0 : model!.hashCode) +
|
(model == null ? 0 : model!.hashCode) +
|
||||||
(type == null ? 0 : type!.hashCode) +
|
(type == null ? 0 : type!.hashCode) +
|
||||||
(status == null ? 0 : status!.hashCode) +
|
(status == null ? 0 : status!.hashCode) +
|
||||||
@ -140,7 +145,7 @@ class DeviceSummaryDTO {
|
|||||||
(batteryStatus == null ? 0 : batteryStatus!.hashCode);
|
(batteryStatus == null ? 0 : batteryStatus!.hashCode);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() => 'DeviceSummaryDTO[id=$id, homeId=$homeId, description=$description, name=$name, model=$model, type=$type, status=$status, connectionStatus=$connectionStatus, roomId=$roomId, providerId=$providerId, providerName=$providerName, lastStateDate=$lastStateDate, lastMessageDate=$lastMessageDate, battery=$battery, batteryStatus=$batteryStatus]';
|
String toString() => 'DeviceSummaryDTO[id=$id, homeId=$homeId, description=$description, name=$name, nameForAction=$nameForAction, model=$model, type=$type, status=$status, connectionStatus=$connectionStatus, roomId=$roomId, providerId=$providerId, providerName=$providerName, lastStateDate=$lastStateDate, lastMessageDate=$lastMessageDate, battery=$battery, batteryStatus=$batteryStatus]';
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final json = <String, dynamic>{};
|
final json = <String, dynamic>{};
|
||||||
@ -164,6 +169,11 @@ class DeviceSummaryDTO {
|
|||||||
} else {
|
} else {
|
||||||
json[r'name'] = null;
|
json[r'name'] = null;
|
||||||
}
|
}
|
||||||
|
if (this.nameForAction != null) {
|
||||||
|
json[r'nameForAction'] = this.nameForAction;
|
||||||
|
} else {
|
||||||
|
json[r'nameForAction'] = null;
|
||||||
|
}
|
||||||
if (this.model != null) {
|
if (this.model != null) {
|
||||||
json[r'model'] = this.model;
|
json[r'model'] = this.model;
|
||||||
} else {
|
} else {
|
||||||
@ -245,6 +255,7 @@ class DeviceSummaryDTO {
|
|||||||
homeId: mapValueOfType<String>(json, r'homeId'),
|
homeId: mapValueOfType<String>(json, r'homeId'),
|
||||||
description: mapValueOfType<String>(json, r'description'),
|
description: mapValueOfType<String>(json, r'description'),
|
||||||
name: mapValueOfType<String>(json, r'name'),
|
name: mapValueOfType<String>(json, r'name'),
|
||||||
|
nameForAction: mapValueOfType<String>(json, r'nameForAction'),
|
||||||
model: mapValueOfType<String>(json, r'model'),
|
model: mapValueOfType<String>(json, r'model'),
|
||||||
type: DeviceType.fromJson(json[r'type']),
|
type: DeviceType.fromJson(json[r'type']),
|
||||||
status: mapValueOfType<bool>(json, r'status'),
|
status: mapValueOfType<bool>(json, r'status'),
|
||||||
|
|||||||
88
pubspec.lock
88
pubspec.lock
@ -13,10 +13,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: _flutterfire_internals
|
name: _flutterfire_internals
|
||||||
sha256: "5dce45a06d386358334eb1689108db6455d90ceb0d75848d5f4819283d4ee2b8"
|
sha256: "1a5e13736d59235ce0139621b4bbe29bc89839e202409081bc667eb3cd20674c"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.4"
|
version: "1.3.5"
|
||||||
analyzer:
|
analyzer:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -177,6 +177,14 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.3"
|
version: "3.0.3"
|
||||||
|
csslib:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: csslib
|
||||||
|
sha256: "706b5707578e0c1b4b7550f64078f0a0f19dec3f50a178ffae7006b0a9ca58fb"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.0"
|
||||||
cupertino_icons:
|
cupertino_icons:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@ -237,10 +245,10 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: firebase_core
|
name: firebase_core
|
||||||
sha256: "2e9324f719e90200dc7d3c4f5d2abc26052f9f2b995d3b6626c47a0dfe1c8192"
|
sha256: c78132175edda4bc532a71e01a32964e4b4fcf53de7853a422d96dac3725f389
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.15.0"
|
version: "2.15.1"
|
||||||
firebase_core_platform_interface:
|
firebase_core_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -253,34 +261,34 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: firebase_core_web
|
name: firebase_core_web
|
||||||
sha256: "0fd5c4b228de29b55fac38aed0d9e42514b3d3bd47675de52bf7f8fccaf922fa"
|
sha256: "4cf4d2161530332ddc3c562f19823fb897ff37a9a774090d28df99f47370e973"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.6.0"
|
version: "2.7.0"
|
||||||
firebase_messaging:
|
firebase_messaging:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: firebase_messaging
|
name: firebase_messaging
|
||||||
sha256: "8ac91d83a028eef050de770f1dc98421e215714d245f34de7b154d436676fbd0"
|
sha256: db4a38be54fd84849c21be1ae1b44f0d4637eec1069bf5c49ea95e81f582bbc0
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "14.6.5"
|
version: "14.6.6"
|
||||||
firebase_messaging_platform_interface:
|
firebase_messaging_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: firebase_messaging_platform_interface
|
name: firebase_messaging_platform_interface
|
||||||
sha256: b2995e3640efb646e9ebf0e2fa50dea84895f0746a31d7e3af0e5e009a533a1a
|
sha256: "164119eed47ff19284e28bea9165a03da110c56ea09dd996622cfccad14d0efd"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.5.4"
|
version: "4.5.5"
|
||||||
firebase_messaging_web:
|
firebase_messaging_web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: firebase_messaging_web
|
name: firebase_messaging_web
|
||||||
sha256: "5d8446a28339124a2cb4f57a6ca454a3aca7d0c5c0cdfa5707afb192f7c830a7"
|
sha256: "6196d20731733834d7afb175c4345be57ddbd5daebca83cd52a430d62c2279fe"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.5.4"
|
version: "3.5.5"
|
||||||
fixnum:
|
fixnum:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -352,6 +360,14 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.3.1"
|
version: "2.3.1"
|
||||||
|
html:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: html
|
||||||
|
sha256: "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.15.4"
|
||||||
http:
|
http:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -684,6 +700,14 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.6.0"
|
version: "0.6.0"
|
||||||
|
timer_builder:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: timer_builder
|
||||||
|
sha256: "67c5653a8d9f6ce62fe9121e520736e9da74418a919fe1c0e181b5d2627dbc4a"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.0"
|
||||||
timing:
|
timing:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -740,6 +764,46 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.4"
|
version: "2.1.4"
|
||||||
|
video_player:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: video_player
|
||||||
|
sha256: "3fd106c74da32f336dc7feb65021da9b0207cb3124392935f1552834f7cce822"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.7.0"
|
||||||
|
video_player_android:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: video_player_android
|
||||||
|
sha256: f338a5a396c845f4632959511cad3542cdf3167e1b2a1a948ef07f7123c03608
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.4.9"
|
||||||
|
video_player_avfoundation:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: video_player_avfoundation
|
||||||
|
sha256: f5f5b7fe8c865be8a57fe80c2dca130772e1db775b7af4e5c5aa1905069cfc6c
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.4.9"
|
||||||
|
video_player_platform_interface:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: video_player_platform_interface
|
||||||
|
sha256: "1ca9acd7a0fb15fb1a990cb554e6f004465c6f37c99d2285766f08a4b2802988"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "6.2.0"
|
||||||
|
video_player_web:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: video_player_web
|
||||||
|
sha256: "44ce41424d104dfb7cf6982cc6b84af2b007a24d126406025bf40de5d481c74c"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.16"
|
||||||
watcher:
|
watcher:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|||||||
@ -43,7 +43,9 @@ dependencies:
|
|||||||
cupertino_icons: ^1.0.5
|
cupertino_icons: ^1.0.5
|
||||||
auto_size_text: ^3.0.0
|
auto_size_text: ^3.0.0
|
||||||
firebase_core: ^2.15.0
|
firebase_core: ^2.15.0
|
||||||
firebase_messaging: ^14.6.5
|
firebase_messaging: ^14.6.6
|
||||||
|
video_player: ^2.7.0
|
||||||
|
timer_builder: ^2.0.0
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user