Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[config] Add Intermatic PE653 and PE953 pool/spa controller and remote. #2289

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added config/images/intermatic/pe653.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added config/images/intermatic/pe953.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
58 changes: 58 additions & 0 deletions config/intermatic/pe653.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<Product Revision="1" xmlns="https://github.com/OpenZWave/open-zwave">
<MetaData>
<MetaDataItem name="Name">PE653</MetaDataItem>
<MetaDataItem name="Description">MultiWave Five-Channel Wireless Remote Receiver</MetaDataItem>
<MetaDataItem name="OzwInfoPage">http://www.openzwave.com/device-database/0005:0653:5045</MetaDataItem>
<MetaDataItem name="ProductPic">images/intermatic/pe653.png</MetaDataItem>
<MetaDataItem id="0653" name="ZWProductPage" type="5045">https://products.z-wavealliance.org/products/89/</MetaDataItem>
<MetaDataItem id="0653" name="FrequencyName" type="5045">U.S. / Canada / Mexico</MetaDataItem>
<MetaDataItem id="0653" name="Identifier" type="5045">PE653</MetaDataItem>
<ChangeLog>
<Entry author="Jeff Brown - jeff.brown@gmail.com" date="29 June 2020" revision="1">Initial creation, tested with firmware v3.3</Entry>
</ChangeLog>
</MetaData>

<!-- This device must be polled. It also has a strange habit of reporting
old state when queried immediately after setting a switch and then
reporting the correct state when queried a few moments later. -->

<!-- This device reports 6 switches but there are only 5 circuits.
The switch on the default endpoint is redundant with endpoint 1 so
we omit it from the list of instances. -->
<CommandClass id="32">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be auto discovered. Its not needed.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per the comment, this is intentional. When auto-discovered, the device presents 6 switch instances however physically there are only 5 of them. By listing them explicitly I am able to suppress the redundant switch instance and label each of them in the same manner as they appear in the product documentation.

FWIW, when I first set up the device, I got fooled by the redundant switch instance and was really confused why the switches weren't controlling the correct loads.

<Instance index="1" label="Circuit 1" />
<Instance index="2" label="Circuit 2" />
<Instance index="3" label="Circuit 3" />
<Instance index="4" label="Circuit 4" />
<Instance index="5" label="Circuit 5" />
</CommandClass>
<CommandClass id="37">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be auto discovered. Its not needed.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per prior comment, I'm listing the switching explicitly so as to suppress a redundant instance that should not be enumerated.

<Instance index="1" label="Circuit 1" />
<Instance index="2" label="Circuit 2" />
<Instance index="3" label="Circuit 3" />
<Instance index="4" label="Circuit 4" />
<Instance index="5" label="Circuit 5" />
<Compatibility>
<VerifyChanged index="0">true</VerifyChanged>
</Compatibility>
</CommandClass>

<CommandClass id="49">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be auto discovered. Its not needed.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sensor is auto-discovered but it ends up having the incorrect label and units so I'm listing it explicitly to ensure the correct information is presented to the user.

<Instance index="1" label="Water Temperature" />
<Value type="decimal" genre="user" instance="1" index="1" label="Water Temperature" units="F">
<Help>Water Temperature Sensor Value</Help>
</Value>
</CommandClass>

<CommandClass id="67">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be auto discovered. Its not needed.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately this is not the case. Auto discovery only detects instance index 1. Also, it ends up with the wrong label and units so I'm listing both thermostats explicitly to ensure the correct information is presented to the user. It took me some time to reverse engineer this.

<Instance index="1" label="Pool" />
<Instance index="7" label="Spa" />
<Value type="decimal" genre="user" instance="1" index="1" label="Pool" units="F">
<Help>Set the pool water temperature setpoint</Help>
</Value>
<Value type="decimal" genre="user" instance="1" index="7" label="Spa" units="F">
<Help>Set the spa water temperature setpoint</Help>
</Value>
</CommandClass>
</Product>
15 changes: 15 additions & 0 deletions config/intermatic/pe953.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<Product Revision="1" xmlns="https://github.com/OpenZWave/open-zwave">
<MetaData>
<MetaDataItem name="Name">PE953</MetaDataItem>
<MetaDataItem name="Description">MultiWave Five-Channel Wireless Remote Controller</MetaDataItem>
<MetaDataItem name="OzwInfoPage">http://www.openzwave.com/device-database/0005:0953:5045</MetaDataItem>
<MetaDataItem name="ProductPic">images/intermatic/pe953.png</MetaDataItem>
<MetaDataItem id="0953" name="ZWProductPage" type="5045">https://products.z-wavealliance.org/products/598/</MetaDataItem>
<MetaDataItem id="0953" name="FrequencyName" type="5045">U.S. / Canada / Mexico</MetaDataItem>
<MetaDataItem id="0953" name="Identifier" type="5045">PE953</MetaDataItem>
<ChangeLog>
<Entry author="Jeff Brown - jeff.brown@gmail.com" date="29 June 2020" revision="1">Initial creation</Entry>
</ChangeLog>
</MetaData>
</Product>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No Config Params or Association Groups?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately the config params are very complicated and undocumented. This device is intended to be configured using the associated PE953 remote control. Having watched the traffic between the two, there's a fair bit of manufacturer specific communication going on during that process.

