概述
我正在我的 Android 手机上运行 Tasker,试图通过 adafruit.io 通过 MQTT 控制我公寓中的灯光。它的工作,有时。我想每次都让它工作,但我不知道什么是偶尔失败。据我所知,Tasker 和 adafruit.io 似乎无法可靠地通信。
Adafruit 和光控制
灯连接到 Nexa 433 MHz 插座,由 Adafruit Feather Huzzah 板控制。董事会运行我在互联网上找到的,由我修改的代码,所以当然这是任何怀疑的主要候选人。但是,每次Adafruit 提要显示新值时,灯都会可靠地打开和关闭。
安卓设置
在 Tasker 中,我有一个 Wifi Near 配置文件,其中包含一个进入任务(Lights On)和一个退出任务(Lights Off)。
Lights On 任务使用 MQTT 客户端将 MQTT 消息发布到 io.adafruit.com,主题为“user/f/Lights”、值 1、QoS 1 和 Retained = false。超时设置为无。
Lights Off 任务使用 MQTT 客户端向 io.adafruit.com 发布 MQTT 消息,主题为“user/f/Lights”,值为 0,QoS 1 和 Retained = false。超时设置为无。
日志
我可以访问两个日志 - Adafruit 提要历史记录和 Tasker 中的运行日志。
运行日志看起来很好 - Wifi Near 配置文件并不总是在离家相同的距离处触发,但是每当它触发时,都会运行正确的进入和退出任务,而没有任何迹象表明出现任何问题。
Adafruit 提要历史记录并未显示 Tasker 日志指示应该存在的所有事件。特别是,它似乎比值 0(来自 Lights Off,退出任务)更可靠地接收值 1(来自 Lights On,进入任务)。似乎“前几次尝试”更有可能失败 - 如果我手动运行 Lights On 或 Lights Off 任务,一旦我在 Adafruit 提要历史记录中显示一个成功的事件,它就相当可靠。
现在怎么办?
我希望上述信息转储足以让我们开始弄清楚出了什么问题,因为我完全不知道如何从这里开始。
更新 1
shal建议使用另一个 MQTT 代理,提到了 flespi。我已经使用我的 github 帐户登录到 flespi,但到目前为止还无法为我的 Android MQTT 客户端创建一个新的令牌来使用。无论我如何填写 Create Token 表单,我都会得到
/[0]: 值与任何所需的架构都不匹配
helmar建议发布日志,但是 a) 我没有一种简单的方法将它们从我的 Android 设备移动到计算机以在此处发布并且 b) 他们实际上只是说“这个事件触发了,所以这个任务运行了,并且有效”。
关于如何进行的任何进一步的想法?