@switchbot/homebridge-switchbot 4.2.0 → 4.3.1-beta.0

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.
@@ -96,6 +96,18 @@
96
96
  "Bot"
97
97
  ]
98
98
  },
99
+ {
100
+ "title": "Relay Switch 1",
101
+ "enum": [
102
+ "Relay Switch 1"
103
+ ]
104
+ },
105
+ {
106
+ "title": "Relay Switch 1PM",
107
+ "enum": [
108
+ "Relay Switch 1PM"
109
+ ]
110
+ },
99
111
  {
100
112
  "title": "Battery Circulator Fan",
101
113
  "enum": [
@@ -323,7 +335,7 @@
323
335
  "type": "boolean",
324
336
  "description": "If set to true, this will disable the platform BLE for this specific device.",
325
337
  "condition": {
326
- "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device && (model.options.devices[arrayIndices].connectionType === 'BLE' || model.options.devices[arrayIndices].connectionType === 'BLE/OpenAPI'));"
338
+ "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device && model.options.devices[arrayIndices].connectionType !== 'Disabled');"
327
339
  }
328
340
  },
329
341
  "scanDuration": {
@@ -435,19 +447,27 @@
435
447
  "oneOf": [
436
448
  {
437
449
  "title": "Default",
438
- "enum": [""]
450
+ "enum": [
451
+ ""
452
+ ]
439
453
  },
440
454
  {
441
455
  "title": "Multi-Press",
442
- "enum": ["multipress"]
456
+ "enum": [
457
+ "multipress"
458
+ ]
443
459
  },
444
460
  {
445
461
  "title": "Press",
446
- "enum": ["press"]
462
+ "enum": [
463
+ "press"
464
+ ]
447
465
  },
448
466
  {
449
467
  "title": "Switch",
450
- "enum": ["switch"]
468
+ "enum": [
469
+ "switch"
470
+ ]
451
471
  }
452
472
  ],
453
473
  "condition": {
@@ -462,27 +482,39 @@
462
482
  "oneOf": [
463
483
  {
464
484
  "title": "Default",
465
- "enum": [""]
485
+ "enum": [
486
+ ""
487
+ ]
466
488
  },
467
489
  {
468
490
  "title": "Down and Up",
469
- "enum": ["down_and_up"]
491
+ "enum": [
492
+ "down_and_up"
493
+ ]
470
494
  },
471
495
  {
472
496
  "title": "Only Down",
473
- "enum": ["only_down"]
497
+ "enum": [
498
+ "only_down"
499
+ ]
474
500
  },
475
501
  {
476
502
  "title": "Only Up",
477
- "enum": ["only_up"]
503
+ "enum": [
504
+ "only_up"
505
+ ]
478
506
  },
479
507
  {
480
508
  "title": "Up and Down",
481
- "enum": ["up_and_down"]
509
+ "enum": [
510
+ "up_and_down"
511
+ ]
482
512
  },
483
513
  {
484
514
  "title": "Use Tilt for Direction",
485
- "enum": ["use_tilt_for_direction"]
515
+ "enum": [
516
+ "use_tilt_for_direction"
517
+ ]
486
518
  }
487
519
  ],
488
520
  "condition": {
@@ -786,7 +818,7 @@
786
818
  "title": "Device Logging Override Setting",
787
819
  "type": "string",
788
820
  "required": true,
789
- "default": "",
821
+ "default": "standard",
790
822
  "condition": {
791
823
  "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device && model.options.devices[arrayIndices].configDeviceType);"
792
824
  },
@@ -797,12 +829,6 @@
797
829
  "debug"
798
830
  ]
799
831
  },
800
- {
801
- "title": "Default Logging",
802
- "enum": [
803
- ""
804
- ]
805
- },
806
832
  {
807
833
  "title": "No Logging",
808
834
  "enum": [
@@ -843,14 +869,7 @@
843
869
  "functionBody": "return (model.options && model.options.devices && model.options.devices[arrayIndices].deviceId && !model.options.devices[arrayIndices].hide_device && model.options.devices[arrayIndices].configDeviceType);"
844
870
  }
845
871
  }
846
- },
847
- "required": [
848
- "deviceId",
849
- "configDeviceType",
850
- "configDeviceName",
851
- "connectionType",
852
- "logging"
853
- ]
872
+ }
854
873
  },
855
874
  "uniqueItems": true
856
875
  },
@@ -893,13 +912,560 @@
893
912
  }
894
913
  ]
895
914
  },