The device doesn't support associations.

4 changes: 3 additions & 1 deletion config/manufacturer_specific.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>

<ManufacturerSpecificData Revision="108" xmlns="https://github.com/OpenZWave/open-zwave">
<ManufacturerSpecificData Revision="109" xmlns="https://github.com/OpenZWave/open-zwave">
<Manufacturer id="0028" name="2B Electronics"></Manufacturer>
<Manufacturer id="0098" name="2GIG Technologies">
<Product config="2gig/ct50e.xml" id="015e" name="CT50e Thermostat" type="3200"/>
Expand Down Expand Up @@ -1029,6 +1029,8 @@
<Product id="3500" name="CA3560 Split-Duplex Receptacle" type="4341"/>
<Product config="intermatic/ca8900.xml" id="8900" name="CA8900 Digital Thermostat" type="4341"/>
<Product id="9000" name="CA9000 PIR Occupancy Sensor" type="4341"/>
<Product config="intermatic/pe653.xml" id="0653" name="PE653 MultiWave 5-Channel Wireless Remote Receiver" type="5045"/>
<Product config="intermatic/pe953.xml" id="0953" name="PE953 MultiWave 5-Channel Wireless Remote Controller" type="5045"/>
</Manufacturer>
<Manufacturer id="0338" name="International Integrated Systems Inc"></Manufacturer>
<Manufacturer id="0013" name="Internet Dom"></Manufacturer>
Expand Down
12 changes: 10 additions & 2 deletions cpp/build/testconfigversions.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -1619,6 +1619,14 @@
'Revision' => 2,
'md5' => 'b2c96148fd6c97c1e7a0d07126d2a7a497b49b56105e00d311dcf885d204f44bbd0673a15b0041c894098cca56b8ccfdcb072946557bbd64877552beeb0e21c0'
},
'config/intermatic/pe653.xml' => {
'Revision' => 1,
'md5' => '2e6e0dbb7f37f39213db8627ec10423545a8c0a7e8ccb6b04dab4e75d2806b89c6ed9585e5965e6d685eaa63f0590f071ce231b7ba472459746cba3344873c66'
},
'config/intermatic/pe953.xml' => {
'Revision' => 1,
'md5' => '552d70abdcc9f757d0c51dc2a620356d01979b289a190088668ba6564a3ebb43b9442a748c66966e512bf46d4c4f6b850bbbc14b03c2b86e45000fbcb0003305'
},
'config/iris/rangeextender.xml' => {
'Revision' => 1,
'md5' => '771dd895b5d6868c5a2369b1d77f5a567afba312662421b8e9b6430774f7573962fa3a89b2395b48acc6fe9512fd2da3957698af39ffe9196870802b10fa1aeb'
Expand Down Expand Up @@ -1772,8 +1780,8 @@
'md5' => '4d34aeaaea917c229bedbb737e4de1550b2d7db5f9e61566a1c0a39966b6442d381d01f93714e12aae1404797d36854274cc4063dd7424b00d27da238b17a36a'
},
'config/manufacturer_specific.xml' => {
'Revision' => 107,
'md5' => '0d6ceb162d69da8b12e769e9b08bf1637c092fc90849be5c8a70931fae4c319f4b1f0090af641b99a8fd7208475c924294f03f861abaab3aaacb362d6377bf2d'
'Revision' => 109,
'md5' => '1192847d06bc14101630655facc58e482556b21aadf18591ce7dedf36f464b764917d9710bce18bca86a4b0f1a0cf50ab214b1f72956e1e1e5aefe6e3d483b37'
},
'config/mcohome/a8-9.xml' => {
'Revision' => 1,
Expand Down