You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Home脚本编辑器中湿度触发脚本报错求助

问题解决:基于湿度传感器差值控制进气扇

我需要实现当车间传感器1的相对湿度(RH%)大于车间传感器2时,开启车间进气扇,但编写的脚本持续报错,无法正常运行。

原脚本代码

metadata:
  name: Intake Fan On/Off
  description: Intake fan to be on only when sensor 1 RH% is greater than sensor 2 RH%

  starters:
    - type: device.state.HumiditySetting # For devices that support humidity settings such as humidifiers and dehumidifiers.
      device: Workshop Sensor 1 - Workshop
      state: humiditySetpointPercent
      greaterThan:
        [
          ('device.Workshop Sensor 2 - Workshop') 'state.humiditySetpointPercent',
        ]

  actions:
    - type: device.command.OnOff # Turn the device on or off.
      # Whether to turn the device on or off.
      on: true
      devices: Intake Fan - Workshop

收到的错误信息

The value should be one of [String, Bool, Number, Temperature, ColorTemperature, DateTime, Time, Weekday, Duration, ColorHex] but is [Array] instead. The expected formats for time string are [HH:MM:SS; HH:MM; HH:MM AM/PM; HH AM/PM; sunrise/sunset]. The expected formats for duration string are [HHhMMm; HHhMMmSSs; HHhoursMMminSSsec; HHhrsMMminutesSSseconds; MMminutes; HHh MMm]. The expected formats for weekday string are [monday; TUESDAY; WED; fri].


错误原因及修正方案

核心错误点

  1. 状态类型误用:device.state.HumiditySetting是给加湿器/除湿器这类设备的设定湿度用的,而传感器的实时湿度应该用device.state.Humidity
  2. 比较值格式错误:greaterThan字段不能用数组格式,引用其他设备状态需要使用标准的device+state嵌套语法

修改后的正确脚本

metadata:
  name: Intake Fan On/Off
  description: Intake fan activates when Workshop Sensor 1 humidity > Workshop Sensor 2 humidity

starters:
  - type: device.state.Humidity
    device: Workshop Sensor 1 - Workshop
    state: ambientHumidityPercent
    greaterThan:
      device: Workshop Sensor 2 - Workshop
      state: ambientHumidityPercent

actions:
  - type: device.command.OnOff
    on: true
    devices: Intake Fan - Workshop

可选补充:添加风扇关闭逻辑

如果需要当传感器1湿度回落至等于/小于传感器2时自动关闭风扇,可以扩展脚本如下:

metadata:
  name: Intake Fan On/Off
  description: Intake fan activates/deactivates based on humidity difference between two sensors

starters:
  # 开启风扇条件
  - type: device.state.Humidity
    device: Workshop Sensor 1 - Workshop
    state: ambientHumidityPercent
    greaterThan:
      device: Workshop Sensor 2 - Workshop
      state: ambientHumidityPercent
  # 关闭风扇条件
  - type: device.state.Humidity
    device: Workshop Sensor 1 - Workshop
    state: ambientHumidityPercent
    lessThanOrEqualTo:
      device: Workshop Sensor 2 - Workshop
      state: ambientHumidityPercent

actions:
  # 根据触发条件自动切换开关状态
  - type: device.command.OnOff
    devices: Intake Fan - Workshop

内容的提问来源于stack exchange,提问作者Alf Tupper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 00:40:05