#312 History Missing Kind Tag from Haystack Service

Phil Blackwell Thu 20 Aug 2015

I have a Tridium R2 to which is connected a Jace running AX for exporting BACnet trends and points via haystack. On the jace we have enabled the nhaystack service and are using this to discover and export BACnet trends and control points to a central AX supervisor which then is queried by Skyspark via the Haystack connector.

The Control points have worked well by adding history trends to them and archiving locally then reading the archived histories from the AX Supervisor.

The BACnet trends however, are presenting an error of sys::ArgErr: Mismatched his val type: Number != Str when we try and sync form Skyspark. When checking the nHaystack query view in the local jace, the kind slot is blank for the histories, which is then being translated as a string as far as I can gather.

We have checked the BACnet trend configuration and they are set up as bacnetNumericTrends, and the local archived history is also recognising the numeric type. The issue only seems to arises when we try and sync via our haystack connector from the AX Supervisor at which point we get the following error.

dis:            1d681210-e6d45e94 MarketStUNC1_231_MarketStUNC1$2fB3_Plant$2fCP_Ventilation$2fSKY_SP$2fCO_Sensor_1
conn:           Market_Haystack
connType:       haystackExt::HaystackConn [2.1.10]
kind:           Number
unit:           null
tz:             New_York
isWatched:      true

haystackCur:    -
haystackWrite:  -
haystackHis:    @H.MarketStUNC1_231.MarketStUNC1~2fB3_Plant~2fCP_Ventilation~2fSKY_SP~2fCO_Sensor_1

Watches (2)
=============================
HaystackApplet|Points (lastPoll: 16sec ago)
HaystackApplet|Points (lastPoll: 730ms ago)

Conn Cur
=============================
curVal:         null [null]
curRaw:         null [null]
curStatus:      unknown
curMyStatus:    unknown
curLastOk:      never
curLastFail:    never
curConvert:     n/a
curCalibration  n/a
curErr:         null

Conn Write
=============================
writeVal:       null [null]
writeRaw:       null [null]
writeLevel:     0
writeStatus:    unknown
writerMyStatus: unknown
writePending:   null
writeQueued:    false
writeLastOk:    never
writeLastFail:  never
writeConvert:   n/a
writeErr:       null

Conn His
=============================
hisStatus:      fault
hisMyStatus:    fault
hisLastOk:      never
hisLastFail:    7sec ago
hisConvert:     n/a
hisErr:         
sys::ArgErr: Mismatched his val type: Number != Str
  hisExt::WriteDispatch.send (DatabaseWriter.fan:270)
  fan.sys.List.each (List.java:588)
  hisExt::WriteDispatch.send (DatabaseWriter.fan:265)
  hisExt::WriteDispatch.dispatch (DatabaseWriter.fan:185)
  hisExt::Database.write (Database.fan:106)
  hisExt::Database.write (Database.fan)
  hisExt::HisLib.write (HisLib.fan:172)
  connExt::ConnPoint.updateHisOk (ConnPoint.fan:266)
  haystackExt::HaystackConn.onSyncHis (HaystackConn.fan:536)
  connExt::Conn.doSyncHis (Conn.fan:665)
  connExt::Conn.receive (Conn.fan:310)
  haystackExt::HaystackConn.receive (HaystackConn.fan:43)
  connExt::ConnActor.receive (ConnActor.fan:131)
  concurrent::Actor._dispatch (Actor.java:228)
  concurrent::Actor._work (Actor.java:199)
  concurrent::ThreadPool$Worker.run (ThreadPool.java:262)


Conn Tuning
=============================
id:             null
dis:            Default
staleTime:      5min
writeMinTime:   null
writeMaxTime:   null

We started perusing a hisOnWrite solution and realised this would be very ad hoc and time consuming to QA as the unit is not being for the trend either.

Has anyone come across this scenario where the haystack service is not applying a kind to BACnet trends or interpreted them as a strings?

Any assistance is greatly appreciated.

Login or Signup to reply.