homebridge-melcloud-control 4.1.2-beta.28 → 4.1.2-beta.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/config.schema.json +944 -820
  2. package/package.json +1 -1
@@ -399,25 +399,37 @@
399
399
  "title": "Frost Protection",
400
400
  "type": "boolean",
401
401
  "default": false,
402
- "description": "This enable extra frost protection sensor to use with automations in HomeKit app."
402
+ "description": "This enable extra frost protection sensor to use with automations in HomeKit app.",
403
+ "condition": {
404
+ "functionBody": "return model.accounts[arrayIndices[0]].type === 'melcloudhome';"
405
+ }
403
406
  },
404
407
  "overheatProtectionSensor": {
405
408
  "title": "Overheat Protection",
406
409
  "type": "boolean",
407
410
  "default": false,
408
- "description": "This enable extra overheat protection sensor to use with automations in HomeKit app."
411
+ "description": "This enable extra overheat protection sensor to use with automations in HomeKit app.",
412
+ "condition": {
413
+ "functionBody": "return model.accounts[arrayIndices[0]].type === 'melcloudhome';"
414
+ }
409
415
  },
410
416
  "holidayModeSensor": {
411
417
  "title": "Holiday Mode",
412
418
  "type": "boolean",
413
419
  "default": false,
414
- "description": "This enable extra holiday mode sensor to use with automations in HomeKit app."
420
+ "description": "This enable extra holiday mode sensor to use with automations in HomeKit app.",
421
+ "condition": {
422
+ "functionBody": "return model.accounts[arrayIndices[0]].type === 'melcloudhome';"
423
+ }
415
424
  },
416
425
  "scheduleSensor": {
417
426
  "title": "Schedule",
418
427
  "type": "boolean",
419
428
  "default": false,
420
- "description": "This enable extra schedule sensor to use with automations in HomeKit app."
429
+ "description": "This enable extra schedule sensor to use with automations in HomeKit app.",
430
+ "condition": {
431
+ "functionBody": "return model.accounts[arrayIndices[0]].type === 'melcloudhome';"
432
+ }
421
433
  },
422
434
  "errorSensor": {
423
435
  "title": "Error",
@@ -494,13 +506,19 @@
494
506
  "title": "Name",
495
507
  "type": "string",
496
508
  "default": "Preset",
497
- "description": "Your own name displayed in Homebridge/HomeKit app."
509
+ "description": "Your own name displayed in Homebridge/HomeKit app.",
510
+ "condition": {
511
+ "functionBody": "return model.accounts[arrayIndices[0]].ataDevices[arrayIndices[1]].presets[arrayIndices[2]].displayType > 0;"
512
+ }
498
513
  },
499
514
  "namePrefix": {
500
515
  "title": "Prefix",
501
516
  "type": "boolean",
502
517
  "default": false,
503
- "description": "Enable/disable the accessory name as a prefix for button/sensor name."
518
+ "description": "Enable/disable the accessory name as a prefix for button/sensor name.",
519
+ "condition": {
520
+ "functionBody": "return model.accounts[arrayIndices[0]].ataDevices[arrayIndices[1]].presets[arrayIndices[2]].displayType > 0;"
521
+ }
504
522
  }
505
523
  },
506
524
  "required": [
@@ -777,19 +795,28 @@
777
795
  40
778
796
  ]
779
797
  }
780
- ]
798
+ ],
799
+ "condition": {
800
+ "functionBody": "return model.accounts[arrayIndices[0]].ataDevices[arrayIndices[1]].buttonsSensors[arrayIndices[2]].displayType > 0;"
801
+ }
781
802
  },
782
803
  "name": {
783
804
  "title": "Name",
784
805
  "type": "string",
785
806
  "placeholder": "Button name",
786
- "description": "Your own name displayed in Homebridge/HomeKit app."
807
+ "description": "Your own name displayed in Homebridge/HomeKit app.",
808
+ "condition": {
809
+ "functionBody": "return model.accounts[arrayIndices[0]].ataDevices[arrayIndices[1]].buttonsSensors[arrayIndices[2]].displayType > 0;"
810
+ }
787
811
  },
788
812
  "namePrefix": {
789
813
  "title": "Prefix",
790
814
  "type": "boolean",
791
815
  "default": false,
792
- "description": "Enable/disable the accessory name as a prefix for button/sensor name."
816
+ "description": "Enable/disable the accessory name as a prefix for button/sensor name.",
817
+ "condition": {
818
+ "functionBody": "return model.accounts[arrayIndices[0]].ataDevices[arrayIndices[1]].buttonsSensors[arrayIndices[2]].displayType > 0;"
819
+ }
793
820
  }
794
821
  },
795
822
  "required": [
@@ -1095,830 +1122,897 @@
1095
1122
  "title": "Name",
1096
1123
  "type": "string",
1097
1124
  "default": "Preset",
1098
- "description": "Your own name displayed in Homebridge/HomeKit app."
1125
+ "description": "Your own name displayed in Homebridge/HomeKit app.",
1126
+ "condition": {
1127
+ "functionBody": "return model.accounts[arrayIndices[0]].atwDevices[arrayIndices[1]].presets[arrayIndices[2]].displayType > 0;"
1128
+ }
1099
1129
  },
