Update thermostat hold attribute (#1222)

Signed-off-by: jsetton <jeremy.setton@gmail.com>
pull/1223/head
Jeremy 2021-12-07 05:57:10 -05:00 committed by GitHub
parent 7ee8d9c12f
commit 67ab42d49a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 6 deletions

View File

@ -353,7 +353,10 @@ export default {
ThermostatHold: {
itemTypes: ['Number', 'String', 'Switch'],
requires: ['HeatingCoolingMode'],
parameters: (item) => [p.valueMapping('RESUME')]
parameters: (item) => [
...(item.type === 'Switch' ? [p.inverted()] : [p.valueMapping('OFF'), p.valueMapping('ON')]),
p.requiresSetpointHold()
]
},
ThermostatFan: {
itemTypes: ['String', 'Switch'],
@ -405,9 +408,9 @@ export default {
supports: ['multiInstance'],
parameters: (item) => [
p.capabilityNames(item.groups.length ? item.label : '@Setting.RangeValue', '@Setting.FanSpeed,Speed'),
p.inverted(item.type === 'Rollershutter'),
p.nonControllable(item.stateDescription),
p.retrievable(),
p.inverted(item.type === 'Rollershutter'),
...(item.type === 'Dimmer'
? [p.supportedCommands(['ON', 'OFF', 'INCREASE', 'DECREASE'], 'INCREASE=@Value.Up,DECREASE=@Value.Down')]
: item.type === 'Rollershutter'
@ -428,13 +431,10 @@ export default {
itemTypes: ['Number', 'String', 'Switch'],
supports: ['multiInstance'],
parameters: (item) => [
...(item.type === 'Number' || item.type === 'String'
? [p.valueMapping('OFF', true), p.valueMapping('ON', true)]
: []),
p.capabilityNames(item.groups.length ? item.label : '@Setting.ToggleState', '@Setting.Oscillate,Rotate'),
...(item.type === 'Switch' ? [p.inverted()] : [p.valueMapping('OFF', true), p.valueMapping('ON', true)]),
p.nonControllable(item.stateDescription),
p.retrievable(),
p.inverted(),
p.language(item.settings && item.settings.regional.language),
p.actionMappings(['ON', 'OFF'], 'Close=OFF,Open=ON'),
p.stateMappings(['ON', 'OFF'], 'Closed=OFF,Open=ON')

View File

@ -245,6 +245,12 @@ export default {
required: true,
pattern: 'https://.+'
}),
requiresSetpointHold: () => ({
name: 'requiresSetpointHold',
label: 'Requires Hold on Setpoint Requests',
type: 'BOOLEAN',
default: false
}),
resolution: () => ({
name: 'resolution',
label: 'Resolution',