#自动化 #牌面 # #设备 #Linux #Elgato #守护进程

bin+lib autodeck

基于 Elgato Stream Deck 的自动化软件

3 个版本 (破坏性)

0.4.0 2019 年 12 月 24 日
0.3.0 2019 年 12 月 24 日
0.2.0 2019 年 12 月 24 日

#7#elgato

GPL-3.0 或更高版本

29KB
310

Autodeck

一个简单的 Linux 自动化守护进程,旨在与 Elgato Stream Deck 设备交互。有关一组示例自动化,请参阅 example.toml,有关自动化选项的更多信息,请参阅 文档

状态

工作中,基本功能正常,仅在 Stream Deck Mini 上测试过,欢迎拉取请求。

GitHub tag Travis Build Status Crates.io Docs.rs

用法

安装

预编译的二进制文件可在 发行版页面 上找到(包括一个 .deb,该 .deb 会安装配置文件和 systemd 单元)。该实用程序还可以通过使用 cargo install autodeck 从源代码安装,但您需要自行管理配置文件等。

对于 Debian 软件包,自动化在 /etc/autodeck/autodeck.toml 中指定,配置在 /etc/autodeck/autodeck.env 中。

您可以使用以下命令在启动时注册服务:sudo systemctl enable autodeck,并使用以下命令检查日志:sudo journalctl -u autodeck --follow

自动化文件

自动化文件由一系列 [[automata]] 组成,每个对应于流牌上一个按钮。这些 automata 有一个 state 字段描述它们的初始状态,以及一个 on_init 执行器。

每个 automata 包含一组命名的 states(例如,[automata.states.error]),这些可能包含 on_presson_poll 执行器,当按钮被按下或在定期轮询时调用,以及一个 display 对象,它定义了在给定状态下按钮上会显示什么。

Executors 包含有关要执行的命令及其如何影响自动机状态的信息。这些包含一个 func 参数,它是要执行的命令,一个传递给命令的参数列表 args(注意:args 不能直接包含在 func 字符串中),以及一对 on_successon_failure 字段,它们映射到下一个状态。

通常,成功由命令的返回码确定(0 表示成功,非 0 表示错误),然而,在某些情况下,命令始终返回 0,但可能没有执行所需的操作。在这些情况下,您可以使用 success_filterfailure_filter 字段来检查标准输出的匹配数据,以及 on_failure 下一个状态字段的映射。

依赖关系

~23MB
~238K SLoC