外壳命令
此集成可以将常规壳命令作为服务公开。服务可以从脚本或IN自动化。骆驼案命名不允许使用Shell命令,请仅使用小写命名并将名称与下划线分开。
配置
#示例Configuration.yaml条目#公开服务shell_command.restart_powshell_command:restart_pow:触摸〜/.pow/restart.txt
命令可以使用模板插入参数值。使用模板时,shell_command在更安全的环境中运行,该环境不允许任何诸如自动扩展家庭dir之类的外壳帮助者〜
或使用管道符号运行多个命令。同样,只有在第一个空间之后的内容才能由模板生成。这意味着命令名称本身不能由模板生成,但必须从字面上提供。
将传递到服务调用中以激活shell命令的任何服务数据都将在模板中作为变量可用。
Stdout
和stderr
命令的输出既被捕获,并且将通过设置日志级别调试。
执行
这命令
在配置目录。
如果您正在使用必威是什么家庭助理操作系统,命令在乡亲
容器上下文。因此,如果您测试或调试脚本,则在此容器的上下文中进行此操作以获取相同的运行时环境可能是有意义的。
与0
退出代码,命令的输出(stdout)用作价值
。如果命令导致非0
退出代码或在60秒的超时后终止,结果仅登录到家庭助理日志,传感器的值未更新。必威是什么
例子
定义多个外壳命令
您还可以一次定义多个壳命令。这是定义三个不同(无关的)壳命令的示例。
#示例Configuration.yaml条目shell_command:restart_pow:触摸〜/.pow/restart.txtcall_remote:卷曲http://example.com/pingmy_script:bash/config/shell/script.sh
自动化示例
这是与输入助手和自动化结合使用的外壳命令的示例。
#将GUI滑块的值应用于Shell_Command自动化:-别名:“run_set_ac”扳机:平台:状态ENTITY_ID:input_number.ac_temperature行动:服务:shell_command.set_ac_to_sliderinput_number:ac_temperature:姓名:空调设置最初的:24最小:18最大限度:32步:1shell_command:set_ac_to_slider:'IRSENDsend_onceDeLonghiac _ {{{状态(“ input_number.ac_temperature”)}}_汽车'