1100
1130
  "namePrefix": {
1101
1131
  "title": "Prefix",
1102
1132
  "type": "boolean",
1103
1133
  "default": false,
1104
- "description": "Enable/disable the accessory name as a prefix for button/sensor name."
1105
- }
1106
- }
1107
- },
1108
- "required": [
1109
- "displayType"
1110
- ]
1111
- }
1112
- },
1113
- "buttonsSensors": {
1114
- "title": "Button",
1115
- "type": "array",
1116
- "items": {
1117
- "type": "object",
1118
- "properties": {
1119
- "displayType": {
1120
- "title": "Display Type",
1121
- "type": "integer",
1122
- "minimum": 0,
1123
- "maximum": 5,
1124
- "default": 0,
1125
- "description": "Select the characteristic type to be displayed in HomeKit app.",
1126
- "anyOf": [
1127
- {
1128
- "title": "None/Disabled",
1129
- "enum": [
1130
- 0
1131
- ]
1132
- },
1133
- {
1134
- "title": "Outlet",
1135
- "enum": [
1136
- 1
1137
- ]
1138
- },
1139
- {
1140
- "title": "Switch",
1141
- "enum": [
1142
- 2
1143
- ]
1144
- },
1145
- {
1146
- "title": "Motion Sensor",
1147
- "enum": [
1148
- 3
1149
- ]
1150
- },
1151
- {
1152
- "title": "Occupancy Sensor",
1153
- "enum": [
1154
- 4
1155
- ]
1156
- },
1157
- {
1158
- "title": "Contact Sensor",
1159
- "enum": [
1160
- 5
1161
- ]
1162
- }
1163
- ]
1164
- },
1165
- "mode": {
1166
- "title": "Mode",
1167
- "type": "integer",
1168
- "minimum": 0,
1169
- "maximum": 70,
1170
- "description": "Select the function.",
1171
- "anyOf": [
1172
- {
1173
- "title": "POWER ON/OFF",
1174
- "enum": [
1175
- 0
1176
- ]
1177
- },
1178
- {
1179
- "title": "MODE HEAT",
1180
- "enum": [
1181
- 1
1182
- ]
1183
- },
1184
- {
1185
- "title": "MODE COOL",
1186
- "enum": [
1187
- 2
1188
- ]
1189
- },
1190
- {
1191
- "title": "MODE HOLIDAY",
1192
- "enum": [
1193
- 3
1194
- ]
1195
- },
1196
- {
1197
- "title": "LOCK CONTROL ALL",
1198
- "enum": [
1199
- 10
1200
- ]
1201
- },
1202
- {
1203
- "title": "Z1 MODE HEAT THERMOSTAT",
1204
- "enum": [
1205
- 20
1206
- ]
1207
- },
1208
- {
1209
- "title": "Z1 MODE HEAT FLOW",
1210
- "enum": [
1211
- 21
1212
- ]
1213
- },
1214
- {
1215
- "title": "Z1 MODE HEAT CURVE",
1216
- "enum": [
1217
- 22
1218
- ]
1219
- },
1220
- {
1221
- "title": "Z1 MODE COOL THERMOSTAT",
1222
- "enum": [
1223
- 23
1224
- ]
1225
- },
1226
- {
1227
- "title": "Z1 MODE COOL FLOW",
1228
- "enum": [
1229
- 24
1230
- ]
1231
- },
1232
- {
1233
- "title": "Z1 MODE FLOOR DRY UP",
1234
- "enum": [
1235
- 25
1236
- ]
1237
- },
1238
- {
1239
- "title": "Z1 LOCK CONTROL",
1240
- "enum": [
1241
- 30
1242
- ]
1243
- },
1244
- {
1245
- "title": "HW MODE FORCE",
1246
- "enum": [
1247
- 40
1248
- ]
1249
- },
1250
- {
1251
- "title": "HW MODE ECO",
1252
- "enum": [
1253
- 41
1254
- ]
1255
- },
1256
- {
1257
- "title": "HW LOCK CONTROL",
1258
- "enum": [
1259
- 50
1260
- ]
1261
- },
1262
- {
1263
- "title": "Z2 MODE HEAT THERMOSTAT",
1264
- "enum": [
1265
- 60
1266
- ]
1267
- },
1268
- {
1269
- "title": "Z2 MODE HEAT FLOW",
1270
- "enum": [
1271
- 61
1272
- ]
1273
- },
1274
- {
1275
- "title": "Z2 MODE HEAT CURVE",
1276
- "enum": [
1277
- 62
1278
- ]
1279
- },
1280
- {
1281
- "title": "Z2 MODE COOL THERMOSTAT",
1282
- "enum": [
1283
- 63
1284
- ]
1285
- },
1286
- {
1287
- "title": "Z2 MODE COOL FLOW",
1288
- "enum": [
1289
- 64
1290
- ]
1291
- },
1292
- {
1293
- "title": "Z2 MODE FLOOR DRY UP",
1294
- "enum": [
1295
- 65
1296
- ]
1297
- },
1298
- {
1299
- "title": "Z2 LOCK CONTROL",
1300
- "enum": [
1301
- 70
1302
- ]
1134
+ "description": "Enable/disable the accessory name as a prefix for button/sensor name.",
1135
+ "condition": {
1136
+ "functionBody": "return model.accounts[arrayIndices[0]].atwDevices[arrayIndices[1]].presets[arrayIndices[2]].displayType > 0;"
1303
1137
  }
1304
- ]
1305
- },
1306
- "name": {
1307
- "title": "Name",
1308
- "type": "string",
1309
- "placeholder": "Button name",
1310
- "description": "Your own name displayed in Homebridge/HomeKit app."
1138
+ }
1311
1139
  },
1312
- "namePrefix": {
1313
- "title": "Prefix",
1314
- "type": "boolean",
1315
- "default": false,
1316
- "description": "Enable/disable the accessory name as a prefix for button/sensor name."
1317
- }
1318
- },
1319
- "required": [
1320
- "displayType"
1321
- ]
1322
- }
1323
- }
1324
- },
1325
- "required": [
1326
- "displayType",
1327
- "hideZone"
1328
- ]
1329
- }
1330
- },
1331
- "ervDevices": {
1332
- "title": "Devices ERV",
1333
- "type": "array",
1334
- "items": {
1335
- "type": "object",
1336
- "properties": {
1337
- "id": {
1338
- "title": "Id",
1339
- "type": "string",
1340
- "default": "0"
1341
- },
1342
- "type": {
1343
- "title": "Type",
1344
- "type": "integer",
1345
- "default": 3
1346
- },
1347
- "typeString": {
1348
- "title": "Type",
1349
- "type": "string",
1350
- "default": "Ventilation"
1351
- },
1352
- "name": {
1353
- "title": "Name",
1354
- "type": "string",
1355
- "default": "Ventilation"
1356
- },
1357
- "displayType": {
1358
- "title": "Display Type",
1359
- "type": "integer",
1360
- "minimum": 0,
1361
- "maximum": 2,
1362
- "default": 0,
1363
- "description": "Select accessory control type displayed in HomeKit app.",
1364
- "anyOf": [
1365
- {
1366
- "title": "None/Disabled",
1367
- "enum": [
1368
- 0
1369
- ]
1370
- },
1371
- {
1372
- "title": "Heater/Cooler",
1373
- "enum": [
1374
- 1
1375
- ]
1376
- },
1377
- {
1378
- "title": "Thermostat",
1379
- "enum": [
1380
- 2
1140
+ "required": [
1141
+ "displayType"
1381
1142
  ]
1382
1143
  }
1383
- ]
1384
- },
1385
- "temperatureSensor": {
1386
- "title": "Temperature Sensor Room",
1387
- "type": "boolean",
1388
- "default": false,
1389
- "description": "This enable extra temperature sensor to use with automations in HomeKit app."
1390
- },
1391
- "temperatureOutdoorSensor": {
1392
- "title": "Temperature Sensor Outdoor",
1393
- "type": "boolean",
1394
- "default": false,
1395
- "description": "This enable extra outdoor temperature sensor to use with automations in HomeKit app."
1396
- },
1397
- "temperatureSensorSupply": {
1398
- "title": "Temperature Sensor Supply",
1399
- "type": "boolean",
1400
- "default": false,
1401
- "description": "This enable extra supply temperature sensor to use with automations in HomeKit app."
1402
- },
1403
- "errorSensor": {
1404
- "title": "Error",
1405
- "type": "boolean",
1406
- "default": false,
1407
- "description": "This enable error sensor to use with automations in HomeKit app."
1408
- },
1409
- "refreshInterval": {
1410
- "title": "Refresh Interval",
1411
- "type": "integer",
1412
- "default": 5,
1413
- "minimum": 1,
1414
- "maximum": 60,
1415
- "description": "Set the background device state refresh time in seconds."
1416
- },
1417
- "presets": {
1418
- "title": "Presets",
1419
- "type": "array",
1420
- "items": {
1421
- "type": "object",
1422
- "properties": {
1423
- "id": {
1424
- "title": "Id",
1425
- "type": "string",
1426
- "default": "0",
1427
- "readonly": true
1428
- },
1429
- "displayType": {
1430
- "title": "Display Type",
1431
- "type": "integer",
1432
- "minimum": 0,
1433
- "maximum": 5,
1434
- "default": 0,
1435
- "description": "Select the characteristic type to be displayed in HomeKit app.",
1436
- "anyOf": [
1437
- {
1438
- "title": "None/Disabled",
1439
- "enum": [
1440
- 0
1441
- ]
1442
- },
1443
- {
1444
- "title": "Outlet",
1445
- "enum": [
1446
- 1
1447
- ]
1448
- },
1449
- {
1450
- "title": "Switch",
1451
- "enum": [
1452
- 2
1453
- ]
1454
- },
1455
- {
1456
- "title": "Motion Sensor",
1457
- "enum": [
1458
- 3
1459
- ]
1460
- },
1461
- {
1462
- "title": "Occupancy Sensor",
1463
- "enum": [
1464
- 4
1465
- ]
1466
- },
1467
- {
1468
- "title": "Contact Sensor",
1469
- "enum": [
1470
- 5
1471
- ]
1472
- }
1473
- ]
1474
- },
1475
- "name": {
1476
- "title": "Name",
1477
- "type": "string",
1478
- "default": "Preset",
1479
- "description": "Your own name displayed in Homebridge/HomeKit app."
1480
- },
1481
- "namePrefix": {
1482
- "title": "Prefix",
1483
- "type": "boolean",
1484
- "default": false,
1485
- "description": "Enable/disable the accessory name as a prefix for button/sensor name."
1486
- }
1487
- },
1488
- "required": [
1489
- "displayType"
1490
- ]
1491
- }
1492
- },
1493
- "buttonsSensors": {
1494
- "title": "Buttons",
1495
- "type": "array",
1496
- "items": {
1497
- "type": "object",
1498
- "properties": {
1499
- "displayType": {
1500
- "title": "Display Type",
1501
- "type": "integer",
1502
- "minimum": 0,
1503
- "maximum": 5,
1504
- "default": 0,
1505
- "description": "Select the characteristic type to be displayed in HomeKit app.",
1506
- "anyOf": [
1507
- {
1508
- "title": "None/Disabled",
1509
- "enum": [
1510
- 0
1511
- ]
1512
- },
1513
- {
1514
- "title": "Outlet",
1515
- "enum": [
1516
- 1
1517
- ]
1518
- },
1519
- {
1520
- "title": "Switch",
1521
- "enum": [
1522
- 2
1523
- ]
1524
- },
1525
- {
1526
- "title": "Motion Sensor",
1527
- "enum": [
1528
- 3
1529
- ]
1530
- },
1531
- {
1532
- "title": "Occupancy Sensor",
1533
- "enum": [
1534
- 4
1535
- ]
1536
- },
1537
- {
1538
- "title": "Contact Sensor",
1539
- "enum": [
1540
- 5
1541
- ]
1542
- }
1543
- ]
1544
- },
1545
- "mode": {
1546
- "title": "Mode",
1547
- "type": "integer",
1548
- "minimum": 0,
1549
- "maximum": 18,
1550
- "description": "Select the function.",
1551
- "anyOf": [
1552
- {
1553
- "title": "POWER ON/OFF",
1554
- "enum": [
1555
- 0
1556
- ]
1557
- },
1558
- {
1559
- "title": "MODE LOSSNAY",
1560
- "enum": [
1561
- 1
1562
- ]
1563
- },
1564
- {
1565
- "title": "MODE BYPASS",
1566
- "enum": [
1567
- 2
1568
- ]
1569
- },
1570
- {
1571
- "title": "MODE AUTO",
1572
- "enum": [
1573
- 3
1574
- ]
1575
- },
1576
- {
1577
- "title": "MODE NIGHT PURGE",
1578
- "enum": [
1579
- 4
1580
- ]
1581
- },
1582
- {
1583
- "title": "FAN MODE AUTO",
1584
- "enum": [
1585
- 10
1586
- ]
1587
- },
1588
- {
1589
- "title": "FAN MODE 1",
1590
- "enum": [
1591
- 11
1592
- ]
1593
- },
1594
- {
1595
- "title": "FAN MODE 2",
1596
- "enum": [
1597
- 12
1598
- ]
1599
- },
1600
- {
1601
- "title": "FAN MODE 3",
1602
- "enum": [
1603
- 13
1604
- ]
1605
- },
1606
- {
1607
- "title": "FAN MODE 4",
1608
- "enum": [
1609
- 14
1610
- ]
1611
- },
1612
- {
1613
- "title": "LOCK CONTROL",
1614
- "enum": [
1615
- 15
1616
- ]
1617
- },
1618
- {
1619
- "title": "ROOM TEMP HIDE",
1620
- "enum": [
1621
- 16
1622
- ]
1623
- },
1624
- {
1625
- "title": "SUPPLY TEMP HIDE",
1626
- "enum": [
1627
- 17
1628
- ]
1629
- },
1630
- {
1631
- "title": "OUTDOOR TEMP HIDE",
1632
- "enum": [
1633
- 18
1634
- ]
1635
- }
1636
- ]
1637
- },
1638
- "name": {
1639
- "title": "Name",
1640
- "type": "string",
1641
- "placeholder": "Button name",
1642
- "description": "Your own name displayed in Homebridge/HomeKit app."
1643
- },
1644
- "namePrefix": {
1645
- "title": "Prefix",
1646
- "type": "boolean",
1647
- "default": false,
1648
- "description": "Enable/disable the accessory name as a prefix for button/sensor name."
1649
- }
1650
- },
1651
- "required": [
1652
- "displayType"
1653
- ]
1654
- }
1655
- }
1656
- },
1657
- "required": [
1658
- "displayType"
1659
- ]
1660
- }
1661
- },
1662
- "refreshInterval": {
1663
- "title": "Refresh Interval",
1664
- "type": "integer",
1665
- "default": 120,
1666
- "minimum": 1,
1667
- "maximum": 600,
1668
- "description": "Set the background account data refresh time in seconds."
1669
- },
1670
- "log": {
1671
- "title": "Log",
1672
- "type": "object",
1673
- "properties": {
1674
- "deviceInfo": {
1675
- "title": "Device Info",
1676
- "type": "boolean",
1677
- "default": true,
1678
- "description": "This enable logging device info by every connections device to the network."
1679
- },
1680
- "success": {
1681
- "title": "Log Success",
1682
- "type": "boolean",
1683
- "default": true
1684
- },
1685
- "info": {
1686
- "title": "Log Info",
1687
- "type": "boolean",
1688
- "default": false
1689
- },
1690
- "warn": {
1691
- "title": "Log Warn",
1692
- "type": "boolean",
1693
- "default": true
1694
- },
1695
- "error": {
1696
- "title": "Log Error",
1697
- "type": "boolean",
1698
- "default": true
1699
- },
1700
- "debug": {
1701
- "title": "Log Debug",
1702
- "type": "boolean",
1703
- "default": false
1704
- }
1705
- }
1706
- },
1707
- "restFul": {
1708
- "title": "RESTFul",
1709
- "type": "object",
1710
- "properties": {
1711
- "enable": {
1712
- "title": "Enable",
1713
- "type": "boolean",
1714
- "default": false,
1715
- "description": "This enable RESTful server."
1716
- }
1717
- }
1718
- },
1719
- "mqtt": {
1720
- "title": "MQTT",
1721
- "type": "object",
1722
- "properties": {
1723
- "enable": {
1724
- "title": "Enable",
1725
- "type": "boolean",
1726
- "default": false,
1727
- "description": "This enable MQTT client."
1728
- },
1729
- "host": {
1730
- "title": "IP/Hostname",
1731
- "type": "string",
1732
- "placeholder": "ip or hostname",
1733
- "format": "hostname",
1734
- "description": "Here set the IP/Hostname of MQTT Broker."
1735
- },
1736
- "port": {
1737
- "title": "Port",
1738
- "type": "integer",
1739
- "placeholder": 1883,
1740
- "description": "Here set the port of MQTT Broker."
1741
- },
1742
- "clientId": {
1743
- "title": "Client Id",
1744
- "type": "string",
1745
- "placeholder": "client id",
1746
- "description": "Here optional set the Client Id of MQTT Broker."
1747
- },
1748
- "prefix": {
1749
- "title": "Prefix",
1750
- "type": "string",
1751
- "placeholder": "home",
1752
- "description": "Here set the prefix."
1753
- },
1754
- "auth": {
1755
- "title": "Authorization",
1756
- "type": "object",
1757
- "properties": {
1758
- "enable": {
1759
- "title": "Enable",
1760
- "type": "boolean",
1761
- "default": false,
1762
- "description": "This enable authorization for MQTT Broker."
1763
- },
1764
- "user": {
1765
- "title": "User",
1766
- "type": "string",
1767
- "placeholder": "user",
1768
- "description": "Here set the user of MQTT Broker."
1769
1144
  },
1770
- "passwd": {
1771
- "title": "Password",
1772
- "type": "string",
1773
- "placeholder": "password",
1774
- "description": "Here set the password of MQTT Broker."
1775
- }
1776
- }
1777
- }
1778
- }
1779
- }
1780
- },
1781
- "required": [
1782
- "name",
1783
- "user",
1784
- "passwd",
1785
- "language",
1786
- "type"
1787
- ]
1788
- }
1789
- }
1790
- },
1791
- "layout": [
1792
- {
1793
- "key": "accounts",
1794
- "type": "tabarray",
1795
- "title": "{{ value.name || 'account' }}",
1796
- "items": [
1797
- "accounts[].name",
1798
- "accounts[].user",
1799
- {
1800
- "key": "accounts[].passwd",
1801
- "type": "password"
1802
- },
1803
- "accounts[].language",
1804
- "accounts[].type",
1805
- {
1806
- "key": "accounts[]",
1807
- "type": "tabarray",
1808
- "title": "{{ value.title }}",
1809
- "items": [
1810
- {
1811
- "title": "Air Conditioner",
1812
- "items": [
1813
- {
1814
- "key": "accounts[].ataDevices",
1815
- "type": "tabarray",
1816
- "title": "{{ value.name }}",
1817
- "items": [
1818
- {
1819
- "key": "accounts[].ataDevices[]",
1820
- "items": [
1821
- {
1822
- "key": "accounts[].ataDevices[].id",
1823
- "readonly": true
1824
- },
1825
- {
1826
- "key": "accounts[].ataDevices[].typeString",
1827
- "readonly": true
1828
- },
1829
- "accounts[].ataDevices[].displayType",
1830
- {
1831
- "title": "Settings",
1832
- "type": "section",
1833
- "description": "Section for setup device settings",
1834
- "expandable": true,
1835
- "expanded": false,
1836
- "items": [
1837
- "accounts[].ataDevices[].name",
1838
- "accounts[].ataDevices[].heatDryFanMode",
1839
- "accounts[].ataDevices[].coolDryFanMode",
1840
- "accounts[].ataDevices[].autoDryFanMode",
1841
- "accounts[].ataDevices[].refreshInterval"
1842
- ]
1843
- },
1844
- {
1845
- "title": "Presets",
1846
- "type": "section",
1847
- "description": "Section for setup device presets",
1848
- "expandable": true,
1849
- "expanded": false,
1850
- "items": [
1145
+ "buttonsSensors": {
1146
+ "title": "Button",
1147
+ "type": "array",
1148
+ "items": {
1149
+ "type": "object",
1150
+ "properties": {
1151
+ "displayType": {
1152
+ "title": "Display Type",
1153
+ "type": "integer",
1154
+ "minimum": 0,
1155
+ "maximum": 5,
1156
+ "default": 0,
1157
+ "description": "Select the characteristic type to be displayed in HomeKit app.",
1158
+ "anyOf": [
1851
1159
  {
1852
- "key": "accounts[].ataDevices[].presets",
1853
- "type": "tabarray",
1854
- "title": "{{ value.name }}",
1855
- "items": [
1856
- {
1857
- "key": "accounts[].ataDevices[].presets[].id",
1858
- "readonly": true
1859
- },
1860
- "accounts[].ataDevices[].presets[].displayType",
1861
- "accounts[].ataDevices[].presets[].name",
1862
- "accounts[].ataDevices[].presets[].namePrefix"
1160
+ "title": "None/Disabled",
1161
+ "enum": [
1162
+ 0
1863
1163
  ]
1864
- }
1865
- ]
1866
- },
1867
- {
1868
- "title": "Buttons / Sensors",
1869
- "type": "section",
1870
- "expandable": true,
1871
- "expanded": false,
1872
- "items": [
1164
+ },
1873
1165
  {
1874
- "title": "Temperature",
1875
- "type": "section",
1876
- "description": "Section for setup temperature sensors",
1877
- "expandable": true,
1878
- "expanded": false,
1879
- "items": [
1880
- "accounts[].ataDevices[].temperatureSensor",
1881
- "accounts[].ataDevices[].temperatureOutdoorSensor"
1166
+ "title": "Outlet",
1167
+ "enum": [
1168
+ 1
1882
1169
  ]
1883
1170
  },
1884
1171
  {
1885
- "title": "System",
1886
- "type": "section",
1887
- "description": "Section for setup system sensors",
1888
- "expandable": true,
1889
- "expanded": false,
1890
- "items": [
1891
- "accounts[].ataDevices[].frostProtectionSensor",
1892
- "accounts[].ataDevices[].overheatProtectionSensor",
1893
- "accounts[].ataDevices[].holidayModeSensor",
1894
- "accounts[].ataDevices[].scheduleSensor",
1895
- "accounts[].ataDevices[].errorSensor"
1172
+ "title": "Switch",
1173
+ "enum": [
1174
+ 2
1896
1175
  ]
1897
1176
  },
1898
1177
  {
1899
- "title": "Custom",
1900
- "type": "section",
1901
- "description": "Section for creating custom buttons/sensors",
1902
- "expandable": true,
1903
- "expanded": false,
1904
- "items": [
1905
- {
1906
- "key": "accounts[].ataDevices[].buttonsSensors",
1907
- "type": "tabarray",
1908
- "title": "{{ value.name || 'button/sensor' }}",
1909
- "items": [
1910
- "accounts[].ataDevices[].buttonsSensors[].displayType",
1911
- "accounts[].ataDevices[].buttonsSensors[].mode",
1912
- "accounts[].ataDevices[].buttonsSensors[].name",
1913
- "accounts[].ataDevices[].buttonsSensors[].namePrefix"
1914
- ]
1915
- }
1916
- ]
1917
- }
1178
+ "title": "Motion Sensor",
1179
+ "enum": [
1180
+ 3
1181
+ ]
1182
+ },
1183
+ {
1184
+ "title": "Occupancy Sensor",
1185
+ "enum": [
1186
+ 4
1187
+ ]
1188
+ },
1189
+ {
1190
+ "title": "Contact Sensor",
1191
+ "enum": [
1192
+ 5
1193
+ ]
1194
+ }
1918
1195
  ]
1196
+ },
1197
+ "mode": {
1198
+ "title": "Mode",
1199
+ "type": "integer",
1200
+ "minimum": 0,
1201
+ "maximum": 70,
1202
+ "description": "Select the function.",
1203
+ "anyOf": [
1204
+ {
1205
+ "title": "POWER ON/OFF",
1206
+ "enum": [
1207
+ 0
1208
+ ]
1209
+ },
1210
+ {
1211
+ "title": "MODE HEAT",
1212
+ "enum": [
1213
+ 1
1214
+ ]
1215
+ },
1216
+ {
1217
+ "title": "MODE COOL",
1218
+ "enum": [
1219
+ 2
1220
+ ]
1221
+ },
1222
+ {
1223
+ "title": "MODE HOLIDAY",
1224
+ "enum": [
1225
+ 3
1226
+ ]
1227
+ },
1228
+ {
1229
+ "title": "LOCK CONTROL ALL",
1230
+ "enum": [
1231
+ 10
1232
+ ]
1233
+ },
1234
+ {
1235
+ "title": "Z1 MODE HEAT THERMOSTAT",
1236
+ "enum": [
1237
+ 20
1238
+ ]
1239
+ },
1240
+ {
1241
+ "title": "Z1 MODE HEAT FLOW",
1242
+ "enum": [
1243
+ 21
1244
+ ]
1245
+ },
1246
+ {
1247
+ "title": "Z1 MODE HEAT CURVE",
1248
+ "enum": [
1249
+ 22
1250
+ ]
1251
+ },
1252
+ {
1253
+ "title": "Z1 MODE COOL THERMOSTAT",
1254
+ "enum": [
1255
+ 23
1256
+ ]
1257
+ },
1258
+ {
1259
+ "title": "Z1 MODE COOL FLOW",
1260
+ "enum": [
1261
+ 24
1262
+ ]
1263
+ },
1264
+ {
1265
+ "title": "Z1 MODE FLOOR DRY UP",
1266
+ "enum": [
1267
+ 25
1268
+ ]
1269
+ },
1270
+ {
1271
+ "title": "Z1 LOCK CONTROL",
1272
+ "enum": [
1273
+ 30
1274
+ ]
1275
+ },
1276
+ {
1277
+ "title": "HW MODE FORCE",
1278
+ "enum": [
1279
+ 40
1280
+ ]
1281
+ },
1282
+ {
1283
+ "title": "HW MODE ECO",
1284
+ "enum": [
1285
+ 41
1286
+ ]
1287
+ },
1288
+ {
1289
+ "title": "HW LOCK CONTROL",
1290
+ "enum": [
1291
+ 50
1292
+ ]
1293
+ },
1294
+ {
1295
+ "title": "Z2 MODE HEAT THERMOSTAT",
1296
+ "enum": [
1297
+ 60
1298
+ ]
1299
+ },
1300
+ {
1301
+ "title": "Z2 MODE HEAT FLOW",
1302
+ "enum": [
1303
+ 61
1304
+ ]
1305
+ },
1306
+ {
1307
+ "title": "Z2 MODE HEAT CURVE",
1308
+ "enum": [
1309
+ 62
1310
+ ]
1311
+ },
1312
+ {
1313
+ "title": "Z2 MODE COOL THERMOSTAT",
1314
+ "enum": [
1315
+ 63
1316
+ ]
1317
+ },
1318
+ {
1319
+ "title": "Z2 MODE COOL FLOW",
1320
+ "enum": [
1321
+ 64
1322
+ ]
1323
+ },
1324
+ {
1325
+ "title": "Z2 MODE FLOOR DRY UP",
1326
+ "enum": [
1327
+ 65
1328
+ ]
1329
+ },
1330
+ {
1331
+ "title": "Z2 LOCK CONTROL",
1332
+ "enum": [
1333
+ 70
1334
+ ]
1335
+ }
1336
+ ],
1337
+ "condition": {
1338
+ "functionBody": "return model.accounts[arrayIndices[0]].atwDevices[arrayIndices[1]].buttonsSensors[arrayIndices[2]].displayType > 0;"
1339
+ }
1340
+ },
1341
+ "name": {
1342
+ "title": "Name",
1343
+ "type": "string",
1344
+ "placeholder": "Button name",
1345
+ "description": "Your own name displayed in Homebridge/HomeKit app.",
1346
+ "condition": {
1347
+ "functionBody": "return model.accounts[arrayIndices[0]].atwDevices[arrayIndices[1]].buttonsSensors[arrayIndices[2]].displayType > 0;"
1348
+ }
1349
+ },
1350
+ "namePrefix": {
1351
+ "title": "Prefix",
1352
+ "type": "boolean",
1353
+ "default": false,
1354
+ "description": "Enable/disable the accessory name as a prefix for button/sensor name.",
1355
+ "condition": {
1356
+ "functionBody": "return model.accounts[arrayIndices[0]].atwDevices[arrayIndices[1]].buttonsSensors[arrayIndices[2]].displayType > 0;"
1357
+ }
1358
+ }
1359
+ },
1360
+ "required": [
1361
+ "displayType"
1362
+ ]
1363
+ }
1364
+ }
1365
+ },
1366
+ "required": [
1367
+ "displayType",
1368
+ "hideZone"
1369
+ ]
1370
+ }
1371
+ },
1372
+ "ervDevices": {
1373
+ "title": "Devices ERV",
1374
+ "type": "array",
1375
+ "items": {
1376
+ "type": "object",
1377
+ "properties": {
1378
+ "id": {
1379
+ "title": "Id",
1380
+ "type": "string",
1381
+ "default": "0"
1382
+ },
1383
+ "type": {
1384
+ "title": "Type",
1385
+ "type": "integer",
1386
+ "default": 3
1387
+ },
1388
+ "typeString": {
1389
+ "title": "Type",
1390
+ "type": "string",
1391
+ "default": "Ventilation"
1392
+ },
1393
+ "name": {
1394
+ "title": "Name",
1395
+ "type": "string",
1396
+ "default": "Ventilation"
1397
+ },
1398
+ "displayType": {
1399
+ "title": "Display Type",
1400
+ "type": "integer",
1401
+ "minimum": 0,
1402
+ "maximum": 2,
1403
+ "default": 0,
1404
+ "description": "Select accessory control type displayed in HomeKit app.",
1405
+ "anyOf": [
1406
+ {
1407
+ "title": "None/Disabled",
1408
+ "enum": [
1409
+ 0
1410
+ ]
1411
+ },
1412
+ {
1413
+ "title": "Heater/Cooler",
1414
+ "enum": [
1415
+ 1
1416
+ ]
1417
+ },
1418
+ {
1419
+ "title": "Thermostat",
1420
+ "enum": [
1421
+ 2
1422
+ ]
1423
+ }
1424
+ ]
1425
+ },
1426
+ "temperatureSensor": {
1427
+ "title": "Temperature Sensor Room",
1428
+ "type": "boolean",
1429
+ "default": false,
1430
+ "description": "This enable extra temperature sensor to use with automations in HomeKit app."
1431
+ },
1432
+ "temperatureOutdoorSensor": {
1433
+ "title": "Temperature Sensor Outdoor",
1434
+ "type": "boolean",
1435
+ "default": false,
1436
+ "description": "This enable extra outdoor temperature sensor to use with automations in HomeKit app."
1437
+ },
1438
+ "temperatureSensorSupply": {
1439
+ "title": "Temperature Sensor Supply",
1440
+ "type": "boolean",
1441
+ "default": false,
1442
+ "description": "This enable extra supply temperature sensor to use with automations in HomeKit app."
1443
+ },
1444
+ "errorSensor": {
1445
+ "title": "Error",
1446
+ "type": "boolean",
1447
+ "default": false,
1448
+ "description": "This enable error sensor to use with automations in HomeKit app."
1449
+ },
1450
+ "refreshInterval": {
1451
+ "title": "Refresh Interval",
1452
+ "type": "integer",
1453
+ "default": 5,
1454
+ "minimum": 1,
1455
+ "maximum": 60,
1456
+ "description": "Set the background device state refresh time in seconds."
1457
+ },
1458
+ "presets": {
1459
+ "title": "Presets",
1460
+ "type": "array",
1461
+ "items": {
1462
+ "type": "object",
1463
+ "properties": {
1464
+ "id": {
1465
+ "title": "Id",
1466
+ "type": "string",
1467
+ "default": "0",
1468
+ "readonly": true
1469
+ },
1470
+ "displayType": {
1471
+ "title": "Display Type",
1472
+ "type": "integer",
1473
+ "minimum": 0,
1474
+ "maximum": 5,
1475
+ "default": 0,
1476
+ "description": "Select the characteristic type to be displayed in HomeKit app.",
1477
+ "anyOf": [
1478
+ {
1479
+ "title": "None/Disabled",
1480
+ "enum": [
1481
+ 0
1482
+ ]
1483
+ },
1484
+ {
1485
+ "title": "Outlet",
1486
+ "enum": [
1487
+ 1
1488
+ ]
1489
+ },
1490
+ {
1491
+ "title": "Switch",
1492
+ "enum": [
1493
+ 2
1494
+ ]
1495
+ },
1496
+ {
1497
+ "title": "Motion Sensor",
1498
+ "enum": [
1499
+ 3
1500
+ ]
1501
+ },
1502
+ {
1503
+ "title": "Occupancy Sensor",
1504
+ "enum": [
1505
+ 4
1506
+ ]
1507
+ },
1508
+ {
1509
+ "title": "Contact Sensor",
1510
+ "enum": [
1511
+ 5
1512
+ ]
1513
+ }
1514
+ ],
1515
+ "condition": {
1516
+ "functionBody": "return model.accounts[arrayIndices[0]].ervDevices[arrayIndices[1]].presets[arrayIndices[2]].displayType > 0;"
1517
+ }
1518
+ },
1519
+ "name": {
1520
+ "title": "Name",
1521
+ "type": "string",
1522
+ "default": "Preset",
1523
+ "description": "Your own name displayed in Homebridge/HomeKit app.",
1524
+ "condition": {
1525
+ "functionBody": "return model.accounts[arrayIndices[0]].ervDevices[arrayIndices[1]].presets[arrayIndices[2]].displayType > 0;"
1526
+ }
1527
+ },
1528
+ "namePrefix": {
1529
+ "title": "Prefix",
1530
+ "type": "boolean",
1531
+ "default": false,
1532
+ "description": "Enable/disable the accessory name as a prefix for button/sensor name.",
1533
+ "condition": {
1534
+ "functionBody": "return model.accounts[arrayIndices[0]].ervDevices[arrayIndices[1]].presets[arrayIndices[2]].displayType > 0;"
1535
+ }
1536
+ }
1537
+ },
1538
+ "required": [
1539
+ "displayType"
1540
+ ]
1541
+ }
1542
+ },
1543
+ "buttonsSensors": {
1544
+ "title": "Buttons",
1545
+ "type": "array",
1546
+ "items": {
1547
+ "type": "object",
1548
+ "properties": {
1549
+ "displayType": {
1550
+ "title": "Display Type",
1551
+ "type": "integer",
1552
+ "minimum": 0,
1553
+ "maximum": 5,
1554
+ "default": 0,
1555
+ "description": "Select the characteristic type to be displayed in HomeKit app.",
1556
+ "anyOf": [
1557
+ {
1558
+ "title": "None/Disabled",
1559
+ "enum": [
1560
+ 0
1561
+ ]
1562
+ },
1563
+ {
1564
+ "title": "Outlet",
1565
+ "enum": [
1566
+ 1
1567
+ ]
1568
+ },
1569
+ {
1570
+ "title": "Switch",
1571
+ "enum": [
1572
+ 2
1573
+ ]
1574
+ },
1575
+ {
1576
+ "title": "Motion Sensor",
1577
+ "enum": [
1578
+ 3
1579
+ ]
1580
+ },
1581
+ {
1582
+ "title": "Occupancy Sensor",
1583
+ "enum": [
1584
+ 4
1585
+ ]
1586
+ },
1587
+ {
1588
+ "title": "Contact Sensor",
1589
+ "enum": [
1590
+ 5
1591
+ ]
1592
+ }
1593
+ ]
1594
+ },
1595
+ "mode": {
1596
+ "title": "Mode",
1597
+ "type": "integer",
1598
+ "minimum": 0,
1599
+ "maximum": 18,
1600
+ "description": "Select the function.",
1601
+ "anyOf": [
1602
+ {
1603
+ "title": "POWER ON/OFF",
1604
+ "enum": [
1605
+ 0
1606
+ ]
1607
+ },
1608
+ {
1609
+ "title": "MODE LOSSNAY",
1610
+ "enum": [
1611
+ 1
1612
+ ]
1613
+ },
1614
+ {
1615
+ "title": "MODE BYPASS",
1616
+ "enum": [
1617
+ 2
1618
+ ]
1619
+ },
1620
+ {
1621
+ "title": "MODE AUTO",
1622
+ "enum": [
1623
+ 3
1624
+ ]
1625
+ },
1626
+ {
1627
+ "title": "MODE NIGHT PURGE",
1628
+ "enum": [
1629
+ 4
1630
+ ]
1631
+ },
1632
+ {
1633
+ "title": "FAN MODE AUTO",
1634
+ "enum": [
1635
+ 10
1636
+ ]
1637
+ },
1638
+ {
1639
+ "title": "FAN MODE 1",
1640
+ "enum": [
1641
+ 11
1642
+ ]
1643
+ },
1644
+ {
1645
+ "title": "FAN MODE 2",
1646
+ "enum": [
1647
+ 12
1648
+ ]
1649
+ },
1650
+ {
1651
+ "title": "FAN MODE 3",
1652
+ "enum": [
1653
+ 13
1654
+ ]
1655
+ },
1656
+ {
1657
+ "title": "FAN MODE 4",
1658
+ "enum": [
1659
+ 14
1660
+ ]
1661
+ },
1662
+ {
1663
+ "title": "LOCK CONTROL",
1664
+ "enum": [
1665
+ 15
1666
+ ]
1667
+ },
1668
+ {
1669
+ "title": "ROOM TEMP HIDE",
1670
+ "enum": [
1671
+ 16
1672
+ ]
1673
+ },
1674
+ {
1675
+ "title": "SUPPLY TEMP HIDE",
1676
+ "enum": [
1677
+ 17
1678
+ ]
1679
+ },
1680
+ {
1681
+ "title": "OUTDOOR TEMP HIDE",
1682
+ "enum": [
1683
+ 18
1684
+ ]
1685
+ }
1686
+ ],
1687
+ "condition": {
1688
+ "functionBody": "return model.accounts[arrayIndices[0]].ervDevices[arrayIndices[1]].buttonsSensors[arrayIndices[2]].displayType > 0;"
1689
+ }
1690
+ },
1691
+ "name": {
1692
+ "title": "Name",
1693
+ "type": "string",
1694
+ "placeholder": "Button name",
1695
+ "description": "Your own name displayed in Homebridge/HomeKit app.",
1696
+ "condition": {
1697
+ "functionBody": "return model.accounts[arrayIndices[0]].ervDevices[arrayIndices[1]].buttonsSensors[arrayIndices[2]].displayType > 0;"
1698
+ }
1699
+ },
1700
+ "namePrefix": {
1701
+ "title": "Prefix",
1702
+ "type": "boolean",
1703
+ "default": false,
1704
+ "description": "Enable/disable the accessory name as a prefix for button/sensor name.",
1705
+ "condition": {
1706
+ "functionBody": "return model.accounts[arrayIndices[0]].ervDevices[arrayIndices[1]].buttonsSensors[arrayIndices[2]].displayType > 0;"
1707
+ }
1919
1708
  }
1709
+ },
1710
+ "required": [
1711
+ "displayType"
1920
1712
  ]
1921
1713
  }
1714
+ }
1715
+ },
1716
+ "required": [
1717
+ "displayType"
1718
+ ]
1719
+ }
1720
+ },
1721
+ "refreshInterval": {
1722
+ "title": "Refresh Interval",
1723
+ "type": "integer",
1724
+ "default": 120,
1725
+ "minimum": 1,
1726
+ "maximum": 600,
1727
+ "description": "Set the background account data refresh time in seconds."
1728
+ },
1729
+ "log": {
1730
+ "title": "Log",
1731
+ "type": "object",
1732
+ "properties": {
1733
+ "deviceInfo": {
1734
+ "title": "Device Info",
1735
+ "type": "boolean",
1736
+ "default": true,
1737
+ "description": "This enable logging device info by every connections device to the network."
1738
+ },
1739
+ "success": {
1740
+ "title": "Log Success",
1741
+ "type": "boolean",
1742
+ "default": true
1743
+ },
1744
+ "info": {
1745
+ "title": "Log Info",
1746
+ "type": "boolean",
1747
+ "default": false
1748
+ },
1749
+ "warn": {
1750
+ "title": "Log Warn",
1751
+ "type": "boolean",
1752
+ "default": true
1753
+ },
1754
+ "error": {
1755
+ "title": "Log Error",
1756
+ "type": "boolean",
1757
+ "default": true
1758
+ },
1759
+ "debug": {
1760
+ "title": "Log Debug",
1761
+ "type": "boolean",
1762
+ "default": false
1763
+ }
1764
+ }
1765
+ },
1766
+ "restFul": {
1767
+ "title": "RESTFul",
1768
+ "type": "object",
1769
+ "properties": {
1770
+ "enable": {
1771
+ "title": "Enable",
1772
+ "type": "boolean",
1773
+ "default": false,
1774
+ "description": "This enable RESTful server."
1775
+ }
1776
+ }
1777
+ },
1778
+ "mqtt": {
1779
+ "title": "MQTT",
1780
+ "type": "object",
1781
+ "properties": {
1782
+ "enable": {
1783
+ "title": "Enable",
1784
+ "type": "boolean",
1785
+ "default": false,
1786
+ "description": "This enable MQTT client."
1787
+ },
1788
+ "host": {
1789
+ "title": "IP/Hostname",
1790
+ "type": "string",
1791
+ "placeholder": "ip or hostname",
1792
+ "format": "hostname",
1793
+ "description": "Here set the IP/Hostname of MQTT Broker.",
1794
+ "condition": {
1795
+ "functionBody": "return model.accounts[arrayIndices].mqtt.enable === true;"
1796
+ }
1797
+ },
1798
+ "port": {
1799
+ "title": "Port",
1800
+ "type": "integer",
1801
+ "placeholder": 1883,
1802
+ "description": "Here set the port of MQTT Broker.",
1803
+ "condition": {
1804
+ "functionBody": "return model.accounts[arrayIndices].mqtt.enable === true;"
1805
+ }
1806
+ },
1807
+ "clientId": {
1808
+ "title": "Client Id",
1809
+ "type": "string",
1810
+ "placeholder": "client id",
1811
+ "description": "Here optional set the Client Id of MQTT Broker.",
1812
+ "condition": {
1813
+ "functionBody": "return model.accounts[arrayIndices].mqtt.enable === true"
1814
+ }
1815
+ },
1816
+ "prefix": {
1817
+ "title": "Prefix",
1818
+ "type": "string",
1819
+ "placeholder": "home",
1820
+ "description": "Here set the prefix.",
1821
+ "condition": {
1822
+ "functionBody": "return model.accounts[arrayIndices].mqtt.enable === true;"
1823
+ }
1824
+ },
1825
+ "auth": {
1826
+ "title": "Authorization",
1827
+ "type": "object",
1828
+ "properties": {
1829
+ "enable": {
1830
+ "title": "Enable",
1831
+ "type": "boolean",
1832
+ "default": false,
1833
+ "description": "This enable authorization for MQTT Broker."
1834
+ },
1835
+ "user": {
1836
+ "title": "User",
1837
+ "type": "string",
1838
+ "placeholder": "user",
1839
+ "description": "Here set the user of MQTT Broker.",
1840
+ "condition": {
1841
+ "functionBody": "return model.accounts[arrayIndices].mqtt.auth.enable === true;"
1842
+ }
1843
+ },
1844
+ "passwd": {
1845
+ "title": "Password",
1846
+ "type": "string",
1847
+ "placeholder": "password",
1848
+ "description": "Here set the password of MQTT Broker.",
1849
+ "format": "password",
1850
+ "condition": {
1851
+ "functionBody": "return model.accounts[arrayIndices].mqtt.auth.enable === true;"
1852
+ }
1853
+ }
1854
+ },
1855
+ "condition": {
1856
+ "functionBody": "return model.accounts[arrayIndices].mqtt.enable === true;"
1857
+ }
1858
+ }
1859
+ }
1860
+ }
1861
+ },
1862
+ "required": [
1863
+ "name",
1864
+ "user",
1865
+ "passwd",
1866
+ "language",
1867
+ "type"
1868
+ ]
1869
+ }
1870
+ }
1871
+ }
1872
+ },
1873
+ "layout": [
1874
+ {
1875
+ "key": "accounts",
1876
+ "type": "tabarray",
1877
+ "title": "{{ value.name || 'account' }}",
1878
+ "items": [
1879
+ "accounts[].name",
1880
+ "accounts[].user",
1881
+ {
1882
+ "key": "accounts[].passwd",
1883
+ "type": "password"
1884
+ },
1885
+ "accounts[].language",
1886
+ "accounts[].type",
1887
+ {
1888
+ "key": "accounts[]",
1889
+ "type": "tabarray",
1890
+ "title": "{{ value.title }}",
1891
+ "items": [
1892
+ {
1893
+ "title": "Air Conditioner",
1894
+ "items": [
1895
+ {
1896
+ "key": "accounts[].ataDevices",
1897
+ "type": "tabarray",
1898
+ "title": "{{ value.name }}",
1899
+ "items": [
1900
+ {
1901
+ "key": "accounts[].ataDevices[]",
1902
+ "items": [
1903
+ {
1904
+ "key": "accounts[].ataDevices[].id",
1905
+ "readonly": true
1906
+ },
1907
+ {
1908
+ "key": "accounts[].ataDevices[].typeString",
1909
+ "readonly": true
1910
+ },
1911
+ "accounts[].ataDevices[].displayType",
1912
+ {
1913
+ "title": "Settings",
1914
+ "type": "section",
1915
+ "description": "Section for setup device settings",
1916
+ "expandable": true,
1917
+ "expanded": false,
1918
+ "items": [
1919
+ "accounts[].ataDevices[].name",
1920
+ "accounts[].ataDevices[].heatDryFanMode",
1921
+ "accounts[].ataDevices[].coolDryFanMode",
1922
+ "accounts[].ataDevices[].autoDryFanMode",
1923
+ "accounts[].ataDevices[].refreshInterval"
1924
+ ],
1925
+ "condition": {
1926
+ "functionBody": "return model.accounts[arrayIndices[0]].ataDevices[arrayIndices[1]].displayType > 0;"
1927
+ }
1928
+ },
1929
+ {
1930
+ "title": "Presets",
1931
+ "type": "section",
1932
+ "description": "Section for setup device presets",
1933
+ "expandable": true,
1934
+ "expanded": false,
1935
+ "items": [
1936
+ {
1937
+ "key": "accounts[].ataDevices[].presets",
1938
+ "type": "tabarray",
1939
+ "title": "{{ value.name }}",
1940
+ "items": [
1941
+ {
1942
+ "key": "accounts[].ataDevices[].presets[].id",
1943
+ "readonly": true
1944
+ },
1945
+ "accounts[].ataDevices[].presets[].displayType",
1946
+ "accounts[].ataDevices[].presets[].name",
1947
+ "accounts[].ataDevices[].presets[].namePrefix"
1948
+ ]
1949
+ }
1950
+ ],
1951
+ "condition": {
1952
+ "functionBody": "return model.accounts[arrayIndices[0]].ataDevices[arrayIndices[1]].displayType > 0;"
1953
+ }
1954
+ },
1955
+ {
1956
+ "title": "Buttons / Sensors",
1957
+ "type": "section",
1958
+ "expandable": true,
1959
+ "expanded": false,
1960
+ "items": [
1961
+ {
1962
+ "title": "Temperature",
1963
+ "type": "section",
1964
+ "description": "Section for setup temperature sensors",
1965
+ "expandable": true,
1966
+ "expanded": false,
1967
+ "items": [
1968
+ "accounts[].ataDevices[].temperatureSensor",
1969
+ "accounts[].ataDevices[].temperatureOutdoorSensor"
1970
+ ]
1971
+ },
1972
+ {
1973
+ "title": "System",
1974
+ "type": "section",
1975
+ "description": "Section for setup system sensors",
1976
+ "expandable": true,
1977
+ "expanded": false,
1978
+ "items": [
1979
+ "accounts[].ataDevices[].frostProtectionSensor",
1980
+ "accounts[].ataDevices[].overheatProtectionSensor",
1981
+ "accounts[].ataDevices[].holidayModeSensor",
1982
+ "accounts[].ataDevices[].scheduleSensor",
1983
+ "accounts[].ataDevices[].errorSensor"
1984
+ ]
1985
+ },
1986
+ {
1987
+ "title": "Custom",
1988
+ "type": "section",
1989
+ "description": "Section for creating custom buttons/sensors",
1990
+ "expandable": true,
1991
+ "expanded": false,
1992
+ "items": [
1993
+ {
1994
+ "key": "accounts[].ataDevices[].buttonsSensors",
1995
+ "type": "tabarray",
1996
+ "title": "{{ value.name || 'button/sensor' }}",
1997
+ "items": [
1998
+ "accounts[].ataDevices[].buttonsSensors[].displayType",
1999
+ "accounts[].ataDevices[].buttonsSensors[].mode",
2000
+ "accounts[].ataDevices[].buttonsSensors[].name",
2001
+ "accounts[].ataDevices[].buttonsSensors[].namePrefix"
2002
+ ]
2003
+ }
2004
+ ]
2005
+ }
2006
+ ],
2007
+ "condition": {
2008
+ "functionBody": "return model.accounts[arrayIndices[0]].ataDevices[arrayIndices[1]].displayType > 0;"
2009
+ }
2010
+ }
2011
+ ],
2012
+ "condition": {
2013
+ "functionBody": "return model.accounts[arrayIndices[0]].ataDevices[arrayIndices[1]].id !== '0';"
2014
+ }
2015
+ }
1922
2016
  ]
1923
2017
  }
1924
2018
  ]
@@ -1953,7 +2047,10 @@
1953
2047
  "accounts[].atwDevices[].hideZone",
1954
2048
  "accounts[].atwDevices[].name",
1955
2049
  "accounts[].atwDevices[].refreshInterval"
1956
- ]
2050
+ ],
2051
+ "condition": {
2052
+ "functionBody": "return model.accounts[arrayIndices[0]].atwDevices[arrayIndices[1]].displayType > 0;"
2053
+ }
1957
2054
  },
1958
2055
  {
1959
2056
  "title": "Presets",
@@ -1976,7 +2073,10 @@
1976
2073
  "accounts[].atwDevices[].presets[].namePrefix"
1977
2074
  ]
1978
2075
  }
1979
- ]
2076
+ ],
2077
+ "condition": {
2078
+ "functionBody": "return model.accounts[arrayIndices[0]].atwDevices[arrayIndices[1]].displayType > 0;"
2079
+ }
1980
2080
  },
1981
2081
  {
1982
2082
  "title": "Buttons / Sensors",
@@ -2023,9 +2123,15 @@
2023
2123
  }
2024
2124
  ]
2025
2125
  }
2026
- ]
2126
+ ],
2127
+ "condition": {
2128
+ "functionBody": "return model.accounts[arrayIndices[0]].atwDevices[arrayIndices[1]].displayType > 0;"
2129
+ }
2027
2130
  }
