【问题标题】:How to setup a rule at compile time in Tasmota如何在 Tasmota 编译时设置规则
【发布时间】:2021-11-07 14:27:39
【问题描述】:

我想要一个规则来在长按按钮时启动 Wifi 管理器。我在 web 控制台或串口上输入以下规则,它工作正常:

Rule 1 on button1#state=3 do wificonfig 2 endon

并启用规则:

Rule1 1

我试图在编译时将此规则加入到我的构建中:

#undef USER_RULE1
#define USER_RULE1 "on button1#state=3 do wificonfig 2 endon"

这不起作用。所以我的问题是:

  1. 我是否应该在命令字符串中也包含单词“rule1”?也就是说,

    #define USER_RULE1 "Rule1 on button1#state=3 do wificonfig 2 endon"

  2. 我是否也应该在此字符串中启用该规则。我不确定在哪里放置“Rule1 1”部分来启用它。可以这样:

    #define USER_RULE1 "Rule1 on button1#state=3 do wificonfig 2 endon Rule1 1"

在我看来,它们都没有说服力。 有人可以指出编译时规则的文档/示例吗?

【问题讨论】:

    标签: compilation rules tasmota


    【解决方案1】:

    我也有同样的问题。
    似乎答案在这里: https://tasmota.github.io/docs/Compile-your-build/#advanced-customization

    在你的情况下,应该是:

    #define USER_BACKLOG "Rule1 1"
    

    【讨论】:

    • 是的!谢谢你。对于我的问题1,答案是否定的;您不需要前缀“规则 1”。对于问题2,解决方法是:#define USER_BACKLOG "Rule1 1"
    【解决方案2】:

    我有点失落。 当我在我的规则中编译并在 USER_BACKLOG 中激活此 rule1 时,我在闪烁后的日志中看到,该规则已激活,但它没有执行,因为它在启动期间再次从某个进程中停用。如果我再次手动激活它,规则会像预期的那样工作,只是在闪烁后不直接。

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 1970-01-01
    • 2023-03-11
    • 2022-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多