#41 Niagara Extension

Daniel Drury Thu 12 Jan 2012

Great work. Have some comments and questions.

1-Why using handles and not ords or slotpaths? Handles aren't really human readable. Makes it hard to associate where the point really is.

2-Do you have to have your equipment objects as children under your proj/site and site? It would be nice if we could have this object be anywhere in the station database, and the name could be a bformat. By doing this when I pull a "template device" - from a pallete file/module/bog file in the filesystem, and drop it in a correctly setup niagara tree structure all the naming is complete and magic. (without having to manually build another tree off the root of the config tree).

Ex: /drivers/lon/Floor5/AHUA is my "ahu device object".. /drivers/lon/Floor5/AHUA/NiagaraExtEquipObj

So we could set the "name" of the device to %parent.parent.displayName%_%parent.displayName%

Can't wait to get my hands on where you are now.

Thanks for the work and leadership!

Dan

Brian Frank Fri 13 Jan 2012

Why using handles and not ords or slotpaths? Handles aren't really human readable. Makes it hard to associate where the point really is.

During the development, it started feel better to use identifiers that didn't have slashes in them. For example, if we want to read a history, we use a URI like this:

/haystack/his/{id}?{date}
/haystack/his/h:1234?today
/haystack/his/Lonworks/DeviceA/points/Temp?today
/haystack/his/JaceA/AHU1_Fan?today
/haystack/his/JaceA.AHU1_Fan?today

The more special chars used in identifiers, the most things get confusing. So we started down a path to keep clean identifiers that didn't use slashes:

  • components identifiers with "h:xxxx"
  • histories such as "/Jace/Point" mapped to "Jace.Point"

That seems to be really nice to keep identifiers within URIs clean. Although it isn't technically necessarily.

Do you have to have your equipment objects as children under your proj/site and site?

We had started discussing just looking up your component tree for objects haystack tagged that might be equips or sites which provide quite a bit of flexibility. Although no matter what there a bit of ugly issues:

  • split of point from its history
  • how metadata might travel "up" from a Jace to a Supervisor (which complicates prev issue in that there might not be a Component in a Supervisor history)

Richard McElhinney Wed 18 Jan 2012

Hi Dan,

Thanks for your interest in this project.

Just to add to Brian's points, the other reason I wanted to use the handle ord is to have a unique identifier within the Niagara component space that is pretty immutable.

The slotpath ord is prone to change in a station. Whereas the handle ord is assigned when the component is added, and my understanding is that handle ord follow the component around no matter where it is in the station.

Project Haystack Niagara Module Update

I have pushed the latest code to bitbucket. It can be pulled from: https://bitbucket.org/richiemac_77/axhaystack

The built module is available for download from: https://bitbucket.org/richiemac_77/axhaystack/downloads/axhaystack.jar

A basic issue tracker is available at: https://bitbucket.org/richiemac_77/axhaystack/issues

Could all bugs/issues/proposal/enhancements please be reported through this issue tracker rather than this forum.

I look forward to feedback and questions.

Cheers, Richard

Brian Gilmore Thu 16 Feb 2012

Is there any basic setup doc for this jar? My help didn't find any guide or bajadoc. Let me know, thanks!

Richard McElhinney Fri 17 Feb 2012

Hi Brian, Thanks for your interest. I've been distracted with my day job to get a lot done in the last month. However, I'm hoping to have some time over the next week though. My intention is to put some docs up on the project wiki on bitbucket. I'll update you over the next week or so on progress.

Cheers, Richard

Richard McElhinney Mon 2 Apr 2012

Hi All,

This is an update for those interested in the Niagara Haystack module that has been published.

Apologies for the delay in moving this on. Pesky day job and all that!! :)

I've done a number of updates and the latest code is pushed to the same bitbucket repository.

The latest built module is available in the Downloads section.

I've also put some basic documentation on the Wiki for the bitbucket repo. Sorry no screenshots yet but hopefully those already familiar with using Niagara AX will be able to follow the steps.

I've added some more equipment types in for modelling, and there is also a very basic UI for tagging Niagara histories. That is definitely a work in progress.

I'd love to hear from anyone who has been using the Niagara Haystack module. Feel free to post or contact me directly at [email protected].

Cheers, Richard

Christian Tremblay Mon 14 May 2012

Is this possible to get a list of histories from a request ? [edit]

I've found /query?his in another thread.

I'll then change my question :-) Where can I found a kind of list for queries/options I can use from a browser ?

Brian Frank Mon 14 May 2012

Where can I found a kind of list for queries/options I can use from a browser ?

Anything that supports GET will work from a browser. But POST requests will not. You can look on BitBucket for docs, but servlet API is:

GET  {haystack}/about
GET  {haystack}/query?{query}
POST {haystack}/query
GET  {haystack}/his/{id}?{range}

Christian Tremblay Tue 15 May 2012

Eclipse compiling

First, please understand that I'm more of a "wannabe programmer kind". I'm far from your capacities and there's still a LOT about Java I misunderstand.

That said, I wanted to compile the source with eclipse and I've had to modify line 354 of BHistTag (haystack.ax.ui) with this line

BHisTag.TblModel mod = (BHisTag.TblModel) view.getTable().getModel(); instead of TblModel mod = (TblModel) view.getTable().getModel();

There was a static method error reported by the compiler.

I've also modified build.xml edition -> edition = "j2se" instead of edition = "j2se-5.0"

Actually, everything seems to work perfectly, but I wanted to know if I broke something defining another "edition".

Thanks for your help

Richard McElhinney Wed 16 May 2012

Hi Christian,

thanks for you interest in the Niagara Haystack Extension. Firstly, the module is only able to be built for J2SE at the minute, which limits it to Web Supervisors. I have something I need to follow up with Brian on that one and also do some work myself.

It's something I only ran into over the last couple of days.

Not sure why you had to modify line 354 of BHisTag. I use Eclipse also with the Niagara Plugin and haven't had that issue. However let me look into that and get back to you.

I will post the new code to bitbucket as soon as it's ready and let you know.

regards, Richard

Login or Signup to reply.