896
- "set_minStep": {
897
- "title": "Set Minimum Step",
915
+ "set_minStep": {
916
+ "title": "Set Minimum Step",
917
+ "type": "number",
918
+ "placeholder": "1",
919
+ "description": "Sets the minimum steps device will take. So if set to 20, it would allow you to set the curtain state to 0, 20, 40, 60, 80, and 100.",
920
+ "condition": {
921
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Humidifier'].hide_device);"
922
+ }
923
+ },
924
+ "connectionType": {
925
+ "title": "Connection Type",
926
+ "type": "string",
927
+ "description": "Bluetooth (BLE) API is only available on certain Device Types, see the Wiki for more information.",
928
+ "condition": {
929
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Humidifier'] && !model.options.deviceConfig['Humidifier'].hide_device);"
930
+ },
931
+ "oneOf": [
932
+ {
933
+ "title": "BLE",
934
+ "enum": [
935
+ "BLE"
936
+ ]
937
+ },
938
+ {
939
+ "title": "BLE/OpenAPI",
940
+ "enum": [
941
+ "BLE/OpenAPI"
942
+ ]
943
+ },
944
+ {
945
+ "title": "Disable",
946
+ "enum": [
947
+ "Disabled"
948
+ ]
949
+ },
950
+ {
951
+ "title": "OpenAPI",
952
+ "enum": [
953
+ "OpenAPI"
954
+ ]
955
+ }
956
+ ]
957
+ },
958
+ "disablePlatformBLE": {
959
+ "title": "Disable Platform BLE",
960
+ "type": "boolean",
961
+ "condition": {
962
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Humidifier'] && !model.options.deviceConfig['Humidifier'].hide_device && model.options.deviceConfig['Humidifier'].connectionType !== 'Disabled');"
963
+ }
964
+ },
965
+ "scanDuration": {
966
+ "title": "Scan Duration (Default is 1 Second) for BLE",
967
+ "type": "number",
968
+ "placeholder": 1,
969
+ "condition": {
970
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Humidifier'] && !model.options.deviceConfig['Humidifier'].hide_device && (model.options.deviceConfig['Humidifier'].connectionType === 'BLE' || model.options.deviceConfig['Humidifier'].connectionType === 'BLE/OpenAPI'));"
971
+ }
972
+ },
973
+ "webhook": {
974
+ "title": "Enable Webhook for all Humidifiers",
975
+ "type": "boolean",
976
+ "condition": {
977
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Humidifier'] && !model.options.deviceConfig['Humidifier'].hide_device && (model.options.deviceConfig['Humidifier'].connectionType === 'OpenAPI' || model.options.deviceConfig['Humidifier'].connectionType === 'BLE/OpenAPI'));"
978
+ }
979
+ },
980
+ "external": {
981
+ "title": "External Accessory",
982
+ "type": "boolean",
983
+ "condition": {
984
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Humidifier'].hide_device);"
985
+ }
986
+ },
987
+ "maxRetry": {
988
+ "title": "Max Retries for BLE",
989
+ "type": "number",
990
+ "placeholder": "5",
991
+ "condition": {
992
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Humidifier'] && !model.options.deviceConfig['Humidifier'].hide_device && (model.options.deviceConfig['Humidifier'].connectionType === 'BLE' || model.options.deviceConfig['Humidifier'].connectionType === 'BLE/OpenAPI'));"
993
+ }
994
+ },
995
+ "maxRetries": {
996
+ "title": "Device Max Retries for OpenAPI",
997
+ "type": "number",
998
+ "placeholder": 5,
999
+ "condition": {
1000
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Humidifier'] && !model.options.deviceConfig['Humidifier'].hide_device && (model.options.deviceConfig['Humidifier'].connectionType === 'OpenAPI' || model.options.deviceConfig['Humidifier'].connectionType === 'BLE/OpenAPI'));"
1001
+ }
1002
+ },
1003
+ "delayBetweenRetries": {
1004
+ "title": "Device Delay Between Retries for OpenAPI (In Seconds)",
1005
+ "type": "number",
1006
+ "placeholder": 3,
1007
+ "condition": {
1008
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Humidifier'] && !model.options.deviceConfig['Humidifier'].hide_device && (model.options.deviceConfig['Humidifier'].connectionType === 'OpenAPI' || model.options.deviceConfig['Humidifier'].connectionType === 'BLE/OpenAPI'));"
1009
+ }
1010
+ },
1011
+ "disableCaching": {
1012
+ "title": "Disable Caching",
1013
+ "type": "boolean",
1014
+ "condition": {
1015
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Humidifier'] && !model.options.deviceConfig['Humidifier'].hide_device);"
1016
+ }
1017
+ },
1018
+ "offline": {
1019
+ "title": "Offline as Off",
1020
+ "type": "boolean",
1021
+ "condition": {
1022
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Humidifier'].hide_device);"
1023
+ }
1024
+ },
1025
+ "history": {
1026
+ "title": "EVE History",
1027
+ "type": "boolean",
1028
+ "condition": {
1029
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Humidifier'].hide_device);"
1030
+ }
1031
+ },
1032
+ "firmware": {
1033
+ "title": "Firmware Override",
1034
+ "type": "string",
1035
+ "placeholder": "1.2.8",
1036
+ "condition": {
1037
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Humidifier'].hide_device);"
1038
+ }
1039
+ },
1040
+ "logging": {
1041
+ "title": "Logging by Device Type",
1042
+ "type": "string",
1043
+ "required": true,
1044
+ "default": "",
1045
+ "condition": {
1046
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Humidifier'].hide_device);"
1047
+ },
1048
+ "oneOf": [
1049
+ {
1050
+ "title": "Debug Logging",
1051
+ "enum": [
1052
+ "debug"
1053
+ ]
1054
+ },
1055
+ {
1056
+ "title": "Default Logging",
1057
+ "enum": [
1058
+ ""
1059
+ ]
1060
+ },
1061
+ {
1062
+ "title": "No Logging",
1063
+ "enum": [
1064
+ "none"
1065
+ ]
1066
+ },
1067
+ {
1068
+ "title": "Standard Logging",
1069
+ "enum": [
1070
+ "standard"
1071
+ ]
1072
+ }
1073
+ ]
1074
+ },
1075
+ "refreshRate": {
1076
+ "title": "Device Refresh Rate",
1077
+ "type": "number",
1078
+ "placeholder": 5,
1079
+ "condition": {
1080
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Humidifier'].hide_device);"
1081
+ }
1082
+ },
1083
+ "updateRate": {
1084
+ "title": "Update Rate",
1085
+ "type": "number",
1086
+ "minimum": 1,
1087
+ "placeholder": 5,
1088
+ "description": "Indicates the number of seconds before refreshing status while updating progress.",
1089
+ "condition": {
1090
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Humidifier'].hide_device);"
1091
+ }
1092
+ },
1093
+ "pushRate": {
1094
+ "title": "Device Push Rate",
1095
+ "type": "number",
1096
+ "placeholder": 360,
1097
+ "condition": {
1098
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Humidifier'].hide_device);"
1099
+ }
1100
+ }
1101
+ }
1102
+ },
1103
+ "Hub 2": {
1104
+ "type": "object",
1105
+ "properties": {
1106
+ "hide_device": {
1107
+ "title": "Hide All Hub 2s",
1108
+ "type": "boolean",
1109
+ "description": "If true, device will be removed or hidden from HomeKit."
1110
+ },
1111
+ "hide_temperature": {
1112
+ "title": "Hide Temperature Sensor",
1113
+ "type": "boolean",
1114
+ "condition": {
1115
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device);"
1116
+ }
1117
+ },
1118
+ "convertUnitTo": {
1119
+ "title": "Convert Temperature Unit To",
1120
+ "type": "string",
1121
+ "condition": {
1122
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device);"
1123
+ },
1124
+ "oneOf": [
1125
+ {
1126
+ "title": "Celsius",
1127
+ "enum": [
1128
+ "CELSIUS"
1129
+ ]
1130
+ },
1131
+ {
1132
+ "title": "Fahrenheit",
1133
+ "enum": [
1134
+ "FAHRENHEIT"
1135
+ ]
1136
+ }
1137
+ ]
1138
+ },
1139
+ "hide_humidity": {
1140
+ "title": "Hide Humidity Sensor",
1141
+ "type": "boolean",
1142
+ "condition": {
1143
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device);"
1144
+ }
1145
+ },
1146
+ "connectionType": {
1147
+ "title": "Connection Type",
1148
+ "type": "string",
1149
+ "description": "Bluetooth (BLE) API is only available on certain Device Types, see the Wiki for more information.",
1150
+ "condition": {
1151
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device);"
1152
+ },
1153
+ "oneOf": [
1154
+ {
1155
+ "title": "BLE",
1156
+ "enum": [
1157
+ "BLE"
1158
+ ]
1159
+ },
1160
+ {
1161
+ "title": "BLE/OpenAPI",
1162
+ "enum": [
1163
+ "BLE/OpenAPI"
1164
+ ]
1165
+ },
1166
+ {
1167
+ "title": "Disable",
1168
+ "enum": [
1169
+ "Disabled"
1170
+ ]
1171
+ },
1172
+ {
1173
+ "title": "OpenAPI",
1174
+ "enum": [
1175
+ "OpenAPI"
1176
+ ]
1177
+ }
1178
+ ]
1179
+ },
1180
+ "disablePlatformBLE": {
1181
+ "title": "Disable Platform BLE",
1182
+ "type": "boolean",
1183
+ "condition": {
1184
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device && model.options.deviceConfig['Hub 2'].connectionType !== 'Disabled');"
1185
+ }
1186
+ },
1187
+ "scanDuration": {
1188
+ "title": "Scan Duration (Default is 1 Second) for BLE",
1189
+ "type": "number",
1190
+ "placeholder": 1,
1191
+ "condition": {
1192
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device && (model.options.deviceConfig['Hub 2'].connectionType === 'BLE' || model.options.deviceConfig['Hub 2'].connectionType === 'BLE/OpenAPI'));"
1193
+ }
1194
+ },
1195
+ "webhook": {
1196
+ "title": "Enable Webhook for all Hub 2s",
1197
+ "type": "boolean",
1198
+ "condition": {
1199
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device && (model.options.deviceConfig['Hub 2'].connectionType === 'OpenAPI' || model.options.deviceConfig['Hub 2'].connectionType === 'BLE/OpenAPI'));"
1200
+ }
1201
+ },
1202
+ "external": {
1203
+ "title": "External Accessory",
1204
+ "type": "boolean",
1205
+ "condition": {
1206
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device);"
1207
+ }
1208
+ },
1209
+ "maxRetry": {
1210
+ "title": "Max Retries for BLE",
1211
+ "type": "number",
1212
+ "placeholder": "5",
1213
+ "condition": {
1214
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device && (model.options.deviceConfig['Hub 2'].connectionType === 'BLE' || model.options.deviceConfig['Hub 2'].connectionType === 'BLE/OpenAPI'));"
1215
+ }
1216
+ },
1217
+ "maxRetries": {
1218
+ "title": "Device Max Retries for OpenAPI",
1219
+ "type": "number",
1220
+ "placeholder": 5,
1221
+ "condition": {
1222
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device && (model.options.deviceConfig['Hub 2'].connectionType === 'OpenAPI' || model.options.deviceConfig['Hub 2'].connectionType === 'BLE/OpenAPI'));"
1223
+ }
1224
+ },
1225
+ "delayBetweenRetries": {
1226
+ "title": "Device Delay Between Retries for OpenAPI (In Seconds)",
1227
+ "type": "number",
1228
+ "placeholder": 3,
1229
+ "condition": {
1230
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device && (model.options.deviceConfig['Hub 2'].connectionType === 'OpenAPI' || model.options.deviceConfig['Hub 2'].connectionType === 'BLE/OpenAPI'));"
1231
+ }
1232
+ },
1233
+ "disableCaching": {
1234
+ "title": "Disable Caching",
1235
+ "type": "boolean",
1236
+ "condition": {
1237
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device);"
1238
+ }
1239
+ },
1240
+ "offline": {
1241
+ "title": "Offline as Off",
1242
+ "type": "boolean",
1243
+ "condition": {
1244
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Hub 2'].hide_device);"
1245
+ }
1246
+ },
1247
+ "history": {
1248
+ "title": "EVE History",
1249
+ "type": "boolean",
1250
+ "condition": {
1251
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Hub 2'].hide_device);"
1252
+ }
1253
+ },
1254
+ "firmware": {
1255
+ "title": "Firmware Override",
1256
+ "type": "string",
1257
+ "placeholder": "1.2.8",
1258
+ "condition": {
1259
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Hub 2'].hide_device);"
1260
+ }
1261
+ },
1262
+ "logging": {
1263
+ "title": "Logging by Device Type",
1264
+ "type": "string",
1265
+ "required": true,
1266
+ "default": "",
1267
+ "condition": {
1268
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Hub 2'].hide_device);"
1269
+ },
1270
+ "oneOf": [
1271
+ {
1272
+ "title": "Debug Logging",
1273
+ "enum": [
1274
+ "debug"
1275
+ ]
1276
+ },
1277
+ {
1278
+ "title": "Default Logging",
1279
+ "enum": [
1280
+ ""
1281
+ ]
1282
+ },
1283
+ {
1284
+ "title": "No Logging",
1285
+ "enum": [
1286
+ "none"
1287
+ ]
1288
+ },
1289
+ {
1290
+ "title": "Standard Logging",
1291
+ "enum": [
1292
+ "standard"
1293
+ ]
1294
+ }
1295
+ ]
1296
+ },
1297
+ "refreshRate": {
1298
+ "title": "Device Refresh Rate",
1299
+ "type": "number",
1300
+ "placeholder": 5,
1301
+ "condition": {
1302
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Hub 2'].hide_device);"
1303
+ }
1304
+ },
1305
+ "updateRate": {
1306
+ "title": "Update Rate",
1307
+ "type": "number",
1308
+ "minimum": 1,
1309
+ "placeholder": 5,
1310
+ "description": "Indicates the number of seconds before refreshing status while updating progress.",
1311
+ "condition": {
1312
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Hub 2'].hide_device);"
1313
+ }
1314
+ },
1315
+ "pushRate": {
1316
+ "title": "Device Push Rate",
1317
+ "type": "number",
1318
+ "placeholder": 360,
1319
+ "condition": {
1320
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Hub 2'].hide_device);"
1321
+ }
1322
+ }
1323
+ }
1324
+ },
1325
+ "Bot": {
1326
+ "type": "object",
1327
+ "properties": {
1328
+ "hide_device": {
1329
+ "title": "Hide All Bots",
1330
+ "type": "boolean",
1331
+ "description": "If true, all Bot devices will be removed or hidden from HomeKit."
1332
+ },
1333
+ "mode": {
1334
+ "title": "Bot Mode",
1335
+ "type": "string",
1336
+ "required": true,
1337
+ "default": "",
1338
+ "condition": {
1339
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device);"
1340
+ },
1341
+ "oneOf": [
1342
+ {
1343
+ "title": "Default",
1344
+ "enum": [
1345
+ ""
1346
+ ]
1347
+ },
1348
+ {
1349
+ "title": "Multi-Press",
1350
+ "enum": [
1351
+ "multipress"
1352
+ ]
1353
+ },
1354
+ {
1355
+ "title": "Press",
1356
+ "enum": [
1357
+ "press"
1358
+ ]
1359
+ },
1360
+ {
1361
+ "title": "Switch",
1362
+ "enum": [
1363
+ "switch"
1364
+ ]
1365
+ }
1366
+ ]
1367
+ },
1368
+ "type": {
1369
+ "title": "What Type of Device do you want to display in the Home App?",
1370
+ "type": "string",
1371
+ "required": true,
1372
+ "default": "",
1373
+ "placeholder": "outlet",
1374
+ "condition": {
1375
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device);"
1376
+ },
1377
+ "oneOf": [
1378
+ {
1379
+ "title": "Default",
1380
+ "enum": [
1381
+ ""
1382
+ ]
1383
+ },
1384
+ {
1385
+ "title": "Door",
1386
+ "enum": [
1387
+ "door"
1388
+ ]
1389
+ },
1390
+ {
1391
+ "title": "Fan",
1392
+ "enum": [
1393
+ "fan"
1394
+ ]
1395
+ },
1396
+ {
1397
+ "title": "Faucet",
1398
+ "enum": [
1399
+ "faucet"
1400
+ ]
1401
+ },
1402
+ {
1403
+ "title": "Garage Door",
1404
+ "enum": [
1405
+ "garagedoor"
1406
+ ]
1407
+ },
1408
+ {
1409
+ "title": "Lock",
1410
+ "enum": [
1411
+ "lock"
1412
+ ]
1413
+ },
1414
+ {
1415
+ "title": "Outlet",
1416
+ "enum": [
1417
+ "outlet"
1418
+ ]
1419
+ },
1420
+ {
1421
+ "title": "Stateful Programmable Switch (Only Works in 3rd Party Home Apps)",
1422
+ "enum": [
1423
+ "stateful"
1424
+ ]
1425
+ },
1426
+ {
1427
+ "title": "Switch",
1428
+ "enum": [
1429
+ "switch"
1430
+ ]
1431
+ },
1432
+ {
1433
+ "title": "Window",
1434
+ "enum": [
1435
+ "window"
1436
+ ]
1437
+ },
1438
+ {
1439
+ "title": "Window Covering",
1440
+ "enum": [
1441
+ "windowcovering"
1442
+ ]
1443
+ }
1444
+ ]
1445
+ },
1446
+ "doublePress": {
1447
+ "title": "How many presses do you want to simulate?",
898
1448
  "type": "number",
899
- "placeholder": "1",
900
- "description": "Sets the minimum steps device will take. So if set to 20, it would allow you to set the curtain state to 0, 20, 40, 60, 80, and 100.",
1449
+ "placeholder": "2",
901
1450
  "condition": {
902
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Humidifier'].hide_device);"
1451
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device);"
1452
+ }
1453
+ },
1454
+ "pushRatePress": {
1455
+ "title": "Double Press Push Rate",
1456
+ "type": "number",
1457
+ "placeholder": "15",
1458
+ "description": "Indicates the number of seconds between pushes for double presses to SwitchBot API",
1459
+ "condition": {
1460
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device);"
1461
+ }
1462
+ },
1463
+ "allowPush": {
1464
+ "title": "Allow Changes to Be Pushed",
1465
+ "description": "If set to true, this will allow commands to be sent even if device state is already in state that is being pushed.",
1466
+ "type": "boolean",
1467
+ "condition": {
1468
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device);"
903
1469
  }