2028
- ]
2131
+ ],
2132
+ "condition": {
2133
+ "functionBody": "return model.accounts[arrayIndices[0]].atwDevices[arrayIndices[1]].id !== '0';"
2134
+ }
2029
2135
  }
2030
2136
  ]
2031
2137
  }
@@ -2060,7 +2166,10 @@
2060
2166
  "items": [
2061
2167
  "accounts[].ervDevices[].name",
2062
2168
  "accounts[].ervDevices[].refreshInterval"
2063
- ]
2169
+ ],
2170
+ "condition": {
2171
+ "functionBody": "return model.accounts[arrayIndices[0]].ervDevices[arrayIndices[1]].displayType > 0;"
2172
+ }
2064
2173
  },
2065
2174
  {
2066
2175
  "title": "Presets",
@@ -2083,7 +2192,10 @@
2083
2192
  "accounts[].ervDevices[].presets[].namePrefix"
2084
2193
  ]
2085
2194
  }
2086
- ]
2195
+ ],
2196
+ "condition": {
2197
+ "functionBody": "return model.accounts[arrayIndices[0]].ervDevices[arrayIndices[1]].displayType > 0;"
2198
+ }
2087
2199
  },
2088
2200
  {
2089
2201
  "title": "Buttons / Sensors",
@@ -2124,15 +2236,24 @@
2124
2236
  }
