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

Add support for Namron Touch Z-Wave 16 Thermostat #2626

Open
wants to merge 2 commits 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/namron/4512744.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions config/manufacturer_specific.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1317,6 +1317,7 @@
<Product config="namron/4512724.xml" id="d00c" type="0200" name="Z-Wave Dimmer 2 400W"/>
<Product config="namron/4512720.xml" id="a306" type="0300" name="Z-wave 2 Kanaler Bryter" />
<Product config="namron/4512714.xml" id="a305" type="0300" name="Z-wave 4 Channel Remote" />
<Product config="namron/4512744.xml" id="d013" type="0200" name="Touch Z-Wave 16A Thermostat" />
</Manufacturer>
<Manufacturer id="016E" name="Nanjing Easthouse Electrical Co"></Manufacturer>
<Manufacturer id="0121" name="Napco Security Technologies, Inc.">
Expand Down
204 changes: 204 additions & 0 deletions config/namron/4512744.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
<Product Revision="2" xmlns="https://github.com/OpenZWave/open-zwave">
<!-- Please refer to https://github.com/OpenZWave/open-zwave/wiki/Adding-Devices for instructions -->
<MetaData>
<MetaDataItem name="Name">Touch Z-Wave 16 Thermostat</MetaDataItem>
<MetaDataItem name="Description">Floor heating thermostat</MetaDataItem>
<MetaDataItem name="OzwInfoPage">http://www.openzwave.com/device-database/0438:d013:0200</MetaDataItem>
<MetaDataItem name="ProductPage">https://www.namron.com/products/namron-z-wave-touch-termostat-16a-hvit/</MetaDataItem>
<MetaDataItem name="ProductSupport">https://www.namron.com/contact/</MetaDataItem>
<MetaDataItem name="ProductPic">images/namron/4512744.png</MetaDataItem>
<MetaDataItem name="ProductManual">https://www.elektroimportoren.no/docs/lib/4512744-Brukerveiledning-5.pdf</MetaDataItem>
<MetaDataItem name="WakeupDescription">Touch any button</MetaDataItem>
<MetaDataItem name="InclusionDescription">Enter off mode and press up and down arrow for 5 seconds to enter settings menu. Select ZWAVE INFO and press F. Select Add and press F</MetaDataItem>
<MetaDataItem name="ExclusionDescription">Enter off mode and press up and down arrow for 5 seconds to enter settings menu. Select ZWAVE INFO and press F. Select Remove and press F</MetaDataItem>
<MetaDataItem name="ResetDescription">Enter off mode and press up and down arrow for 3 seconds to enter config menu. Select ZWAVE INFO and press F. Select Reset and press F</MetaDataItem>
<MetaDataItem id="d013" name="ZWProductPage" type="0200"><!-- url to https://products.z-wavealliance.org/products/XXXX/ page for this specific version of the device --></MetaDataItem>
<MetaDataItem id="d013" name="FrequencyName" type="0200">CEPT</MetaDataItem>
<MetaDataItem id="d013" name="Identifier" type="200">4512744</MetaDataItem>
<ChangeLog>
<Entry author="Jørn Moe" date="11 Jan 2022" revision="2">Added support Thermostat Mode and Thermostat Set points command classes</Entry>
<Entry author="Jørn Moe" date="09 Jan 2022" revision="1">Initial release</Entry>
</ChangeLog>
</MetaData>

<!-- Thermostat Mode Command Class -->
<CommandClass id="64">
<Instance index="1"/>
<Value genre="user" index="0" instance="1" label="Mode" max="0" min="0" read_only="false" size="1" type="list" units="" value="0" write_only="false">
<Item label="Manual Off" value="0"/>
<Item label="Comfort" value="1"/>
<Item label="Dry floor" value="8"/>
<Item label="Energy Saving" value="11"/>
<Item label="Vacation" value="13"/>
</Value>
<SupportedModes>
<Mode index="0" label="OFF"/>
<Mode index="1" label="HEAT"/>
<Mode index="8" label="DRY"/>
<Mode index="11" label="ENERGY HEAT"/>
<Mode index="13" label="AWAY"/>
</SupportedModes>
<Compatibility/>
</CommandClass>
<!-- Thermostat Set points -->
<CommandClass id="67">
<Instance index="1"/>
<Value genre="user" index="1" instance="1" label="Heating" max="0" min="0" read_only="false" type="decimal" units="C" value="25" write_only="false"/>
<Value genre="user" index="8" instance="1" label="Dry Air" max="0" min="0" read_only="false" type="decimal" units="C" value="30" write_only="false"/>
<Value genre="user" index="11" instance="1" label="Energy Save Heating" max="0" min="0" read_only="false" type="decimal" units="C" value="20" write_only="false"/>
<Value genre="user" index="13" instance="1" label="Away Heating" max="0" min="0" read_only="false" type="decimal" units="C" value="15" write_only="false"/>
<Compatibility>
<Base>0</Base>
<CreateVars>true</CreateVars>
</Compatibility>
</CommandClass>

