我应该为热泵使用什么设备 types/traits?

What device types/traits should I use for a Heat Pump?

试图找到最适合 type/trait 的热泵(对于那些不知道的人,热泵使用与空调机组相同的技术,但主要用于加热,也可以用于冷却)

一个 action.devices.types.AC_UNIT (https://developers.google.com/actions/smarthome/guides/airconditioning) specifically says it's not for heating, while a action.devices.types.THERMOSTAT (https://developers.google.com/actions/smarthome/guides/thermostat) 说它不同于加热器和空调。

action.devices.traits.TemperatureControl 和 action.devices.traits.TemperatureSetting 似乎都与热泵有关。每个语言看起来很尴尬,例如 "set the heatpump to heat" 适用于 TemperatureControl 但只有有限的选项(加热,冷却,"heatcool" - 不是像 "auto" 或 "fan" 这样的自定义模式)但是相同的命令不适用于 TemperatureSetting(即使设置了 Modes 特征)。 TemperatureControl 不处理设备关闭的状态(来自 OnOff 特性),但仅在 thermostatMode 为 "off" 时才有效。语音命令 "what is the indoor temperature" 也不适用于 TemperatureSetting 特性。

我目前的想法是我需要同时实现 TemperatureControl 和 TemperatureSetting 特性(不确定如何处理冲突的 'off' 状态)并且设备类型仅用于图标所以我应该选择恒温器类型。这样对吗?

一个智能家居设备可以有一种类型但有多种特性。在您的情况下,使用 AC_UNIT 类型可能是有意义的,因为它很相似。

对于要支持的特征,您有多种选择。如果需要,可以使用 TemperatureSetting 特性。这类似于恒温器,让您能够设置模式,例如 offheatcool。您还可以给它一个 设定值 环境温度 。这可能对您的情况最有意义。

或者,您可以使用更通用的 TemperatureControl 特性。这将允许您为其设置直接温度,这对您想要的可能没有意义。

如果您正在寻找其他模式,可以使用 Modes 特性。这将允许您使用自定义模式,这些模式将与 TemperatureSetting 特征附带的模式一起工作。

如果您只想要一个简单的切换功能,还有通用的 OnOff 特性。

你可以看看the full list of traits,看看哪一个或哪些最适合你的设备。

{
  "availableModes": [{
  "name": "mode",
  "name_values": [{
    "name_synonym": ["mode"],
    "lang": "en"
  }],
  "settings": [{
    "setting_name": "Wind",
    "setting_values": [{
      "setting_synonym": ["wind", "fan"],
      "lang": "en"
    }]
  },
  {
    "setting_name": "Auto",
    "setting_values": [{
      "setting_synonym": ["auto", "automatic"],
      "lang": "en"
    }]
  }],
  "ordered": false
 }]
}