904
1470
  },
905
1471
  "connectionType": {
@@ -907,7 +1473,7 @@
907
1473
  "type": "string",
908
1474
  "description": "Bluetooth (BLE) API is only available on certain Device Types, see the Wiki for more information.",
909
1475
  "condition": {
910
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Humidifier'] && !model.options.deviceConfig['Humidifier'].hide_device);"
1476
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device);"
911
1477
  },
912
1478
  "oneOf": [
913
1479
  {
@@ -940,7 +1506,7 @@
940
1506
  "title": "Disable Platform BLE",
941
1507
  "type": "boolean",
942
1508
  "condition": {
943
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Humidifier'] && !model.options.deviceConfig['Humidifier'].hide_device && model.options.deviceConfig['Humidifier'].connectionType === 'BLE');"
1509
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device && model.options.deviceConfig['Bot'].connectionType !== 'Disabled');"
944
1510
  }
945
1511
  },
946
1512
  "scanDuration": {
@@ -948,21 +1514,21 @@
948
1514
  "type": "number",
949
1515
  "placeholder": 1,
950
1516
  "condition": {
951
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Humidifier'] && !model.options.deviceConfig['Humidifier'].hide_device && (model.options.deviceConfig['Humidifier'].connectionType === 'BLE' || model.options.deviceConfig['Humidifier'].connectionType === 'BLE/OpenAPI'));"
1517
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device && (model.options.deviceConfig['Bot'].connectionType === 'BLE' || model.options.deviceConfig['Bot'].connectionType === 'BLE/OpenAPI'));"
952
1518
  }
953
1519
  },
954
1520
  "webhook": {
955
- "title": "Enable Webhook for all Humidifiers",
1521
+ "title": "Enable Webhook for all Hub 2s",
956
1522
  "type": "boolean",
957
1523
  "condition": {
958
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Humidifier'] && !model.options.deviceConfig['Humidifier'].hide_device && (model.options.deviceConfig['Humidifier'].connectionType === 'OpenAPI' || model.options.deviceConfig['Humidifier'].connectionType === 'BLE/OpenAPI'));"
1524
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device && (model.options.deviceConfig['Bot'].connectionType === 'OpenAPI' || model.options.deviceConfig['Bot'].connectionType === 'BLE/OpenAPI'));"
959
1525
  }
960
1526
  },
961
1527
  "external": {
962
1528
  "title": "External Accessory",
963
1529
  "type": "boolean",
964
1530
  "condition": {
965
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Humidifier'].hide_device);"
1531
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device);"
966
1532
  }
967
1533
  },
968
1534
  "maxRetry": {
@@ -970,7 +1536,7 @@
970
1536
  "type": "number",
971
1537
  "placeholder": "5",
972
1538
  "condition": {
973
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Humidifier'] && !model.options.deviceConfig['Humidifier'].hide_device && (model.options.deviceConfig['Humidifier'].connectionType === 'BLE' || model.options.deviceConfig['Humidifier'].connectionType === 'BLE/OpenAPI'));"
1539
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device && (model.options.deviceConfig['Bot'].connectionType === 'BLE' || model.options.deviceConfig['Bot'].connectionType === 'BLE/OpenAPI'));"
974
1540
  }
975
1541
  },
976
1542
  "maxRetries": {
@@ -978,7 +1544,7 @@
978
1544
  "type": "number",
979
1545
  "placeholder": 5,
980
1546
  "condition": {
981
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Humidifier'] && !model.options.deviceConfig['Humidifier'].hide_device && (model.options.deviceConfig['Humidifier'].connectionType === 'OpenAPI' || model.options.deviceConfig['Humidifier'].connectionType === 'BLE/OpenAPI'));"
1547
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device && (model.options.deviceConfig['Bot'].connectionType === 'OpenAPI' || model.options.deviceConfig['Bot'].connectionType === 'BLE/OpenAPI'));"
982
1548
  }
983
1549
  },
984
1550
  "delayBetweenRetries": {
@@ -986,28 +1552,28 @@
986
1552
  "type": "number",
987
1553
  "placeholder": 3,
988
1554
  "condition": {
989
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Humidifier'] && !model.options.deviceConfig['Humidifier'].hide_device && (model.options.deviceConfig['Humidifier'].connectionType === 'OpenAPI' || model.options.deviceConfig['Humidifier'].connectionType === 'BLE/OpenAPI'));"
1555
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device && (model.options.deviceConfig['Bot'].connectionType === 'OpenAPI' || model.options.deviceConfig['Bot'].connectionType === 'BLE/OpenAPI'));"
990
1556
  }
991
1557
  },
992
1558
  "disableCaching": {
993
1559
  "title": "Disable Caching",
994
1560
  "type": "boolean",
995
1561
  "condition": {
996
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Humidifier'] && !model.options.deviceConfig['Humidifier'].hide_device);"
1562
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device);"
997
1563
  }
998
1564
  },
999
1565
  "offline": {
1000
1566
  "title": "Offline as Off",
1001
1567
  "type": "boolean",
1002
1568
  "condition": {
1003
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Humidifier'].hide_device);"
1569
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Bot'].hide_device);"
1004
1570
  }
1005
1571
  },
1006
1572
  "history": {
1007
1573
  "title": "EVE History",
1008
1574
  "type": "boolean",
1009
1575
  "condition": {
1010
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Humidifier'].hide_device);"
1576
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Bot'].hide_device);"
1011
1577
  }
1012
1578
  },
