我正在用两个灯泡进行家庭自动化项目。请参考以下我使用xstate创建的状态图。我也有要点,因此您也可以在可视化器中看到它。
https://xstate.js.org/viz/?gist=119995cdff639c5b99df55278a32cf57
您可以看到我需要处于autoInactive
状态,这样我才能打开和关闭灯泡,这很好。问题是在autoActive
状态下,我仍然想使用运动传感器来打开和关闭灯泡。
这就是我想要做的。
如何使用xstate实现此目的?
答案 0 :(得分:2)
我知道你说过你已经解决了这个问题,但我只是想看看如何解决这个问题 - 所以也许它对你或其他人有帮助。
我基本上以稍微不同的方式处理这个问题(这可能不适用于您的上下文)。 我认为灯的状况(开或关)实际上与您所处的模式(自动或手动)无关。所以我最终得到了两种并行状态,一种用于纯粹控制灯的状态,另一种允许根据您所处的模式以不同方式管理灯的管理接口状态:
https://xstate.js.org/viz/?gist=4b815be2cc42e6e51b15ba39c99d53dc