homebridge-melcloud-control 3.0.7-beta.30 → 3.0.7-beta.4
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.
- package/config.schema.json +230 -234
- package/homebridge-ui/public/index.html +21 -41
- package/homebridge-ui/server.js +1 -2
- package/package.json +1 -1
package/config.schema.json
CHANGED
|
@@ -220,11 +220,6 @@
|
|
|
220
220
|
"type": "integer",
|
|
221
221
|
"required": false
|
|
222
222
|
},
|
|
223
|
-
"typeString": {
|
|
224
|
-
"title": "Type",
|
|
225
|
-
"type": "string",
|
|
226
|
-
"required": false
|
|
227
|
-
},
|
|
228
223
|
"name": {
|
|
229
224
|
"title": "Name",
|
|
230
225
|
"type": "string",
|
|
@@ -696,11 +691,6 @@
|
|
|
696
691
|
"type": "integer",
|
|
697
692
|
"required": false
|
|
698
693
|
},
|
|
699
|
-
"typeString": {
|
|
700
|
-
"title": "Type",
|
|
701
|
-
"type": "string",
|
|
702
|
-
"required": false
|
|
703
|
-
},
|
|
704
694
|
"name": {
|
|
705
695
|
"title": "Name",
|
|
706
696
|
"type": "string",
|
|
@@ -1039,11 +1029,6 @@
|
|
|
1039
1029
|
"type": "integer",
|
|
1040
1030
|
"required": false
|
|
1041
1031
|
},
|
|
1042
|
-
"typeString": {
|
|
1043
|
-
"title": "Type",
|
|
1044
|
-
"type": "string",
|
|
1045
|
-
"required": false
|
|
1046
|
-
},
|
|
1047
1032
|
"name": {
|
|
1048
1033
|
"title": "Name",
|
|
1049
1034
|
"type": "string",
|
|
@@ -1452,213 +1437,231 @@
|
|
|
1452
1437
|
"type": "tabarray",
|
|
1453
1438
|
"title": "{{ value.name || 'account' }}",
|
|
1454
1439
|
"items": [
|
|
1455
|
-
"accounts[].name",
|
|
1456
|
-
"accounts[].user",
|
|
1457
1440
|
{
|
|
1458
|
-
"key": "accounts[]
|
|
1459
|
-
"type": "
|
|
1441
|
+
"key": "accounts[]",
|
|
1442
|
+
"type": "section",
|
|
1443
|
+
"title": "Account",
|
|
1444
|
+
"expandable": true,
|
|
1445
|
+
"expanded": false,
|
|
1446
|
+
"items": [
|
|
1447
|
+
"accounts[].name",
|
|
1448
|
+
"accounts[].user",
|
|
1449
|
+
{
|
|
1450
|
+
"key": "accounts[].passwd",
|
|
1451
|
+
"type": "password"
|
|
1452
|
+
},
|
|
1453
|
+
"accounts[].language"
|
|
1454
|
+
]
|
|
1460
1455
|
},
|
|
1461
|
-
"accounts[].language",
|
|
1462
1456
|
{
|
|
1463
1457
|
"key": "accounts[]",
|
|
1464
|
-
"type": "
|
|
1465
|
-
"title": "
|
|
1458
|
+
"type": "section",
|
|
1459
|
+
"title": "Devices",
|
|
1460
|
+
"expandable": true,
|
|
1461
|
+
"expanded": false,
|
|
1466
1462
|
"items": [
|
|
1467
1463
|
{
|
|
1468
1464
|
"key": "accounts[]",
|
|
1469
|
-
"
|
|
1465
|
+
"type": "tabarray",
|
|
1466
|
+
"title": "{{ value.title }}",
|
|
1470
1467
|
"items": [
|
|
1471
1468
|
{
|
|
1472
|
-
"key": "accounts[]
|
|
1473
|
-
"
|
|
1474
|
-
"title": "{{ value.name }}",
|
|
1469
|
+
"key": "accounts[]",
|
|
1470
|
+
"title": "Air Conditioner",
|
|
1475
1471
|
"items": [
|
|
1476
1472
|
{
|
|
1477
|
-
"key": "accounts[].ataDevices
|
|
1478
|
-
"
|
|
1479
|
-
|
|
1480
|
-
{
|
|
1481
|
-
"key": "accounts[].ataDevices[].typeString",
|
|
1482
|
-
"readonly": true
|
|
1483
|
-
},
|
|
1484
|
-
{
|
|
1485
|
-
"key": "accounts[].ataDevices[]",
|
|
1486
|
-
"type": "section",
|
|
1487
|
-
"title": "Configuration",
|
|
1488
|
-
"expandable": true,
|
|
1489
|
-
"expanded": false,
|
|
1490
|
-
"items": [
|
|
1491
|
-
"accounts[].ataDevices[].name",
|
|
1492
|
-
"accounts[].ataDevices[].displayMode",
|
|
1493
|
-
"accounts[].ataDevices[].heatDryFanMode",
|
|
1494
|
-
"accounts[].ataDevices[].coolDryFanMode",
|
|
1495
|
-
"accounts[].ataDevices[].autoDryFanMode",
|
|
1496
|
-
"accounts[].ataDevices[].presets"
|
|
1497
|
-
]
|
|
1498
|
-
},
|
|
1499
|
-
{
|
|
1500
|
-
"key": "accounts[].ataDevices[]",
|
|
1501
|
-
"type": "section",
|
|
1502
|
-
"title": "Temperature Sensors",
|
|
1503
|
-
"expandable": true,
|
|
1504
|
-
"expanded": false,
|
|
1505
|
-
"items": [
|
|
1506
|
-
"accounts[].ataDevices[].temperatureSensor",
|
|
1507
|
-
"accounts[].ataDevices[].temperatureSensorOutdoor"
|
|
1508
|
-
]
|
|
1509
|
-
},
|
|
1510
|
-
{
|
|
1511
|
-
"key": "accounts[].ataDevices[]",
|
|
1512
|
-
"type": "section",
|
|
1513
|
-
"title": "Buttons / Sensors",
|
|
1514
|
-
"expandable": true,
|
|
1515
|
-
"expanded": false,
|
|
1473
|
+
"key": "accounts[].ataDevices",
|
|
1474
|
+
"type": "tabarray",
|
|
1475
|
+
"title": "{{ value.name }}",
|
|
1516
1476
|
"items": [
|
|
1517
1477
|
{
|
|
1518
|
-
"key": "accounts[].ataDevices[].
|
|
1519
|
-
"
|
|
1520
|
-
|
|
1478
|
+
"key": "accounts[].ataDevices[].id",
|
|
1479
|
+
"readonly": true
|
|
1480
|
+
},
|
|
1481
|
+
{
|
|
1482
|
+
"key": "accounts[].ataDevices[].type",
|
|
1483
|
+
"readonly": true
|
|
1484
|
+
},
|
|
1485
|
+
{
|
|
1486
|
+
"key": "accounts[].ataDevices[]",
|
|
1487
|
+
"type": "section",
|
|
1488
|
+
"title": "Configuration",
|
|
1489
|
+
"expandable": true,
|
|
1490
|
+
"expanded": false,
|
|
1491
|
+
"items": [
|
|
1492
|
+
"accounts[].ataDevices[].name",
|
|
1493
|
+
"accounts[].ataDevices[].displayMode",
|
|
1494
|
+
"accounts[].ataDevices[].heatDryFanMode",
|
|
1495
|
+
"accounts[].ataDevices[].coolDryFanMode",
|
|
1496
|
+
"accounts[].ataDevices[].autoDryFanMode",
|
|
1497
|
+
"accounts[].ataDevices[].presets"
|
|
1498
|
+
]
|
|
1499
|
+
},
|
|
1500
|
+
{
|
|
1501
|
+
"key": "accounts[].ataDevices[]",
|
|
1502
|
+
"type": "section",
|
|
1503
|
+
"title": "Temperature Sensors",
|
|
1504
|
+
"expandable": true,
|
|
1505
|
+
"expanded": false,
|
|
1506
|
+
"items": [
|
|
1507
|
+
"accounts[].ataDevices[].temperatureSensor",
|
|
1508
|
+
"accounts[].ataDevices[].temperatureSensorOutdoor"
|
|
1509
|
+
]
|
|
1510
|
+
},
|
|
1511
|
+
{
|
|
1512
|
+
"key": "accounts[].ataDevices[]",
|
|
1513
|
+
"type": "section",
|
|
1514
|
+
"title": "Buttons / Sensors",
|
|
1515
|
+
"expandable": true,
|
|
1516
|
+
"expanded": false,
|
|
1521
1517
|
"items": [
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1518
|
+
{
|
|
1519
|
+
"key": "accounts[].ataDevices[].buttonsSensors",
|
|
1520
|
+
"type": "tabarray",
|
|
1521
|
+
"title": "{{ value.name || 'button/sensor' }}",
|
|
1522
|
+
"items": [
|
|
1523
|
+
"accounts[].ataDevices[].buttonsSensors[].name",
|
|
1524
|
+
"accounts[].ataDevices[].buttonsSensors[].mode",
|
|
1525
|
+
"accounts[].ataDevices[].buttonsSensors[].displayType",
|
|
1526
|
+
"accounts[].ataDevices[].buttonsSensors[].namePrefix"
|
|
1527
|
+
]
|
|
1528
|
+
}
|
|
1526
1529
|
]
|
|
1527
1530
|
}
|
|
1528
1531
|
]
|
|
1529
1532
|
}
|
|
1530
1533
|
]
|
|
1531
|
-
}
|
|
1532
|
-
]
|
|
1533
|
-
},
|
|
1534
|
-
{
|
|
1535
|
-
"key": "accounts[]",
|
|
1536
|
-
"title": "Heat Pump",
|
|
1537
|
-
"items": [
|
|
1534
|
+
},
|
|
1538
1535
|
{
|
|
1539
|
-
"key": "accounts[]
|
|
1540
|
-
"
|
|
1541
|
-
"title": "{{ value.name }}",
|
|
1536
|
+
"key": "accounts[]",
|
|
1537
|
+
"title": "Heat Pump",
|
|
1542
1538
|
"items": [
|
|
1543
1539
|
{
|
|
1544
|
-
"key": "accounts[].atwDevices
|
|
1545
|
-
"
|
|
1546
|
-
|
|
1547
|
-
{
|
|
1548
|
-
"key": "accounts[].atwDevices[].typeString",
|
|
1549
|
-
"readonly": true
|
|
1550
|
-
},
|
|
1551
|
-
{
|
|
1552
|
-
"key": "accounts[].atwDevices[]",
|
|
1553
|
-
"type": "section",
|
|
1554
|
-
"title": "Configuration",
|
|
1555
|
-
"expandable": true,
|
|
1556
|
-
"expanded": false,
|
|
1557
|
-
"items": [
|
|
1558
|
-
"accounts[].atwDevices[].name",
|
|
1559
|
-
"accounts[].atwDevices[].displayMode",
|
|
1560
|
-
"accounts[].atwDevices[].presets"
|
|
1561
|
-
]
|
|
1562
|
-
},
|
|
1563
|
-
{
|
|
1564
|
-
"key": "accounts[].atwDevices[]",
|
|
1565
|
-
"type": "section",
|
|
1566
|
-
"title": "Temperature Sensors",
|
|
1567
|
-
"expandable": true,
|
|
1568
|
-
"expanded": false,
|
|
1569
|
-
"items": [
|
|
1570
|
-
"accounts[].atwDevices[].temperatureSensor",
|
|
1571
|
-
"accounts[].atwDevices[].temperatureSensorFlow",
|
|
1572
|
-
"accounts[].atwDevices[].temperatureSensorReturn",
|
|
1573
|
-
"accounts[].atwDevices[].temperatureSensorFlowZone1",
|
|
1574
|
-
"accounts[].atwDevices[].temperatureSensorReturnZone1",
|
|
1575
|
-
"accounts[].atwDevices[].temperatureSensorFlowWaterTank",
|
|
1576
|
-
"accounts[].atwDevices[].temperatureSensorReturnWaterTank",
|
|
1577
|
-
"accounts[].atwDevices[].temperatureSensorFlowZone2",
|
|
1578
|
-
"accounts[].atwDevices[].temperatureSensorReturnZone2"
|
|
1579
|
-
]
|
|
1580
|
-
},
|
|
1581
|
-
{
|
|
1582
|
-
"key": "accounts[].atwDevices[]",
|
|
1583
|
-
"type": "section",
|
|
1584
|
-
"title": "Buttons / Sensors",
|
|
1585
|
-
"expandable": true,
|
|
1586
|
-
"expanded": false,
|
|
1540
|
+
"key": "accounts[].atwDevices",
|
|
1541
|
+
"type": "tabarray",
|
|
1542
|
+
"title": "{{ value.name }}",
|
|
1587
1543
|
"items": [
|
|
1588
1544
|
{
|
|
1589
|
-
"key": "accounts[].atwDevices[].
|
|
1590
|
-
"
|
|
1591
|
-
|
|
1545
|
+
"key": "accounts[].atwDevices[].id",
|
|
1546
|
+
"readonly": true
|
|
1547
|
+
},
|
|
1548
|
+
{
|
|
1549
|
+
"key": "accounts[].atwDevices[].type",
|
|
1550
|
+
"readonly": true
|
|
1551
|
+
},
|
|
1552
|
+
{
|
|
1553
|
+
"key": "accounts[].atwDevices[]",
|
|
1554
|
+
"type": "section",
|
|
1555
|
+
"title": "Configuration",
|
|
1556
|
+
"expandable": true,
|
|
1557
|
+
"expanded": false,
|
|
1558
|
+
"items": [
|
|
1559
|
+
"accounts[].atwDevices[].name",
|
|
1560
|
+
"accounts[].atwDevices[].displayMode",
|
|
1561
|
+
"accounts[].atwDevices[].presets"
|
|
1562
|
+
]
|
|
1563
|
+
},
|
|
1564
|
+
{
|
|
1565
|
+
"key": "accounts[].atwDevices[]",
|
|
1566
|
+
"type": "section",
|
|
1567
|
+
"title": "Temperature Sensors",
|
|
1568
|
+
"expandable": true,
|
|
1569
|
+
"expanded": false,
|
|
1592
1570
|
"items": [
|
|
1593
|
-
"accounts[].atwDevices[].
|
|
1594
|
-
"accounts[].atwDevices[].
|
|
1595
|
-
"accounts[].atwDevices[].
|
|
1596
|
-
"accounts[].atwDevices[].
|
|
1571
|
+
"accounts[].atwDevices[].temperatureSensor",
|
|
1572
|
+
"accounts[].atwDevices[].temperatureSensorFlow",
|
|
1573
|
+
"accounts[].atwDevices[].temperatureSensorReturn",
|
|
1574
|
+
"accounts[].atwDevices[].temperatureSensorFlowZone1",
|
|
1575
|
+
"accounts[].atwDevices[].temperatureSensorReturnZone1",
|
|
1576
|
+
"accounts[].atwDevices[].temperatureSensorFlowWaterTank",
|
|
1577
|
+
"accounts[].atwDevices[].temperatureSensorReturnWaterTank",
|
|
1578
|
+
"accounts[].atwDevices[].temperatureSensorFlowZone2",
|
|
1579
|
+
"accounts[].atwDevices[].temperatureSensorReturnZone2"
|
|
1580
|
+
]
|
|
1581
|
+
},
|
|
1582
|
+
{
|
|
1583
|
+
"key": "accounts[].atwDevices[]",
|
|
1584
|
+
"type": "section",
|
|
1585
|
+
"title": "Buttons / Sensors",
|
|
1586
|
+
"expandable": true,
|
|
1587
|
+
"expanded": false,
|
|
1588
|
+
"items": [
|
|
1589
|
+
{
|
|
1590
|
+
"key": "accounts[].atwDevices[].buttonsSensors",
|
|
1591
|
+
"type": "tabarray",
|
|
1592
|
+
"title": "{{ value.name || 'button/sensor' }}",
|
|
1593
|
+
"items": [
|
|
1594
|
+
"accounts[].atwDevices[].buttonsSensors[].name",
|
|
1595
|
+
"accounts[].atwDevices[].buttonsSensors[].mode",
|
|
1596
|
+
"accounts[].atwDevices[].buttonsSensors[].displayType",
|
|
1597
|
+
"accounts[].atwDevices[].buttonsSensors[].namePrefix"
|
|
1598
|
+
]
|
|
1599
|
+
}
|
|
1597
1600
|
]
|
|
1598
1601
|
}
|
|
1599
1602
|
]
|
|
1600
1603
|
}
|
|
1601
1604
|
]
|
|
1602
|
-
}
|
|
1603
|
-
]
|
|
1604
|
-
},
|
|
1605
|
-
{
|
|
1606
|
-
"key": "accounts[]",
|
|
1607
|
-
"title": "Energy Recovery Ventilation",
|
|
1608
|
-
"items": [
|
|
1605
|
+
},
|
|
1609
1606
|
{
|
|
1610
|
-
"key": "accounts[]
|
|
1611
|
-
"
|
|
1612
|
-
"title": "{{ value.name }}",
|
|
1607
|
+
"key": "accounts[]",
|
|
1608
|
+
"title": "Energy Recovery Ventilation",
|
|
1613
1609
|
"items": [
|
|
1614
1610
|
{
|
|
1615
|
-
"key": "accounts[].ervDevices
|
|
1616
|
-
"
|
|
1617
|
-
|
|
1618
|
-
{
|
|
1619
|
-
"key": "accounts[].ervDevices[].typeString",
|
|
1620
|
-
"readonly": true
|
|
1621
|
-
},
|
|
1622
|
-
{
|
|
1623
|
-
"key": "accounts[].ervDevices[]",
|
|
1624
|
-
"type": "section",
|
|
1625
|
-
"title": "Configuration",
|
|
1626
|
-
"expandable": true,
|
|
1627
|
-
"expanded": false,
|
|
1628
|
-
"items": [
|
|
1629
|
-
"accounts[].ervDevices[].name",
|
|
1630
|
-
"accounts[].ervDevices[].displayMode",
|
|
1631
|
-
"accounts[].ervDevices[].presets"
|
|
1632
|
-
]
|
|
1633
|
-
},
|
|
1634
|
-
{
|
|
1635
|
-
"key": "accounts[].ervDevices[]",
|
|
1636
|
-
"type": "section",
|
|
1637
|
-
"title": "Temperature Sensors",
|
|
1638
|
-
"expandable": true,
|
|
1639
|
-
"expanded": false,
|
|
1640
|
-
"items": [
|
|
1641
|
-
"accounts[].ervDevices[].temperatureSensor",
|
|
1642
|
-
"accounts[].ervDevices[].temperatureSensorOutdoor",
|
|
1643
|
-
"accounts[].ervDevices[].temperatureSensorSupply"
|
|
1644
|
-
]
|
|
1645
|
-
},
|
|
1646
|
-
{
|
|
1647
|
-
"key": "accounts[].ervDevices[]",
|
|
1648
|
-
"type": "section",
|
|
1649
|
-
"title": "Buttons / Sensors",
|
|
1650
|
-
"expandable": true,
|
|
1651
|
-
"expanded": false,
|
|
1611
|
+
"key": "accounts[].ervDevices",
|
|
1612
|
+
"type": "tabarray",
|
|
1613
|
+
"title": "{{ value.name }}",
|
|
1652
1614
|
"items": [
|
|
1653
1615
|
{
|
|
1654
|
-
"key": "accounts[].ervDevices[].
|
|
1655
|
-
"
|
|
1656
|
-
|
|
1616
|
+
"key": "accounts[].ervDevices[].id",
|
|
1617
|
+
"readonly": true
|
|
1618
|
+
},
|
|
1619
|
+
{
|
|
1620
|
+
"key": "accounts[].ervDevices[].type",
|
|
1621
|
+
"readonly": true
|
|
1622
|
+
},
|
|
1623
|
+
{
|
|
1624
|
+
"key": "accounts[].ervDevices[]",
|
|
1625
|
+
"type": "section",
|
|
1626
|
+
"title": "Configuration",
|
|
1627
|
+
"expandable": true,
|
|
1628
|
+
"expanded": false,
|
|
1657
1629
|
"items": [
|
|
1658
|
-
"accounts[].ervDevices[].
|
|
1659
|
-
"accounts[].ervDevices[].
|
|
1660
|
-
"accounts[].ervDevices[].
|
|
1661
|
-
|
|
1630
|
+
"accounts[].ervDevices[].name",
|
|
1631
|
+
"accounts[].ervDevices[].displayMode",
|
|
1632
|
+
"accounts[].ervDevices[].presets"
|
|
1633
|
+
]
|
|
1634
|
+
},
|
|
1635
|
+
{
|
|
1636
|
+
"key": "accounts[].ervDevices[]",
|
|
1637
|
+
"type": "section",
|
|
1638
|
+
"title": "Temperature Sensors",
|
|
1639
|
+
"expandable": true,
|
|
1640
|
+
"expanded": false,
|
|
1641
|
+
"items": [
|
|
1642
|
+
"accounts[].ervDevices[].temperatureSensor",
|
|
1643
|
+
"accounts[].ervDevices[].temperatureSensorOutdoor",
|
|
1644
|
+
"accounts[].ervDevices[].temperatureSensorSupply"
|
|
1645
|
+
]
|
|
1646
|
+
},
|
|
1647
|
+
{
|
|
1648
|
+
"key": "accounts[].ervDevices[]",
|
|
1649
|
+
"type": "section",
|
|
1650
|
+
"title": "Buttons / Sensors",
|
|
1651
|
+
"expandable": true,
|
|
1652
|
+
"expanded": false,
|
|
1653
|
+
"items": [
|
|
1654
|
+
{
|
|
1655
|
+
"key": "accounts[].ervDevices[].buttonsSensors",
|
|
1656
|
+
"type": "tabarray",
|
|
1657
|
+
"title": "{{ value.name || 'button/sensor' }}",
|
|
1658
|
+
"items": [
|
|
1659
|
+
"accounts[].ervDevices[].buttonsSensors[].name",
|
|
1660
|
+
"accounts[].ervDevices[].buttonsSensors[].mode",
|
|
1661
|
+
"accounts[].ervDevices[].buttonsSensors[].displayType",
|
|
1662
|
+
"accounts[].ervDevices[].buttonsSensors[].namePrefix"
|
|
1663
|
+
]
|
|
1664
|
+
}
|
|
1662
1665
|
]
|
|
1663
1666
|
}
|
|
1664
1667
|
]
|
|
@@ -1672,66 +1675,59 @@
|
|
|
1672
1675
|
{
|
|
1673
1676
|
"key": "accounts[]",
|
|
1674
1677
|
"type": "section",
|
|
1675
|
-
"title": "
|
|
1678
|
+
"title": "System",
|
|
1676
1679
|
"expandable": true,
|
|
1677
1680
|
"expanded": false,
|
|
1678
1681
|
"items": [
|
|
1679
1682
|
{
|
|
1680
1683
|
"key": "accounts[]",
|
|
1681
|
-
"
|
|
1682
|
-
"
|
|
1684
|
+
"title": "Data Refresh",
|
|
1685
|
+
"items": [
|
|
1686
|
+
"accounts[].refreshInterval",
|
|
1687
|
+
"accounts[].deviceRefreshInterval"
|
|
1688
|
+
]
|
|
1689
|
+
},
|
|
1690
|
+
{
|
|
1691
|
+
"key": "accounts[]",
|
|
1692
|
+
"title": "Log",
|
|
1693
|
+
"items": [
|
|
1694
|
+
"accounts[].enableDebugMode",
|
|
1695
|
+
"accounts[].disableLogInfo",
|
|
1696
|
+
"accounts[].disableLogDeviceInfo"
|
|
1697
|
+
]
|
|
1698
|
+
},
|
|
1699
|
+
{
|
|
1700
|
+
"key": "accounts[]",
|
|
1701
|
+
"title": "External Integrations",
|
|
1683
1702
|
"items": [
|
|
1684
1703
|
{
|
|
1685
1704
|
"key": "accounts[]",
|
|
1686
|
-
"
|
|
1687
|
-
"
|
|
1688
|
-
"accounts[].refreshInterval",
|
|
1689
|
-
"accounts[].deviceRefreshInterval"
|
|
1690
|
-
]
|
|
1691
|
-
},
|
|
1692
|
-
{
|
|
1693
|
-
"key": "accounts[]",
|
|
1694
|
-
"title": "Log",
|
|
1695
|
-
"items": [
|
|
1696
|
-
"accounts[].enableDebugMode",
|
|
1697
|
-
"accounts[].disableLogInfo",
|
|
1698
|
-
"accounts[].disableLogDeviceInfo"
|
|
1699
|
-
]
|
|
1700
|
-
},
|
|
1701
|
-
{
|
|
1702
|
-
"key": "accounts[]",
|
|
1703
|
-
"title": "External Integrations",
|
|
1705
|
+
"type": "tabarray",
|
|
1706
|
+
"title": "{{ value.title }}",
|
|
1704
1707
|
"items": [
|
|
1705
1708
|
{
|
|
1706
|
-
"key": "accounts[]",
|
|
1707
|
-
"
|
|
1708
|
-
"title": "{{ value.title }}",
|
|
1709
|
+
"key": "accounts[].restFul",
|
|
1710
|
+
"title": "RESTFul",
|
|
1709
1711
|
"items": [
|
|
1712
|
+
"accounts[].restFul.enable",
|
|
1713
|
+
"accounts[].restFul.debug"
|
|
1714
|
+
]
|
|
1715
|
+
},
|
|
1716
|
+
{
|
|
1717
|
+
"key": "accounts[].mqtt",
|
|
1718
|
+
"title": "MQTT",
|
|
1719
|
+
"items": [
|
|
1720
|
+
"accounts[].mqtt.enable",
|
|
1721
|
+
"accounts[].mqtt.debug",
|
|
1722
|
+
"accounts[].mqtt.host",
|
|
1723
|
+
"accounts[].mqtt.port",
|
|
1724
|
+
"accounts[].mqtt.clientId",
|
|
1725
|
+
"accounts[].mqtt.prefix",
|
|
1726
|
+
"accounts[].mqtt.auth",
|
|
1727
|
+
"accounts[].mqtt.user",
|
|
1710
1728
|
{
|
|
1711
|
-
"key": "accounts[].
|
|
1712
|
-
"
|
|
1713
|
-
"items": [
|
|
1714
|
-
"accounts[].restFul.enable",
|
|
1715
|
-
"accounts[].restFul.debug"
|
|
1716
|
-
]
|
|
1717
|
-
},
|
|
1718
|
-
{
|
|
1719
|
-
"key": "accounts[].mqtt",
|
|
1720
|
-
"title": "MQTT",
|
|
1721
|
-
"items": [
|
|
1722
|
-
"accounts[].mqtt.enable",
|
|
1723
|
-
"accounts[].mqtt.debug",
|
|
1724
|
-
"accounts[].mqtt.host",
|
|
1725
|
-
"accounts[].mqtt.port",
|
|
1726
|
-
"accounts[].mqtt.clientId",
|
|
1727
|
-
"accounts[].mqtt.prefix",
|
|
1728
|
-
"accounts[].mqtt.auth",
|
|
1729
|
-
"accounts[].mqtt.user",
|
|
1730
|
-
{
|
|
1731
|
-
"key": "accounts[].mqtt.passwd",
|
|
1732
|
-
"type": "password"
|
|
1733
|
-
}
|
|
1734
|
-
]
|
|
1729
|
+
"key": "accounts[].mqtt.passwd",
|
|
1730
|
+
"type": "password"
|
|
1735
1731
|
}
|
|
1736
1732
|
]
|
|
1737
1733
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
<div
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
<div>
|
|
2
|
+
<img src="homebridge-melcloud-control.png" style="text-align: center;" height="150" />
|
|
3
|
+
</div>
|
|
4
|
+
<div id="accounts">
|
|
5
|
+
</div>
|
|
6
6
|
<div id="melCloudAccount" style="display: none;" class="card card-body">
|
|
7
7
|
<form id="configForm">
|
|
8
8
|
<div class="text-center">
|
|
9
9
|
<label id="accountName" style="font-size: 23px">Account</label><br>
|
|
10
|
-
<label id="info" style="text-align: center; font-size: 17px;"
|
|
10
|
+
<label id="info" style="text-align: center; font-size: 17px;">MELCloud</label><br><br>
|
|
11
11
|
</div>
|
|
12
12
|
<div class="form-group">
|
|
13
13
|
<label for="name">Name</label>
|
|
@@ -44,14 +44,12 @@
|
|
|
44
44
|
<option value="23">Hrvatski</option>
|
|
45
45
|
<option value="24">Română</option>
|
|
46
46
|
<option value="25">Slovenščina</option>
|
|
47
|
-
</select
|
|
47
|
+
</select>
|
|
48
48
|
</div>
|
|
49
49
|
<div class="text-center">
|
|
50
50
|
<button id="logIn" type="button" class="btn btn-primary">Connect to MELCloud</button>
|
|
51
51
|
<button id="configButton" type="button" class="btn btn-primary"><i class="fas fa-gear"></i></button>
|
|
52
52
|
</div>
|
|
53
|
-
<div id="accountButton">
|
|
54
|
-
</div>
|
|
55
53
|
</form>
|
|
56
54
|
</div>
|
|
57
55
|
|
|
@@ -76,9 +74,8 @@
|
|
|
76
74
|
button.setAttribute("type", "button");
|
|
77
75
|
button.setAttribute("id", `button${i}`);
|
|
78
76
|
button.setAttribute("class", "btn btn-primary");
|
|
79
|
-
button.style.textTransform = 'none';
|
|
80
77
|
button.innerText = pluginConfig[0].accounts[i].name;
|
|
81
|
-
document.getElementById("
|
|
78
|
+
document.getElementById("accounts").appendChild(button);
|
|
82
79
|
|
|
83
80
|
//get actuall value on account select
|
|
84
81
|
document.getElementById(`button${i}`).addEventListener('click', async () => {
|
|
@@ -150,23 +147,15 @@
|
|
|
150
147
|
const info = response.info ?? '';
|
|
151
148
|
const status = response.status;
|
|
152
149
|
const devices = response.data ?? [];
|
|
153
|
-
const newDevices =
|
|
154
|
-
ata: [],
|
|
155
|
-
atw: [],
|
|
156
|
-
erv: []
|
|
157
|
-
};
|
|
158
|
-
let textAta = 'ATA: 0';
|
|
159
|
-
let textAtw = 'ATW: 0';
|
|
160
|
-
let textErv = 'ERV: 0';
|
|
150
|
+
const newDevices = [];
|
|
161
151
|
|
|
162
152
|
switch (status) {
|
|
163
153
|
case 0:
|
|
164
154
|
//get device info fom devices
|
|
165
|
-
devices.forEach((
|
|
166
|
-
const
|
|
167
|
-
const
|
|
168
|
-
const
|
|
169
|
-
const deviceName = device.DeviceName;
|
|
155
|
+
devices.forEach((deviceInfo, index) => {
|
|
156
|
+
const deviceType = deviceInfo.Type;
|
|
157
|
+
const deviceId = deviceInfo.DeviceID;
|
|
158
|
+
const deviceName = deviceInfo.DeviceName;
|
|
170
159
|
|
|
171
160
|
//config account keys
|
|
172
161
|
const accountKeys = Object.keys(pluginConfig[0].accounts[this.deviceIndex]);
|
|
@@ -174,10 +163,9 @@
|
|
|
174
163
|
//devices ata
|
|
175
164
|
if (deviceType === 0) {
|
|
176
165
|
const deviceAta = {
|
|
166
|
+
name: deviceName,
|
|
177
167
|
id: deviceId,
|
|
178
168
|
type: deviceType,
|
|
179
|
-
typeString: deviceTypeText,
|
|
180
|
-
name: deviceName,
|
|
181
169
|
displayMode: 0,
|
|
182
170
|
heatDryFanMode: 0,
|
|
183
171
|
coolDryFanMode: 0,
|
|
@@ -192,18 +180,15 @@
|
|
|
192
180
|
const ataDevices = ataDevicesExist ? pluginConfig[0].accounts[this.deviceIndex].ataDevices : pluginConfig[0].accounts[this.deviceIndex].ataDevices = [];
|
|
193
181
|
const ataDeviceIdExist = ataDevices.some(device => device.id === deviceId);
|
|
194
182
|
const pushTypeAta = ataDeviceIdExist ? false : ataDevices.push(deviceAta);
|
|
195
|
-
const pushNewDevice = ataDeviceIdExist ? false : newDevices.
|
|
196
|
-
const devicesCount = newDevices.ata.length;
|
|
197
|
-
textAta = `ATA: ${devicesCount}`
|
|
183
|
+
const pushNewDevice = ataDeviceIdExist ? false : newDevices.push(deviceId);
|
|
198
184
|
};
|
|
199
185
|
|
|
200
186
|
//devices atw
|
|
201
187
|
if (deviceType === 1) {
|
|
202
188
|
const deviceAtw = {
|
|
189
|
+
name: deviceName,
|
|
203
190
|
id: deviceId,
|
|
204
191
|
type: deviceType,
|
|
205
|
-
typeString: deviceTypeText,
|
|
206
|
-
name: deviceName,
|
|
207
192
|
displayMode: 0,
|
|
208
193
|
temperatureSensor: false,
|
|
209
194
|
temperatureSensorFlow: false,
|
|
@@ -223,18 +208,15 @@
|
|
|
223
208
|
const atwDevices = atwDevicesExist ? pluginConfig[0].accounts[this.deviceIndex].atwDevices : pluginConfig[0].accounts[this.deviceIndex].atwDevices = [];
|
|
224
209
|
const atwDeviceIdExist = atwDevices.some(device => device.id === deviceId);
|
|
225
210
|
const pushTypeatw = atwDeviceIdExist ? false : atwDevices.push(deviceAtw);
|
|
226
|
-
const pushNewDevice = atwDeviceIdExist ? false : newDevices.
|
|
227
|
-
const devicesCount = newDevices.ata.length;
|
|
228
|
-
textAtw = `ATW: ${devicesCount}`
|
|
211
|
+
const pushNewDevice = atwDeviceIdExist ? false : newDevices.push(deviceId);
|
|
229
212
|
};
|
|
230
213
|
|
|
231
214
|
//devices erv
|
|
232
215
|
if (deviceType === 3) {
|
|
233
216
|
const deviceErv = {
|
|
217
|
+
name: deviceName,
|
|
234
218
|
id: deviceId,
|
|
235
219
|
type: deviceType,
|
|
236
|
-
typeString: deviceTypeText,
|
|
237
|
-
name: deviceName,
|
|
238
220
|
displayMode: 0,
|
|
239
221
|
temperatureSensor: false,
|
|
240
222
|
temperatureSensorOutdoor: false,
|
|
@@ -248,14 +230,12 @@
|
|
|
248
230
|
const ervDevices = ervDevicesExist ? pluginConfig[0].accounts[this.deviceIndex].ervDevices : pluginConfig[0].accounts[this.deviceIndex].ervDevices = [];
|
|
249
231
|
const ervDeviceIdExist = ervDevices.some(device => device.id === deviceId);
|
|
250
232
|
const pushTypeerv = ervDeviceIdExist ? false : ervDevices.push(deviceErv);
|
|
251
|
-
const pushNewDevice = ervDeviceIdExist ? false : newDevices.
|
|
252
|
-
const devicesCount = newDevices.ata.length;
|
|
253
|
-
textErv = `ERV: ${devicesCount}`
|
|
233
|
+
const pushNewDevice = ervDeviceIdExist ? false : newDevices.push(deviceId);
|
|
254
234
|
};
|
|
255
235
|
});
|
|
256
236
|
|
|
257
|
-
const
|
|
258
|
-
document.getElementById('info').innerHTML = `
|
|
237
|
+
const devicesCount = newDevices.length;
|
|
238
|
+
document.getElementById('info').innerHTML = `Check devices complete, found ${devicesCount} ${devicesCount !== 1 ? 'new devices' : 'new device'}. ${devicesCount === 0 ? '' : 'Now You can start to configure it.'}`;
|
|
259
239
|
document.getElementById('info').style.color = 'green';
|
|
260
240
|
|
|
261
241
|
await homebridge.updatePluginConfig(pluginConfig);
|
package/homebridge-ui/server.js
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "MELCloud Control",
|
|
3
3
|
"name": "homebridge-melcloud-control",
|
|
4
|
-
"version": "3.0.7-beta.
|
|
4
|
+
"version": "3.0.7-beta.4",
|
|
5
5
|
"description": "Homebridge plugin to control Mitsubishi Air Conditioner, Heat Pump and Energy Recovery Ventilation.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "grzegorz914",
|