如何传递user_id?无论我如何打开一个灯/开关(自动化,前端等),user_id仍然存在

我不知道你在说什么。请阅读这如何帮助我们帮助你——或者如何问一个好问题

我的歉意。我读到,当一个事件通过自动化或前端触发(即打开一盏灯),将有json消息包含一个填充user_id(在上下文部分)。我的json消息总是包含一个空值(参见下面的示例),无论我如何触发事件(自动化、前端等)。

{“_msgid”:“249 aa0f6。a759c”、“主题”:“”、“有效载荷”:“从”、“数据”:{“entity_id”:“光。"node_id":57,"value_index":0,"value_instance":1,"value_id":"72####","friendly_name ":"Living Room","supported_features":1,"icon":"mdi:灯泡"}," last_updated":"2019-08-20T01:40:18.758789+00:00","context":{" id ":“d4 # # # #”、“parent_id”:空,“user_id”:零},“timeSinceChangedMs”:24270115}}

从什么?你必须把一切都说清楚。下面是组件和这些消息的位置。

旁注:我认为自动化永远不会知道是什么用户执行它,因为自动化只是通过家庭助手运行,而不是用户操作。19463331伟德国际除了通过UI触发自动化之外。但那个密码可能是丢失了atm机。或者(更有可能的情况是)它没有实现,因为从来没有由用户运行自动化。

具体来说,我在看红色节点,但我不相信它是NR特定的,因为它看起来user_id正在写入状态机的new_state当有一个state_changed事件。它应该适用于我所配置的每个实体,因为它似乎不是特定于组件的,但对于我的用例,我正在查看灯和开关。我猜user_id是从这里拉出来的:

捕获

我只是做了个简单的测试。只有在UI上执行操作时,才会从UI填充用户ID。我在UI中按下了一个开关,我的用户id被填充到上下文中。我使用硬件开关和用户id为空。对交换域中的某项执行此操作。

现在来看看自动化。

根据我们从开关行为中获得的信息,我认为它会以同样的方式工作。例如,如果你从UI触发,用户将被填充。但是,如果自动触发(它没有用户上下文,因为这是在没有用户交互的情况下完成的),用户将保持为空。

不幸的是,从UI触发不会填充user_id,但是会填充parent_id。我不知道这个父id引用什么。

1像

很好知道,那么(现在)它似乎不允许我区分硬件和自动化操作,因为在这两种情况下user_id仍然是零。也许这是未来的计划。谢谢测试!

也许这就是父id的作用。如果上下文来自自动化,我可以看到一个具有父ID的设备。我现在不能测试这个,但这会是一个简单的测试。

看看switch上下文。
做一个打开开关的自动化操作。
消防自动化。
看一下开关的上下文。
手动打开开关。
看一下开关的上下文。

你好,我正在寻找一些类似的东西来实现基于user_id登录的自动化。这是武装和解除警报,但我希望用户代码而不是默认系统代码知道哪个用户已经执行拍卖,因为警报系统报告基于用户代码使用的事件。这是可能的吗?