1013
1579
  "firmware": {
@@ -1015,7 +1581,7 @@
1015
1581
  "type": "string",
1016
1582
  "placeholder": "1.2.8",
1017
1583
  "condition": {
1018
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Humidifier'].hide_device);"
1584
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Bot'].hide_device);"
1019
1585
  }
1020
1586
  },
1021
1587
  "logging": {
@@ -1024,7 +1590,7 @@
1024
1590
  "required": true,
1025
1591
  "default": "",
1026
1592
  "condition": {
1027
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Humidifier'].hide_device);"
1593
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Bot'].hide_device);"
1028
1594
  },
1029
1595
  "oneOf": [
1030
1596
  {
@@ -1058,7 +1624,7 @@
1058
1624
  "type": "number",
1059
1625
  "placeholder": 5,
1060
1626
  "condition": {
1061
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Humidifier'].hide_device);"
1627
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Bot'].hide_device);"
1062
1628
  }
1063
1629
  },
1064
1630
  "updateRate": {
@@ -1068,7 +1634,7 @@
1068
1634
  "placeholder": 5,
1069
1635
  "description": "Indicates the number of seconds before refreshing status while updating progress.",
1070
1636
  "condition": {
1071
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Humidifier'].hide_device);"
1637
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Bot'].hide_device);"
1072
1638
  }
1073
1639
  },
1074
1640
  "pushRate": {
@@ -1076,52 +1642,103 @@
1076
1642
  "type": "number",
1077
1643
  "placeholder": 360,
1078
1644
  "condition": {
1079
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Humidifier'].hide_device);"
1645
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Bot'].hide_device);"
1080
1646
  }
1081
1647
  }
1082
1648
  }
1083
1649
  },
1084
- "Hub 2": {
1650
+ "Relay Switch 1": {
1085
1651
  "type": "object",
1086
1652
  "properties": {
1087
1653
  "hide_device": {
1088
- "title": "Hide All Hub 2s",
1089
- "type": "boolean",
1090
- "description": "If true, device will be removed or hidden from HomeKit."
1091
- },
1092
- "hide_temperature": {
1093
- "title": "Hide Temperature Sensor",
1654
+ "title": "Hide All Bots",
1094
1655
  "type": "boolean",
1095
- "condition": {
1096
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device);"
1097
- }
1656
+ "description": "If true, all Bot devices will be removed or hidden from HomeKit."
1098
1657
  },
1099
- "convertUnitTo": {
1100
- "title": "Convert Temperature Unit To",
1658
+ "type": {
1659
+ "title": "What Type of Device do you want to display in the Home App?",
1101
1660
  "type": "string",
1661
+ "required": true,
1662
+ "default": "",
1663
+ "placeholder": "outlet",
1102
1664
  "condition": {
1103
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device);"
1665
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1'] && !model.options.deviceConfig['Relay Switch 1'].hide_device);"
1104
1666
  },
1105
1667
  "oneOf": [
1106
1668
  {
1107
- "title": "Celsius",
1669
+ "title": "Default",
1108
1670
  "enum": [
1109
- "CELSIUS"
1671
+ ""
1110
1672
  ]
1111
1673
  },
1112
1674
  {
1113
- "title": "Fahrenheit",
1675
+ "title": "Door",
1114
1676
  "enum": [
1115
- "FAHRENHEIT"
1677
+ "door"
1678
+ ]
1679
+ },
1680
+ {
1681
+ "title": "Fan",
1682
+ "enum": [
1683
+ "fan"
1684
+ ]
1685
+ },
1686
+ {
1687
+ "title": "Faucet",
1688
+ "enum": [
1689
+ "faucet"
1690
+ ]
1691
+ },
1692
+ {
1693
+ "title": "Garage Door",
1694
+ "enum": [
1695
+ "garagedoor"
1696
+ ]
1697
+ },
1698
+ {
1699
+ "title": "Lock",
1700
+ "enum": [
1701
+ "lock"
1702
+ ]
1703
+ },
1704
+ {
1705
+ "title": "Outlet",
1706
+ "enum": [
1707
+ "outlet"
1708
+ ]
1709
+ },
1710
+ {
1711
+ "title": "Stateful Programmable Switch (Only Works in 3rd Party Home Apps)",
1712
+ "enum": [
1713
+ "stateful"
1714
+ ]
1715
+ },
1716
+ {
1717
+ "title": "Switch",
1718
+ "enum": [
1719
+ "switch"
1720
+ ]
1721
+ },
1722
+ {
1723
+ "title": "Window",
1724
+ "enum": [
1725
+ "window"
1726
+ ]
1727
+ },
1728
+ {
1729
+ "title": "Window Covering",
1730
+ "enum": [
1731
+ "windowcovering"
1116
1732
  ]
1117
1733
  }
1118
1734
  ]
1119
1735
  },
1120
- "hide_humidity": {
1121
- "title": "Hide Humidity Sensor",
1736
+ "allowPush": {
1737
+ "title": "Allow Changes to Be Pushed",
1738
+ "description": "If set to true, this will allow commands to be sent even if device state is already in state that is being pushed.",
1122
1739
  "type": "boolean",
1123
1740
  "condition": {
1124
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device);"
1741
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1'] && !model.options.deviceConfig['Relay Switch 1'].hide_device);"
1125
1742
  }
1126
1743
  },
1127
1744
  "connectionType": {
@@ -1129,7 +1746,7 @@
1129
1746
  "type": "string",
1130
1747
  "description": "Bluetooth (BLE) API is only available on certain Device Types, see the Wiki for more information.",
1131
1748
  "condition": {
1132
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device);"
1749
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1'] && !model.options.deviceConfig['Relay Switch 1'].hide_device);"
1133
1750
  },
1134
1751
  "oneOf": [
1135
1752
  {
@@ -1162,7 +1779,7 @@
1162
1779
  "title": "Disable Platform BLE",
1163
1780
  "type": "boolean",
1164
1781
  "condition": {
1165
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device && model.options.deviceConfig['Hub 2'].connectionType === 'BLE');"
1782
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1'] && !model.options.deviceConfig['Relay Switch 1'].hide_device && model.options.deviceConfig['Relay Switch 1'].connectionType !== 'Disabled');"
1166
1783
  }
1167
1784
  },
1168
1785
  "scanDuration": {
@@ -1170,21 +1787,21 @@
1170
1787
  "type": "number",
1171
1788
  "placeholder": 1,
1172
1789
  "condition": {
1173
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device && (model.options.deviceConfig['Hub 2'].connectionType === 'BLE' || model.options.deviceConfig['Hub 2'].connectionType === 'BLE/OpenAPI'));"
1790
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1'] && !model.options.deviceConfig['Relay Switch 1'].hide_device && (model.options.deviceConfig['Relay Switch 1'].connectionType === 'BLE' || model.options.deviceConfig['Relay Switch 1'].connectionType === 'BLE/OpenAPI'));"
1174
1791
  }
1175
1792
  },
1176
1793
  "webhook": {
1177
1794
  "title": "Enable Webhook for all Hub 2s",
1178
1795
  "type": "boolean",
1179
1796
  "condition": {
1180
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device && (model.options.deviceConfig['Hub 2'].connectionType === 'OpenAPI' || model.options.deviceConfig['Hub 2'].connectionType === 'BLE/OpenAPI'));"
1797
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1'] && !model.options.deviceConfig['Relay Switch 1'].hide_device && (model.options.deviceConfig['Relay Switch 1'].connectionType === 'OpenAPI' || model.options.deviceConfig['Relay Switch 1'].connectionType === 'BLE/OpenAPI'));"
1181
1798
  }
1182
1799
  },
1183
1800
  "external": {
1184
1801
  "title": "External Accessory",
1185
1802
  "type": "boolean",
1186
1803
  "condition": {
1187
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device);"
1804
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1'] && !model.options.deviceConfig['Relay Switch 1'].hide_device);"
1188
1805
  }
1189
1806
  },
1190
1807
  "maxRetry": {
@@ -1192,7 +1809,7 @@
1192
1809
  "type": "number",
1193
1810
  "placeholder": "5",
1194
1811
  "condition": {
1195
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device && (model.options.deviceConfig['Hub 2'].connectionType === 'BLE' || model.options.deviceConfig['Hub 2'].connectionType === 'BLE/OpenAPI'));"
1812
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1'] && !model.options.deviceConfig['Relay Switch 1'].hide_device && (model.options.deviceConfig['Relay Switch 1'].connectionType === 'BLE' || model.options.deviceConfig['Relay Switch 1'].connectionType === 'BLE/OpenAPI'));"
1196
1813
  }
1197
1814
  },
1198
1815
  "maxRetries": {
@@ -1200,7 +1817,7 @@
1200
1817
  "type": "number",
1201
1818
  "placeholder": 5,
1202
1819
  "condition": {
1203
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device && (model.options.deviceConfig['Hub 2'].connectionType === 'OpenAPI' || model.options.deviceConfig['Hub 2'].connectionType === 'BLE/OpenAPI'));"
1820
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1'] && !model.options.deviceConfig['Relay Switch 1'].hide_device && (model.options.deviceConfig['Relay Switch 1'].connectionType === 'OpenAPI' || model.options.deviceConfig['Relay Switch 1'].connectionType === 'BLE/OpenAPI'));"
1204
1821
  }
1205
1822
  },
