OpenZWave / open-zwave

a C++ library to control Z-Wave Networks via a USB Z-Wave Controller.
http://www.openzwave.net/
GNU Lesser General Public License v3.0
1.05k stars 915 forks source link

CT100 Plus New thermostat #1388

Closed Ittiz closed 6 years ago

Ittiz commented 6 years ago

Ok so I must admit this isn't an issue exactly but more of a call for help. I'm trying to add the configurable parameters to my new CT100 Z-wave+ thermostat. Right now they are blank. Anyway I found the specs for the parameters here: https://products.z-wavealliance.org/products/1798/configs I've provided the config I've built below.

The issue is that I don't know exactly the best way to represent the parameters in open z wave? Some of the parameters work but I'm hesitant to update the other's because I don't know what badness will ensue.

<?xml version="1.0" encoding="utf-8"?>

<Product xmlns='http://code.google.com/p/open-zwave/'>
  <!-- This thermostat's setpoint descriptions are 0 based, not 1 -->
  <CommandClass id="67" base="0"/>
  <CommandClass id="112">
    <Value type="list" index="1" genre="config" label="Temperature Reporting Threshold" units="F" min="0" max="4" value="0" size="1">
      <Help>
        The Temperature Reporting Threshold Configuration Set Command sets the reporting threshold for changes in the ambient temperature as detected by the thermostat.
      </Help>
      <Item label="Disabled" value="0"/>
      <Item label="0.5F" value="1"/>
      <Item label="1.0F" value="2"/>
      <Item label="1.5F" value="3"/>
      <Item label="2.0F" value="4"/>
    </Value>
    <Value type="long" index="2" genre="config" label="HVAC Settings" read_only="true" units="" min="0" max="2147483647" value="0" size="4">
      <Help>
        Read-only parameter
        Bits 0 - 7 -> HVAC Setup: Normal (0x01) or Heat Pump (0x02)
        Bits 8 - 11 -> Number of Auxiliary Stages (Heat Pump) / Number of Heat Stages (Normal)
        Bits 12 - 15 -> Aux Setup: Gas (0x01) or Electric (0x02)
        Bits 16 - 23 -> Number of Heat Pump Stages
        Bits 24 - 31 -> Number of Cool Stages
      </Help>
    </Value>
    <Value type="list" index="3" genre="config" label="Utility Lock" units="" min="0" max="1" value="0" size="1">
      <Help>
        The Utility Lock Configuration Set command enables or disables the utility lock. If the utility lock is enabled, the setpoint cannot be modified directly via the thermostat screen.
      </Help>
      <Item label="Disable" value="0"/>
      <Item label="Enable" value="1"/>
    </Value>
    <Value type="short" index="4" genre="config" label="C-Wire/Battery Status" read_only="true" units="" min="1" max="2" value="1" size="2">
      <Help>
        Read-only parameter
        1 -> C-Wire
        2 -> Battery
      </Help>
    </Value>
    <Value type="list" index="5" genre="config" label="Humidity Reporting Threshold" units="% RH" min="0" max="3" value="0" size="1">
      <Help>
        The Humidity Reporting Threshold Configuration Set Command sets the reporting threshold for changes in the relative humidity as detected by the thermostat.
      </Help>
      <Item label="Disabled" value="0"/>
      <Item label="3% RH" value="1"/>
      <Item label="5% RH" value="2"/>
      <Item label="10% RH" value="3"/>
    </Value>
    <Value type="list" index="6" genre="config" label="Auxiliary/Emergency heat" units="" min="0" max="1" value="0" size="1">
      <Help>
        The Auxiliary/Emergency configuration command enables or disables auxiliary / emergency heating in the thermostat. Auxiliary / emergency heating is only available if the thermostat is configured in heat pump mode and with at least one stage of auxiliary heating. This command enables auxiliary / emergency heating when the thermostat is in Auto mode. The Thermostat Set Mode command with mode Auxiliary/Emergency Heat will enable emergency heating but only if the thermostat is in
        Heat mode. This command should only be used on thermsotats that support Auxiliary/Emergency Heat thermostat mode.
      </Help>
      <Item label="Disabled" value="0"/>
      <Item label="Enabled" value="1"/>
    </Value>
    <Value type="list" index="7" genre="config" label="Thermostat Swing Temperature" units="F" min="1" max="8" value="1" size="1">
      <Help>
        Thermostat Swing Temperature configuration command sets the maximum allowed difference between ambient temperature and the set temperature.
      </Help>
      <Item label="0.5F" value="1"/>
      <Item label="1.0F" value="2"/>
      <Item label="1.5F" value="3"/>
      <Item label="2.0F" value="4"/>
      <Item label="2.5F" value="5"/>
      <Item label="3.0F" value="6"/>
      <Item label="3.5F" value="7"/>
      <Item label="4.0F" value="8"/>
    </Value>
    <Value type="short" index="8" genre="config" label="Thermostat Differential Temperature" units="F" min="2" max="32767" value="2" size="2">
      <Help>
        The Thermostat Differential Temperature configuration command sets the differential temperature for multi-stage HVAC systems. The differential temperature delta defines when the thermostat will turn on additional stages. There are two differential temperatures, one for multistage cool systems and one for multistage heat systems. If the thermostat is not configured for multistage HVAC systems then these parameters have no effect.
      </Help>
      <!--Item label="2.0F" value="4"/>
      <Item label="4.0F" value="8"/>
      <Item label="6.0F" value="12"/-->
    </Value>
    <Value type="list" index="9" genre="config" label="Thermostat Recovery Mode" units="" min="1" max="2" value="1" size="1">
      <Help>
        The Thermostat Recovery Mode configuration command sets the HVAC recovery mode type. The recovery mode determines when additional HVAC stages are turned off as the ambient temperature returns to the target temperature. If the recovery mode is set to economy, the thermostat will turn off additional HVAC stages when the ambient temperature reaches the target temperature plus/minus the differential temperature. If the recovery mode is set to fast, the thermostat will leave all
        stages on (assuming they were already on) until the ambient temperature reaches the target temperature.
      </Help>
      <Item label="Fast" value="1"/>
      <Item label="Economy" value="2"/>
    </Value>
    <Value type="short" index="10" genre="config" label="Temperature Reporting Filter" units="F" min="0" max="32767" value="124" size="2">
      <Help>
        The Temperature Reporting Filter configuration command sets upper and lower bounds of the ambient temperature reporting. The thermostat will not report ambient temperature changes if the ambient temperature falls between these bounds. For example, if the upper bound is 80F and the lower bound is 60F, the thermostat will not send SENSOR_MULTI_LEVEL_REPORTS for ambient temperature values between 60F and 80F. The thermostat will only send ambient temperature changes if the
        thermostat has been added to an association group (see Command Class Association) and the temperature reporting threshold is non-zero (see Temperature Reporting Threshold).
      </Help>
    </Value>
    <Value type="list" index="12" genre="config" label="Multicast" units="" min="0" max="1" value="0" size="1">
      <Help>
       Multicasting
      </Help>
      <Item label="Disabled" value="0"/>
      <Item label="Enabled" value="1"/>
    </Value>
    <Value type="byte" index="14" genre="config" label="Save Energy Mode Type" read_only="true" units="" min="0" max="255" value="0" size="1">
      <Help>
        Read-only parameter
        1 -> Adjust by target delta
        2 -> Least consuming point in the running program
        3 -> Save energy absolute setpoint
        255 -> Save Energy not supported
      </Help>
    </Value>
  </CommandClass>
  <CommandClass id="133">
    <Associations num_groups="1">
      <Group index="1" max_associations="2" label="Reporting"/>
    </Associations>
  </CommandClass>
</Product>

<?xml version="1.0" encoding="utf-8"?>

<Product xmlns='http://code.google.com/p/open-zwave/'>
  <!-- This thermostat's setpoint descriptions are 0 based, not 1 -->
  <CommandClass id="67" base="0" />

</Product>
Fishwaldo commented 6 years ago

I really don't know what your asking. I suggest you take this to the mailing list please