键盘遥控器


从键盘接收信号,并将其用作遥控器。

这种集成使您可以将一个或多个键盘用作遥控器。它会开火keyboard_remote_command_received然后可以在自动化规则中使用的事件。

evdev软件包用于与键盘接口,因此仅是Linux。这也意味着您不能使用普通键盘,因为evdev会阻止它。

#示例Configuration.yaml条目键盘_REMOTE类型key_up”

配置变量

类型 细绳 必需的

可能的值是key_up,,,,key_down, 和key_hold。当心,key_hold会解雇很多事件。这可以是类型列表。

emulate_key_hold 布尔 ((选修的,默认:false

按下钥匙时,模仿密钥持有事件。(某些输入设备不会以其他方式发送。)

emulate_key_hold_delay 漂浮 ((选修的,默认值:0.25

在发送首次模拟密钥持有事件之前,要等待的毫秒数量

emulate_key_hold_repeat 漂浮 ((选修的,默认值:0.033

在发送随后的模拟密钥持有事件之前,要等待的毫秒数量

device_descriptor 细绳 ((选修的

与键盘相对应的本地事件输入设备文件的路径。

设备名称 细绳 ((选修的

键盘设备的名称。

任何一个设备名称或者device_descriptor必须存在于配置条目中。指示设备名称在重复设备的断开和重新连接的情况下(例如,蓝牙键盘)很有用:本地输入设备文件可能会更改,从而破坏配置,而名称保持不变。如果存在同一模型的多个设备,device_descriptor必须使用。

当找不到配置条目中指示的设备时,在启动的调试日志中报告了可能的设备描述符和名称的列表。

两个键盘遥控器的完整配置看起来像以下一个:

键盘_REMOTE-device_descriptor'/dev/input/by-id/bluetooth-keyboard'类型key_down”emulate_key_hold真的emulate_key_hold_delay0.25emulate_key_hold_repeat0.033-device_descriptor'/dev/input/event0'类型-'key_up'-'key_down'

或喜欢以下键盘的以下内容:

键盘_REMOTE设备名称蓝牙键盘”类型key_down”

以及一个自动化规则,将生命呼入其中:

自动化别名键盘全部在”扳机平台事件事件类型keyboard_remote_command_receivedevent_datadevice_descriptor/dev/intup/event0关键代码107#检查日志以获取所需的密码类型key_down#仅在key_down事件上触发(可选)行动服务light.turn_on目标ENTITY_ID

device_descriptor或者设备名称可以在触发器中指定,以便仅针对该键盘触发自动化。如果您希望使用多个蓝牙遥控器来控制不同的设备,这一点特别有用。省略它们以确保相同的键触发所有键盘/遥控器的自动化。

关键代码应将其设置为密钥按下生成的代码,否则触发器将在每个键按下。类型可以选择设置为key_down,,,,key_up, 或者key_hold将触发器限制为该特定事件类型。

断开连接

这种集成管理键盘的断开和重新连接,例如,在蓝牙设备的情况下,该设备自动关闭以保存电池。

如果键盘断开连接,则集成将解雇事件键盘_REMOTE_DISCONTED。当键盘重新连接时,事件keyboard_remote_connected将被解雇。

这是一个自动化示例,每当键盘连接/断开连接时,可以通过媒体播放器播放声音:

自动化-别名键盘连接的”扳机平台事件事件类型keyboard_remote_connected行动-服务Media_player.play_media目标ENTITY_IDMedia_player.speaker数据Media_content_idkeyboard_connected.wavMEDIA_CONTENT_TYPE音乐-别名蓝牙键盘断开连接”扳机平台事件事件类型键盘_REMOTE_DISCONTEDevent_data设备名称00:58:56:4C:C0:91“行动-服务Media_player.play_media目标ENTITY_IDMedia_player.speaker数据Media_content_idkeyboard_disconnected.wavMEDIA_CONTENT_TYPE音乐

权限

事件输入设备文件可能存在权限问题。如果是这种情况,则家庭助理的用户必须按照以下方式读取和写入权限。必威是什么

Sudosetfacl-mU:HASS_USER:RW/DEV/INPUT/EVANT*

在哪里hass_user是经营家庭助理的用户。必威是什么

如果要使此永久性,则可以使用为所有事件输入设备设置它的UDEV规则。添加一个文件/etc/udev/rules.d/99-userdev-input.rules包含:

核心==“事件*”,,,,子系统==“输入”,运行+=“/usr/bin/setfacl -m u:hass_user:rw$ env{devname}”

您可以通过以下方式检查ACLS权限

getfacl/dev/输入/事件*