代码之家  ›  专栏  ›  技术社区  ›  bbartling

VOLTTRON将代理数据发布到消息总线

  •  0
  • bbartling  · 技术社区  · 3 年前

    我和做了一个经纪人 creation wizard 。如何将数据从此代理发布到消息总线?

    最终,我希望使用此代理来计算一些类似于 air_cx_agent 并使用转发代理将其发送到VOLTTRON中心实例上。

    这是每300秒运行一次的周期性代码剪辑:

    fdd_check 是BAS上BACnet数据的布尔True False类型计算。

    我在中有问题 self.vip.pubsub.publish :

    from volttron.platform.agent import utils
    from volttron.platform.vip.agent import Agent, Core, RPC
    from volttron.platform.messaging import topics, headers
    
    
    
    '''
    code snip below from method
    ran by the periodic every 300 seconds
    '''
    
    
    fdd_check = self.fault_condition_one(df_lastrow)
    _log.debug(f'[FC 1 Agent INFO] - fault_condition_one {fdd_check}')
    
    self.vip.pubsub.publish(
        peer="pubsub",
        topic=f"{topics.FAULTS_FC1}/{self.ahu_instance_id}",            
        headers={
            headers.TIMESTAMP: utils.format_timestamp(utils.get_aware_utc_now())
        },
        message=int(fdd_check),
    )
    

    完整追溯:

    Traceback (most recent call last):
      File "/var/lib/volttron/volttron/platform/vip/agent/core.py", line 117, in _loop
        method(*self.args, **self.kwargs)
      File "/home/volttron/.volttron/agents/4bddb163-3d1c-403e-8ce0-70a82f58ea1c/fconeagent-0.1/fcone/agent.py", line 277, in get_stuff_done
        topic=f"{topics.FAULTS_FC1}/{self.ahu_instance_id}",
    AttributeError: module 'volttron.platform.messaging.topics' has no attribute 'FAULTS_FC1'
    

    在我看来,我想将此主题或消息总线上的数据与它通过BACnet监控的暖通空调设备联系起来 self.ahu_instance_id ,以及故障和故障条件#1。这些话题可以随便编一下吗?谢谢你的建议。

    0 回复  |  直到 3 年前
        1
  •  0
  •   bbartling    3 年前

    看见 topics.py 在这个文件中选择一个主题,或者自己编一个。例如 analysis 主题可能如下所示:

        #publish to message bus
        self.vip.pubsub.publish(
            peer="pubsub",
            topic=f"analysis",
            headers={
                headers.TIMESTAMP: utils.format_timestamp(utils.get_aware_utc_now())
            },
            message=f"FAULTS_FC1/{self.ahu_instance_id}/{int(fdd_check)}",
        )
    
    推荐文章