1206
1823
  "delayBetweenRetries": {
@@ -1208,28 +1825,28 @@
1208
1825
  "type": "number",
1209
1826
  "placeholder": 3,
1210
1827
  "condition": {
1211
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device && (model.options.deviceConfig['Hub 2'].connectionType === 'OpenAPI' || model.options.deviceConfig['Hub 2'].connectionType === 'BLE/OpenAPI'));"
1828
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1'] && !model.options.deviceConfig['Relay Switch 1'].hide_device && (model.options.deviceConfig['Relay Switch 1'].connectionType === 'OpenAPI' || model.options.deviceConfig['Relay Switch 1'].connectionType === 'BLE/OpenAPI'));"
1212
1829
  }
1213
1830
  },
1214
1831
  "disableCaching": {
1215
1832
  "title": "Disable Caching",
1216
1833
  "type": "boolean",
1217
1834
  "condition": {
1218
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Hub 2'] && !model.options.deviceConfig['Hub 2'].hide_device);"
1835
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1'] && !model.options.deviceConfig['Relay Switch 1'].hide_device);"
1219
1836
  }
1220
1837
  },
1221
1838
  "offline": {
1222
1839
  "title": "Offline as Off",
1223
1840
  "type": "boolean",
1224
1841
  "condition": {
1225
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Hub 2'].hide_device);"
1842
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Relay Switch 1'].hide_device);"
1226
1843
  }
1227
1844
  },
1228
1845
  "history": {
1229
1846
  "title": "EVE History",
1230
1847
  "type": "boolean",
1231
1848
  "condition": {
1232
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Hub 2'].hide_device);"
1849
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Relay Switch 1'].hide_device);"
1233
1850
  }
1234
1851
  },
1235
1852
  "firmware": {
@@ -1237,7 +1854,7 @@
1237
1854
  "type": "string",
1238
1855
  "placeholder": "1.2.8",
1239
1856
  "condition": {
1240
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Hub 2'].hide_device);"
1857
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Relay Switch 1'].hide_device);"
1241
1858
  }
1242
1859
  },
1243
1860
  "logging": {
@@ -1246,7 +1863,7 @@
1246
1863
  "required": true,
1247
1864
  "default": "",
1248
1865
  "condition": {
1249
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Hub 2'].hide_device);"
1866
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Relay Switch 1'].hide_device);"
1250
1867
  },
1251
1868
  "oneOf": [
1252
1869
  {
@@ -1280,7 +1897,7 @@
1280
1897
  "type": "number",
1281
1898
  "placeholder": 5,
1282
1899
  "condition": {
1283
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Hub 2'].hide_device);"
1900
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Relay Switch 1'].hide_device);"
1284
1901
  }
1285
1902
  },
1286
1903
  "updateRate": {
@@ -1290,7 +1907,7 @@
1290
1907
  "placeholder": 5,
1291
1908
  "description": "Indicates the number of seconds before refreshing status while updating progress.",
1292
1909
  "condition": {
1293
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Hub 2'].hide_device);"
1910
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Relay Switch 1'].hide_device);"
1294
1911
  }
1295
1912
  },
1296
1913
  "pushRate": {
@@ -1298,12 +1915,12 @@
1298
1915
  "type": "number",
1299
1916
  "placeholder": 360,
1300
1917
  "condition": {
1301
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Hub 2'].hide_device);"
1918
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Relay Switch 1'].hide_device);"
1302
1919
  }
1303
1920
  }
1304
1921
  }
1305
1922
  },
1306
- "Bot": {
1923
+ "Relay Switch 1PM": {
1307
1924
  "type": "object",
1308
1925
  "properties": {
1309
1926
  "hide_device": {
@@ -1311,33 +1928,6 @@
1311
1928
  "type": "boolean",
1312
1929
  "description": "If true, all Bot devices will be removed or hidden from HomeKit."
1313
1930
  },
1314
- "mode": {
1315
- "title": "Bot Mode",
1316
- "type": "string",
1317
- "required": true,
1318
- "default": "",
1319
- "condition": {
1320
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device);"
1321
- },
1322
- "oneOf": [
1323
- {
1324
- "title": "Default",
1325
- "enum": [""]
1326
- },
1327
- {
1328
- "title": "Multi-Press",
1329
- "enum": ["multipress"]
1330
- },
1331
- {
1332
- "title": "Press",
1333
- "enum": ["press"]
1334
- },
1335
- {
1336
- "title": "Switch",
1337
- "enum": ["switch"]
1338
- }
1339
- ]
1340
- },
1341
1931
  "type": {
1342
1932
  "title": "What Type of Device do you want to display in the Home App?",
1343
1933
  "type": "string",
@@ -1345,7 +1935,7 @@
1345
1935
  "default": "",
1346
1936
  "placeholder": "outlet",
1347
1937
  "condition": {
1348
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device);"
1938
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1PM'] && !model.options.deviceConfig['Relay Switch 1PM'].hide_device);"
1349
1939
  },
1350
1940
  "oneOf": [
1351
1941
  {
@@ -1416,29 +2006,12 @@
1416
2006
  }
1417
2007
  ]
1418
2008
  },
1419
- "doublePress": {
1420
- "title": "How many presses do you want to simulate?",
1421
- "type": "number",
1422
- "placeholder": "2",
1423
- "condition": {
1424
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device);"
1425
- }
1426
- },
1427
- "pushRatePress": {
1428
- "title": "Double Press Push Rate",
1429
- "type": "number",
1430
- "placeholder": "15",
1431
- "description": "Indicates the number of seconds between pushes for double presses to SwitchBot API",
1432
- "condition": {
1433
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device);"
1434
- }
1435
- },
1436
2009
  "allowPush": {
1437
2010
  "title": "Allow Changes to Be Pushed",
1438
2011
  "description": "If set to true, this will allow commands to be sent even if device state is already in state that is being pushed.",
1439
2012
  "type": "boolean",
1440
2013
  "condition": {
1441
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device);"
2014
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1PM'] && !model.options.deviceConfig['Relay Switch 1PM'].hide_device);"
1442
2015
  }
1443
2016
  },
1444
2017
  "connectionType": {
@@ -1446,7 +2019,7 @@
1446
2019
  "type": "string",
1447
2020
  "description": "Bluetooth (BLE) API is only available on certain Device Types, see the Wiki for more information.",
1448
2021
  "condition": {
1449
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device);"
2022
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1PM'] && !model.options.deviceConfig['Relay Switch 1PM'].hide_device);"
1450
2023
  },
1451
2024
  "oneOf": [
1452
2025
  {
@@ -1479,7 +2052,7 @@
1479
2052
  "title": "Disable Platform BLE",
1480
2053
  "type": "boolean",
1481
2054
  "condition": {
1482
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device && model.options.deviceConfig['Bot'].connectionType === 'BLE');"
2055
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1PM'] && !model.options.deviceConfig['Relay Switch 1PM'].hide_device && model.options.deviceConfig['Relay Switch 1PM'].connectionType !== 'Disabled');"
1483
2056
  }
1484
2057
  },
1485
2058
  "scanDuration": {
@@ -1487,21 +2060,21 @@
1487
2060
  "type": "number",
1488
2061
  "placeholder": 1,
1489
2062
  "condition": {
1490
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device && (model.options.deviceConfig['Bot'].connectionType === 'BLE' || model.options.deviceConfig['Bot'].connectionType === 'BLE/OpenAPI'));"
2063
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1PM'] && !model.options.deviceConfig['Relay Switch 1PM'].hide_device && (model.options.deviceConfig['Relay Switch 1PM'].connectionType === 'BLE' || model.options.deviceConfig['Relay Switch 1PM'].connectionType === 'BLE/OpenAPI'));"
1491
2064
  }
1492
2065
  },
1493
2066
  "webhook": {
1494
2067
  "title": "Enable Webhook for all Hub 2s",
1495
2068
  "type": "boolean",
1496
2069
  "condition": {
1497
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device && (model.options.deviceConfig['Bot'].connectionType === 'OpenAPI' || model.options.deviceConfig['Bot'].connectionType === 'BLE/OpenAPI'));"
2070
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1PM'] && !model.options.deviceConfig['Relay Switch 1PM'].hide_device && (model.options.deviceConfig['Relay Switch 1PM'].connectionType === 'OpenAPI' || model.options.deviceConfig['Relay Switch 1PM'].connectionType === 'BLE/OpenAPI'));"
1498
2071
  }
1499
2072
  },
1500
2073
  "external": {
1501
2074
  "title": "External Accessory",
1502
2075
  "type": "boolean",
1503
2076
  "condition": {
1504
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device);"
2077
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1PM'] && !model.options.deviceConfig['Relay Switch 1PM'].hide_device);"
1505
2078
  }
1506
2079
  },
1507
2080
  "maxRetry": {
@@ -1509,7 +2082,7 @@
1509
2082
  "type": "number",
1510
2083
  "placeholder": "5",
1511
2084
  "condition": {
1512
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device && (model.options.deviceConfig['Bot'].connectionType === 'BLE' || model.options.deviceConfig['Bot'].connectionType === 'BLE/OpenAPI'));"
2085
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1PM'] && !model.options.deviceConfig['Relay Switch 1PM'].hide_device && (model.options.deviceConfig['Relay Switch 1PM'].connectionType === 'BLE' || model.options.deviceConfig['Relay Switch 1PM'].connectionType === 'BLE/OpenAPI'));"
1513
2086
  }
1514
2087
  },
1515
2088
  "maxRetries": {
@@ -1517,7 +2090,7 @@
1517
2090
  "type": "number",
1518
2091
  "placeholder": 5,
1519
2092
  "condition": {
1520
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device && (model.options.deviceConfig['Bot'].connectionType === 'OpenAPI' || model.options.deviceConfig['Bot'].connectionType === 'BLE/OpenAPI'));"
2093
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1PM'] && !model.options.deviceConfig['Relay Switch 1PM'].hide_device && (model.options.deviceConfig['Relay Switch 1PM'].connectionType === 'OpenAPI' || model.options.deviceConfig['Relay Switch 1PM'].connectionType === 'BLE/OpenAPI'));"
1521
2094
  }
