Pilight
Pilight
该 pilight 集线器通过套接字连接到 pilight-daemon
接收到并支持的 RF 代码会放在 Home Assistant 的事件总线中,因此其他集成(例如自动化)可以直接使用。此外,还提供发送操作以发送 RF 代码。
目前,Home Assistant 支持以下设备类型:
配置
要将 pilight 集成到 Home Assistant 中,请将以下部分添加到您的 configuration.yaml
configuration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件中。
在更改了configuration.yaml
configuration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件后,重启 Home Assistant 以应用更改。 该集成现在显示在集成页面的 设置 > 设备与服务 下。其实体在集成卡片上以及实体标签上列出。
# 示例 configuration.yaml 条目
pilight:
Configuration Variables
要连接的网络端口,详情请参见: (https://manual.pilight.org/development/socket/)。
如果在尝试同时切换多个开关时遇到传输问题,您可以定义发送延迟(以秒为单位的分数)。当使用 pilight USB Nano
在此示例中,仅将使用 daycom 或 Intertechno 协议接收的 RF 代码放在事件总线上,并且仅在设备 ID 为 42 时才如此。有关更多可能的设置,请查看 pilight API
完整的配置示例可能如下所示:
# 示例 configuration.yaml 条目
pilight:
host: 127.0.0.1
port: 5000
send_delay: 0.4
whitelist: # 可选
protocol:
- daycom
- intertechno
id:
- 42
二进制传感器
pilight
二进制传感器平台实现了 pilight hub 的二进制传感器功能。有两种类型的 Pilight 二进制传感器配置:一种是正常传感器,它发送开和关的循环状态,另一种是触发传感器,它仅在发生事件时发送触发信号(例如许多廉价的 PIR 动态检测器)。
要在您的安装中启用 Pilight 二进制传感器,请在您的 configuration.yaml
configuration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件中添加以下内容:
# 示例 configuration.yaml 条目
binary_sensor:
- platform: pilight
variable: "state"
完整示例
完整的配置示例可能如下所示:
# 示例 configuration.yaml 条目
binary_sensor:
- platform: pilight
name: "运动"
variable: "state"
payload:
unitcode: 371399
payload_on: "关闭"
disarm_after_trigger: true
reset_delay_sec: 30
传感器
该 pilight
传感器平台用于 433 MHz 设备,使用消息负载中的值作为传感器值。可以设置唯一标识符(例如 uuid)以区分多个 pilight 设备。要使用 pilight 传感器,必须先设置 pilight Home Assistant 集线器。
要通过 pilight 使用您的传感器,请确保其被 支持configuration.yaml
configuration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件中添加以下内容:
# 示例 configuration.yaml 条目
sensor:
- platform: pilight
variable: temperature
payload:
uuid: "0000-b8-27-eb-f447d3"
示例:气象站
本节展示了如何使用气象站的值的实际示例。
# 示例 configuration.yaml 条目
sensor:
- platform: pilight
name: "温度"
variable: "temperature"
payload:
uuid: 0000-b8-27-eb-f1f72e
unit_of_measurement: "°C"
- platform: pilight
name: "湿度"
variable: "humidity"
payload:
uuid: 0000-b8-27-eb-f1f72e
unit_of_measurement: "%"
- platform: pilight
name: "电池"
variable: "battery"
payload:
uuid: 0000-b8-27-eb-f1f72e
unit_of_measurement: "%"
开关
pilight
开关平台使用 pilight
此外,可以定义 RF 命令来触发该开关的开关。这允许您在不混淆 Home Assistant 状态的情况下,使用附带的遥控器来控制 433 MHz 开关。您甚至可以定义多个开/关命令,因此可以使用多个 RF 遥控器来切换此开关。
为确保 Home Assistant 知道设备的实际状态,建议使用具有对任何 433 MHz 设备未知代码的 RF 遥控器。因此,您使用遥控器触发此开关以发送正确的 RF 代码到设备。
要定义一个 Pilight 开关,请在您的 configuration.yaml
configuration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件中添加以下行:
# 示例 configuration.yaml 条目
switch:
- platform: pilight
switches:
床灯:
on_code:
protocol: intertechno_old
'on': 1
off_code:
protocol: intertechno_old
'off': 1
不同代码(on_code
和 off_code
)的变量:
-
protocol (必填): 要使用的协议,例如
intertechno_old
或daycom
。 - systemcode (可选): 设备的系统代码。
-
unit (可选): 要使用的单元(相当于
pilight-send --unit
)。 -
unitcode (可选): 要使用的单元代码(相当于
pilight-send --unitcode
)。 - id (可选): 设备的 ID
-
state (可选):
'on'
或'off'
必须用引号括起来以正确解析。 -
‘off’ (可选):
1
或0
-
‘on’ (可选):
1
或0
有关可能的代码条目,请查看 pilight APIelro_800_switch
或 mumbi
协议时,您将必须用 unitcode
替换变量 unit
,否则会发生错误。
不同接收代码(on_code_receive
和 off_code_receive
)的变量:
-
echo (可选): 如果在接收到给定代码时应发送打开/关闭代码,则设置为
true
。
这在您直接将发送器与接收器配对的情况下非常有用,以防止信号被发送两次。
示例
switch:
- platform: pilight
switches:
床灯:
on_code:
protocol: intertechno_old
unit: 3
id: 4
'on': 1
off_code:
protocol: intertechno_old
unit: 3
id: 4
'off': 1
on_code_receive:
protocol: daycom
systemcode: 14462
unit: 6
id: 34
state: "on"
off_code_receive:
protocol: daycom
systemcode: 14462
unit: 6
id: 34
state: "off"
灯光
Pilight LED 调光器设备可以根据不同的亮度值用作灯光。 调光器和开关的配置参数相同,但调光器支持最低和最高调光级别。
dimlevel_min
和 dimlevel_max
设置应在 0
到 15
的范围内设置,正如 pilight 所使用的那样。由 Home Assistant 执行的任何调光(最有可能在 0
到 100
范围内)将在 Pilight 中转换为可用配置范围的百分比。
示例
light:
- platform: pilight
lights:
test2:
dimlevel_min: 2
dimlevel_max: 14
on_code:
protocol: kaku_dimmer
id: 23298822
unit: 10
'on': 1
off_code:
protocol: kaku_dimmer
id: 23298822
unit: 10
'off': 1
on_code_receive:
protocol: kaku_dimmer
id: 23298822
unit: 10
state: "on"
off_code_receive:
protocol: kaku_dimmer
id: 23298822
unit: 10
state: "off"
故障排除
- 经测试的 RF 发送和接收硬件列表可在 这里
获得。这在购买之前可能会很有用。 - 当协议已被 pilight 知道时,发送命令很简单,但是接收命令可能会相对困难。由于发送硬件或 RF 接收器的时间不同,可能会导致代码未能正确识别。如果发生这种情况,请按以下步骤操作:
-
安装
pilight 源代码(请放心,这非常简单),并仅在弹出菜单中激活您期望的协议。这将减少误报。 - 通过运行
pilight-debug
检查您的设备和 RF 接收器的实际时间。记住pulslen
参数。 - 转到 pilight 源代码的
libs/pilight/protocols/433.92
子文件夹并打开您协议的 .c 文件。查找MIN_PULSE_LENGTH
、MAX_PULSE_LENGTH
和AVG_PULSE_LENGTH
。将脉冲长度更改为与您测量的一致。通过重新运行$ sudo ./setup.sh
重新编译并安装 pilight。