2125
2237
  ]
2126
2238
  }
2127
- ]
2239
+ ],
2240
+ "condition": {
2241
+ "functionBody": "return model.accounts[arrayIndices[0]].ervDevices[arrayIndices[1]].displayType > 0;"
2242
+ }
2128
2243
  }
2129
- ]
2244
+ ],
2245
+ "condition": {
2246
+ "functionBody": "return model.accounts[arrayIndices[0]].ervDevices[arrayIndices[1]].id !== '0';"
2247
+ }
2130
2248
  }
2131
2249
  ]
2132
2250
  }
2133
2251
  ]
2134
2252
  }
2135
- ]
2253
+ ],
2254
+ "condition": {
2255
+ "functionBody": "return model.accounts[arrayIndices].type !== 'disabled';"
2256
+ }
2136
2257
  },
2137
2258
  {
2138
2259
  "key": "accounts[]",
@@ -2210,7 +2331,10 @@
2210
2331
  }
2211
2332
  ]
2212
2333
  }
2213
- ]
2334
+ ],
2335
+ "condition": {
2336
+ "functionBody": "return model.accounts[arrayIndices].type !== 'disabled' && (model.accounts[arrayIndices].ataDevices.length > 0 || model.accounts[arrayIndices].atwDevices.length > 0 || model.accounts[arrayIndices].ervDevices.length > 0);"
2337
+ }
2214
2338
  }
2215
2339
  ]
2216
2340
  }