1522
2095
  },
1523
2096
  "delayBetweenRetries": {
@@ -1525,28 +2098,28 @@
1525
2098
  "type": "number",
1526
2099
  "placeholder": 3,
1527
2100
  "condition": {
1528
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device && (model.options.deviceConfig['Bot'].connectionType === 'OpenAPI' || model.options.deviceConfig['Bot'].connectionType === 'BLE/OpenAPI'));"
2101
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1PM'] && !model.options.deviceConfig['Relay Switch 1PM'].hide_device && (model.options.deviceConfig['Relay Switch 1PM'].connectionType === 'OpenAPI' || model.options.deviceConfig['Relay Switch 1PM'].connectionType === 'BLE/OpenAPI'));"
1529
2102
  }
1530
2103
  },
1531
2104
  "disableCaching": {
1532
2105
  "title": "Disable Caching",
1533
2106
  "type": "boolean",
1534
2107
  "condition": {
1535
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Bot'] && !model.options.deviceConfig['Bot'].hide_device);"
2108
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Relay Switch 1PM'] && !model.options.deviceConfig['Relay Switch 1PM'].hide_device);"
1536
2109
  }
1537
2110
  },
1538
2111
  "offline": {
1539
2112
  "title": "Offline as Off",
1540
2113
  "type": "boolean",
1541
2114
  "condition": {
1542
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Bot'].hide_device);"
2115
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Relay Switch 1PM'].hide_device);"
1543
2116
  }
1544
2117
  },
1545
2118
  "history": {
1546
2119
  "title": "EVE History",
1547
2120
  "type": "boolean",
1548
2121
  "condition": {
1549
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Bot'].hide_device);"
2122
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Relay Switch 1PM'].hide_device);"
1550
2123
  }
1551
2124
  },
1552
2125
  "firmware": {
@@ -1554,7 +2127,7 @@
1554
2127
  "type": "string",
1555
2128
  "placeholder": "1.2.8",
1556
2129
  "condition": {
1557
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Bot'].hide_device);"
2130
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Relay Switch 1PM'].hide_device);"
1558
2131
  }
1559
2132
  },
1560
2133
  "logging": {
@@ -1563,7 +2136,7 @@
1563
2136
  "required": true,
1564
2137
  "default": "",
1565
2138
  "condition": {
1566
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Bot'].hide_device);"
2139
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Relay Switch 1PM'].hide_device);"
1567
2140
  },
1568
2141
  "oneOf": [
1569
2142
  {
@@ -1597,7 +2170,7 @@
1597
2170
  "type": "number",
1598
2171
  "placeholder": 5,
1599
2172
  "condition": {
1600
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Bot'].hide_device);"
2173
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Relay Switch 1PM'].hide_device);"
1601
2174
  }
1602
2175
  },
1603
2176
  "updateRate": {
@@ -1607,7 +2180,7 @@
1607
2180
  "placeholder": 5,
1608
2181
  "description": "Indicates the number of seconds before refreshing status while updating progress.",
1609
2182
  "condition": {
1610
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Bot'].hide_device);"
2183
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Relay Switch 1PM'].hide_device);"
1611
2184
  }
1612
2185
  },
1613
2186
  "pushRate": {
@@ -1615,7 +2188,7 @@
1615
2188
  "type": "number",
1616
2189
  "placeholder": 360,
1617
2190
  "condition": {
1618
- "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Bot'].hide_device);"
2191
+ "functionBody": "return (model.options && model.options.deviceConfig && !model.options.deviceConfig['Relay Switch 1PM'].hide_device);"
1619
2192
  }
1620
2193
  }
1621
2194
  }
@@ -1701,7 +2274,7 @@
1701
2274
  "title": "Disable Platform BLE",
1702
2275
  "type": "boolean",
1703
2276
  "condition": {
1704
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Meter'] && !model.options.deviceConfig['Meter'].hide_device && model.options.deviceConfig['Meter'].connectionType === 'BLE');"
2277
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Meter'] && !model.options.deviceConfig['Meter'].hide_device && model.options.deviceConfig['Meter'].connectionType !== 'Disabled');"
1705
2278
  }
1706
2279
  },
1707
2280
  "scanDuration": {
@@ -1923,7 +2496,7 @@
1923
2496
  "title": "Disable Platform BLE",
1924
2497
  "type": "boolean",
1925
2498
  "condition": {
1926
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['MeterPlus'] && !model.options.deviceConfig['MeterPlus'].hide_device && model.options.deviceConfig['MeterPlus'].connectionType === 'BLE');"
2499
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['MeterPlus'] && !model.options.deviceConfig['MeterPlus'].hide_device && model.options.deviceConfig['MeterPlus'].connectionType !== 'Disabled');"
1927
2500
  }
1928
2501
  },
1929
2502
  "scanDuration": {
@@ -2145,7 +2718,7 @@
2145
2718
  "title": "Disable Platform BLE",
2146
2719
  "type": "boolean",
2147
2720
  "condition": {
2148
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Meter Plus (JP)'] && !model.options.deviceConfig['Meter Plus (JP)'].hide_device && model.options.deviceConfig['Meter Plus (JP)'].connectionType === 'BLE');"
2721
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Meter Plus (JP)'] && !model.options.deviceConfig['Meter Plus (JP)'].hide_device && model.options.deviceConfig['Meter Plus (JP)'].connectionType !== 'Disabled');"
2149
2722
  }
2150
2723
  },
2151
2724
  "scanDuration": {
@@ -2367,7 +2940,7 @@
2367
2940
  "title": "Disable Platform BLE",
2368
2941
  "type": "boolean",
2369
2942
  "condition": {
2370
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['WoIOSensor'] && !model.options.deviceConfig['WoIOSensor'].hide_device && model.options.deviceConfig['WoIOSensor'].connectionType === 'BLE');"
2943
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['WoIOSensor'] && !model.options.deviceConfig['WoIOSensor'].hide_device && model.options.deviceConfig['WoIOSensor'].connectionType !== 'Disabled');"
2371
2944
  }
2372
2945
  },
2373
2946
  "scanDuration": {
@@ -2569,7 +3142,7 @@
2569
3142
  "title": "Disable Platform BLE",
2570
3143
  "type": "boolean",
2571
3144
  "condition": {
2572
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Water Detector'] && !model.options.deviceConfig['Water Detector'].hide_device && model.options.deviceConfig['Water Detector'].connectionType === 'BLE');"
3145
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Water Detector'] && !model.options.deviceConfig['Water Detector'].hide_device && model.options.deviceConfig['Water Detector'].connectionType !== 'Disabled');"
2573
3146
  }
2574
3147
  },
2575
3148
  "scanDuration": {
@@ -2779,7 +3352,7 @@
2779
3352
  "title": "Disable Platform BLE",
2780
3353
  "type": "boolean",
2781
3354
  "condition": {
2782
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Motion Sensor'] && !model.options.deviceConfig['Motion Sensor'].hide_device && model.options.deviceConfig['Motion Sensor'].connectionType === 'BLE');"
3355
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Motion Sensor'] && !model.options.deviceConfig['Motion Sensor'].hide_device && model.options.deviceConfig['Motion Sensor'].connectionType !== 'Disabled');"
2783
3356
  }
2784
3357
  },
2785
3358
  "scanDuration": {
@@ -2996,7 +3569,7 @@
2996
3569
  "title": "Disable Platform BLE",
2997
3570
  "type": "boolean",
2998
3571
  "condition": {
2999
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Contact Sensor'] && !model.options.deviceConfig['Contact Sensor'].hide_device && model.options.deviceConfig['Contact Sensor'].connectionType === 'BLE');"
3572
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Contact Sensor'] && !model.options.deviceConfig['Contact Sensor'].hide_device && model.options.deviceConfig['Contact Sensor'].connectionType !== 'Disabled');"
3000
3573
  }
3001
3574
  },
3002
3575
  "scanDuration": {
@@ -3289,7 +3862,7 @@
3289
3862
  "title": "Disable Platform BLE",
3290
3863
  "type": "boolean",
3291
3864
  "condition": {
3292
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Curtain'] && !model.options.deviceConfig['Curtain'].hide_device && model.options.deviceConfig['Curtain'].connectionType === 'BLE');"
3865
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Curtain'] && !model.options.deviceConfig['Curtain'].hide_device && model.options.deviceConfig['Curtain'].connectionType !== 'Disabled');"
3293
3866
  }
3294
3867
  },
3295
3868
  "scanDuration": {
@@ -3582,7 +4155,7 @@
3582
4155
  "title": "Disable Platform BLE",
3583
4156
  "type": "boolean",
3584
4157
  "condition": {
3585
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Curtain3'] && !model.options.deviceConfig['Curtain3'].hide_device && model.options.deviceConfig['Curtain3'].connectionType === 'BLE');"
4158
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Curtain3'] && !model.options.deviceConfig['Curtain3'].hide_device && model.options.deviceConfig['Curtain3'].connectionType !== 'Disabled');"
3586
4159
  }
3587
4160
  },
