问题标签 [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 回答
116 浏览

volttron - 代理如何打包/启动另一个代理?

如果我在平台上安装并运行了代理 A,我可以从代理 A 中启动代理 B吗?(类似于 volttron-ctl 命令从终端工作的方式)

上下文:我想这样做是因为我需要代理 B 向代理 A 进行 RPC,但代理 B 需要知道代理 A 的对等名称才能进行此调用(所以我可以将其传递到代理 A 的配置中,如果我从代理 B 内部制作的)。每次我想使用代理 B 对代理 A 进行 RPC 时,我只需要一个替代硬编码对等名称的替代方法,我希望这样做。

0 投票
1 回答
94 浏览

volttron - VOLTTRON 与本地集群或 (AWS) 连接

嗨,我是一名正在研究 VOLTTRON PLATFORM 的开发人员。我在连接 volttron 和本地集群(或 AWS)时遇到问题。

在文档中,我找不到有关 volttron 与本地集群(或 AWS)的连接的一部分。

我认为关于这个问题的解决有三个案例。

  1. 使用 vip(volttron 互连协议)<-- 但此解决方案应安装 volttron
  2. 使用 http 协议 <-- 但这不是大数据处理的好解决方案
  3. 使用套接字编程

解决方案1 ​​为大数据框架(Spark等)接口定制代理

解决方案 2~3 制作自定义代理以连接到云

你会推荐解决这个问题的方法吗?或提供其他解决方案?

谢谢!

0 投票
1 回答
51 浏览

volttron - 通过 volttron central 发送代理请求

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

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

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

但我找不到正确的变体

成功了

0 投票
1 回答
94 浏览

python - 在 Volttron 中打包代理

我们正在尝试打包代理。这些是我们已经完成的步骤:

这是出现的错误消息:

我确实在我的系统中安装了 psycopg2,使用命令: sudo apt-get install python-psycopg2 in terminal 我的理解是我们错过了 volttron 内的模块 psycopg2。但我们不知道如何在 volttron 内安装模块。我们已经尝试将模块文件复制并粘贴到 ./volttron/env/lib/python2.7/site-packages 中,它似乎不起作用。有人请帮忙。谢谢。

0 投票
1 回答
55 浏览

csv - 我正在 VOLTTRON 中实现 ExternalData 代理以从 CAISO OASIS 获取数据

我正在 VOLTTRON 平台中实现 ExternalData 代理,以从 CAISO OASIS 数据库中提取 CSV 数据。OASIS 返回包含 XML 或 CSV 数据的 .zip 文件。通过修改 _handle_csv 函数以提取存档并将生成的 .csv 打开到文件对象中,然后再处理 csv 数据,我能够粗略地获得我想要的 CSV 数据:

我想找到一种更好的方法来做到这一点,并避免做过多的家务,比如关闭 .csv 并删除它,这样文件就不会堆积在 agent-data 目录中。任何建议,将不胜感激。

0 投票
1 回答
91 浏览

mysql - 解析 MySQL Historian 格式

我们正在使用 VOLTTRON MySQL Historian 将仪表读数保存到 MySQL 数据库中。仪表读数以类似于 JSON 的格式保存在“值字符串”中:

[{'W_primary': 19003.677734375, 'freq': 60.01973342895508, 'pf': -0.9935459494590759}, {'W_primary': {'units': 'W ', 'tz': 'PT', 'type': 'float'}, 'freq': {'units': 'Hz', 'tz': 'PT', 'type': 'float'}, 'pf': {'units': u'', 'tz': 'PT', 'type': 'float'}}]

我们的目标是能够导出这些数据以供在 VOLTTRON 和外部 VOLTTRON 环境中使用。在 VOLTTRON 之外,是否有用于直接从 MySQL 数据库解析这些数据的 python 脚本/库?例如,一个应用程序可能是使用 Labview 工具来自定义数据主题/时间范围以导出到 csv(例如,来自给定日期的所有频率数据)。因为格式不是真正的 JSON,我们不能使用 JSON 函数参考(https://dev.mysql.com/doc/refman/5.7/en/json-function-reference.html)。

或者,Historian 有没有办法以更直接的列格式写入数据库?

注意:我们使用的是 VOLTTRON 2.0。此功能在更新的版本中是否发生了变化?

0 投票
1 回答
60 浏览

volttron - VOLTTRON 4.1 Historian 主题定位和权限评论

我对 VOLTTRON 4.1 有一个问题和一个评论:

问:在新的 4.1 Historian 中,有没有办法限制 historian 选择的主题?以前,有配置选项“topic_list”和“all_data”,使用它们允许我将历史数据库限制为仅记录来自某些设备的主题。我们的最终目标是拥有几个独立的数据库,每个数据库都记录来自不同类别的特定设备的数据(即建筑温度数据库、太阳能测量数据库等)。我目前关于如何实现这一点的计划是启动多个历史代理,每个代理都配置到特定的数据库并针对特定的主题。

评论:当启动我们新的 VOLTTRON 4.1 MySQL historian 时,我们首先在配置文件中有一个不正确的用户/密码凭证。但是,我们看到的错误并没有通知我们:相反,我们在 mysqlfuncts.init_microsecond_support() 中收到错误,因为代理在通知我们凭据不正确之前尝试查询数据库的版本。查询失败,因为它没有权限,但调试问题需要相当长的时间。我只是想告诉您这一点,因为收到“拒绝访问”会很有帮助。

这是我们的错误日志:

0 投票
1 回答
103 浏览

python - MasterDriverAgent.agent 不调用 modbus 接口类

我们正在尝试在 VOLTTRON 中实现 MasterDriverAgent,它与本地网络中远程机器上的模拟 pymodbus 异步服务器通信。从 VOLTTRON 日志来看,代理似乎从未调用 modbus.py 接口类。总线上的最后一条消息与可扩展性测试有关,然后它就静默了。在每个刮擦间隔,它会显示一个心跳'context':None

我使用脚本更新了配置,scripts/update_master_driver_config.py但仍然在日志中收到有关不支持旧样式配置的消息。

这是我的 master_driver.agent 配置文件:

和我的设备配置文件:

我在设备配置文件中指定的位置也有注册表配置文件。

这是调试模式下 VOLTTRON 日志的输出(我省略了侦听器代理心跳)。

我觉得我在这里错过了一大块驱动程序框架,但现在已经碰壁了一段时间。我通常可以从日志中的错误消息中判断问题出在哪里,但在这种情况下没有提供任何信息。

Unhanded error in Deferred我可以使用基本的 TCP 服务器/客户端脚本在两台机器之间进行通信,也可以使用pymodbus示例异步服务器/客户端脚本(虽然我确实得到了MasterDriverAgent 并非如此)。

我的下一步可能是尝试实现一个基本的测试代理并在其中放置一个简单的 pymodbus 客户端,看看是否可以进行任何通信。或者.. VOLTTRON 中是否有经过测试可以与 MasterDriverAgent 通信并发布到总线的模拟设备?我认为这可能有助于我隔离问题。如果我的问题太模糊,我深表歉意,我试图尽可能具体。

如果您能帮助阐明这个问题,我将不胜感激。

0 投票
1 回答
62 浏览

python - volttron.platform.web 信息:Web 服务器未启动

当我尝试通过 Eclipse 运行 volttron 时,它最后给了我这个消息:

在运行配置中,我最初给出的参数是-vv --developer-mode. 它不认识它,它也不认识它-vv -developer-mode。消息是:

当我移除开发者模式时,它给了我第一条消息。我正在使用 Ubuntu,Luna eclipse。

0 投票
3 回答
122 浏览

python - Volttron 不编译代理

我有一台计算机,我最近重新安装了 Ubuntu 和所有 volttron。该代码 (GUI) 已经在另一台运行 Volttron 的机器上进行了测试,并且运行良好。

这是神秘的部分:我启动 Volttron ( cd Volttron, . env/bin/activate, volttron -vv -l volttron.log&) 以便在环境中运行。然后我使用这一行来编译我的代码,以便我可以运行它:

通常(在我的另一台机器上)这会输出 8-10 行响应和一个代理 ID,我可以使用它来运行代理(通常使用:)volttron-ctl start --name GUI-0.1

在这台新机器上,我使用相同的编译行,相反,它会输出以下两行:

VOLTTRON_HOME UNSET 设置为 /home/sntvizlab/.volttron VOLTTRON_HOME=/home/sntvizlab/.volttron
2017-07-06 09:24:28,841 () volttron.platform.packaging 错误:没有最后一个异常不存在

有人有想法么?

我尝试过的事情:
1. 我曾经sudo apt-get update确保所有组件都是最新的。
2.我检查了日志文件tail -f volttron.log,看看里面是否有任何有用的东西。所有这些都是成功完成的启动命令。
3. 我卸载并重新安装了 Ubuntu 16.04.2,随后重新安装了 Volttron 及其组件,看看是否是我的安装问题。我最初的问题没有改变。