问题标签 [volttron]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
93 浏览

volttron - 使用 volttron-cfg 配置 volttron central (VC)

在使用 volttron-cfg 时,有人问我一些问题:

  1. 在 volttron central 上包含 volttron central 平台代理?[Y] VC 平台代理是后端代理,VC 是前端吗?

  2. 什么是端口 22916(vip 端口)?从“localhost:22916”返回的内容不可读。

谢谢。

0 投票
1 回答
87 浏览

volttron - 设置 Volttron Central (VC)

我对 Volttron Central (VC) 有一些疑问:

  1. 使用什么库/模块/webserver 来提供 Web 内容(html、css、js 等)?
  2. 什么是默认用户名/密码?我该如何改变它?我在文档中找不到此信息。

谢谢。

0 投票
2 回答
60 浏览

volttron - VOLTTRON 代理命名

当我在 VOLTTRON 平台上安装代理时,它们都被分配了相同的名称“Agentagent-3.0”,我可以在 setup.py 中更改它的部分名称。但是,我不知道给代理起名字的正确方法。我应该在哪里设置代理名称?

0 投票
2 回答
93 浏览

volttron - 如何在 Volttron 中订阅不同的主题

当我使用下面的代码订阅一个主题时,我不能使用相同的代码订阅一些不同的主题。如何订阅不同的主题?

0 投票
1 回答
170 浏览

volttron - 在一个虚拟机上运行的 bacnet_scan.py 未检测到同一 NAT 网络中另一台虚拟机上的设备

我有两个虚拟机在同一主机上运行,​​它们都在同一个 NAT 网络中。我使用实用脚本 volttron/scripts/scalability-testing/virtual-drivers/bacnet.py 在一个虚拟机(比如 VM1)上启动了一个假的 bacnet 设备。设备启动良好。现在,我从同一主机和同一 NAT 网络上的另一个 VM(例如 VM2)运行了 scan_bacnet.py,但我在 VM1 上的假设备未列出。

我验证了 BACpypes.ini 文件上的 ip 地址具有运行 scan_bacnet.py 脚本的主机的正确地址。我还更改了 BACpypes.ini 中的地址以包含子网掩码 (10.0.2.15/24) 仍然没有运气。

以下是我在 VM2 上的 BACpypes.ini 文件的内容

这是我在 VM1 中运行的用于启动假 bacnet 设备的命令

我能够从一个 VM ping 到另一个 VM 并在源 VM 上运行 tcpdump 表明 scan_bacnet.py 正在将 whois 请求发送到另一个 VM。在目标 VM 上运行 tcpdump 表明机器正在接收 whois 请求,但假 bacnet 设备没有接收到 whois 请求。我究竟做错了什么?

0 投票
1 回答
50 浏览

agent - 通过另一个代理启动或停止代理

我目前有一个 volttron 代理,它定期以 csv 的形式从网上下载一些数据。我想使用 DataPublisher 示例来获取该 csv 数据并将其推送到 pubsub。但是,从代码来看,DataPublisher 似乎被设计为在代理启动时自动运行一次。

所以我的问题变成了,有没有办法从原始代理(它本身有某种计时器或循环)启动数据发布器?之后我还需要停止它。

如果我不能这样做,我的替代方案似乎是修改数据发布器以按计划工作,或更改我的其他代理以将数据从 csvs 发布到 pubsub。

任何帮助将不胜感激。

0 投票
1 回答
77 浏览

mysql - MySQL连接问题

MySQL-Historian 准备好使用了吗?我尝试了代理,但像以前一样收到错误消息。我首先想看看“mysql.connector”有什么问题。

0 投票
1 回答
55 浏览

volttron - 一起运行 lite-historian 和 mysql-historian

是否可以同时运行 lite-historian 和 mysql-historian,并将数据分别保存到它们的数据库(SQLite 和 MySQL)中?

我因超时错误而失败:volttron.platform.vip.agent.core.Core 对象为 0。我只能将数据保存到其中一个数据库中。

0 投票
1 回答
156 浏览

volttron - 让 VOLTTRON 代理响应 http 请求

我很难将所有部分放在一起让代理响应 http 请求。我已经看到了 Craig 的回复向 Volttron Central 添加一个新页面,但我仍然不确定如何将所有内容放在一起。希望这个问题可以作为教程或至少一个指向文档中特定位置的地方。

为此,这是我能想到的最简单的问题陈述:

假设我通过运行 bootstrap.py 在 Ubuntu 上安装了默认版本的 VOLTTRON。我在开发分支上,因为这是对上述问题的回答所指向的,如果这不正确或其他分支也具有此功能,请指定。

并说我有以下代理代码 class Hello_Internet(Agent): def hello_internet(self): return “Hello Internet”

为了能够向格式为“something/hello_internet”的 url 发送请求并通过 HelloInternet 代理的方法返回“Hello Internet”响应,需要发生什么?网址中的“某物”是什么?获取请求类型和其他相关信息(查询字符串、发布请求正文)的奖励积分。

本着展示我已经尝试过的东西的精神,希望以下内容不会使水变得太多。理想情况下,您只会说我完全失去了情节,然后我们可以稍后编辑以下内容。

在启动平台本身时,我首先将标志 –bind-web-address“ http://127.0.0.1:5555 ”添加到参数中。

然后我将我的代理类更新为

此时,当我启动平台时,它会在启动时记录:

volttron.platform.web INFO: Starting web server binding to 127.0.0.1:5555.

当代理启动时:

volttron.platform.web INFO: Registering agent route expression: ^/hello_internet peer: None function: hello_internet

但是如果我真的浏览到 127.0.0.1:5555 那么平台在调试器下会给出这个错误:

“~/workspace/volttron/env/local/lib/python2.7/site-packages/gevent/server.py", line 102, in wrap_socket_and_handle ssl_socket = self.wrap_socket(client_socket, **self.ssl_args) TypeError: wrap_socket() got an unexpected keyword argument 'error_log' <Greenlet at 0x7f9ea46e7e10: <bound method WSGIServer.wrap_socket_and_handle of <WSGIServer at 0x7f9ea46cba90 fileno=58 address=127.0.0.1:5555>>(<socket at 0x7f9ea46cb9d0 fileno=61 sock=127.0.0.1, ('127.0.0.1', 40583))> failed with TypeError

对于上面的 self.ssl_agrs 的价值,它看起来像 dict: {'error_log': <open file '~/.volttron/log/web.error.log', mode 'wb' at 0x7f9ea5a2c5d0>, 'server_side': True}

~/.volttron/log/web.error.log 文件存在但为空。

这发生在可以调用 hello_internet 函数之前。

我试过更新 gevent 并没有解决问题。我尝试将 –bind-web-address 切换到https://127.0.0.1:5555并转而去那里加上其他一些我认为只会让事情变得更加混乱的事情,但到目前为止还没有成功。

编辑

谢谢你快速的回复。我更新了我的库以匹配下面 Craig 的点子列表。在某些情况下,我可能已经更新到更新的库版本,例如 gevent 1.1.2 而不是 1.1.1。我还更改了 hello_internet 函数签名以匹配 Craig 的建议,并将绑定地址从 https 更改为 http。

现在,当我启动平台和代理并尝试浏览到绑定的 ip 时,我从浏览器中得到“内部服务器错误”,平台给出了这个回溯:

0 投票
1 回答
79 浏览

volttron - 抓取 BACnet 点时出错 (VOLTTRON)

运行 BACnet 代理和 MasterDriver 代理时,我收到错误 DURING SCRAPE(类:对象代码:未知对象)。此错误是否表示设备 ID 或配置文件不正确(带有点名称的 csv 文件)?