{ "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 ] } ] } } ] }