Fiware subscribeContext中出错

Fiware subscribeContext中出错,fiware,fiware-orion,Fiware,Fiware Orion,我目前正在尝试使用Configuration Manager(NECongMan)和Fiware Orion作为上下文生成器来配置Fiware Iot代理。我对NGSI10 subscribeContext操作有问题 这是发送给物联网代理的请求: <?xml version="1.0"?> <subscribeContextRequest> <entityIdList> <entityId type="Room" isPattern="fal

我目前正在尝试使用Configuration Manager(NECongMan)和Fiware Orion作为上下文生成器来配置Fiware Iot代理。我对NGSI10 subscribeContext操作有问题

这是发送给物联网代理的请求:

<?xml version="1.0"?>
<subscribeContextRequest>
  <entityIdList>
    <entityId type="Room" isPattern="false">
      <id>Room1</id>
    </entityId>
  </entityIdList>
  <attributeList>
    <attribute>temperature</attribute>
  </attributeList>
  <reference>http://localhost:1028/accumulate</reference>
  <duration>PT1H</duration>
  <notifyConditions>
    <notifyCondition>
      <type>ONCHANGE</type>
      <condValueList>
        <condValue>pressure</condValue>
      </condValueList>
    </notifyCondition>
  </notifyConditions>
  <throttling>PT5S</throttling>
</subscribeContextRequest>

1号房间
温度
http://localhost:1028/accumulate
PT1H
一旦改变
压力
PT5S
IoBroker试图联系Orion发出subscribeContextRequest,但持续时间字符串已更改:

<subscribeContextRequest>
    <entityIdList>
        <entityId
            type="Room"
            isPattern="false">
            <id>
                Room1
                </id>
            </entityId>
        </entityIdList>
    <attributeList>
        <attribute>
            temperature
            </attribute>
        </attributeList>
    <reference>
        http://192.168.16.178:8080/ngsi10/notify
        </reference>
    <duration>
        P0Y0M0DT0H59M58.157S
        </duration>
    <notifyConditions>
        <notifyCondition>
            <type>
                ONCHANGE
                </type>
            <condValueList>
                <condValue>
                    pressure
                    </condValue>
                </condValueList>
            </notifyCondition>
        </notifyConditions>
    <throttling>
        PT5S
        </throttling>
    </subscribeContextRequest>

1号房间
温度
http://192.168.16.178:8080/ngsi10/notify
P0Y0M0DT0H59M58.157S
一旦改变
压力
PT5S

但是Orion给出了一个错误(无效负载:持续时间字符串中的语法错误)。你知道如何解决这个问题吗?

对于一个小时,持续时间参数可能是P1H而不是PT1H,根据标准格式,PT似乎只是用来避免一个月的P1M和一分钟的PT1M之间的歧义

希望对您有所帮助

Orion 0.26.1(本文编写时的最后一个版本)不支持持续时间字符串中秒的十进制值(如58.157)。我们已经创建了,我们的计划是在下一个版本(0.27.0)中解决它

不确定修改IoBroker的行为方式(以便在发送给Orion的请求中将秒数向上/向下舍入为整数)是否是有效的解决方法。。。我不知道经纪人的详细情况

编辑:在开发分支的Orion中刚刚实现了在秒字段中支持小数的修复,因此它将在下一个Orion版本(0.27.0)中提供。或者,您可以下载源代码并构建代码以立即获得修复