add water heater device to routine and fix device type in routine

This commit is contained in:
mohammad
2025-05-05 10:00:54 +03:00
parent 5890a70243
commit 8a21828dd4
13 changed files with 352 additions and 22 deletions

View File

@ -7,6 +7,7 @@ class OneGangHelperFunctions {
String deviceId, String deviceName, functionValue) {
return [
SceneStaticFunction(
deviceType: '1G',
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.assetsAcPower,
@ -22,6 +23,7 @@ class OneGangHelperFunctions {
],
),
SceneStaticFunction(
deviceType: '1G',
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.assetsLightCountdown,
@ -40,6 +42,7 @@ class OneGangHelperFunctions {
String deviceId, String deviceName, functionValue) {
return [
SceneStaticFunction(
deviceType: '1G',
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.assetsAcPower,
@ -55,6 +58,7 @@ class OneGangHelperFunctions {
],
),
SceneStaticFunction(
deviceType: '1G',
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.assetsLightCountdown,

View File

@ -7,6 +7,7 @@ class ThreeGangHelperFunctions {
String deviceId, String deviceName, functionValue) {
return [
SceneStaticFunction(
deviceType: '3G',
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.assetsAcPower,
@ -22,6 +23,7 @@ class ThreeGangHelperFunctions {
],
),
SceneStaticFunction(
deviceType: '3G',
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.assetsLightCountdown,
@ -34,6 +36,7 @@ class ThreeGangHelperFunctions {
],
),
SceneStaticFunction(
deviceType: '3G',
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.assetsAcPower,
@ -49,6 +52,7 @@ class ThreeGangHelperFunctions {
],
),
SceneStaticFunction(
deviceType: '3G',
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.assetsLightCountdown,
@ -61,6 +65,7 @@ class ThreeGangHelperFunctions {
],
),
SceneStaticFunction(
deviceType: '3G',
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.assetsAcPower,
@ -76,6 +81,7 @@ class ThreeGangHelperFunctions {
],
),
SceneStaticFunction(
deviceType: '3G',
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.assetsLightCountdown,
@ -94,6 +100,7 @@ class ThreeGangHelperFunctions {
String deviceId, String deviceName, functionValue) {
return [
SceneStaticFunction(
deviceType: '3G',
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.assetsAcPower,
@ -109,6 +116,7 @@ class ThreeGangHelperFunctions {
],
),
SceneStaticFunction(
deviceType: '3G',
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.assetsLightCountdown,
@ -128,6 +136,7 @@ class ThreeGangHelperFunctions {
],
),
SceneStaticFunction(
deviceType: '3G',
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.assetsAcPower,
@ -143,6 +152,7 @@ class ThreeGangHelperFunctions {
],
),
SceneStaticFunction(
deviceType: '3G',
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.assetsLightCountdown,
@ -162,6 +172,7 @@ class ThreeGangHelperFunctions {
],
),
SceneStaticFunction(
deviceType: '3G',
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.assetsAcPower,
@ -177,6 +188,7 @@ class ThreeGangHelperFunctions {
],
),
SceneStaticFunction(
deviceType: '3G',
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.assetsLightCountdown,

View File

@ -0,0 +1,124 @@
import 'package:syncrow_app/features/scene/enum/operation_dialog_type.dart';
import 'package:syncrow_app/features/scene/model/scene_static_function.dart';
import 'package:syncrow_app/generated/assets.dart';
class WaterHeaterFunctionsHelper {
static List<SceneStaticFunction> waterHeaterHelperFunctions(
String deviceId, String deviceName, functionValue) {
return [
SceneStaticFunction(
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.assetsAcPower,
operationName: 'Reverse Switch',
code: 'switch_1',
functionValue: functionValue,
operationDialogType: OperationDialogType.onOff,
operationalValues: [
SceneOperationalValue(
icon: Assets.assetsAcPowerOFF,
description: "Power OFF",
value: false),
SceneOperationalValue(
icon: Assets.assetsAcPower,
description: "Power ON",
value: true,
),
],
),
SceneStaticFunction(
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.assetsLightCountdown,
operationName: 'CountDown',
code: 'countdown_1',
functionValue: functionValue,
operationDialogType: OperationDialogType.countdown,
operationalValues: [
SceneOperationalValue(icon: '', value: 0),
],
),
];
}
static List<SceneStaticFunction> waterHeaterAutomationFunctions(
String deviceId, String deviceName, functionValue) {
return [
SceneStaticFunction(
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.refreshStatusIcon,
operationName: 'Restart Status',
code: 'relay_status',
functionValue: functionValue,
operationDialogType: OperationDialogType.none,
operationalValues: [
SceneOperationalValue(
icon: Assets.assetsAcPowerOFF,
description: "Power OFF",
value: 'off',
),
SceneOperationalValue(
icon: Assets.assetsAcPower,
description: "Power ON",
value: 'on',
),
SceneOperationalValue(
icon: Assets.refreshStatusIcon,
description: "Restart Memory",
value: 'memory',
),
],
),
SceneStaticFunction(
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.assetsAcPower,
operationName: 'Switch',
code: 'switch_1',
functionValue: functionValue,
operationDialogType: OperationDialogType.onOff,
operationalValues: [
SceneOperationalValue(
icon: Assets.assetsAcPower, description: "ON", value: true),
SceneOperationalValue(
icon: Assets.assetsAcPowerOFF, description: "OFF", value: false),
],
),
SceneStaticFunction(
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.assetsLightCountdown,
operationName: 'CountDown',
code: 'countdown_1',
functionValue: functionValue,
operationDialogType: OperationDialogType.integerSteps,
operationalValues: [
SceneOperationalValue(
icon: '',
description: "sec",
value: 0.0,
minValue: 0,
maxValue: 43200,
stepValue: 1,
),
],
),
SceneStaticFunction(
deviceId: deviceId,
deviceName: deviceName,
icon: Assets.assetsIndicator,
operationName: 'Backlight Switch',
code: 'switch_backlight',
functionValue: functionValue,
operationDialogType: OperationDialogType.onOff,
operationalValues: [
SceneOperationalValue(
icon: Assets.assetsAcPower, description: "ON", value: true),
SceneOperationalValue(
icon: Assets.assetsAcPowerOFF, description: "OFF", value: false),
],
),
];
}
}