3588
4161
  "scanDuration": {
@@ -3875,7 +4448,7 @@
3875
4448
  "title": "Disable Platform BLE",
3876
4449
  "type": "boolean",
3877
4450
  "condition": {
3878
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['WoRollerShade'] && !model.options.deviceConfig['WoRollerShade'].hide_device && model.options.deviceConfig['WoRollerShade'].connectionType === 'BLE');"
4451
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['WoRollerShade'] && !model.options.deviceConfig['WoRollerShade'].hide_device && model.options.deviceConfig['WoRollerShade'].connectionType !== 'Disabled');"
3879
4452
  }
3880
4453
  },
3881
4454
  "scanDuration": {
@@ -4168,7 +4741,7 @@
4168
4741
  "title": "Disable Platform BLE",
4169
4742
  "type": "boolean",
4170
4743
  "condition": {
4171
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Roller Shade'] && !model.options.deviceConfig['Roller Shade'].hide_device && model.options.deviceConfig['Roller Shade'].connectionType === 'BLE');"
4744
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Roller Shade'] && !model.options.deviceConfig['Roller Shade'].hide_device && model.options.deviceConfig['Roller Shade'].connectionType !== 'Disabled');"
4172
4745
  }
4173
4746
  },
4174
4747
  "scanDuration": {
@@ -4332,27 +4905,39 @@
4332
4905
  "oneOf": [
4333
4906
  {
4334
4907
  "title": "Default",
4335
- "enum": [""]
4908
+ "enum": [
4909
+ ""
4910
+ ]
4336
4911
  },
4337
4912
  {
4338
4913
  "title": "Down and Up",
4339
- "enum": ["down_and_up"]
4914
+ "enum": [
4915
+ "down_and_up"
4916
+ ]
4340
4917
  },
4341
4918
  {
4342
4919
  "title": "Only Down",
4343
- "enum": ["only_down"]
4920
+ "enum": [
4921
+ "only_down"
4922
+ ]
4344
4923
  },
4345
4924
  {
4346
4925
  "title": "Only Up",
4347
- "enum": ["only_up"]
4926
+ "enum": [
4927
+ "only_up"
4928
+ ]
4348
4929
  },
4349
4930
  {
4350
4931
  "title": "Up and Down",
4351
- "enum": ["up_and_down"]
4932
+ "enum": [
4933
+ "up_and_down"
4934
+ ]
4352
4935
  },
4353
4936
  {
4354
4937
  "title": "Use Tilt for Direction",
4355
- "enum": ["use_tilt_for_direction"]
4938
+ "enum": [
4939
+ "use_tilt_for_direction"
4940
+ ]
4356
4941
  }
4357
4942
  ],
4358
4943
  "condition": {
@@ -4496,7 +5081,7 @@
4496
5081
  "title": "Disable Platform BLE",
4497
5082
  "type": "boolean",
4498
5083
  "condition": {
4499
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Blind Tilt'] && !model.options.deviceConfig['Blind Tilt'].hide_device && model.options.deviceConfig['Blind Tilt'].connectionType === 'BLE');"
5084
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Blind Tilt'] && !model.options.deviceConfig['Blind Tilt'].hide_device && model.options.deviceConfig['Blind Tilt'].connectionType !== 'Disabled');"
4500
5085
  }
4501
5086
  },
4502
5087
  "scanDuration": {
@@ -4683,7 +5268,7 @@
4683
5268
  "title": "Disable Platform BLE",
4684
5269
  "type": "boolean",
4685
5270
  "condition": {
4686
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Plug'] && !model.options.deviceConfig['Humidifier'].hide_device && model.options.deviceConfig['Plug'].connectionType === 'BLE');"
5271
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Plug'] && !model.options.deviceConfig['Humidifier'].hide_device && model.options.deviceConfig['Plug'].connectionType !== 'Disabled');"
4687
5272
  }
4688
5273
  },
4689
5274
  "scanDuration": {
@@ -4870,7 +5455,7 @@
4870
5455
  "title": "Disable Platform BLE",
4871
5456
  "type": "boolean",
4872
5457
  "condition": {
4873
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Plug Mini (US)'] && !model.options.deviceConfig['Plug Mini (US)'].hide_device && model.options.deviceConfig['Plug Mini (US)'].connectionType === 'BLE');"
5458
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Plug Mini (US)'] && !model.options.deviceConfig['Plug Mini (US)'].hide_device && model.options.deviceConfig['Plug Mini (US)'].connectionType !== 'Disabled');"
4874
5459
  }
4875
5460
  },
4876
5461
  "scanDuration": {
@@ -5057,7 +5642,7 @@
5057
5642
  "title": "Disable Platform BLE",
5058
5643
  "type": "boolean",
5059
5644
  "condition": {
5060
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Plug Mini (JP)'] && !model.options.deviceConfig['Plug Mini (JP)'].hide_device && model.options.deviceConfig['Plug Mini (JP)'].connectionType === 'BLE');"
5645
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Plug Mini (JP)'] && !model.options.deviceConfig['Plug Mini (JP)'].hide_device && model.options.deviceConfig['Plug Mini (JP)'].connectionType !== 'Disabled');"
5061
5646
  }
5062
5647
  },
5063
5648
  "scanDuration": {
@@ -5258,7 +5843,7 @@
5258
5843
  "title": "Disable Platform BLE",
5259
5844
  "type": "boolean",
5260
5845
  "condition": {
5261
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Smart Lock'] && !model.options.deviceConfig['Smart Lock'].hide_device && model.options.deviceConfig['Smart Lock'].connectionType === 'BLE');"
5846
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Smart Lock'] && !model.options.deviceConfig['Smart Lock'].hide_device && model.options.deviceConfig['Smart Lock'].connectionType !== 'Disabled');"
5262
5847
  }
5263
5848
  },
5264
5849
  "scanDuration": {
@@ -5459,7 +6044,7 @@
5459
6044
  "title": "Disable Platform BLE",
5460
6045
  "type": "boolean",
5461
6046
  "condition": {
5462
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Smart Lock Pro'] && !model.options.deviceConfig['Smart Lock Pro'].hide_device && model.options.deviceConfig['Smart Lock Pro'].connectionType === 'BLE');"
6047
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Smart Lock Pro'] && !model.options.deviceConfig['Smart Lock Pro'].hide_device && model.options.deviceConfig['Smart Lock Pro'].connectionType !== 'Disabled');"
5463
6048
  }
5464
6049
  },
5465
6050
  "scanDuration": {
@@ -5664,7 +6249,7 @@
5664
6249
  "title": "Disable Platform BLE",
5665
6250
  "type": "boolean",
5666
6251
  "condition": {
5667
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Color Bulb'] && !model.options.deviceConfig['Color Bulb'].hide_device && model.options.deviceConfig['Color Bulb'].connectionType === 'BLE');"
6252
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Color Bulb'] && !model.options.deviceConfig['Color Bulb'].hide_device && model.options.deviceConfig['Color Bulb'].connectionType !== 'Disabled');"
5668
6253
  }
5669
6254
  },
5670
6255
  "scanDuration": {
@@ -5851,7 +6436,7 @@
5851
6436
  "title": "Disable Platform BLE",
5852
6437
  "type": "boolean",
5853
6438
  "condition": {
5854
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['K10+'] && !model.options.deviceConfig['K10+'].hide_device && model.options.deviceConfig['K10+'].connectionType === 'BLE');"
6439
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['K10+'] && !model.options.deviceConfig['K10+'].hide_device && model.options.deviceConfig['K10+'].connectionType !== 'Disabled');"
5855
6440
  }
5856
6441
  },
5857
6442
  "scanDuration": {
@@ -6038,7 +6623,7 @@
6038
6623
  "title": "Disable Platform BLE",
6039
6624
  "type": "boolean",
6040
6625
  "condition": {
6041
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['K10+ Pro'] && !model.options.deviceConfig['K10+ Pro'].hide_device && model.options.deviceConfig['K10+ Pro'].connectionType === 'BLE');"
6626
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['K10+ Pro'] && !model.options.deviceConfig['K10+ Pro'].hide_device && model.options.deviceConfig['K10+ Pro'].connectionType !== 'Disabled');"
6042
6627
  }
6043
6628
  },
6044
6629
  "scanDuration": {
@@ -6225,7 +6810,7 @@
6225
6810
  "title": "Disable Platform BLE",
6226
6811
  "type": "boolean",
6227
6812
  "condition": {
6228
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['WoSweeper'] && !model.options.deviceConfig['WoSweeper'].hide_device && model.options.deviceConfig['WoSweeper'].connectionType === 'BLE');"
6813
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['WoSweeper'] && !model.options.deviceConfig['WoSweeper'].hide_device && model.options.deviceConfig['WoSweeper'].connectionType !== 'Disabled');"
6229
6814
  }
6230
6815
  },
6231
6816
  "scanDuration": {
@@ -6412,7 +6997,7 @@
6412
6997
  "title": "Disable Platform BLE",
6413
6998
  "type": "boolean",
6414
6999
  "condition": {
6415
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['WoSweeperMini'] && !model.options.deviceConfig['WoSweeperMini'].hide_device && model.options.deviceConfig['WoSweeperMini'].connectionType === 'BLE');"
7000
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['WoSweeperMini'] && !model.options.deviceConfig['WoSweeperMini'].hide_device && model.options.deviceConfig['WoSweeperMini'].connectionType !== 'Disabled');"
6416
7001
  }
6417
7002
  },
