Compensation

Compensation 集成消费来自其他传感器的状态。它将补偿值作为状态导出到单独的实体中,并将以下值作为属性导出:entity_idcoefficients。单个多项式(默认为线性)拟合到提供的所有数据点。

配置

要启用补偿传感器,请将以下行添加到您的 "configuration.yaml" 文件中。 :::tip 更改配置后需要重启 Home Assistant。 :::

# 示例 configuration.yaml 条目
compensation:
  media_player_db_volume:
    source: media_player.yamaha_receiver
    attribute: volume_level
    unit_of_measurement: dB
    data_points:
      - [0.2, -80.0]
      - [1.0, 0.0]

  media_player_zone_2_db_volume:
    source: media_player.yamaha_receiver_zone_2
    attribute: volume_level
    unit_of_measurement: dB
    # 确保当源传感器值小于 0.2 时,传感器值不会低于 -80.0
    lower_limit: true
    # 确保当源传感器值大于 1.0 时,传感器值不会高于 0.0
    upper_limit: true
    data_points:
      - [0.2, -80.0]
      - [1.0, 0.0]
attribute:
  description: 要监控/补偿的源属性。省略时,将使用源的状态值。
  required: false
  type: string
data_points:
  description: "数据点转换的集合,格式为 `[未补偿值, 补偿值]`。例如,`[1.0, 2.1]`。所需数据点数量等于多项式 `degree` + 1。例如,线性补偿(`degree: 1`)至少需要 2 个数据点。"
  required: true
  type: list
degree:
  description: "多项式的次数。例如,线性补偿 (y = x + 3) 有 1 次,二次补偿 (y = x<sup>2</sup> + x + 3) 有 2 次,等等。"
  required: false
  default: 1
  type: integer
device_class:
  description: 设置[设备类](/home-assistant/integrations/sensor#device-class),更改前端显示的设备状态和图标。
  required: false
  type: string
lower_limit:
  description: "为传感器启用下限。下限由数据集合 (`data_points`) 中最小的 `未补偿值` 定义。例如,如果最小的 `未补偿值` 是 `1.0`,配对的 `补偿值` 是 `0.0`,则任何小于 `1.0` 的 `source` 状态将产生 `0.0` 的补偿状态。"
  required: false
  type: boolean
  default: false
name:
  description: 前端使用的名称。
  required: false
  type: string
precision:
  description: 通过 round() 的参数定义计算值的精度。
  required: false
  default: 2
  type: integer
source:
  description: 要监控/补偿的实体。
  required: true
  type: string
state_class:
  description: 传感器的 [state_class](https://developers.home-assistant.io/docs/core/entity/sensor#available-state-classes)。
  required: false
  type: string
unique_id:
  description: 唯一标识此传感器的 ID。将其设置为唯一值以允许通过 UI 进行自定义。
  required: false
  type: string
unit_of_measurement:
  description: 定义传感器的测量单位(如果有)。
  required: false
  type: string
upper_limit:
  description: "为传感器启用上限。上限由数据集合 (`data_points`) 中最大的 `未补偿值` 定义。例如,如果最大的 `未补偿值` 是 `5.0`,配对的 `补偿值` 是 `10.0`,则任何大于 `5.0` 的 `source` 状态将产生 `10.0` 的补偿状态。"
  required: false
  type: boolean
  default: false