0

除了使用代理的 uuid 之外,有没有办法通过 volttron central 发送对 rpc 公开方法的调用?

在 volttron 上阅读文档,您似乎可以使用标签或名称发送请求,但是当我尝试这样做时,请求超时。

即我可以毫无问题地使用它,

"method": "platforms.uuid.###.agents.uuid.###.inspect"

但我找不到正确的变体

"method": "platforms.uuid.###.agents.tag.###.inspect"

成功了

4

1 回答 1

0

目前您只能使用 uuid 来引用在特定平台上运行的代理。我们确实希望将其扩展到标签和/或身份(不是真正的名称)。

身份最有意义,因为它们需要在一个实例中是唯一的。标签/名称不需要是唯一的,这可能是优点或缺点取决于方法应用程序(例如,当所有代理 foo.sayhello 方法被调用时,所有方法的返回值是什么?)?

这条规则的例外是一个特定代理的快捷方法,称为 platform.historian。为此,我们将其提升到更高一点,即如果我们调用 query.historian,它只会是身份 platform.historian,因此我们可以确保我们得到了我们想要的确切代理。

现在说了这么多,您仍然可以在开发中访问代理的身份,并且很快将发布 release/4.1 分支。从那个唯一的身份,你可以在它和代理的 uuid 之间创建一个映射,并构建一个方法来转换它。如果您这样做,最好在将其集成到 VCP 代理后将其提交回来。

祝你好运!

PS,您也可以通过我们的 slack 频道联系我们https://volttron-community.signup.team

于 2017-03-20T16:58:17.100 回答