6418
7003
  "scanDuration": {
@@ -6599,7 +7184,7 @@
6599
7184
  "title": "Disable Platform BLE",
6600
7185
  "type": "boolean",
6601
7186
  "condition": {
6602
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Robot Vacuum Cleaner S1'] && !model.options.deviceConfig['Robot Vacuum Cleaner S1'].hide_device && model.options.deviceConfig['Robot Vacuum Cleaner S1'].connectionType === 'BLE');"
7187
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Robot Vacuum Cleaner S1'] && !model.options.deviceConfig['Robot Vacuum Cleaner S1'].hide_device && model.options.deviceConfig['Robot Vacuum Cleaner S1'].connectionType !== 'Disabled');"
6603
7188
  }
6604
7189
  },
6605
7190
  "scanDuration": {
@@ -6786,7 +7371,7 @@
6786
7371
  "title": "Disable Platform BLE",
6787
7372
  "type": "boolean",
6788
7373
  "condition": {
6789
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Robot Vacuum Cleaner S1 Plus'] && !model.options.deviceConfig['Robot Vacuum Cleaner S1 Plus'].hide_device && model.options.deviceConfig['Robot Vacuum Cleaner S1 Plus'].connectionType === 'BLE');"
7374
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Robot Vacuum Cleaner S1 Plus'] && !model.options.deviceConfig['Robot Vacuum Cleaner S1 Plus'].hide_device && model.options.deviceConfig['Robot Vacuum Cleaner S1 Plus'].connectionType !== 'Disabled');"
6790
7375
  }
6791
7376
  },
6792
7377
  "scanDuration": {
@@ -6973,7 +7558,7 @@
6973
7558
  "title": "Disable Platform BLE",
6974
7559
  "type": "boolean",
6975
7560
  "condition": {
6976
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Robot Vacuum Cleaner S10'] && !model.options.deviceConfig['Robot Vacuum Cleaner S10'].hide_device && model.options.deviceConfig['Robot Vacuum Cleaner S10'].connectionType === 'BLE');"
7561
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Robot Vacuum Cleaner S10'] && !model.options.deviceConfig['Robot Vacuum Cleaner S10'].hide_device && model.options.deviceConfig['Robot Vacuum Cleaner S10'].connectionType !== 'Disabled');"
6977
7562
  }
6978
7563
  },
6979
7564
  "scanDuration": {
@@ -7178,7 +7763,7 @@
7178
7763
  "title": "Disable Platform BLE",
7179
7764
  "type": "boolean",
7180
7765
  "condition": {
7181
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Ceiling Light'] && !model.options.deviceConfig['Ceiling Light'].hide_device && model.options.deviceConfig['Ceiling Light'].connectionType === 'BLE');"
7766
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Ceiling Light'] && !model.options.deviceConfig['Ceiling Light'].hide_device && model.options.deviceConfig['Ceiling Light'].connectionType !== 'Disabled');"
7182
7767
  }
7183
7768
  },
7184
7769
  "scanDuration": {
@@ -7383,7 +7968,7 @@
7383
7968
  "title": "Disable Platform BLE",
7384
7969
  "type": "boolean",
7385
7970
  "condition": {
7386
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Ceiling Light Pro'] && !model.options.deviceConfig['Ceiling Light Pro'].hide_device && model.options.deviceConfig['Ceiling Light Pro'].connectionType === 'BLE');"
7971
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Ceiling Light Pro'] && !model.options.deviceConfig['Ceiling Light Pro'].hide_device && model.options.deviceConfig['Ceiling Light Pro'].connectionType !== 'Disabled');"
7387
7972
  }
7388
7973
  },
7389
7974
  "scanDuration": {
@@ -7588,7 +8173,7 @@
7588
8173
  "title": "Disable Platform BLE",
7589
8174
  "type": "boolean",
7590
8175
  "condition": {
7591
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Strip Light'] && !model.options.deviceConfig['Strip Light'].hide_device && model.options.deviceConfig['Strip Light'].connectionType === 'BLE');"
8176
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Strip Light'] && !model.options.deviceConfig['Strip Light'].hide_device && model.options.deviceConfig['Strip Light'].connectionType !== 'Disabled');"
7592
8177
  }
7593
8178
  },
7594
8179
  "scanDuration": {
@@ -7784,7 +8369,7 @@
7784
8369
  "title": "Disable Platform BLE",
7785
8370
  "type": "boolean",
7786
8371
  "condition": {
7787
- "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Battery Circulator Fan'] && !model.options.deviceConfig['Battery Circulator Fan'].hide_device && model.options.deviceConfig['Battery Circulator Fan'].connectionType === 'BLE');"
8372
+ "functionBody": "return (model.options && model.options.deviceConfig && model.options.deviceConfig['Battery Circulator Fan'] && !model.options.deviceConfig['Battery Circulator Fan'].hide_device && model.options.deviceConfig['Battery Circulator Fan'].connectionType !== 'Disabled');"
7788
8373
  }
7789
8374
  },
7790
8375
  "scanDuration": {
@@ -8348,6 +8933,18 @@
8348
8933
  "Meter Plus (JP)"
8349
8934
  ]
8350
8935
  },
8936
+ {
8937
+ "title": "Meter Pro",
8938
+ "enum": [
8939
+ "Meter Pro"
8940
+ ]
8941
+ },
8942
+ {
8943
+ "title": "Meter Pro (CO2)",
8944
+ "enum": [
8945
+ "MeterPro(CO2)"
8946
+ ]
8947
+ },
8351
8948
  {
8352
8949
  "title": "WoIOSensor",
8353
8950
  "enum": [
@@ -8514,13 +9111,7 @@
8514
9111
  "functionBody": "return (model.options && model.options.irdevices && model.options.irdevices[arrayIndices].deviceId && !model.options.irdevices[arrayIndices].hide_device);"
8515
9112
  }
8516
9113
  }
8517
- },
8518
- "required": [
8519
- "deviceId",
8520
- "configRemoteType",
8521
- "connectionType",
8522
- "logging"
8523
- ]
9114
+ }
8524
9115
  },
8525
9116
  "uniqueItems": true
8526
9117
  },
@@ -12311,6 +12902,60 @@
12311
12902
  "options.deviceConfig['Bot'].pushRate"
12312
12903
  ]
12313
12904
  },
12905
+ {
12906
+ "type": "fieldset",
12907
+ "title": "Relay Switch 1 Settings",
12908
+ "expandable": true,
12909
+ "expanded": false,
12910
+ "items": [
12911
+ "options.deviceConfig['Relay Switch 1'].hide_device",
12912
+ "options.deviceConfig['Relay Switch 1'].type",
12913
+ "options.deviceConfig['Relay Switch 1'].allowPush",
12914
+ "options.deviceConfig['Relay Switch 1'].connectionType",
12915
+ "options.deviceConfig['Relay Switch 1'].disablePlatformBLE",
12916
+ "options.deviceConfig['Relay Switch 1'].scanDuration",
12917
+ "options.deviceConfig['Relay Switch 1'].webhook",
12918
+ "options.deviceConfig['Relay Switch 1'].external",
12919
+ "options.deviceConfig['Relay Switch 1'].maxRetry",
12920
+ "options.deviceConfig['Relay Switch 1'].maxRetries",
12921
+ "options.deviceConfig['Relay Switch 1'].delayBetweenRetries",
12922
+ "options.deviceConfig['Relay Switch 1'].disableCaching",
12923
+ "options.deviceConfig['Relay Switch 1'].offline",
12924
+ "options.deviceConfig['Relay Switch 1'].history",
12925
+ "options.deviceConfig['Relay Switch 1'].firmware",
12926
+ "options.deviceConfig['Relay Switch 1'].logging",
12927
+ "options.deviceConfig['Relay Switch 1'].refreshRate",
12928
+ "options.deviceConfig['Relay Switch 1'].updateRate",
12929
+ "options.deviceConfig['Relay Switch 1'].pushRate"
12930
+ ]
12931
+ },
12932
+ {
12933
+ "type": "fieldset",
12934
+ "title": "Relay Switch 1PM Settings",
12935
+ "expandable": true,
12936
+ "expanded": false,
12937
+ "items": [
12938
+ "options.deviceConfig['Relay Switch 1PM'].hide_device",
12939
+ "options.deviceConfig['Relay Switch 1PM'].type",
12940
+ "options.deviceConfig['Relay Switch 1PM'].allowPush",
12941
+ "options.deviceConfig['Relay Switch 1PM'].connectionType",
12942
+ "options.deviceConfig['Relay Switch 1PM'].disablePlatformBLE",
12943
+ "options.deviceConfig['Relay Switch 1PM'].scanDuration",
12944
+ "options.deviceConfig['Relay Switch 1PM'].webhook",
12945
+ "options.deviceConfig['Relay Switch 1PM'].external",
12946
+ "options.deviceConfig['Relay Switch 1PM'].maxRetry",
12947
+ "options.deviceConfig['Relay Switch 1PM'].maxRetries",
12948
+ "options.deviceConfig['Relay Switch 1PM'].delayBetweenRetries",
12949
+ "options.deviceConfig['Relay Switch 1PM'].disableCaching",
12950
+ "options.deviceConfig['Relay Switch 1PM'].offline",
12951
+ "options.deviceConfig['Relay Switch 1PM'].history",
12952
+ "options.deviceConfig['Relay Switch 1PM'].firmware",
12953
+ "options.deviceConfig['Relay Switch 1PM'].logging",
12954
+ "options.deviceConfig['Relay Switch 1PM'].refreshRate",
12955
+ "options.deviceConfig['Relay Switch 1PM'].updateRate",
12956
+ "options.deviceConfig['Relay Switch 1PM'].pushRate"
12957
+ ]
12958
+ },
12314
12959
  {
12315
12960
  "type": "fieldset",
12316
12961
  "title": "Meter Settings",