<!-- Configuration Command Class - All Configuration Parameters should be entered into the section below -->
<CommandClass id="112">
<Value genre="config" index="2" label="Over current detection limit " size="1" type="byte" min="5" max="16" value="16">
<Help>5 - 16 (5A-16A)</Help>
</Value>
<Value genre="config" index="3" label="Buzer level " max="2" min="0" size="1" type="list" value="1">
<Help>Buzzer level.</Help>
<Item label="Off" value="0"/>
<Item label="Low" value="1"/>
<Item label="High" value="2"/>
</Value>
<Value genre="config" index="4" label="Power recovery behaviour " max="1" min="0" size="1" type="list" value="1">
<Help>What to do after power is restored.</Help>
<Item label="Use default settings" value="0"/>
<Item label="Recover to settings before power failure" value="1"/>
</Value>
<Value genre="config" index="6" label="High temperature detection " size="1" type="byte" min="0" max="60" value="60">
<Help>
20 - 60C
If room or floor sensor exeeds this value, relay will turn off heating and send notification message.
</Help>
</Value>
<Value genre="config" index="7" label="Temperature hysteresis " size="1" type="byte" min="5" max="20" value="5">
<Help>
5 - 20. Temperature control hysteresis value
Unit is 0.1C (0.5C - 2C).
</Help>
</Value>
<Value genre="config" index="8" label="Auto mode " max="2" min="0" size="1" type="list" value="1">
<Help>Select energy save mode temperature schedule.</Help>
<Item label="Use schedule set by user" value="0"/>
<Item label="Use Energy_Save_Heating temperature set by THERMOSTAT_SETPOINT_SET" value="1"/>
</Value>
<Value genre="config" index="9" label="Floor sensor type " max="5" min="1" size="1" type="list" value="1">
<Help>Select floor sensor type.</Help>
<Item label="NTC/10K B(25/50C)=3950 (default)" value="1"/>
<Item label="NTC/15K B(25/50C)=3950" value="2"/>
<Item label="NTC/50K B(25/50C)=3950" value="3"/>
<Item label="NTC/100K B(25/50C)=3950" value="4"/>
<Item label="NTC/12K B(25/50C)=3950" value="5"/>
</Value>
<Value genre="config" index="10" label="Temperature control reference " max="3" min="1" size="1" type="list" value="1">
<Help>Select Temperature control reference.</Help>
<Item label="room sensor" value="1"/>
<Item label="floor sensor" value="2"/>
<Item label="room+floor sensor" value="3"/>
</Value>

<Value genre="config" index="11" label="Room sensor temperature compensation " size="1" type="byte" min="-10" max="10" value="0">
<Help>
-10 to +10 - Temperature compensation. Unit is 0.5C (-5C to +5C)
Note that this value is stored using byte type so 255 == -1, 254 == -2 and so forth
When setting the value you may use negative values, but fetching actual from the node will show 255 for -1.
</Help>
</Value>
<Value genre="config" index="12" label="Floor sensor temperature compensation " size="1" type="byte" min="-10" max="10" value="0">
<Help>
-10 to +10 - Temperature compensation. Unit is 0.5C (-5C to +5C)
Note that this value is stored using byte type so 255 == -1, 254 == -2 and so forth
When setting the value you may use negative values, but fetching actual from the node will show 255 for -1.
</Help>
</Value>

