552 lines
12 KiB
JSON
552 lines
12 KiB
JSON
{
|
|
"manufacturer": "Intermatic",
|
|
"manufacturerId": "0x0005",
|
|
"label": "PE653",
|
|
"description": "Pool Control",
|
|
"devices": [
|
|
{
|
|
"productType": "0x5045",
|
|
"productId": "0x0653"
|
|
}
|
|
],
|
|
"firmwareVersion": {
|
|
"min": "0.0",
|
|
"max": "255.255"
|
|
},
|
|
"paramInformation": [
|
|
{
|
|
"#": "1[0x02]",
|
|
"$import": "~/templates/master_template.json#base_options_nounit",
|
|
"label": "Installed Pump Type",
|
|
"valueSize": 2,
|
|
"options": [
|
|
{
|
|
"label": "One speed",
|
|
"value": 0
|
|
},
|
|
{
|
|
"label": "Two speed",
|
|
"value": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"#": "1[0x01]",
|
|
"$import": "~/templates/master_template.json#base_enable_disable",
|
|
"label": "Booster (Cleaner) Pump Installed",
|
|
"valueSize": 2
|
|
},
|
|
{
|
|
"#": "1[0xff00]",
|
|
"label": "Booster (Cleaner) Pump Operation Mode",
|
|
"description": "Set the filter pump mode to use when the booster (cleaner) pump is running.",
|
|
"valueSize": 2,
|
|
"defaultValue": 1,
|
|
"allowManualEntry": false,
|
|
"options": [
|
|
{
|
|
"label": "Disable",
|
|
"value": 1
|
|
},
|
|
{
|
|
"label": "Circuit 1",
|
|
"value": 2
|
|
},
|
|
{
|
|
"label": "VSP speed 1",
|
|
"value": 3
|
|
},
|
|
{
|
|
"label": "VSP speed 2",
|
|
"value": 4
|
|
},
|
|
{
|
|
"label": "VSP speed 3",
|
|
"value": 5
|
|
},
|
|
{
|
|
"label": "VSP speed 4",
|
|
"value": 6
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"#": "2[0xff00]",
|
|
"label": "Heater Cooldown Period",
|
|
"valueSize": 2,
|
|
"unit": "minutes",
|
|
"minValue": -1,
|
|
"maxValue": 15,
|
|
"defaultValue": -1,
|
|
"options": [
|
|
{
|
|
"label": "No heater installed",
|
|
"value": -1
|
|
},
|
|
{
|
|
"label": "Heater installed with no cooldown",
|
|
"value": 0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"#": "2[0x01]",
|
|
"$import": "~/templates/master_template.json#base_enable_disable",
|
|
"label": "Heater Safety Setting",
|
|
"description": "Prevent the heater from turning on while the pump is off.",
|
|
"valueSize": 2
|
|
},
|
|
{
|
|
"#": "3[0xff000000]",
|
|
"label": "Water Temperature Offset",
|
|
"valueSize": 4,
|
|
"unit": "°F",
|
|
"minValue": -5,
|
|
"maxValue": 5,
|
|
"defaultValue": 0
|
|
},
|
|
{
|
|
"#": "3[0xff0000]",
|
|
"$import": "#paramInformation/3[0xff000000]",
|
|
"label": "Air/Freeze Temperature Offset"
|
|
},
|
|
{
|
|
"#": "3[0xff00]",
|
|
"$import": "#paramInformation/3[0xff000000]",
|
|
"label": "Solar Temperature Offset"
|
|
},
|
|
{
|
|
"#": "22",
|
|
"$import": "~/templates/master_template.json#base_options_nounit",
|
|
"label": "Pool/Spa Configuration",
|
|
"options": [
|
|
{
|
|
"label": "Pool",
|
|
"value": 0
|
|
},
|
|
{
|
|
"label": "Spa",
|
|
"value": 1
|
|
},
|
|
{
|
|
"label": "Both",
|
|
"value": 2
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"#": "23",
|
|
"$import": "~/templates/master_template.json#base_options_nounit",
|
|
"label": "Spa Mode Pump Speed",
|
|
"description": "Requires pool/spa configuration.",
|
|
"defaultValue": 1,
|
|
"options": [
|
|
{
|
|
"label": "Disabled",
|
|
"value": 1
|
|
},
|
|
{
|
|
"label": "Circuit 1",
|
|
"value": 2
|
|
},
|
|
{
|
|
"label": "VSP speed 1",
|
|
"value": 3
|
|
},
|
|
{
|
|
"label": "VSP speed 2",
|
|
"value": 4
|
|
},
|
|
{
|
|
"label": "VSP speed 3",
|
|
"value": 5
|
|
},
|
|
{
|
|
"label": "VSP speed 4",
|
|
"value": 6
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"#": "32",
|
|
"label": "Variable Speed Pump - Speed 1",
|
|
"description": "Requires connected variable speed pump.",
|
|
"valueSize": 2,
|
|
"unit": "RPM",
|
|
"minValue": 400,
|
|
"maxValue": 3450,
|
|
"defaultValue": 750
|
|
},
|
|
{
|
|
"#": "33",
|
|
"$import": "#paramInformation/32",
|
|
"label": "Variable Speed Pump - Speed 2",
|
|
"defaultValue": 1500
|
|
},
|
|
{
|
|
"#": "34",
|
|
"$import": "#paramInformation/32",
|
|
"label": "Variable Speed Pump - Speed 3",
|
|
"defaultValue": 2350
|
|
},
|
|
{
|
|
"#": "35",
|
|
"$import": "#paramInformation/32",
|
|
"label": "Variable Speed Pump - Speed 4",
|
|
"defaultValue": 3110
|
|
},
|
|
{
|
|
"#": "49",
|
|
"$import": "#paramInformation/32",
|
|
"label": "Variable Speed Pump - Max Speed",
|
|
"defaultValue": 3450
|
|
},
|
|
{
|
|
"#": "50[0xff000000]",
|
|
"$import": "~/templates/master_template.json#base_options_nounit",
|
|
"label": "Freeze Protection: Temperature",
|
|
"valueSize": 4,
|
|
"unsigned": true,
|
|
"options": [
|
|
{
|
|
"label": "Disabled",
|
|
"value": 0
|
|
},
|
|
{
|
|
"label": "40 °F",
|
|
"value": 40
|
|
},
|
|
{
|
|
"label": "41 °F",
|
|
"value": 41
|
|
},
|
|
{
|
|
"label": "42 °F",
|
|
"value": 42
|
|
},
|
|
{
|
|
"label": "43 °F",
|
|
"value": 43
|
|
},
|
|
{
|
|
"label": "44 °F",
|
|
"value": 44
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"#": "50[0x010000]",
|
|
"$import": "~/templates/master_template.json#base_enable_disable",
|
|
"label": "Freeze Protection: Turn On Circuit 1",
|
|
"valueSize": 4
|
|
},
|
|
{
|
|
"#": "50[0x020000]",
|
|
"$import": "#paramInformation/50[0x010000]",
|
|
"label": "Freeze Protection: Turn On Circuit 2"
|
|
},
|
|
{
|
|
"#": "50[0x040000]",
|
|
"$import": "#paramInformation/50[0x010000]",
|
|
"label": "Freeze Protection: Turn On Circuit 3"
|
|
},
|
|
{
|
|
"#": "50[0x080000]",
|
|
"$import": "#paramInformation/50[0x010000]",
|
|
"label": "Freeze Protection: Turn On Circuit 4"
|
|
},
|
|
{
|
|
"#": "50[0x100000]",
|
|
"$import": "#paramInformation/50[0x010000]",
|
|
"label": "Freeze Protection: Turn On Circuit 5"
|
|
},
|
|
{
|
|
"#": "50[0xff00]",
|
|
"label": "Freeze Protection: Turn On VSP Speed",
|
|
"description": "Requires variable speed pump and connected air/freeze sensor.",
|
|
"valueSize": 4,
|
|
"defaultValue": 0,
|
|
"unsigned": true,
|
|
"allowManualEntry": false,
|
|
"options": [
|
|
{
|
|
"label": "None",
|
|
"value": 0
|
|
},
|
|
{
|
|
"label": "VSP speed 1",
|
|
"value": 2
|
|
},
|
|
{
|
|
"label": "VSP speed 2",
|
|
"value": 3
|
|
},
|
|
{
|
|
"label": "VSP speed 3",
|
|
"value": 4
|
|
},
|
|
{
|
|
"label": "VSP speed 4",
|
|
"value": 5
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"#": "50[0x80]",
|
|
"$import": "~/templates/master_template.json#base_enable_disable",
|
|
"label": "Freeze Protection: Turn On Heater",
|
|
"description": "Requires heater and connected air/freeze sensor.",
|
|
"valueSize": 4
|
|
},
|
|
{
|
|
"#": "50[0x7f]",
|
|
"label": "Freeze Protection: Pool/Spa Cycle Time",
|
|
"description": "Requires pool/spa configuration and connected air/freeze sensor.",
|
|
"valueSize": 4,
|
|
"unit": "minutes",
|
|
"minValue": 0,
|
|
"maxValue": 30,
|
|
"defaultValue": 0,
|
|
"unsigned": true
|
|
},
|
|
{
|
|
"#": "4",
|
|
"label": "Circuit 1 Schedule 1",
|
|
"description": "Start time (first two bytes, little endian) and stop time (last two bytes, little endian) of schedule in minutes past midnight, e.g. 12:05am (0x0500) to 3:00pm (0x8403) is entered as 83919875. Set to 4294967295 (0xffffffff) to disable.",
|
|
"valueSize": 4,
|
|
"minValue": 0,
|
|
"maxValue": 4294967295,
|
|
"defaultValue": 4294967295,
|
|
"unsigned": true,
|
|
"options": [
|
|
{
|
|
"label": "Disabled",
|
|
"value": 4294967295
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"#": "5",
|
|
"$import": "#paramInformation/4",
|
|
"label": "Circuit 1 Schedule 2",
|
|
"description": "Refer to parameter 4 for usage."
|
|
},
|
|
{
|
|
"#": "6",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Circuit 1 Schedule 3"
|
|
},
|
|
{
|
|
"#": "7",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Circuit 2 Schedule 1"
|
|
},
|
|
{
|
|
"#": "8",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Circuit 2 Schedule 2"
|
|
},
|
|
{
|
|
"#": "9",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Circuit 2 Schedule 3"
|
|
},
|
|
{
|
|
"#": "10",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Circuit 3 Schedule 1"
|
|
},
|
|
{
|
|
"#": "11",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Circuit 3 Schedule 2"
|
|
},
|
|
{
|
|
"#": "12",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Circuit 3 Schedule 3"
|
|
},
|
|
{
|
|
"#": "13",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Circuit 4 Schedule 1"
|
|
},
|
|
{
|
|
"#": "14",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Circuit 4 Schedule 2"
|
|
},
|
|
{
|
|
"#": "15",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Circuit 4 Schedule 3"
|
|
},
|
|
{
|
|
"#": "16",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Circuit 5 Schedule 1"
|
|
},
|
|
{
|
|
"#": "17",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Circuit 5 Schedule 2"
|
|
},
|
|
{
|
|
"#": "18",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Circuit 5 Schedule 3"
|
|
},
|
|
{
|
|
"#": "19",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Pool/Spa Mode Schedule 1"
|
|
},
|
|
{
|
|
"#": "20",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Pool/Spa Mode Schedule 2"
|
|
},
|
|
{
|
|
"#": "21",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Pool/Spa Mode Schedule 3"
|
|
},
|
|
{
|
|
"#": "36",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Variable Speed Pump Speed 1 Schedule 1"
|
|
},
|
|
{
|
|
"#": "37",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Variable Speed Pump Speed 1 Schedule 2"
|
|
},
|
|
{
|
|
"#": "38",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Variable Speed Pump Speed 1 Schedule 3"
|
|
},
|
|
{
|
|
"#": "39",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Variable Speed Pump Speed 2 Schedule 1"
|
|
},
|
|
{
|
|
"#": "40",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Variable Speed Pump Speed 2 Schedule 2"
|
|
},
|
|
{
|
|
"#": "41",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Variable Speed Pump Speed 2 Schedule 3"
|
|
},
|
|
{
|
|
"#": "42",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Variable Speed Pump Speed 3 Schedule 1"
|
|
},
|
|
{
|
|
"#": "43",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Variable Speed Pump Speed 3 Schedule 2"
|
|
},
|
|
{
|
|
"#": "44",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Variable Speed Pump Speed 3 Schedule 3"
|
|
},
|
|
{
|
|
"#": "45",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Variable Speed Pump Speed 4 Schedule 1"
|
|
},
|
|
{
|
|
"#": "46",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Variable Speed Pump Speed 4 Schedule 2"
|
|
},
|
|
{
|
|
"#": "47",
|
|
"$import": "#paramInformation/5",
|
|
"label": "Variable Speed Pump Speed 4 Schedule 3"
|
|
}
|
|
],
|
|
"associations": {
|
|
"1": {
|
|
"label": "Lifeline",
|
|
"maxNodes": 5,
|
|
"isLifeline": true
|
|
}
|
|
},
|
|
"compat": [
|
|
{
|
|
// Fixes #4588: Firmware v3.4 has numerous bugs related to multi-endpoint support.
|
|
// Firmware v3.3 and v3.1 do not appear to have the same issues.
|
|
"$if": "firmwareVersion === 3.4",
|
|
"commandClasses": {
|
|
// Force use of Multi Channel CC V1 despite the device reporting V2
|
|
"add": {
|
|
"Multi Channel": {
|
|
"isSupported": true,
|
|
"version": 1
|
|
}
|
|
},
|
|
// The firmware handles requests on some endpoints incorrectly, often reporting garbage
|
|
// that confuses discovery or inhibits operation. Remove all of these broken CCs.
|
|
"remove": {
|
|
// BasicCC: All endpoints control the state of Switch 1 so only keep the root endpoint
|
|
// to reduce clutter and to handle received BASIC_SET events.
|
|
"Basic": {
|
|
"endpoints": [1, 2, 3, 4, 5]
|
|
},
|
|
// ManufacturerSpecificCC: Endpoint 1 erroneously reports an incorrect manufacturer
|
|
// and product ID, unlike on the root endpoint.
|
|
"Manufacturer Specific": {
|
|
"endpoints": [1]
|
|
},
|
|
// ClockCC: Endpoint 1 erroneously reports a time with an invalid minute field,
|
|
// unlike on the root endpoint.
|
|
"Clock": {
|
|
"endpoints": [1]
|
|
},
|
|
// AssociationCC: Endpoint 1 erroneously reports that it supports 133 associated nodes
|
|
// but association commands don't work at all, unlike on the root endpoint.
|
|
"Association": {
|
|
"endpoints": [1]
|
|
},
|
|
// VersionCC: Endpoint 1 reports an unknown version, unlike on the root endpoint.
|
|
"Version": {
|
|
"endpoints": [1]
|
|
}
|
|
}
|
|
},
|
|
// The device sometimes sends BASIC_SET to the lifeline association when the state of Switch 1
|
|
// changes but the value is always 0 so treat it as an event.
|
|
"mapBasicSet": "event"
|
|
},
|
|
{
|
|
"commandClasses": {
|
|
// Force use of Multi Channel CC V1 despite the device reporting V2
|
|
"add": {
|
|
"Multi Channel": {
|
|
"isSupported": true,
|
|
"version": 1
|
|
}
|
|
}
|
|
},
|
|
"overrideQueries": {
|
|
// The response to the setpoint query is off by one bit: https://github.com/zwave-js/node-zwave-js/issues/5335
|
|
"Thermostat Setpoint": [
|
|
{
|
|
"method": "getSupportedSetpointTypes",
|
|
"result": [
|
|
1, // Heating
|
|
7 // Furnace
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|