homebridge-melcloud-control 2.5.0-beta.67 → 2.5.0-beta.69

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.
@@ -720,524 +720,311 @@
720
720
  ],
721
721
  "description": "Select device control mode displayed in HomeKit app.",
722
722
  "required": true
723
- }
724
- }
725
- },
726
- "required": false
727
- },
728
- "ervDevices": {
729
- "title": "Devices ERV",
730
- "type": "array",
731
- "items": {
732
- "type": "object",
733
- "properties": {
734
- "name": {
735
- "title": "Name",
736
- "type": "string",
723
+ },
724
+ "temperatureSensorFlow": {
725
+ "title": "Temperature Sensor Flow",
726
+ "type": "boolean",
727
+ "default": false,
728
+ "description": "This enable extra Flow temperature sensor to use with automations in HomeKit app.",
737
729
  "required": false
738
730
  },
739
- "id": {
740
- "title": "Mode",
741
- "type": "integer",
731
+ "temperatureSensorReturn": {
732
+ "title": "Temperature Sensor Return",
733
+ "type": "boolean",
734
+ "default": false,
735
+ "description": "This enable extra Return temperature sensor to use with automations in HomeKit app.",
742
736
  "required": false
743
737
  },
744
- "type": {
745
- "title": "Type",
746
- "type": "integer",
738
+ "temperatureSensorFlowZone1": {
739
+ "title": "Temperature Sensor Flow Zone 1",
740
+ "type": "boolean",
741
+ "default": false,
742
+ "description": "This enable extra Flow Zone 1 temperature sensor to use with automations in HomeKit app.",
747
743
  "required": false
748
744
  },
749
- "displayMode": {
750
- "title": "Control",
751
- "type": "integer",
752
- "minimum": 0,
753
- "maximum": 2,
754
- "oneOf": [
755
- {
756
- "title": "None/Disabled",
757
- "enum": [
758
- 0
759
- ]
760
- },
761
- {
762
- "title": "Heater/Cooler",
763
- "enum": [
764
- 0
765
- ]
766
- },
767
- {
768
- "title": "Thermostat",
769
- "enum": [
770
- 1
771
- ]
772
- }
773
- ],
774
- "description": "Select device control mode displayed in HomeKit app.",
775
- "required": true
776
- }
777
- }
778
- },
779
- "required": false
780
- },
781
- "atwTemperatureSensorFlow": {
782
- "title": "Temperature Sensor Flow",
783
- "type": "boolean",
784
- "default": false,
785
- "description": "This enable extra Flow temperature sensor to use with automations in HomeKit app.",
786
- "required": false
787
- },
788
- "atwTemperatureSensorReturn": {
789
- "title": "Temperature Sensor Return",
790
- "type": "boolean",
791
- "default": false,
792
- "description": "This enable extra Return temperature sensor to use with automations in HomeKit app.",
793
- "required": false
794
- },
795
- "atwTemperatureSensorFlowZone1": {
796
- "title": "Temperature Sensor Flow Zone 1",
797
- "type": "boolean",
798
- "default": false,
799
- "description": "This enable extra Flow Zone 1 temperature sensor to use with automations in HomeKit app.",
800
- "required": false
801
- },
802
- "atwTemperatureSensorReturnZone1": {
803
- "title": "Temperature Sensor Return Zone 1",
804
- "type": "boolean",
805
- "default": false,
806
- "description": "This enable extra Return Zone 1 temperature sensor to use with automations in HomeKit app.",
807
- "required": false
808
- },
809
- "atwTemperatureSensorFlowWaterTank": {
810
- "title": "Temperature Sensor Flow Water Tank",
811
- "type": "boolean",
812
- "default": false,
813
- "description": "This enable extra Flow Water Tank temperature sensor to use with automations in HomeKit app.",
814
- "required": false
815
- },
816
- "atwTemperatureSensorReturnWaterTank": {
817
- "title": "Temperature Sensor Return Water Tank",
818
- "type": "boolean",
819
- "default": false,
820
- "description": "This enable extra Return Water Tank temperature sensor to use with automations in HomeKit app.",
821
- "required": false
822
- },
823
- "atwTemperatureSensorFlowZone2": {
824
- "title": "Temperature Sensor Flow Zone 2",
825
- "type": "boolean",
826
- "default": false,
827
- "description": "This enable extra Flow Zone 2 temperature sensor to use with automations in HomeKit app.",
828
- "required": false
829
- },
830
- "atwTemperatureSensorReturnZone2": {
831
- "title": "Temperature Sensor Return Zone 2",
832
- "type": "boolean",
833
- "default": false,
834
- "description": "This enable extra Return Zone 2 temperature sensor to use with automations in HomeKit app.",
835
- "required": false
836
- },
837
- "atwPresets": {
838
- "title": "Presets",
839
- "type": "boolean",
840
- "default": false,
841
- "description": "This enable extra buttons for configured presets and display it in HomeKit app.",
842
- "required": false
843
- },
844
- "atwButtons": {
845
- "title": "Button",
846
- "type": "array",
847
- "items": {
848
- "type": "object",
849
- "properties": {
850
- "name": {
851
- "title": "Name",
852
- "type": "string",
853
- "placeholder": "Button name",
854
- "description": "Your own name displayed in Homebridge/HomeKit app.",
855
- "required": true
745
+ "temperatureSensorReturnZone1": {
746
+ "title": "Temperature Sensor Return Zone 1",
747
+ "type": "boolean",
748
+ "default": false,
749
+ "description": "This enable extra Return Zone 1 temperature sensor to use with automations in HomeKit app.",
750
+ "required": false
856
751
  },
857
- "mode": {
858
- "title": "Mode",
859
- "type": "integer",
860
- "minimum": 0,
861
- "maximum": 70,
862
- "description": "Select the function.",
863
- "oneOf": [
864
- {
865
- "title": "POWER ON/OFF",
866
- "enum": [
867
- 0
868
- ]
869
- },
870
- {
871
- "title": "MODE HEAT",
872
- "enum": [
873
- 1
874
- ]
875
- },
876
- {
877
- "title": "MODE COOL",
878
- "enum": [
879
- 2
880
- ]
881
- },
882
- {
883
- "title": "MODE HOLIDAY",
884
- "enum": [
885
- 3
886
- ]
887
- },
888
- {
889
- "title": "LOCK CONTROL ALL",
890
- "enum": [
891
- 10
892
- ]
893
- },
894
- {
895
- "title": "Z1 MODE HEAT THERMOSTAT",
896
- "enum": [
897
- 20
898
- ]
899
- },
900
- {
901
- "title": "Z1 MODE HEAT FLOW",
902
- "enum": [
903
- 21
904
- ]
905
- },
906
- {
907
- "title": "Z1 MODE HEAT CURVE",
908
- "enum": [
909
- 22
910
- ]
911
- },
912
- {
913
- "title": "Z1 MODE COOL THERMOSTAT",
914
- "enum": [
915
- 23
916
- ]
917
- },
918
- {
919
- "title": "Z1 MODE COOL FLOW",
920
- "enum": [
921
- 24
922
- ]
923
- },
924
- {
925
- "title": "Z1 MODE FLOOR DRY UP",
926
- "enum": [
927
- 25
928
- ]
929
- },
930
- {
931
- "title": "Z1 LOCK CONTROL",
932
- "enum": [
933
- 30
934
- ]
935
- },
936
- {
937
- "title": "HW MODE FORCE",
938
- "enum": [
939
- 40
940
- ]
941
- },
942
- {
943
- "title": "HW MODE ECO",
944
- "enum": [
945
- 41
946
- ]
947
- },
948
- {
949
- "title": "HW LOCK CONTROL",
950
- "enum": [
951
- 50
952
- ]
953
- },
954
- {
955
- "title": "Z2 MODE HEAT THERMOSTAT",
956
- "enum": [
957
- 60
958
- ]
959
- },
960
- {
961
- "title": "Z2 MODE HEAT FLOW",
962
- "enum": [
963
- 61
964
- ]
965
- },
966
- {
967
- "title": "Z2 MODE HEAT CURVE",
968
- "enum": [
969
- 62
970
- ]
971
- },
972
- {
973
- "title": "Z2 MODE COOL THERMOSTAT",
974
- "enum": [
975
- 63
976
- ]
977
- },
978
- {
979
- "title": "Z2 MODE COOL FLOW",
980
- "enum": [
981
- 64
982
- ]
983
- },
984
- {
985
- "title": "Z2 MODE FLOOR DRY UP",
986
- "enum": [
987
- 65
988
- ]
989
- },
990
- {
991
- "title": "Z2 LOCK CONTROL",
992
- "enum": [
993
- 70
994
- ]
995
- }
996
- ],
997
- "required": true
752
+ "temperatureSensorFlowWaterTank": {
753
+ "title": "Temperature Sensor Flow Water Tank",
754
+ "type": "boolean",
755
+ "default": false,
756
+ "description": "This enable extra Flow Water Tank temperature sensor to use with automations in HomeKit app.",
757
+ "required": false
998
758
  },
999
- "displayType": {
1000
- "title": "Type",
1001
- "type": "integer",
1002
- "minimum": 0,
1003
- "maximum": 5,
1004
- "oneOf": [
1005
- {
1006
- "title": "None/Disabled",
1007
- "enum": [
1008
- 0
1009
- ]
1010
- },
1011
- {
1012
- "title": "Outlet",
1013
- "enum": [
1014
- 1
1015
- ]
1016
- },
1017
- {
1018
- "title": "Switch",
1019
- "enum": [
1020
- 2
1021
- ]
1022
- },
1023
- {
1024
- "title": "Motion Sensor",
1025
- "enum": [
1026
- 3
1027
- ]
1028
- },
1029
- {
1030
- "title": "Occupancy Sensor",
1031
- "enum": [
1032
- 4
1033
- ]
1034
- },
1035
- {
1036
- "title": "Contact Sensor",
1037
- "enum": [
1038
- 5
1039
- ]
759
+ "temperatureSensorReturnWaterTank": {
760
+ "title": "Temperature Sensor Return Water Tank",
761
+ "type": "boolean",
762
+ "default": false,
763
+ "description": "This enable extra Return Water Tank temperature sensor to use with automations in HomeKit app.",
764
+ "required": false
765
+ },
766
+ "temperatureSensorFlowZone2": {
767
+ "title": "Temperature Sensor Flow Zone 2",
768
+ "type": "boolean",
769
+ "default": false,
770
+ "description": "This enable extra Flow Zone 2 temperature sensor to use with automations in HomeKit app.",
771
+ "required": false
772
+ },
773
+ "temperatureSensorReturnZone2": {
774
+ "title": "Temperature Sensor Return Zone 2",
775
+ "type": "boolean",
776
+ "default": false,
777
+ "description": "This enable extra Return Zone 2 temperature sensor to use with automations in HomeKit app.",
778
+ "required": false
779
+ },
780
+ "presets": {
781
+ "title": "Presets",
782
+ "type": "boolean",
783
+ "default": false,
784
+ "description": "This enable extra buttons for configured presets and display it in HomeKit app.",
785
+ "required": false
786
+ },
787
+ "buttonsSensors": {
788
+ "title": "Button",
789
+ "type": "array",
790
+ "items": {
791
+ "type": "object",
792
+ "properties": {
793
+ "name": {
794
+ "title": "Name",
795
+ "type": "string",
796
+ "placeholder": "Button name",
797
+ "description": "Your own name displayed in Homebridge/HomeKit app.",
798
+ "required": true
799
+ },
800
+ "mode": {
801
+ "title": "Mode",
802
+ "type": "integer",
803
+ "minimum": 0,
804
+ "maximum": 70,
805
+ "description": "Select the function.",
806
+ "oneOf": [
807
+ {
808
+ "title": "POWER ON/OFF",
809
+ "enum": [
810
+ 0
811
+ ]
812
+ },
813
+ {
814
+ "title": "MODE HEAT",
815
+ "enum": [
816
+ 1
817
+ ]
818
+ },
819
+ {
820
+ "title": "MODE COOL",
821
+ "enum": [
822
+ 2
823
+ ]
824
+ },
825
+ {
826
+ "title": "MODE HOLIDAY",
827
+ "enum": [
828
+ 3
829
+ ]
830
+ },
831
+ {
832
+ "title": "LOCK CONTROL ALL",
833
+ "enum": [
834
+ 10
835
+ ]
836
+ },
837
+ {
838
+ "title": "Z1 MODE HEAT THERMOSTAT",
839
+ "enum": [
840
+ 20
841
+ ]
842
+ },
843
+ {
844
+ "title": "Z1 MODE HEAT FLOW",
845
+ "enum": [
846
+ 21
847
+ ]
848
+ },
849
+ {
850
+ "title": "Z1 MODE HEAT CURVE",
851
+ "enum": [
852
+ 22
853
+ ]
854
+ },
855
+ {
856
+ "title": "Z1 MODE COOL THERMOSTAT",
857
+ "enum": [
858
+ 23
859
+ ]
860
+ },
861
+ {
862
+ "title": "Z1 MODE COOL FLOW",
863
+ "enum": [
864
+ 24
865
+ ]
866
+ },
867
+ {
868
+ "title": "Z1 MODE FLOOR DRY UP",
869
+ "enum": [
870
+ 25
871
+ ]
872
+ },
873
+ {
874
+ "title": "Z1 LOCK CONTROL",
875
+ "enum": [
876
+ 30
877
+ ]
878
+ },
879
+ {
880
+ "title": "HW MODE FORCE",
881
+ "enum": [
882
+ 40
883
+ ]
884
+ },
885
+ {
886
+ "title": "HW MODE ECO",
887
+ "enum": [
888
+ 41
889
+ ]
890
+ },
891
+ {
892
+ "title": "HW LOCK CONTROL",
893
+ "enum": [
894
+ 50
895
+ ]
896
+ },
897
+ {
898
+ "title": "Z2 MODE HEAT THERMOSTAT",
899
+ "enum": [
900
+ 60
901
+ ]
902
+ },
903
+ {
904
+ "title": "Z2 MODE HEAT FLOW",
905
+ "enum": [
906
+ 61
907
+ ]
908
+ },
909
+ {
910
+ "title": "Z2 MODE HEAT CURVE",
911
+ "enum": [
912
+ 62
913
+ ]
914
+ },
915
+ {
916
+ "title": "Z2 MODE COOL THERMOSTAT",
917
+ "enum": [
918
+ 63
919
+ ]
920
+ },
921
+ {
922
+ "title": "Z2 MODE COOL FLOW",
923
+ "enum": [
924
+ 64
925
+ ]
926
+ },
927
+ {
928
+ "title": "Z2 MODE FLOOR DRY UP",
929
+ "enum": [
930
+ 65
931
+ ]
932
+ },
933
+ {
934
+ "title": "Z2 LOCK CONTROL",
935
+ "enum": [
936
+ 70
937
+ ]
938
+ }
939
+ ],
940
+ "required": true
941
+ },
942
+ "displayType": {
943
+ "title": "Type",
944
+ "type": "integer",
945
+ "minimum": 0,
946
+ "maximum": 5,
947
+ "oneOf": [
948
+ {
949
+ "title": "None/Disabled",
950
+ "enum": [
951
+ 0
952
+ ]
953
+ },
954
+ {
955
+ "title": "Outlet",
956
+ "enum": [
957
+ 1
958
+ ]
959
+ },
960
+ {
961
+ "title": "Switch",
962
+ "enum": [
963
+ 2
964
+ ]
965
+ },
966
+ {
967
+ "title": "Motion Sensor",
968
+ "enum": [
969
+ 3
970
+ ]
971
+ },
972
+ {
973
+ "title": "Occupancy Sensor",
974
+ "enum": [
975
+ 4
976
+ ]
977
+ },
978
+ {
979
+ "title": "Contact Sensor",
980
+ "enum": [
981
+ 5
982
+ ]
983
+ }
984
+ ],
985
+ "description": "Select the characteristic type to be displayed in HomeKit app.",
986
+ "required": true
987
+ },
988
+ "namePrefix": {
989
+ "title": "Prefix",
990
+ "type": "boolean",
991
+ "description": "Enable/disable the accessory name as a prefix for button/sensor name.",
992
+ "required": false
993
+ }
1040
994
  }
1041
- ],
1042
- "description": "Select the characteristic type to be displayed in HomeKit app.",
1043
- "required": true
1044
- },
1045
- "namePrefix": {
1046
- "title": "Prefix",
1047
- "type": "boolean",
1048
- "description": "Enable/disable the accessory name as a prefix for button/sensor name.",
1049
- "required": false
1050
- }
1051
- }
1052
- },
1053
- "required": false
1054
- },
1055
- "atwHideDeviceById": {
1056
- "title": "Hide Device By Id",
1057
- "type": "array",
1058
- "items": {
1059
- "type": "object",
1060
- "properties": {
1061
- "name": {
1062
- "title": "Name",
1063
- "type": "string",
1064
- "placeholder": "Device name",
1065
- "description": "Your own name.",
1066
- "required": false
1067
- },
1068
- "id": {
1069
- "title": "Id",
1070
- "type": "string",
1071
- "description": "Set device Id to be hidden and not exposed to the Homebridge/Homekit.",
995
+ },
1072
996
  "required": false
1073
997
  }
1074
998
  }
1075
999
  },
1076
- "required": false
1077
- },
1078
- "ervDisplayMode": {
1079
- "title": "Control Mode",
1080
- "type": "integer",
1081
- "minimum": 0,
1082
- "maximum": 1,
1083
- "default": 0,
1084
- "oneOf": [
1085
- {
1086
- "title": "Heater/Cooler",
1087
- "enum": [
1088
- 0
1089
- ]
1090
- },
1091
- {
1092
- "title": "Thermostat",
1093
- "enum": [
1094
- 1
1095
- ]
1096
- }
1097
- ],
1098
- "description": "Select main control mode.",
1099
1000
  "required": true
1100
1001
  },
1101
- "ervTemperatureSensor": {
1102
- "title": "Temperature Sensor Room",
1103
- "type": "boolean",
1104
- "default": false,
1105
- "description": "This enable extra temperature sensor to use with automations in HomeKit app.",
1106
- "required": false
1107
- },
1108
- "ervTemperatureSensorOutdoor": {
1109
- "title": "Temperature Sensor Outdoor",
1110
- "type": "boolean",
1111
- "default": false,
1112
- "description": "This enable extra outdoor temperature sensor to use with automations in HomeKit app.",
1113
- "required": false
1114
- },
1115
- "ervTemperatureSensorSupply": {
1116
- "title": "Temperature Sensor Supply",
1117
- "type": "boolean",
1118
- "default": false,
1119
- "description": "This enable extra supply temperature sensor to use with automations in HomeKit app.",
1120
- "required": false
1121
- },
1122
- "ervPresets": {
1123
- "title": "Presets",
1124
- "type": "boolean",
1125
- "default": false,
1126
- "description": "This enable extra buttons for configured presets and display it in HomeKit app.",
1127
- "required": false
1128
- },
1129
- "ervButtons": {
1130
- "title": "Button",
1002
+ "ervDevices": {
1003
+ "title": "Devices ERV",
1131
1004
  "type": "array",
1132
1005
  "items": {
1133
1006
  "type": "object",
1134
1007
  "properties": {
1135
1008
  "name": {
1136
1009
  "title": "Name",
1137
- "type": "string",
1138
- "placeholder": "Button name",
1139
- "description": "Your own name displayed in Homebridge/HomeKit app.",
1140
- "required": true
1141
- },
1142
- "mode": {
1143
- "title": "Mode",
1144
- "type": "integer",
1145
- "minimum": 0,
1146
- "maximum": 18,
1147
- "description": "Select the function.",
1148
- "oneOf": [
1149
- {
1150
- "title": "POWER ON/OFF",
1151
- "enum": [
1152
- 0
1153
- ]
1154
- },
1155
- {
1156
- "title": "MODE LOSSNAY",
1157
- "enum": [
1158
- 1
1159
- ]
1160
- },
1161
- {
1162
- "title": "MODE BYPASS",
1163
- "enum": [
1164
- 2
1165
- ]
1166
- },
1167
- {
1168
- "title": "MODE AUTO",
1169
- "enum": [
1170
- 3
1171
- ]
1172
- },
1173
- {
1174
- "title": "MODE NIGHT PURGE",
1175
- "enum": [
1176
- 4
1177
- ]
1178
- },
1179
- {
1180
- "title": "FAN MODE AUTO",
1181
- "enum": [
1182
- 10
1183
- ]
1184
- },
1185
- {
1186
- "title": "FAN MODE 1",
1187
- "enum": [
1188
- 11
1189
- ]
1190
- },
1191
- {
1192
- "title": "FAN MODE 2",
1193
- "enum": [
1194
- 12
1195
- ]
1196
- },
1197
- {
1198
- "title": "FAN MODE 3",
1199
- "enum": [
1200
- 13
1201
- ]
1202
- },
1203
- {
1204
- "title": "FAN MODE 4",
1205
- "enum": [
1206
- 14
1207
- ]
1208
- },
1209
- {
1210
- "title": "LOCK CONTROL",
1211
- "enum": [
1212
- 15
1213
- ]
1214
- },
1215
- {
1216
- "title": "ROOM TEMP HIDE",
1217
- "enum": [
1218
- 16
1219
- ]
1220
- },
1221
- {
1222
- "title": "SUPPLY TEMP HIDE",
1223
- "enum": [
1224
- 17
1225
- ]
1226
- },
1227
- {
1228
- "title": "OUTDOOR TEMP HIDE",
1229
- "enum": [
1230
- 18
1231
- ]
1232
- }
1233
- ],
1234
- "required": true
1010
+ "type": "string",
1011
+ "required": false
1012
+ },
1013
+ "id": {
1014
+ "title": "Mode",
1015
+ "type": "integer",
1016
+ "required": false
1235
1017
  },
1236
- "displayType": {
1018
+ "type": {
1237
1019
  "title": "Type",
1238
1020
  "type": "integer",
1021
+ "required": false
1022
+ },
1023
+ "displayMode": {
1024
+ "title": "Control",
1025
+ "type": "integer",
1239
1026
  "minimum": 0,
1240
- "maximum": 5,
1027
+ "maximum": 2,
1241
1028
  "oneOf": [
1242
1029
  {
1243
1030
  "title": "None/Disabled",
@@ -1246,71 +1033,215 @@
1246
1033
  ]
1247
1034
  },
1248
1035
  {
1249
- "title": "Outlet",
1250
- "enum": [
1251
- 1
1252
- ]
1253
- },
1254
- {
1255
- "title": "Switch",
1256
- "enum": [
1257
- 2
1258
- ]
1259
- },
1260
- {
1261
- "title": "Motion Sensor",
1262
- "enum": [
1263
- 3
1264
- ]
1265
- },
1266
- {
1267
- "title": "Occupancy Sensor",
1036
+ "title": "Heater/Cooler",
1268
1037
  "enum": [
1269
- 4
1038
+ 0
1270
1039
  ]
1271
1040
  },
1272
1041
  {
1273
- "title": "Contact Sensor",
1042
+ "title": "Thermostat",
1274
1043
  "enum": [
1275
- 5
1044
+ 1
1276
1045
  ]
1277
1046
  }
1278
1047
  ],
1279
- "description": "Select the characteristic type to be displayed in HomeKit app.",
1048
+ "description": "Select device control mode displayed in HomeKit app.",
1049
+ "required": true
1050
+ },
1051
+ "temperatureSensor": {
1052
+ "title": "Temperature Sensor Room",
1053
+ "type": "boolean",
1054
+ "default": false,
1055
+ "description": "This enable extra temperature sensor to use with automations in HomeKit app.",
1280
1056
  "required": false
1281
1057
  },
1282
- "namePrefix": {
1283
- "title": "Prefix",
1058
+ "temperatureSensorOutdoor": {
1059
+ "title": "Temperature Sensor Outdoor",
1284
1060
  "type": "boolean",
1285
- "description": "Enable/disable the accessory name as a prefix for button/sensor name.",
1061
+ "default": false,
1062
+ "description": "This enable extra outdoor temperature sensor to use with automations in HomeKit app.",
1286
1063
  "required": false
1287
- }
1288
- }
1289
- },
1290
- "required": false
1291
- },
1292
- "ervHideDeviceById": {
1293
- "title": "Hide Device By Id",
1294
- "type": "array",
1295
- "items": {
1296
- "type": "object",
1297
- "properties": {
1298
- "name": {
1299
- "title": "Name",
1300
- "type": "string",
1301
- "placeholder": "Device name",
1302
- "description": "Your own name.",
1064
+ },
1065
+ "temperatureSensorSupply": {
1066
+ "title": "Temperature Sensor Supply",
1067
+ "type": "boolean",
1068
+ "default": false,
1069
+ "description": "This enable extra supply temperature sensor to use with automations in HomeKit app.",
1303
1070
  "required": false
1304
1071
  },
1305
- "id": {
1306
- "title": "Id",
1307
- "type": "string",
1308
- "description": "Set device Id to be hidden and not exposed to the Homebridge/Homekit.",
1072
+ "presets": {
1073
+ "title": "Presets",
1074
+ "type": "boolean",
1075
+ "default": false,
1076
+ "description": "This enable extra buttons for configured presets and display it in HomeKit app.",
1077
+ "required": false
1078
+ },
1079
+ "buttonsSensors": {
1080
+ "title": "Button",
1081
+ "type": "array",
1082
+ "items": {
1083
+ "type": "object",
1084
+ "properties": {
1085
+ "name": {
1086
+ "title": "Name",
1087
+ "type": "string",
1088
+ "placeholder": "Button name",
1089
+ "description": "Your own name displayed in Homebridge/HomeKit app.",
1090
+ "required": true
1091
+ },
1092
+ "mode": {
1093
+ "title": "Mode",
1094
+ "type": "integer",
1095
+ "minimum": 0,
1096
+ "maximum": 18,
1097
+ "description": "Select the function.",
1098
+ "oneOf": [
1099
+ {
1100
+ "title": "POWER ON/OFF",
1101
+ "enum": [
1102
+ 0
1103
+ ]
1104
+ },
1105
+ {
1106
+ "title": "MODE LOSSNAY",
1107
+ "enum": [
1108
+ 1
1109
+ ]
1110
+ },
1111
+ {
1112
+ "title": "MODE BYPASS",
1113
+ "enum": [
1114
+ 2
1115
+ ]
1116
+ },
1117
+ {
1118
+ "title": "MODE AUTO",
1119
+ "enum": [
1120
+ 3
1121
+ ]
1122
+ },
1123
+ {
1124
+ "title": "MODE NIGHT PURGE",
1125
+ "enum": [
1126
+ 4
1127
+ ]
1128
+ },
1129
+ {
1130
+ "title": "FAN MODE AUTO",
1131
+ "enum": [
1132
+ 10
1133
+ ]
1134
+ },
1135
+ {
1136
+ "title": "FAN MODE 1",
1137
+ "enum": [
1138
+ 11
1139
+ ]
1140
+ },
1141
+ {
1142
+ "title": "FAN MODE 2",
1143
+ "enum": [
1144
+ 12
1145
+ ]
1146
+ },
1147
+ {
1148
+ "title": "FAN MODE 3",
1149
+ "enum": [
1150
+ 13
1151
+ ]
1152
+ },
1153
+ {
1154
+ "title": "FAN MODE 4",
1155
+ "enum": [
1156
+ 14
1157
+ ]
1158
+ },
1159
+ {
1160
+ "title": "LOCK CONTROL",
1161
+ "enum": [
1162
+ 15
1163
+ ]
1164
+ },
1165
+ {
1166
+ "title": "ROOM TEMP HIDE",
1167
+ "enum": [
1168
+ 16
1169
+ ]
1170
+ },
1171
+ {
1172
+ "title": "SUPPLY TEMP HIDE",
1173
+ "enum": [
1174
+ 17
1175
+ ]
1176
+ },
1177
+ {
1178
+ "title": "OUTDOOR TEMP HIDE",
1179
+ "enum": [
1180
+ 18
1181
+ ]
1182
+ }
1183
+ ],
1184
+ "required": true
1185
+ },
1186
+ "displayType": {
1187
+ "title": "Type",
1188
+ "type": "integer",
1189
+ "minimum": 0,
1190
+ "maximum": 5,
1191
+ "oneOf": [
1192
+ {
1193
+ "title": "None/Disabled",
1194
+ "enum": [
1195
+ 0
1196
+ ]
1197
+ },
1198
+ {
1199
+ "title": "Outlet",
1200
+ "enum": [
1201
+ 1
1202
+ ]
1203
+ },
1204
+ {
1205
+ "title": "Switch",
1206
+ "enum": [
1207
+ 2
1208
+ ]
1209
+ },
1210
+ {
1211
+ "title": "Motion Sensor",
1212
+ "enum": [
1213
+ 3
1214
+ ]
1215
+ },
1216
+ {
1217
+ "title": "Occupancy Sensor",
1218
+ "enum": [
1219
+ 4
1220
+ ]
1221
+ },
1222
+ {
1223
+ "title": "Contact Sensor",
1224
+ "enum": [
1225
+ 5
1226
+ ]
1227
+ }
1228
+ ],
1229
+ "description": "Select the characteristic type to be displayed in HomeKit app.",
1230
+ "required": false
1231
+ },
1232
+ "namePrefix": {
1233
+ "title": "Prefix",
1234
+ "type": "boolean",
1235
+ "description": "Enable/disable the accessory name as a prefix for button/sensor name.",
1236
+ "required": false
1237
+ }
1238
+ }
1239
+ },
1309
1240
  "required": false
1310
1241
  }
1311
1242
  }
1312
1243
  },
1313
- "required": false
1244
+ "required": true
1314
1245
  },
1315
1246
  "refreshInterval": {
1316
1247
  "title": "Account Refresh Interval",
@@ -1526,8 +1457,17 @@
1526
1457
  "accounts[].ataDevices[].coolDryFanMode",
1527
1458
  "accounts[].ataDevices[].autoDryFanMode",
1528
1459
  "accounts[].ataDevices[].presets",
1529
- "accounts[].ataDevices[].temperatureSensor",
1530
- "accounts[].ataDevices[].temperatureSensorOutdoor",
1460
+ {
1461
+ "key": "accounts[].ataDevices[]",
1462
+ "type": "section",
1463
+ "title": "Temperature Sensors",
1464
+ "expandable": true,
1465
+ "expanded": false,
1466
+ "items": [
1467
+ "accounts[].ataDevices[].temperatureSensor",
1468
+ "accounts[].ataDevices[].temperatureSensorOutdoor"
1469
+ ]
1470
+ },
1531
1471
  {
1532
1472
  "key": "accounts[].ataDevices[]",
1533
1473
  "type": "section",
@@ -1577,60 +1517,42 @@
1577
1517
  "accounts[].atwDevices[].displayMode"
1578
1518
  ]
1579
1519
  },
1580
- "accounts[].atwDisplayMode",
1581
- "accounts[].atwPresets",
1520
+ "accounts[].atwDevices[].displayMode",
1521
+ "accounts[].atwDevices[].presets",
1582
1522
  {
1583
- "key": "accounts[]",
1523
+ "key": "accounts[].atwDevices[]",
1584
1524
  "type": "section",
1585
1525
  "title": "Temperature Sensors",
1586
1526
  "expandable": true,
1587
1527
  "expanded": false,
1588
1528
  "items": [
1589
- "accounts[].atwTemperatureSensor",
1590
- "accounts[].atwTemperatureSensorFlow",
1591
- "accounts[].atwTemperatureSensorReturn",
1592
- "accounts[].atwTemperatureSensorFlowZone1",
1593
- "accounts[].atwTemperatureSensorReturnZone1",
1594
- "accounts[].atwTemperatureSensorFlowWaterTank",
1595
- "accounts[].atwTemperatureSensorReturnWaterTank",
1596
- "accounts[].atwTemperatureSensorFlowZone2",
1597
- "accounts[].atwTemperatureSensorReturnZone2"
1529
+ "accounts[].atwDevices[].temperatureSensor",
1530
+ "accounts[].atwDevices[].temperatureSensorFlow",
1531
+ "accounts[].atwDevices[].temperatureSensorReturn",
1532
+ "accounts[].atwDevices[].temperatureSensorFlowZone1",
1533
+ "accounts[].atwDevices[].temperatureSensorReturnZone1",
1534
+ "accounts[].atwDevices[].temperatureSensorFlowWaterTank",
1535
+ "accounts[].atwDevices[].temperatureSensorReturnWaterTank",
1536
+ "accounts[].atwDevices[].temperatureSensorFlowZone2",
1537
+ "accounts[].atwDevices[].temperatureSensorReturnZone2"
1598
1538
  ]
1599
1539
  },
1600
1540
  {
1601
- "key": "accounts[]",
1541
+ "key": "accounts[].atwDevices[]",
1602
1542
  "type": "section",
1603
1543
  "title": "Buttons / Sensors",
1604
1544
  "expandable": true,
1605
1545
  "expanded": false,
1606
1546
  "items": [
1607
1547
  {
1608
- "key": "accounts[].atwButtons",
1548
+ "key": "accounts[].atwDevices[].buttonsSensors",
1609
1549
  "type": "tabarray",
1610
1550
  "title": "{{ value.name || 'button/sensor' }}",
1611
1551
  "items": [
1612
- "accounts[].atwButtons[].name",
1613
- "accounts[].atwButtons[].mode",
1614
- "accounts[].atwButtons[].displayType",
1615
- "accounts[].atwButtons[].namePrefix"
1616
- ]
1617
- }
1618
- ]
1619
- },
1620
- {
1621
- "key": "accounts[]",
1622
- "type": "section",
1623
- "title": "Hide Device By Id",
1624
- "expandable": true,
1625
- "expanded": false,
1626
- "items": [
1627
- {
1628
- "key": "accounts[].atwHideDeviceById",
1629
- "type": "tabarray",
1630
- "title": "{{ value.name || 'device' }}",
1631
- "items": [
1632
- "accounts[].atwHideDeviceById[].name",
1633
- "accounts[].atwHideDeviceById[].id"
1552
+ "accounts[].atwDevices[].buttonsSensors[].name",
1553
+ "accounts[].atwDevices[].buttonsSensors[].mode",
1554
+ "accounts[].atwDevices[].buttonsSensors[].displayType",
1555
+ "accounts[].atwDevices[].buttonsSensors[].namePrefix"
1634
1556
  ]
1635
1557
  }
1636
1558
  ]
@@ -1662,54 +1584,36 @@
1662
1584
  "accounts[].ervDevices[].displayMode"
1663
1585
  ]
1664
1586
  },
1665
- "accounts[].ervDisplayMode",
1666
- "accounts[].ervPresets",
1587
+ "accounts[].ervDevices[].displayMode",
1588
+ "accounts[].ervDevices[].presets",
1667
1589
  {
1668
- "key": "accounts[]",
1590
+ "key": "accounts[].ervDevices[]",
1669
1591
  "type": "section",
1670
1592
  "title": "Temperature Sensors",
1671
1593
  "expandable": true,
1672
1594
  "expanded": false,
1673
1595
  "items": [
1674
- "accounts[].ervTemperatureSensor",
1675
- "accounts[].ervTemperatureSensorOutdoor",
1676
- "accounts[].ervTemperatureSensorSupply"
1596
+ "accounts[].ervDevices[].temperatureSensor",
1597
+ "accounts[].ervDevices[].temperatureSensorOutdoor",
1598
+ "accounts[].ervDevices[].temperatureSensorSupply"
1677
1599
  ]
1678
1600
  },
1679
1601
  {
1680
- "key": "accounts[]",
1602
+ "key": "accounts[].ervDevices[]",
1681
1603
  "type": "section",
1682
1604
  "title": "Buttons / Sensors",
1683
1605
  "expandable": true,
1684
1606
  "expanded": false,
1685
1607
  "items": [
1686
1608
  {
1687
- "key": "accounts[].ervButtons",
1609
+ "key": "accounts[].ervDevices[].buttonsSensors",
1688
1610
  "type": "tabarray",
1689
1611
  "title": "{{ value.name || 'button/sensor' }}",
1690
1612
  "items": [
1691
- "accounts[].ervButtons[].name",
1692
- "accounts[].ervButtons[].mode",
1693
- "accounts[].ervButtons[].displayType",
1694
- "accounts[].ervButtons[].namePrefix"
1695
- ]
1696
- }
1697
- ]
1698
- },
1699
- {
1700
- "key": "accounts[]",
1701
- "type": "section",
1702
- "title": "Hide Device By Id",
1703
- "expandable": true,
1704
- "expanded": false,
1705
- "items": [
1706
- {
1707
- "key": "accounts[].ervHideDeviceById",
1708
- "type": "tabarray",
1709
- "title": "{{ value.name || 'device' }}",
1710
- "items": [
1711
- "accounts[].ervHideDeviceById[].name",
1712
- "accounts[].ervHideDeviceById[].id"
1613
+ "accounts[].ervDevices[].buttonsSensors[].name",
1614
+ "accounts[].ervDevices[].buttonsSensors[].mode",
1615
+ "accounts[].ervDevices[].buttonsSensors[].displayType",
1616
+ "accounts[].ervDevices[].buttonsSensors[].namePrefix"
1713
1617
  ]
1714
1618
  }
1715
1619
  ]
@@ -156,7 +156,12 @@
156
156
  const deviceType = deviceInfo.Type;
157
157
  const deviceId = deviceInfo.DeviceID;
158
158
  const deviceName = deviceInfo.DeviceName;
159
- const device = {
159
+
160
+ //config account keys
161
+ const accountKeys = Object.keys(pluginConfig[0].accounts[this.deviceIndex]);
162
+
163
+ //devices ata
164
+ const deviceAta = {
160
165
  name: deviceName,
161
166
  id: deviceId,
162
167
  type: deviceType,
@@ -169,24 +174,51 @@
169
174
  temperatureSensorOutdoor: false,
170
175
  buttonsSensors: []
171
176
  };
172
-
173
- //config account keys
174
- const accountKeys = Object.keys(pluginConfig[0].accounts[this.deviceIndex]);
175
-
176
- //devices ata
177
177
  const ataDevices = accountKeys.includes('ataDevices') ? pluginConfig[0].accounts[this.deviceIndex].ataDevices : pluginConfig[0].accounts[this.deviceIndex].ataDevices = [];
178
178
  const ataDeviceIdExist = ataDevices.some(device => device.id === deviceId)
179
- const pushTypeAta = deviceType === 0 && !ataDeviceIdExist ? ataDevices.push(device) : false;
179
+ const pushTypeAta = deviceType === 0 && !ataDeviceIdExist ? ataDevices.push(deviceAta) : false;
180
180
 
181
181
  //devices atw
182
+ const deviceAtw = {
183
+ name: deviceName,
184
+ id: deviceId,
185
+ type: deviceType,
186
+ displayMode: 0,
187
+ temperatureSensorFlow: false,
188
+ temperatureSensorFlow: false,
189
+ temperatureSensorFlow: false,
190
+ temperatureSensorFlowZone1: false,
191
+ temperatureSensorReturnZone1: false,
192
+ temperatureSensorFlowWaterTank: false,
193
+ temperatureSensorReturnWaterTank: false,
194
+ atemperatureSensorFlowZone2: false,
195
+ temperatureSensorReturnZone2: false,
196
+ presets: false,
197
+ temperatureSensor: false,
198
+ temperatureSensorOutdoor: false,
199
+ buttonsSensors: []
200
+ };
182
201
  const atwDevices = accountKeys.includes('atwDevices') ? pluginConfig[0].accounts[this.deviceIndex].atwDevices : pluginConfig[0].accounts[this.deviceIndex].atwDevices = [];
183
202
  const atwDeviceIdExist = atwDevices.some(device => device.id === deviceId)
184
- const pushTypeAtw = deviceType === 1 && !atwDeviceIdExist ? atwDevices.push(device) : false;
203
+ const pushTypeAtw = deviceType === 1 && !atwDeviceIdExist ? atwDevices.push(deviceAtw) : false;
185
204
 
186
205
  //devices erv
206
+ const deviceErv = {
207
+ name: deviceName,
208
+ id: deviceId,
209
+ type: deviceType,
210
+ displayMode: 0,
211
+ temperatureSensor: false,
212
+ temperatureSensorOutdoor: false,
213
+ temperatureSensorSupply: false,
214
+ presets: false,
215
+ temperatureSensor: false,
216
+ temperatureSensorOutdoor: false,
217
+ buttonsSensors: []
218
+ };
187
219
  const ervDevices = accountKeys.includes('ervDevices') ? pluginConfig[0].accounts[this.deviceIndex].ervDevices : pluginConfig[0].accounts[this.deviceIndex].ervDevices = [];
188
220
  const ervDeviceIdExist = ervDevices.some(device => device.id === deviceId)
189
- const pushTypeErv = deviceType === 3 && !ervDeviceIdExist ? ervDevices.push(device) : false;
221
+ const pushTypeErv = deviceType === 3 && !ervDeviceIdExist ? ervDevices.push(deviceErv) : false;
190
222
 
191
223
  //push new devices to array
192
224
  const pushNewDevice = ataDeviceIdExist || atwDeviceIdExist || ervDeviceIdExist ? false : newDevices.push(deviceId);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "MELCloud Control",
3
3
  "name": "homebridge-melcloud-control",
4
- "version": "2.5.0-beta.67",
4
+ "version": "2.5.0-beta.69",
5
5
  "description": "Homebridge plugin to control Mitsubishi Air Conditioner, Heat Pump and Energy Recovery Ventilation.",
6
6
  "license": "MIT",
7
7
  "author": "grzegorz914",