<Value genre="config" index="13" label="Drying mode duration " size="1" type="byte" min="5" max="100" value="5">
<Help>
Drying mode: temporary set high tempereture to dry the floor
Typically used in bathrooms if floor has gotten wet after showering
Set a value in minutes between 5 to 100.
</Help>
</Value>
<Value genre="config" index="14" label="Mode after drying mode ends " max="3" min="0" size="1" type="list" value="2">
<Help>Select mode to enter after drying mode ends.</Help>
<Item label="Off" value="0"/>
<Item label="Manual mode (comfort mode)" value="1"/>
<Item label="Auto mode (energy save mode)" value="2"/>
<Item label="Away mode" value="3"/>
</Value>
<Value genre="config" index="16" label="When to report temperature relative change " size="1" type="byte" min="0" max="10" value="2">
<Help>
0=disable, 2-10
Unit is 0.1C (0.2C - 1C).
</Help>
</Value>
<Value genre="config" index="17" label="Time interval unit for periodic report of temperature and humidity " size="2" type="short" min="0" max="28800" value="300">
<Help>0=disable, 30-28800 seconds.</Help>
</Value>
<Value genre="config" index="18" label="When to report power change absolute threshold " size="1" type="byte" min="0" max="100" value="5">
<Help>
0=disable, 1-100
Unit is 1W (1-100W).
</Help>
</Value>
<Value genre="config" index="19" label="When to report current change absolute threshold " size="1" type="byte" min="0" max="10" value="10">
<Help>
0=disable, 1-10
Unit is 0.1A (0.1 - 1.0A).
</Help>
</Value>
<Value genre="config" index="20" label="When to report voltage change absolute threshold " size="1" type="byte" min="0" max="10" value="2">
<Help>
0=disable, 1-10
Unit is 1V (1 - 10V).
</Help>
</Value>
<Value genre="config" index="21" label="Time interval for periodicactive report of Meter " size="4" type="int" min="60" max="2678400" value="600">
<Help>
60-2678400
Unit is S (60S - 31Days).
</Help>
</Value>
<Value genre="config" index="22" label="OLED display brightnes " max="2" min="0" size="1" type="list" value="2">
<Help>OLED panel brightnes when operated.</Help>
<Item label="Low" value="0"/>
<Item label="Mid" value="1"/>
<Item label="High" value="2"/>
</Value>
<Value genre="config" index="23" label="OLED Display Temperature " max="3" min="1" size="1" type="list" value="0">
<Help>Select which sensor temperature to show on OLED display.</Help>
<Item label="room sensor" value="0"/>
<Item label="floor sensor" value="1"/>
</Value>
<Value genre="config" index="24" label="Time zone " size="1" type="byte" min="-12" max="12" value="0">
<Help>-12H to +12H relative to UTC.</Help>
</Value>
<Value genre="config" index="25" label="OLED Display Auto off function " max="1" min="0" size="1" type="list" value="0">
<Help>Enable or disable display auto off when interface is standby interface.</Help>
<Item label="disable" value="0"/>
<Item label="enable" value="1"/>
</Value>
</CommandClass>

<CommandClass id="113">
<Compatibility>
<GetSupported>false</GetSupported>
</Compatibility>
</CommandClass>
<!-- The Association Group Information -->
<CommandClass id="133">
<Associations num_groups="2">
<Group index="1" label="LifeLine" max_associations="5"/>
<Group index="2" label="Heat set" max_associations="5"/>
</Associations>
</CommandClass>
<CommandClass id="96">
<Compatibility>
<MapRootToEndpoint>true</MapRootToEndpoint>
</Compatibility>
</CommandClass>
</Product>
8 changes: 6 additions & 2 deletions cpp/build/testconfigversions.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -1964,8 +1964,8 @@
'md5' => '4d34aeaaea917c229bedbb737e4de1550b2d7db5f9e61566a1c0a39966b6442d381d01f93714e12aae1404797d36854274cc4063dd7424b00d27da238b17a36a'
},
'config/manufacturer_specific.xml' => {
'Revision' => 171,
'md5' => 'ad06ce14f7a9a06a7ca99ce01632f0b95b580069c58a0ed0ec343594306603749799f00d27fa432a08582f9be08be339388bd3b854485e51e8cde086dd6c6e3d'
'Revision' => 172,
'md5' => '7402d7f06b64883fc9f90d175123bd752da478d94566bb5e54ce7dc9808c88601bf0120882963d856fcfbb233b65eba98fbe8cb4cd505b557457bbfb4a2eee29'
},
'config/mcohome/a8-9.xml' => {
'Revision' => 1,
Expand Down Expand Up @@ -2091,6 +2091,10 @@
'Revision' => 1,
'md5' => '10edb9b98013bac7754fd68151bef8b684dff2ad17d14b71cd6831f386a1e98aef64ff83138cdd28bf6bd1ab6526ca40b87e310beed25e9ed4a857b21e689b3f'
},
'config/namron/4512744.xml' => {
'Revision' => 1,
'md5' => '8b9f95356a2484a4b0108950255e4a6f95f91f9a46a5ccc0b5ee109bea6f98ba43e8aed0a7076cc6ee0110f3fbadf47accf1e5b0f9049eea7879f6cfd2c00166'
},
'config/nei/ms11z.xml' => {
'Revision' => 1,
'md5' => '798d15de5a67cd238320459d17b73b168fdc269de623ccaf21d84c84d353fdb15efb693c10bf43075e555b7011344200e8111352250bc7bf688f4298d981e8b2'
Expand Down
2 changes: 2 additions & 0 deletions distfiles.mk
Original file line number Diff line number Diff line change
Expand Up @@ -837,6 +837,7 @@ DISTFILES = .gitignore \
config/images/namron/4512715.png \
config/images/namron/4512720.jpg \
config/images/namron/4512724.png \
config/images/namron/4512744.png \
config/images/nexia/db100z.png \
config/images/nexia/th100nx.png \
config/images/nodon/asp3100SmartPlug.png \
Expand Down Expand Up @@ -1190,6 +1191,7 @@ DISTFILES = .gitignore \
config/namron/4512715.xml \
config/namron/4512720.xml \
config/namron/4512724.xml \
config/namron/4512744.xml \
config/nei/ms11z.xml \
config/nexia/db100z.xml \
config/nexia/th100nx.xml \
Expand Down