Hi, I’m having a hard time getting my custom capabilities to show up on the detail view. I’ve went through the tutorial post to see if I could resolve my problem without success. I also tried starting back from scratch since I saw they were cache issues sometimes and it failed aswell.
Can anyone take a look at my files to see if I could have made a mistake or forget something somewhere ?
Any other advice would be greatly appreciated!
DTH:
metadata {
definition (name: "HP6000ZB-TEST Sinope Heat Pump", namespace: "<my-namespace>", author: "Sinope Technologies", mnmn: "SmartThingsCommunity", vid: "<my-vid>", ocfDeviceType: "oic.wk.d") {
capability "Temperature Measurement"
capability "Thermostat Cooling Setpoint"
capability "Thermostat Heating Setpoint"
capability "<my-namespace>.hpCustomThermostatFanMode"
capability "Thermostat Mode"
attribute "outdoorTemp", "string"
attribute "heatingSetpointRange", "VECTOR3"
command "heatLevelUp"
command "heatLevelDown"
command "coolLevelUp"
command "coolLevelDown"
fingerprint manufacturer: "Sinope Technologies", model: "HP6000ZB-GE", deviceJoinName: "Sinope HeatPump HP6000ZB-GE", mnmn: "SmartThings", vid: "SmartThings-smartthings-HP6000ZB-GE_Sinope_Thermostat" //Sinope HP6000ZB-GE
}
tiles(scale: 2) {
multiAttributeTile(name: "thermostatMulti", type: "thermostat", width: 6, height: 4, canChangeIcon: true) {
tileAttribute("device.temperature", key: "PRIMARY_CONTROL") {
attributeState("default", label: '${currentValue}', unit: "dF", backgroundColor: "#269bd2")
}
tileAttribute("device.coolingSetpoint", key: "VALUE_CONTROL") {
attributeState("VALUE_UP", action: "coolLevelUp")
attributeState("VALUE_DOWN", action: "coolLevelDown")
}
tileAttribute("device.coolingDemand", key: "SECONDARY_CONTROL") {
attributeState("default", label: '${currentValue}%', unit: "%", icon:"st.Weather.weather2")
}
tileAttribute("device.heatingSetpoint", key: "VALUE_CONTROL") {
attributeState("VALUE_UP", action: "heatLevelUp")
attributeState("VALUE_DOWN", action: "heatLevelDown")
}
tileAttribute("device.heatingDemand", key: "SECONDARY_CONTROL") {
attributeState("default", label: '${currentValue}%', unit: "%", icon:"st.Weather.weather2")
}
tileAttribute("device.thermostatOperatingState", key: "OPERATING_STATE") {
attributeState("cooling", backgroundColor: "#b3e6ff")
attributeState("fan only", backgroundColor: "#b3ffff")
attributeState("heating", backgroundColor: "#ffa81e")
attributeState("idle", backgroundColor: "#44b621")
}
tileAttribute("device.thermostatMode", key: "THERMOSTAT_MODE") {
attributeState("off", label: '${name}')
attributeState("auto", label: '${name}')
attributeState("cool", label: '${name}')
attributeState("heat", label: '${name}')
attributeState("fanonly", label: '${name}')
attributeState("dryair", label: '${name}')
}
tileAttribute("device.coolingSetpoint", key: "COOLING_SETPOINT") {
attributeState("default", label: '${currentValue}', unit: "dF")
}
tileAttribute("device.heatingSetpoint", key: "HEATING_SETPOINT") {
attributeState("default", label: '${currentValue}', unit: "dF")
}
}
standardTile("thermostatMode", "device.thermostatMode", inactiveLabel: false, height: 2, width: 2, decoration: "flat") {
state "off", label: '', action: "heat", icon: "st.thermostat.heating-cooling-off"
state "heat", label: '', action: "off", icon: "st.thermostat.heat", defaultState: true
}
standardTile("fanMode", "<my-namespace>.hpCustomThermostatFanMode", inactiveLabel: false, height: 2, width: 2, decoration: "flat") {
state "speed", label:'${currentValue}', action:"switchToFanMode", nextState:"updating", icon: "st.thermostat.fan-on"
state "auto", label: '', action: "switchToFanMode", nextState:"updating", icon: "st.thermostat.fan-auto"
state "on", label: '', action: "switchToFanMode", nextState:"updating", icon: "st.thermostat.fan-on"
state "updating", label: "Updating...", nextState:"updating", backgroundColor:"#ffffff"
}
standardTile("refresh", "device.temperature", inactiveLabel: false, width: 2, height: 2, decoration: "flat") {
state "default", action: "refresh.refresh", icon: "st.secondary.refresh"
}
controlTile("coolingSetpointSlider", "device.coolingSetpoint", "slider", sliderType: "COOLING", debouncePeriod: 1500, range: "device.coolingSetpointRange", width: 2, height: 2) {
state "default", action:"setCoolingSetpoint", label:'${currentValue}${unit}', backgroundColor: "#00bfff"
}
controlTile("heatingSetpointSlider", "device.heatingSetpoint", "slider", sliderType: "HEATING", debouncePeriod: 1500, range: "device.heatingSetpointRange", width: 2, height: 2) {
state "default", action:"setHeatingSetpoint", label:'${currentValue}${unit}', backgroundColor: "#E86D13"
}
main("thermostatMulti")
details(["thermostatMulti", "heatingSetpointSlider", "thermostatMode", "fanMode", "refresh"])
}
}
Capabilities:
{
"version": 1,
"name": "HP Custom Thermostat Fan Mode",
"attributes": {
"hpThermostatFanMode": {
"schema": {
"type": "object",
"properties": {
"value": {
"title": "HpThermostatFanMode",
"type": "string",
"enum": [
"off",
"low",
"medium",
"high",
"on",
"auto",
"smart"
]
},
"data": {
"type": "object",
"additionalProperties": false,
"required": [],
"properties": {
"supportedHpThermostatFanModes": {
"type": "array",
"items": {
"title": "HpThermostatFanMode",
"type": "string",
"enum": [
"off",
"low",
"medium",
"high",
"on",
"auto",
"smart"
]
}
}
}
}
},
"additionalProperties": false,
"required": [
"value"
]
},
"setter": "setHpThermostatFanMode",
"enumCommands": [
{
"command": "fanOff",
"value": "off"
},
{
"command": "fanLow",
"value": "low"
},
{
"command": "fanMedium",
"value": "medium"
},
{
"command": "fanHigh",
"value": "high"
},
{
"command": "fanAuto",
"value": "auto"
},
{
"command": "fanSmart",
"value": "smart"
}
]
},
"supportedHpThermostatFanModes": {
"schema": {
"type": "object",
"properties": {
"value": {
"type": "array",
"items": {
"title": "HpThermostatFanMode",
"type": "string",
"enum": [
"off",
"low",
"medium",
"high",
"on",
"auto",
"smart"
]
}
}
},
"additionalProperties": false,
"required": []
},
"enumCommands": []
}
},
"commands": {
"fanOff": {
"name": "fanOff",
"arguments": []
},
"fanLow": {
"name": "fanLow",
"arguments": []
},
"fanMedium": {
"name": "fanMedium",
"arguments": []
},
"fanHigh": {
"name": "fanHigh",
"arguments": []
},
"fanOn": {
"name": "fanOn",
"arguments": []
},
"setHpThermostatFanMode": {
"name": "setHpThermostatFanMode",
"arguments": [
{
"name": "mode",
"optional": false,
"schema": {
"title": "HpThermostatFanMode",
"type": "string",
"enum": [
"off",
"low",
"medium",
"high",
"on",
"auto",
"smart"
]
}
}
]
},
"fanAuto": {
"name": "fanAuto",
"arguments": []
},
"fanSmart": {
"name": "fanSmart",
"arguments": []
}
}
}
Presentation:
{
"detailView": [
{
"label": "Thermostat Fan Mode Status",
"displayType": "list",
"list": {
"command": {
"name": "setHpThermostatFanMode",
"alternatives": [
{
"key": "off",
"value": "Off",
"type": "inactive"
},
{
"key": "low",
"value": "Low",
"type": "active"
},
{
"key": "medium",
"value": "Medium",
"type": "active"
},
{
"key": "high",
"value": "High",
"type": "active"
},
{
"key": "on",
"value": "On",
"type": "active"
},
{
"key": "auto",
"value": "Auto",
"type": "active"
},
{
"key": "smart",
"value": "Smart",
"type": "active"
}
],
"supportedValues": "supportedHpThermostatFanModes.value"
},
"state": {
"value": "hpThermostatFanMode.value",
"alternatives": [
{
"key": "off",
"value": "Off",
"type": "inactive"
},
{
"key": "low",
"value": "Low",
"type": "active"
},
{
"key": "medium",
"value": "Medium",
"type": "active"
},
{
"key": "high",
"value": "High",
"type": "active"
},
{
"key": "on",
"value": "On",
"type": "active"
},
{
"key": "auto",
"value": "Auto",
"type": "active"
},
{
"key": "smart",
"value": "Smart",
"type": "active"
}
]
}
},
"state": null
}
],
"automation": {
"conditions": [
{
"label": "Thermostat Fan Mode Automation Condition",
"displayType": "list",
"list": {
"alternatives": [
{
"key": "off",
"value": "Off",
"type": "inactive"
},
{
"key": "low",
"value": "Low",
"type": "active"
},
{
"key": "medium",
"value": "Medium",
"type": "active"
},
{
"key": "high",
"value": "High",
"type": "active"
},
{
"key": "on",
"value": "On",
"type": "active"
},
{
"key": "auto",
"value": "Auto",
"type": "active"
},
{
"key": "smart",
"value": "Smart",
"type": "active"
}
],
"supportedValues": "supportedHpThermostatFanModes.value",
"value": "hpThermostatFanMode.value"
}
}
],
"actions": [
{
"label": "Thermostat Fan Mode Automation Action",
"displayType": "list",
"list": {
"alternatives": [
{
"key": "off",
"value": "Off",
"type": "inactive"
},
{
"key": "low",
"value": "Low",
"type": "active"
},
{
"key": "medium",
"value": "Medium",
"type": "active"
},
{
"key": "high",
"value": "High",
"type": "active"
},
{
"key": "on",
"value": "On",
"type": "active"
},
{
"key": "auto",
"value": "Auto",
"type": "active"
},
{
"key": "smart",
"value": "Smart",
"type": "active"
}
],
"supportedValues": "supportedHpThermostatFanModes.value",
"command": "setHpThermostatFanMode"
}
}
]
},
"id": "<my-namespace>.hpCustomThermostatFanMode",
"version": 1
}
DeviceConfig:
{
"dashboard": {
"states": [
{
"component": "main",
"capability": "temperatureMeasurement",
"version": 1,
"values": []
}
],
"actions": [
{
"component": "main",
"capability": "temperatureMeasurement",
"version": 1,
"inline": null
}
],
"basicPlus": []
},
"detailView": [
{
"component": "main",
"capability": "temperatureMeasurement",
"version": 1,
"values": [],
"patch": []
},
{
"component": "main",
"capability": "thermostatCoolingSetpoint",
"version": 1,
"values": [],
"patch": []
},
{
"component": "main",
"capability": "thermostatMode",
"version": 1,
"values": [],
"patch": []
},
{
"component": "main",
"capability": "thermostatHeatingSetpoint",
"version": 1,
"values": [],
"patch": []
},
{
"component": "main",
"capability": "fanOscillationMode",
"version": 1,
"values": [],
"patch": []
},
{
"component": "main",
"capability": "<my-namespace>.hpCustomThermostatFanMode",
"version": 1,
"values": [],
"patch": []
}
],
"automation": {
"conditions": [
{
"component": "main",
"capability": "temperatureMeasurement",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "main",
"capability": "thermostatCoolingSetpoint",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "main",
"capability": "thermostatMode",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "main",
"capability": "thermostatHeatingSetpoint",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "main",
"capability": "fanOscillationMode",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "main",
"capability": "<my-namespace>.hpCustomThermostatFanMode",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
}
],
"actions": [
{
"component": "main",
"capability": "temperatureMeasurement",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "main",
"capability": "thermostatCoolingSetpoint",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "main",
"capability": "thermostatMode",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "main",
"capability": "thermostatHeatingSetpoint",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "main",
"capability": "fanOscillationMode",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
},
{
"component": "main",
"capability": "<my-namespace>.hpCustomThermostatFanMode",
"version": 1,
"values": [],
"patch": [],
"exclusion": []
}
]
},
"type": "dth"
}