Fallback to current temperature unit for zwave_js climate (#48347)
* Fallback to current temperature unit for zwave_js climate * don't use unit for N/A setpoint * update comment * add tests
This commit is contained in:
parent
2ff94c8ed9
commit
08db248983
5 changed files with 1873 additions and 2 deletions
|
@ -138,8 +138,13 @@ class ZWaveClimate(ZWaveBaseEntity, ClimateEntity):
|
||||||
value_property_key=enum.value.key,
|
value_property_key=enum.value.key,
|
||||||
add_to_watched_value_ids=True,
|
add_to_watched_value_ids=True,
|
||||||
)
|
)
|
||||||
# Use the first found setpoint value to always determine the temperature unit
|
# Use the first found non N/A setpoint value to always determine the
|
||||||
if self._setpoint_values[enum] and not self._unit_value:
|
# temperature unit
|
||||||
|
if (
|
||||||
|
not self._unit_value
|
||||||
|
and enum != ThermostatSetpointType.NA
|
||||||
|
and self._setpoint_values[enum]
|
||||||
|
):
|
||||||
self._unit_value = self._setpoint_values[enum]
|
self._unit_value = self._setpoint_values[enum]
|
||||||
self._operating_state = self.get_zwave_value(
|
self._operating_state = self.get_zwave_value(
|
||||||
THERMOSTAT_OPERATING_STATE_PROPERTY,
|
THERMOSTAT_OPERATING_STATE_PROPERTY,
|
||||||
|
@ -152,6 +157,8 @@ class ZWaveClimate(ZWaveBaseEntity, ClimateEntity):
|
||||||
add_to_watched_value_ids=True,
|
add_to_watched_value_ids=True,
|
||||||
check_all_endpoints=True,
|
check_all_endpoints=True,
|
||||||
)
|
)
|
||||||
|
if not self._unit_value:
|
||||||
|
self._unit_value = self._current_temp
|
||||||
self._current_humidity = self.get_zwave_value(
|
self._current_humidity = self.get_zwave_value(
|
||||||
"Humidity",
|
"Humidity",
|
||||||
command_class=CommandClass.SENSOR_MULTILEVEL,
|
command_class=CommandClass.SENSOR_MULTILEVEL,
|
||||||
|
|
|
@ -312,6 +312,31 @@ def lock_id_lock_as_id150_state_fixture():
|
||||||
return json.loads(load_fixture("zwave_js/lock_id_lock_as_id150_state.json"))
|
return json.loads(load_fixture("zwave_js/lock_id_lock_as_id150_state.json"))
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(
|
||||||
|
name="climate_radio_thermostat_ct101_multiple_temp_units_state", scope="session"
|
||||||
|
)
|
||||||
|
def climate_radio_thermostat_ct101_multiple_temp_units_state_fixture():
|
||||||
|
"""Load the climate multiple temp units node state fixture data."""
|
||||||
|
return json.loads(
|
||||||
|
load_fixture(
|
||||||
|
"zwave_js/climate_radio_thermostat_ct101_multiple_temp_units_state.json"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(
|
||||||
|
name="climate_radio_thermostat_ct100_mode_and_setpoint_on_different_endpoints_state",
|
||||||
|
scope="session",
|
||||||
|
)
|
||||||
|
def climate_radio_thermostat_ct100_mode_and_setpoint_on_different_endpoints_state_fixture():
|
||||||
|
"""Load the climate device with mode and setpoint on different endpoints node state fixture data."""
|
||||||
|
return json.loads(
|
||||||
|
load_fixture(
|
||||||
|
"zwave_js/climate_radio_thermostat_ct100_mode_and_setpoint_on_different_endpoints_state.json"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(name="client")
|
@pytest.fixture(name="client")
|
||||||
def mock_client_fixture(controller_state, version_state):
|
def mock_client_fixture(controller_state, version_state):
|
||||||
"""Mock a client."""
|
"""Mock a client."""
|
||||||
|
@ -582,3 +607,33 @@ def lock_id_lock_as_id150(client, lock_id_lock_as_id150_state):
|
||||||
node = Node(client, copy.deepcopy(lock_id_lock_as_id150_state))
|
node = Node(client, copy.deepcopy(lock_id_lock_as_id150_state))
|
||||||
client.driver.controller.nodes[node.node_id] = node
|
client.driver.controller.nodes[node.node_id] = node
|
||||||
return node
|
return node
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(name="climate_radio_thermostat_ct101_multiple_temp_units")
|
||||||
|
def climate_radio_thermostat_ct101_multiple_temp_units_fixture(
|
||||||
|
client, climate_radio_thermostat_ct101_multiple_temp_units_state
|
||||||
|
):
|
||||||
|
"""Mock a climate device with multiple temp units node."""
|
||||||
|
node = Node(
|
||||||
|
client, copy.deepcopy(climate_radio_thermostat_ct101_multiple_temp_units_state)
|
||||||
|
)
|
||||||
|
client.driver.controller.nodes[node.node_id] = node
|
||||||
|
return node
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(
|
||||||
|
name="climate_radio_thermostat_ct100_mode_and_setpoint_on_different_endpoints"
|
||||||
|
)
|
||||||
|
def climate_radio_thermostat_ct100_mode_and_setpoint_on_different_endpoints_fixture(
|
||||||
|
client,
|
||||||
|
climate_radio_thermostat_ct100_mode_and_setpoint_on_different_endpoints_state,
|
||||||
|
):
|
||||||
|
"""Mock a climate device with mode and setpoint on differenet endpoints node."""
|
||||||
|
node = Node(
|
||||||
|
client,
|
||||||
|
copy.deepcopy(
|
||||||
|
climate_radio_thermostat_ct100_mode_and_setpoint_on_different_endpoints_state
|
||||||
|
),
|
||||||
|
)
|
||||||
|
client.driver.controller.nodes[node.node_id] = node
|
||||||
|
return node
|
||||||
|
|
|
@ -578,3 +578,20 @@ async def test_preset_and_no_setpoint(
|
||||||
assert args["value"] == 1
|
assert args["value"] == 1
|
||||||
|
|
||||||
client.async_send_command.reset_mock()
|
client.async_send_command.reset_mock()
|
||||||
|
|
||||||
|
|
||||||
|
async def test_temp_unit_fix(
|
||||||
|
hass,
|
||||||
|
client,
|
||||||
|
climate_radio_thermostat_ct101_multiple_temp_units,
|
||||||
|
climate_radio_thermostat_ct100_mode_and_setpoint_on_different_endpoints,
|
||||||
|
integration,
|
||||||
|
):
|
||||||
|
"""Test temperaturee unit fix."""
|
||||||
|
state = hass.states.get("climate.thermostat")
|
||||||
|
assert state
|
||||||
|
assert state.attributes["current_temperature"] == 18.3
|
||||||
|
|
||||||
|
state = hass.states.get("climate.z_wave_thermostat")
|
||||||
|
assert state
|
||||||
|
assert state.attributes["current_temperature"] == 21.1
|
||||||
|
|
|
@ -0,0 +1,830 @@
|
||||||
|
{
|
||||||
|
"nodeId": 8,
|
||||||
|
"index": 0,
|
||||||
|
"status": 4,
|
||||||
|
"ready": true,
|
||||||
|
"isListening": true,
|
||||||
|
"isRouting": true,
|
||||||
|
"isSecure": false,
|
||||||
|
"manufacturerId": 152,
|
||||||
|
"productId": 263,
|
||||||
|
"productType": 25601,
|
||||||
|
"firmwareVersion": "9.1",
|
||||||
|
"deviceConfig": {
|
||||||
|
"filename": "/usr/src/node_modules/@zwave-js/config/config/devices/0x0098/ct100.json",
|
||||||
|
"manufacturer": "Radio Thermostat Company of America (RTC)",
|
||||||
|
"manufacturerId": 152,
|
||||||
|
"label": "CT100",
|
||||||
|
"description": "Z-Wave Thermostat",
|
||||||
|
"devices": [
|
||||||
|
{
|
||||||
|
"productType": 25601,
|
||||||
|
"productId": 21
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"productType": 25601,
|
||||||
|
"productId": 259
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"productType": 25601,
|
||||||
|
"productId": 261
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"productType": 25601,
|
||||||
|
"productId": 262
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"productType": 25601,
|
||||||
|
"productId": 263
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"productType": 25601,
|
||||||
|
"productId": 509
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"productType": 25602,
|
||||||
|
"productId": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"firmwareVersion": {
|
||||||
|
"min": "0.0",
|
||||||
|
"max": "255.255"
|
||||||
|
},
|
||||||
|
"associations": {}
|
||||||
|
},
|
||||||
|
"label": "CT100",
|
||||||
|
"neighbors": [2, 3, 4, 5, 6, 7, 9],
|
||||||
|
"endpointCountIsDynamic": false,
|
||||||
|
"endpointsHaveIdenticalCapabilities": true,
|
||||||
|
"individualEndpointCount": 2,
|
||||||
|
"interviewAttempts": 0,
|
||||||
|
"interviewStage": 6,
|
||||||
|
"endpoints": [
|
||||||
|
{
|
||||||
|
"nodeId": 8,
|
||||||
|
"index": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nodeId": 8,
|
||||||
|
"index": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nodeId": 8,
|
||||||
|
"index": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"values": [
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 66,
|
||||||
|
"commandClassName": "Thermostat Operating State",
|
||||||
|
"property": "state",
|
||||||
|
"propertyName": "state",
|
||||||
|
"ccVersion": 2,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Operating state",
|
||||||
|
"min": 0,
|
||||||
|
"max": 255,
|
||||||
|
"states": {
|
||||||
|
"0": "Idle",
|
||||||
|
"1": "Heating",
|
||||||
|
"2": "Cooling",
|
||||||
|
"3": "Fan Only",
|
||||||
|
"4": "Pending Heat",
|
||||||
|
"5": "Pending Cool",
|
||||||
|
"6": "Vent/Economizer",
|
||||||
|
"7": "Aux Heating",
|
||||||
|
"8": "2nd Stage Heating",
|
||||||
|
"9": "2nd Stage Cooling",
|
||||||
|
"10": "2nd Stage Aux Heat",
|
||||||
|
"11": "3rd Stage Aux Heat"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 67,
|
||||||
|
"commandClassName": "Thermostat Setpoint",
|
||||||
|
"property": "setpoint",
|
||||||
|
"propertyKey": 1,
|
||||||
|
"propertyName": "setpoint",
|
||||||
|
"propertyKeyName": "Heating",
|
||||||
|
"ccVersion": 2,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true,
|
||||||
|
"ccSpecific": {
|
||||||
|
"setpointType": 1
|
||||||
|
},
|
||||||
|
"unit": "\u00b0F"
|
||||||
|
},
|
||||||
|
"value": 69
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 67,
|
||||||
|
"commandClassName": "Thermostat Setpoint",
|
||||||
|
"property": "setpoint",
|
||||||
|
"propertyKey": 2,
|
||||||
|
"propertyName": "setpoint",
|
||||||
|
"propertyKeyName": "Cooling",
|
||||||
|
"ccVersion": 2,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true,
|
||||||
|
"ccSpecific": {
|
||||||
|
"setpointType": 2
|
||||||
|
},
|
||||||
|
"unit": "\u00b0F"
|
||||||
|
},
|
||||||
|
"value": 72
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 68,
|
||||||
|
"commandClassName": "Thermostat Fan Mode",
|
||||||
|
"property": "mode",
|
||||||
|
"propertyName": "mode",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true,
|
||||||
|
"label": "Thermostat fan mode",
|
||||||
|
"min": 0,
|
||||||
|
"max": 255,
|
||||||
|
"states": {
|
||||||
|
"0": "Auto low",
|
||||||
|
"1": "Low"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 69,
|
||||||
|
"commandClassName": "Thermostat Fan State",
|
||||||
|
"property": "state",
|
||||||
|
"propertyName": "state",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Thermostat fan state",
|
||||||
|
"min": 0,
|
||||||
|
"max": 255,
|
||||||
|
"states": {
|
||||||
|
"0": "Idle / off",
|
||||||
|
"1": "Running / running low",
|
||||||
|
"2": "Running high",
|
||||||
|
"3": "Running medium",
|
||||||
|
"4": "Circulation mode",
|
||||||
|
"5": "Humidity circulation mode",
|
||||||
|
"6": "Right - left circulation mode",
|
||||||
|
"7": "Up - down circulation mode",
|
||||||
|
"8": "Quiet circulation mode"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 114,
|
||||||
|
"commandClassName": "Manufacturer Specific",
|
||||||
|
"property": "manufacturerId",
|
||||||
|
"propertyName": "manufacturerId",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Manufacturer ID",
|
||||||
|
"min": 0,
|
||||||
|
"max": 65535
|
||||||
|
},
|
||||||
|
"value": 152
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 114,
|
||||||
|
"commandClassName": "Manufacturer Specific",
|
||||||
|
"property": "productType",
|
||||||
|
"propertyName": "productType",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Product type",
|
||||||
|
"min": 0,
|
||||||
|
"max": 65535
|
||||||
|
},
|
||||||
|
"value": 25601
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 114,
|
||||||
|
"commandClassName": "Manufacturer Specific",
|
||||||
|
"property": "productId",
|
||||||
|
"propertyName": "productId",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Product ID",
|
||||||
|
"min": 0,
|
||||||
|
"max": 65535
|
||||||
|
},
|
||||||
|
"value": 263
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 128,
|
||||||
|
"commandClassName": "Battery",
|
||||||
|
"property": "level",
|
||||||
|
"propertyName": "level",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Battery level",
|
||||||
|
"min": 0,
|
||||||
|
"max": 100,
|
||||||
|
"unit": "%"
|
||||||
|
},
|
||||||
|
"value": 100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 128,
|
||||||
|
"commandClassName": "Battery",
|
||||||
|
"property": "isLow",
|
||||||
|
"propertyName": "isLow",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "boolean",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Low battery level"
|
||||||
|
},
|
||||||
|
"value": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 134,
|
||||||
|
"commandClassName": "Version",
|
||||||
|
"property": "libraryType",
|
||||||
|
"propertyName": "libraryType",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Library type"
|
||||||
|
},
|
||||||
|
"value": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 134,
|
||||||
|
"commandClassName": "Version",
|
||||||
|
"property": "protocolVersion",
|
||||||
|
"propertyName": "protocolVersion",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Z-Wave protocol version"
|
||||||
|
},
|
||||||
|
"value": "3.28"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 134,
|
||||||
|
"commandClassName": "Version",
|
||||||
|
"property": "firmwareVersions",
|
||||||
|
"propertyName": "firmwareVersions",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Z-Wave chip firmware versions"
|
||||||
|
},
|
||||||
|
"value": ["9.1"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 135,
|
||||||
|
"commandClassName": "Indicator",
|
||||||
|
"property": "value",
|
||||||
|
"propertyName": "value",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true,
|
||||||
|
"label": "Indicator value",
|
||||||
|
"ccSpecific": {
|
||||||
|
"indicatorId": 0
|
||||||
|
},
|
||||||
|
"min": 0,
|
||||||
|
"max": 255
|
||||||
|
},
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 32,
|
||||||
|
"commandClassName": "Basic",
|
||||||
|
"property": "currentValue",
|
||||||
|
"propertyName": "currentValue",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Current value",
|
||||||
|
"min": 0,
|
||||||
|
"max": 99
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 32,
|
||||||
|
"commandClassName": "Basic",
|
||||||
|
"property": "targetValue",
|
||||||
|
"propertyName": "targetValue",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true,
|
||||||
|
"label": "Target value",
|
||||||
|
"min": 0,
|
||||||
|
"max": 99
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 114,
|
||||||
|
"commandClassName": "Manufacturer Specific",
|
||||||
|
"property": "manufacturerId",
|
||||||
|
"propertyName": "manufacturerId",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Manufacturer ID",
|
||||||
|
"min": 0,
|
||||||
|
"max": 65535
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 114,
|
||||||
|
"commandClassName": "Manufacturer Specific",
|
||||||
|
"property": "productType",
|
||||||
|
"propertyName": "productType",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Product type",
|
||||||
|
"min": 0,
|
||||||
|
"max": 65535
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 114,
|
||||||
|
"commandClassName": "Manufacturer Specific",
|
||||||
|
"property": "productId",
|
||||||
|
"propertyName": "productId",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Product ID",
|
||||||
|
"min": 0,
|
||||||
|
"max": 65535
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 64,
|
||||||
|
"commandClassName": "Thermostat Mode",
|
||||||
|
"property": "mode",
|
||||||
|
"propertyName": "mode",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true,
|
||||||
|
"label": "Thermostat mode",
|
||||||
|
"min": 0,
|
||||||
|
"max": 255,
|
||||||
|
"states": {
|
||||||
|
"0": "Off",
|
||||||
|
"1": "Heat",
|
||||||
|
"2": "Cool",
|
||||||
|
"3": "Auto",
|
||||||
|
"4": "Auxiliary",
|
||||||
|
"5": "Resume (on)",
|
||||||
|
"6": "Fan",
|
||||||
|
"7": "Furnace",
|
||||||
|
"8": "Dry",
|
||||||
|
"9": "Moist",
|
||||||
|
"10": "Auto changeover",
|
||||||
|
"11": "Energy heat",
|
||||||
|
"12": "Energy cool",
|
||||||
|
"13": "Away",
|
||||||
|
"15": "Full power",
|
||||||
|
"31": "Manufacturer specific"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 64,
|
||||||
|
"commandClassName": "Thermostat Mode",
|
||||||
|
"property": "manufacturerData",
|
||||||
|
"propertyName": "manufacturerData",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 134,
|
||||||
|
"commandClassName": "Version",
|
||||||
|
"property": "libraryType",
|
||||||
|
"propertyName": "libraryType",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Library type"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 134,
|
||||||
|
"commandClassName": "Version",
|
||||||
|
"property": "protocolVersion",
|
||||||
|
"propertyName": "protocolVersion",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Z-Wave protocol version"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 134,
|
||||||
|
"commandClassName": "Version",
|
||||||
|
"property": "firmwareVersions",
|
||||||
|
"propertyName": "firmwareVersions",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Z-Wave chip firmware versions"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 49,
|
||||||
|
"commandClassName": "Multilevel Sensor",
|
||||||
|
"property": "Air temperature",
|
||||||
|
"propertyName": "Air temperature",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Air temperature",
|
||||||
|
"ccSpecific": {
|
||||||
|
"sensorType": 1,
|
||||||
|
"scale": 1
|
||||||
|
},
|
||||||
|
"unit": "\u00b0F"
|
||||||
|
},
|
||||||
|
"value": 70
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 32,
|
||||||
|
"commandClassName": "Basic",
|
||||||
|
"property": "currentValue",
|
||||||
|
"propertyName": "currentValue",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Current value",
|
||||||
|
"min": 0,
|
||||||
|
"max": 99
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 32,
|
||||||
|
"commandClassName": "Basic",
|
||||||
|
"property": "targetValue",
|
||||||
|
"propertyName": "targetValue",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true,
|
||||||
|
"label": "Target value",
|
||||||
|
"min": 0,
|
||||||
|
"max": 99
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 114,
|
||||||
|
"commandClassName": "Manufacturer Specific",
|
||||||
|
"property": "manufacturerId",
|
||||||
|
"propertyName": "manufacturerId",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Manufacturer ID",
|
||||||
|
"min": 0,
|
||||||
|
"max": 65535
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 114,
|
||||||
|
"commandClassName": "Manufacturer Specific",
|
||||||
|
"property": "productType",
|
||||||
|
"propertyName": "productType",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Product type",
|
||||||
|
"min": 0,
|
||||||
|
"max": 65535
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 114,
|
||||||
|
"commandClassName": "Manufacturer Specific",
|
||||||
|
"property": "productId",
|
||||||
|
"propertyName": "productId",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Product ID",
|
||||||
|
"min": 0,
|
||||||
|
"max": 65535
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 64,
|
||||||
|
"commandClassName": "Thermostat Mode",
|
||||||
|
"property": "mode",
|
||||||
|
"propertyName": "mode",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true,
|
||||||
|
"label": "Thermostat mode",
|
||||||
|
"min": 0,
|
||||||
|
"max": 255,
|
||||||
|
"states": {
|
||||||
|
"0": "Off",
|
||||||
|
"1": "Heat",
|
||||||
|
"2": "Cool",
|
||||||
|
"3": "Auto",
|
||||||
|
"4": "Auxiliary",
|
||||||
|
"5": "Resume (on)",
|
||||||
|
"6": "Fan",
|
||||||
|
"7": "Furnace",
|
||||||
|
"8": "Dry",
|
||||||
|
"9": "Moist",
|
||||||
|
"10": "Auto changeover",
|
||||||
|
"11": "Energy heat",
|
||||||
|
"12": "Energy cool",
|
||||||
|
"13": "Away",
|
||||||
|
"15": "Full power",
|
||||||
|
"31": "Manufacturer specific"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 64,
|
||||||
|
"commandClassName": "Thermostat Mode",
|
||||||
|
"property": "manufacturerData",
|
||||||
|
"propertyName": "manufacturerData",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 134,
|
||||||
|
"commandClassName": "Version",
|
||||||
|
"property": "libraryType",
|
||||||
|
"propertyName": "libraryType",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Library type"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 134,
|
||||||
|
"commandClassName": "Version",
|
||||||
|
"property": "protocolVersion",
|
||||||
|
"propertyName": "protocolVersion",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Z-Wave protocol version"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 134,
|
||||||
|
"commandClassName": "Version",
|
||||||
|
"property": "firmwareVersions",
|
||||||
|
"propertyName": "firmwareVersions",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Z-Wave chip firmware versions"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 49,
|
||||||
|
"commandClassName": "Multilevel Sensor",
|
||||||
|
"property": "Humidity",
|
||||||
|
"propertyName": "Humidity",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Humidity",
|
||||||
|
"ccSpecific": {
|
||||||
|
"sensorType": 5,
|
||||||
|
"scale": 0
|
||||||
|
},
|
||||||
|
"unit": "%"
|
||||||
|
},
|
||||||
|
"value": 60
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"isFrequentListening": null,
|
||||||
|
"maxBaudRate": 40000,
|
||||||
|
"version": 3,
|
||||||
|
"deviceClass": {
|
||||||
|
"basic": {
|
||||||
|
"key": 4,
|
||||||
|
"label": "Routing Slave"
|
||||||
|
},
|
||||||
|
"generic": {
|
||||||
|
"key": 8,
|
||||||
|
"label": "Thermostat"
|
||||||
|
},
|
||||||
|
"specific": {
|
||||||
|
"key": 6,
|
||||||
|
"label": "General Thermostat V2"
|
||||||
|
},
|
||||||
|
"mandatorySupportedCCs": [32, 114, 64, 67, 134],
|
||||||
|
"mandatoryControlledCCs": []
|
||||||
|
},
|
||||||
|
"commandClasses": [
|
||||||
|
{
|
||||||
|
"id": 49,
|
||||||
|
"name": "Multilevel Sensor",
|
||||||
|
"version": 2,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 64,
|
||||||
|
"name": "Thermostat Mode",
|
||||||
|
"version": 2,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 66,
|
||||||
|
"name": "Thermostat Operating State",
|
||||||
|
"version": 2,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 67,
|
||||||
|
"name": "Thermostat Setpoint",
|
||||||
|
"version": 2,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 68,
|
||||||
|
"name": "Thermostat Fan Mode",
|
||||||
|
"version": 1,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 69,
|
||||||
|
"name": "Thermostat Fan State",
|
||||||
|
"version": 1,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 96,
|
||||||
|
"name": "Multi Channel",
|
||||||
|
"version": 3,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 112,
|
||||||
|
"name": "Configuration",
|
||||||
|
"version": 1,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 114,
|
||||||
|
"name": "Manufacturer Specific",
|
||||||
|
"version": 1,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 128,
|
||||||
|
"name": "Battery",
|
||||||
|
"version": 1,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 129,
|
||||||
|
"name": "Clock",
|
||||||
|
"version": 1,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 133,
|
||||||
|
"name": "Association",
|
||||||
|
"version": 1,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 134,
|
||||||
|
"name": "Version",
|
||||||
|
"version": 1,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 135,
|
||||||
|
"name": "Indicator",
|
||||||
|
"version": 1,
|
||||||
|
"isSecure": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
962
tests/fixtures/zwave_js/climate_radio_thermostat_ct101_multiple_temp_units_state.json
vendored
Normal file
962
tests/fixtures/zwave_js/climate_radio_thermostat_ct101_multiple_temp_units_state.json
vendored
Normal file
|
@ -0,0 +1,962 @@
|
||||||
|
{
|
||||||
|
"nodeId": 4,
|
||||||
|
"index": 0,
|
||||||
|
"status": 4,
|
||||||
|
"ready": true,
|
||||||
|
"isListening": false,
|
||||||
|
"isRouting": true,
|
||||||
|
"isSecure": false,
|
||||||
|
"manufacturerId": 152,
|
||||||
|
"productId": 12,
|
||||||
|
"productType": 25857,
|
||||||
|
"firmwareVersion": "9.0",
|
||||||
|
"name": "Thermostat",
|
||||||
|
"deviceConfig": {
|
||||||
|
"filename": "/usr/src/app/node_modules/@zwave-js/config/config/devices/0x0098/ct101.json",
|
||||||
|
"manufacturer": "Radio Thermostat Company of America (RTC)",
|
||||||
|
"manufacturerId": 152,
|
||||||
|
"label": "CT101",
|
||||||
|
"description": "Z-Wave Thermostat",
|
||||||
|
"devices": [
|
||||||
|
{
|
||||||
|
"productType": 25857,
|
||||||
|
"productId": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"productType": 25857,
|
||||||
|
"productId": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"productType": 25857,
|
||||||
|
"productId": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"productType": 25857,
|
||||||
|
"productId": 13
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"firmwareVersion": {
|
||||||
|
"min": "0.0",
|
||||||
|
"max": "255.255"
|
||||||
|
},
|
||||||
|
"associations": {},
|
||||||
|
"paramInformation": {
|
||||||
|
"_map": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"label": "CT101",
|
||||||
|
"neighbors": [1, 11, 13, 14, 2, 3],
|
||||||
|
"endpointCountIsDynamic": false,
|
||||||
|
"endpointsHaveIdenticalCapabilities": true,
|
||||||
|
"individualEndpointCount": 2,
|
||||||
|
"interviewAttempts": 0,
|
||||||
|
"interviewStage": 6,
|
||||||
|
"endpoints": [
|
||||||
|
{
|
||||||
|
"nodeId": 4,
|
||||||
|
"index": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nodeId": 4,
|
||||||
|
"index": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nodeId": 4,
|
||||||
|
"index": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"values": [
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 66,
|
||||||
|
"commandClassName": "Thermostat Operating State",
|
||||||
|
"property": "state",
|
||||||
|
"propertyName": "state",
|
||||||
|
"ccVersion": 2,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Operating state",
|
||||||
|
"min": 0,
|
||||||
|
"max": 255,
|
||||||
|
"states": {
|
||||||
|
"0": "Idle",
|
||||||
|
"1": "Heating",
|
||||||
|
"2": "Cooling",
|
||||||
|
"3": "Fan Only",
|
||||||
|
"4": "Pending Heat",
|
||||||
|
"5": "Pending Cool",
|
||||||
|
"6": "Vent/Economizer",
|
||||||
|
"7": "Aux Heating",
|
||||||
|
"8": "2nd Stage Heating",
|
||||||
|
"9": "2nd Stage Cooling",
|
||||||
|
"10": "2nd Stage Aux Heat",
|
||||||
|
"11": "3rd Stage Aux Heat"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 68,
|
||||||
|
"commandClassName": "Thermostat Fan Mode",
|
||||||
|
"property": "mode",
|
||||||
|
"propertyName": "mode",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true,
|
||||||
|
"label": "Thermostat fan mode",
|
||||||
|
"min": 0,
|
||||||
|
"max": 255,
|
||||||
|
"states": {
|
||||||
|
"0": "Auto low",
|
||||||
|
"1": "Low"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 69,
|
||||||
|
"commandClassName": "Thermostat Fan State",
|
||||||
|
"property": "state",
|
||||||
|
"propertyName": "state",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Thermostat fan state",
|
||||||
|
"min": 0,
|
||||||
|
"max": 255,
|
||||||
|
"states": {
|
||||||
|
"0": "Idle / off",
|
||||||
|
"1": "Running / running low",
|
||||||
|
"2": "Running high",
|
||||||
|
"3": "Running medium",
|
||||||
|
"4": "Circulation mode",
|
||||||
|
"5": "Humidity circulation mode",
|
||||||
|
"6": "Right - left circulation mode",
|
||||||
|
"7": "Up - down circulation mode",
|
||||||
|
"8": "Quiet circulation mode"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 112,
|
||||||
|
"commandClassName": "Configuration",
|
||||||
|
"property": 1,
|
||||||
|
"propertyName": "Temperature Reporting Threshold",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"default": 2,
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true,
|
||||||
|
"description": "Reporting threshold for changes in the ambient temperature.",
|
||||||
|
"label": "Temperature Reporting Threshold",
|
||||||
|
"min": 0,
|
||||||
|
"max": 4,
|
||||||
|
"states": {
|
||||||
|
"0": "Disabled",
|
||||||
|
"1": "0.5\u00b0",
|
||||||
|
"2": "1.0\u00b0",
|
||||||
|
"3": "1.5\u00b0",
|
||||||
|
"4": "2.0\u00b0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"value": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 112,
|
||||||
|
"commandClassName": "Configuration",
|
||||||
|
"property": 7,
|
||||||
|
"propertyName": "Thermostat Swing Temperature",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"default": 2,
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true,
|
||||||
|
"description": "Variance allowed from setpoint",
|
||||||
|
"label": "Thermostat Swing Temperature",
|
||||||
|
"min": 1,
|
||||||
|
"max": 8,
|
||||||
|
"states": {
|
||||||
|
"1": "0.5\u00b0",
|
||||||
|
"2": "1.0\u00b0",
|
||||||
|
"3": "1.5\u00b0",
|
||||||
|
"4": "2.0\u00b0",
|
||||||
|
"5": "2.5\u00b0",
|
||||||
|
"6": "3.0\u00b0",
|
||||||
|
"7": "3.5\u00b0",
|
||||||
|
"8": "4.0\u00b0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"value": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 112,
|
||||||
|
"commandClassName": "Configuration",
|
||||||
|
"property": 9,
|
||||||
|
"propertyName": "Thermostat Recovery Mode",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"default": 2,
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true,
|
||||||
|
"description": "Fast or Economy recovery mode.",
|
||||||
|
"label": "Thermostat Recovery Mode",
|
||||||
|
"min": 1,
|
||||||
|
"max": 2,
|
||||||
|
"states": {
|
||||||
|
"1": "Fast recovery Mode",
|
||||||
|
"2": "Economy recovery Mode"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"value": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 112,
|
||||||
|
"commandClassName": "Configuration",
|
||||||
|
"property": 3,
|
||||||
|
"propertyName": "Utility Lock Enable/Disable",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"default": 0,
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true,
|
||||||
|
"description": "Prevents setpoint changes at thermostat.",
|
||||||
|
"label": "Utility Lock Enable/Disable",
|
||||||
|
"min": 0,
|
||||||
|
"max": 1,
|
||||||
|
"states": {
|
||||||
|
"0": "Utility lock disabled",
|
||||||
|
"1": "Utility lock enabled"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 114,
|
||||||
|
"commandClassName": "Manufacturer Specific",
|
||||||
|
"property": "manufacturerId",
|
||||||
|
"propertyName": "manufacturerId",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Manufacturer ID",
|
||||||
|
"min": 0,
|
||||||
|
"max": 65535
|
||||||
|
},
|
||||||
|
"value": 152
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 114,
|
||||||
|
"commandClassName": "Manufacturer Specific",
|
||||||
|
"property": "productType",
|
||||||
|
"propertyName": "productType",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Product type",
|
||||||
|
"min": 0,
|
||||||
|
"max": 65535
|
||||||
|
},
|
||||||
|
"value": 25857
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 114,
|
||||||
|
"commandClassName": "Manufacturer Specific",
|
||||||
|
"property": "productId",
|
||||||
|
"propertyName": "productId",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Product ID",
|
||||||
|
"min": 0,
|
||||||
|
"max": 65535
|
||||||
|
},
|
||||||
|
"value": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 128,
|
||||||
|
"commandClassName": "Battery",
|
||||||
|
"property": "level",
|
||||||
|
"propertyName": "level",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Battery level",
|
||||||
|
"min": 0,
|
||||||
|
"max": 100,
|
||||||
|
"unit": "%"
|
||||||
|
},
|
||||||
|
"value": 90
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 128,
|
||||||
|
"commandClassName": "Battery",
|
||||||
|
"property": "isLow",
|
||||||
|
"propertyName": "isLow",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "boolean",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Low battery level"
|
||||||
|
},
|
||||||
|
"value": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 134,
|
||||||
|
"commandClassName": "Version",
|
||||||
|
"property": "libraryType",
|
||||||
|
"propertyName": "libraryType",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Library type"
|
||||||
|
},
|
||||||
|
"value": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 134,
|
||||||
|
"commandClassName": "Version",
|
||||||
|
"property": "protocolVersion",
|
||||||
|
"propertyName": "protocolVersion",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Z-Wave protocol version"
|
||||||
|
},
|
||||||
|
"value": "3.28"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 134,
|
||||||
|
"commandClassName": "Version",
|
||||||
|
"property": "firmwareVersions",
|
||||||
|
"propertyName": "firmwareVersions",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Z-Wave chip firmware versions"
|
||||||
|
},
|
||||||
|
"value": ["9.0"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 0,
|
||||||
|
"commandClass": 135,
|
||||||
|
"commandClassName": "Indicator",
|
||||||
|
"property": "value",
|
||||||
|
"propertyName": "value",
|
||||||
|
"ccVersion": 1,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true,
|
||||||
|
"label": "Indicator value",
|
||||||
|
"ccSpecific": {
|
||||||
|
"indicatorId": 0
|
||||||
|
},
|
||||||
|
"min": 0,
|
||||||
|
"max": 255
|
||||||
|
},
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 32,
|
||||||
|
"commandClassName": "Basic",
|
||||||
|
"property": "currentValue",
|
||||||
|
"propertyName": "currentValue",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Current value",
|
||||||
|
"min": 0,
|
||||||
|
"max": 99
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 32,
|
||||||
|
"commandClassName": "Basic",
|
||||||
|
"property": "targetValue",
|
||||||
|
"propertyName": "targetValue",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true,
|
||||||
|
"label": "Target value",
|
||||||
|
"min": 0,
|
||||||
|
"max": 99
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 114,
|
||||||
|
"commandClassName": "Manufacturer Specific",
|
||||||
|
"property": "manufacturerId",
|
||||||
|
"propertyName": "manufacturerId",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Manufacturer ID",
|
||||||
|
"min": 0,
|
||||||
|
"max": 65535
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 114,
|
||||||
|
"commandClassName": "Manufacturer Specific",
|
||||||
|
"property": "productType",
|
||||||
|
"propertyName": "productType",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Product type",
|
||||||
|
"min": 0,
|
||||||
|
"max": 65535
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 114,
|
||||||
|
"commandClassName": "Manufacturer Specific",
|
||||||
|
"property": "productId",
|
||||||
|
"propertyName": "productId",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Product ID",
|
||||||
|
"min": 0,
|
||||||
|
"max": 65535
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 64,
|
||||||
|
"commandClassName": "Thermostat Mode",
|
||||||
|
"property": "mode",
|
||||||
|
"propertyName": "mode",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true,
|
||||||
|
"label": "Thermostat mode",
|
||||||
|
"min": 0,
|
||||||
|
"max": 255,
|
||||||
|
"states": {
|
||||||
|
"0": "Off",
|
||||||
|
"1": "Heat",
|
||||||
|
"2": "Cool",
|
||||||
|
"3": "Auto",
|
||||||
|
"4": "Auxiliary",
|
||||||
|
"5": "Resume (on)",
|
||||||
|
"6": "Fan",
|
||||||
|
"7": "Furnace",
|
||||||
|
"8": "Dry",
|
||||||
|
"9": "Moist",
|
||||||
|
"10": "Auto changeover",
|
||||||
|
"11": "Energy heat",
|
||||||
|
"12": "Energy cool",
|
||||||
|
"13": "Away",
|
||||||
|
"15": "Full power",
|
||||||
|
"31": "Manufacturer specific"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 64,
|
||||||
|
"commandClassName": "Thermostat Mode",
|
||||||
|
"property": "manufacturerData",
|
||||||
|
"propertyName": "manufacturerData",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 67,
|
||||||
|
"commandClassName": "Thermostat Setpoint",
|
||||||
|
"property": "setpoint",
|
||||||
|
"propertyKey": 1,
|
||||||
|
"propertyName": "setpoint",
|
||||||
|
"propertyKeyName": "Heating",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true,
|
||||||
|
"ccSpecific": {
|
||||||
|
"setpointType": 1
|
||||||
|
},
|
||||||
|
"unit": "\u00b0F"
|
||||||
|
},
|
||||||
|
"value": 55
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 67,
|
||||||
|
"commandClassName": "Thermostat Setpoint",
|
||||||
|
"property": "setpoint",
|
||||||
|
"propertyKey": 2,
|
||||||
|
"propertyName": "setpoint",
|
||||||
|
"propertyKeyName": "Cooling",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true,
|
||||||
|
"ccSpecific": {
|
||||||
|
"setpointType": 2
|
||||||
|
},
|
||||||
|
"unit": "\u00b0F"
|
||||||
|
},
|
||||||
|
"value": 78
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 67,
|
||||||
|
"commandClassName": "Thermostat Setpoint",
|
||||||
|
"property": "setpoint",
|
||||||
|
"propertyKey": 0,
|
||||||
|
"propertyName": "setpoint",
|
||||||
|
"propertyKeyName": "N/A",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true,
|
||||||
|
"ccSpecific": {
|
||||||
|
"setpointType": 0
|
||||||
|
},
|
||||||
|
"unit": "\u00b0C"
|
||||||
|
},
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 134,
|
||||||
|
"commandClassName": "Version",
|
||||||
|
"property": "libraryType",
|
||||||
|
"propertyName": "libraryType",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Library type"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 134,
|
||||||
|
"commandClassName": "Version",
|
||||||
|
"property": "protocolVersion",
|
||||||
|
"propertyName": "protocolVersion",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Z-Wave protocol version"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 134,
|
||||||
|
"commandClassName": "Version",
|
||||||
|
"property": "firmwareVersions",
|
||||||
|
"propertyName": "firmwareVersions",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Z-Wave chip firmware versions"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 1,
|
||||||
|
"commandClass": 49,
|
||||||
|
"commandClassName": "Multilevel Sensor",
|
||||||
|
"property": "Air temperature",
|
||||||
|
"propertyName": "Air temperature",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Air temperature",
|
||||||
|
"ccSpecific": {
|
||||||
|
"sensorType": 1,
|
||||||
|
"scale": 1
|
||||||
|
},
|
||||||
|
"unit": "\u00b0F"
|
||||||
|
},
|
||||||
|
"value": 65
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 32,
|
||||||
|
"commandClassName": "Basic",
|
||||||
|
"property": "currentValue",
|
||||||
|
"propertyName": "currentValue",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Current value",
|
||||||
|
"min": 0,
|
||||||
|
"max": 99
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 32,
|
||||||
|
"commandClassName": "Basic",
|
||||||
|
"property": "targetValue",
|
||||||
|
"propertyName": "targetValue",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true,
|
||||||
|
"label": "Target value",
|
||||||
|
"min": 0,
|
||||||
|
"max": 99
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 114,
|
||||||
|
"commandClassName": "Manufacturer Specific",
|
||||||
|
"property": "manufacturerId",
|
||||||
|
"propertyName": "manufacturerId",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Manufacturer ID",
|
||||||
|
"min": 0,
|
||||||
|
"max": 65535
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 114,
|
||||||
|
"commandClassName": "Manufacturer Specific",
|
||||||
|
"property": "productType",
|
||||||
|
"propertyName": "productType",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Product type",
|
||||||
|
"min": 0,
|
||||||
|
"max": 65535
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 114,
|
||||||
|
"commandClassName": "Manufacturer Specific",
|
||||||
|
"property": "productId",
|
||||||
|
"propertyName": "productId",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Product ID",
|
||||||
|
"min": 0,
|
||||||
|
"max": 65535
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 64,
|
||||||
|
"commandClassName": "Thermostat Mode",
|
||||||
|
"property": "mode",
|
||||||
|
"propertyName": "mode",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true,
|
||||||
|
"label": "Thermostat mode",
|
||||||
|
"min": 0,
|
||||||
|
"max": 255,
|
||||||
|
"states": {
|
||||||
|
"0": "Off",
|
||||||
|
"1": "Heat",
|
||||||
|
"2": "Cool",
|
||||||
|
"3": "Auto",
|
||||||
|
"4": "Auxiliary",
|
||||||
|
"5": "Resume (on)",
|
||||||
|
"6": "Fan",
|
||||||
|
"7": "Furnace",
|
||||||
|
"8": "Dry",
|
||||||
|
"9": "Moist",
|
||||||
|
"10": "Auto changeover",
|
||||||
|
"11": "Energy heat",
|
||||||
|
"12": "Energy cool",
|
||||||
|
"13": "Away",
|
||||||
|
"15": "Full power",
|
||||||
|
"31": "Manufacturer specific"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 64,
|
||||||
|
"commandClassName": "Thermostat Mode",
|
||||||
|
"property": "manufacturerData",
|
||||||
|
"propertyName": "manufacturerData",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 134,
|
||||||
|
"commandClassName": "Version",
|
||||||
|
"property": "libraryType",
|
||||||
|
"propertyName": "libraryType",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Library type"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 134,
|
||||||
|
"commandClassName": "Version",
|
||||||
|
"property": "protocolVersion",
|
||||||
|
"propertyName": "protocolVersion",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Z-Wave protocol version"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 134,
|
||||||
|
"commandClassName": "Version",
|
||||||
|
"property": "firmwareVersions",
|
||||||
|
"propertyName": "firmwareVersions",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "any",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Z-Wave chip firmware versions"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 49,
|
||||||
|
"commandClassName": "Multilevel Sensor",
|
||||||
|
"property": "Humidity",
|
||||||
|
"propertyName": "Humidity",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Humidity",
|
||||||
|
"ccSpecific": {
|
||||||
|
"sensorType": 5,
|
||||||
|
"scale": 0
|
||||||
|
},
|
||||||
|
"unit": "%"
|
||||||
|
},
|
||||||
|
"value": 56
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"endpoint": 2,
|
||||||
|
"commandClass": 49,
|
||||||
|
"commandClassName": "Multilevel Sensor",
|
||||||
|
"property": "Air temperature",
|
||||||
|
"propertyName": "Air temperature",
|
||||||
|
"ccVersion": 0,
|
||||||
|
"metadata": {
|
||||||
|
"type": "number",
|
||||||
|
"readable": true,
|
||||||
|
"writeable": false,
|
||||||
|
"label": "Air temperature",
|
||||||
|
"ccSpecific": {
|
||||||
|
"sensorType": 1,
|
||||||
|
"scale": 1
|
||||||
|
},
|
||||||
|
"unit": "\u00b0F"
|
||||||
|
},
|
||||||
|
"value": 62.5
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"isFrequentListening": true,
|
||||||
|
"maxBaudRate": 40000,
|
||||||
|
"version": 3,
|
||||||
|
"deviceClass": {
|
||||||
|
"basic": {
|
||||||
|
"key": 4,
|
||||||
|
"label": "Routing Slave"
|
||||||
|
},
|
||||||
|
"generic": {
|
||||||
|
"key": 8,
|
||||||
|
"label": "Thermostat"
|
||||||
|
},
|
||||||
|
"specific": {
|
||||||
|
"key": 6,
|
||||||
|
"label": "General Thermostat V2"
|
||||||
|
},
|
||||||
|
"mandatorySupportedCCs": [32, 114, 64, 67, 134],
|
||||||
|
"mandatoryControlledCCs": []
|
||||||
|
},
|
||||||
|
"commandClasses": [
|
||||||
|
{
|
||||||
|
"id": 49,
|
||||||
|
"name": "Multilevel Sensor",
|
||||||
|
"version": 2,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 64,
|
||||||
|
"name": "Thermostat Mode",
|
||||||
|
"version": 2,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 66,
|
||||||
|
"name": "Thermostat Operating State",
|
||||||
|
"version": 2,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 67,
|
||||||
|
"name": "Thermostat Setpoint",
|
||||||
|
"version": 2,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 68,
|
||||||
|
"name": "Thermostat Fan Mode",
|
||||||
|
"version": 1,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 69,
|
||||||
|
"name": "Thermostat Fan State",
|
||||||
|
"version": 1,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 96,
|
||||||
|
"name": "Multi Channel",
|
||||||
|
"version": 3,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 112,
|
||||||
|
"name": "Configuration",
|
||||||
|
"version": 1,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 114,
|
||||||
|
"name": "Manufacturer Specific",
|
||||||
|
"version": 1,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 128,
|
||||||
|
"name": "Battery",
|
||||||
|
"version": 1,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 129,
|
||||||
|
"name": "Clock",
|
||||||
|
"version": 1,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 133,
|
||||||
|
"name": "Association",
|
||||||
|
"version": 1,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 134,
|
||||||
|
"name": "Version",
|
||||||
|
"version": 1,
|
||||||
|
"isSecure": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 135,
|
||||||
|
"name": "Indicator",
|
||||||
|
"version": 1,
|
||||||
|
"isSecure": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue