Hey,guys, I'm searching a schema for buildings metadata. Then Project-HayStack draw my attention. But I'm puzzled by Niagara's oBIX and HayStack tag or BACnet/WS.
Christian TremblayWed 10 Aug 2016
Hope others will add details but from my perspective, obix and bacnet/ws are closer to communication protocoles. oBix for example define a way to share data using XML. I don't remember seeing any reference to a sensor-equipment relationship into oBix.
Project haystack consist of a standard to add metadata to the points of a BAS system.
The goal is to get a uniform description of what the point is. Is this a sensor ? Does it read temperature ? Refer to what equipment ?
Once the data is tagged, project-haystack defines a way to share that data using a web API.
haystack is not tied to any DDC controller protocole (BACnet, Lon, etc...)
Niagara 4 introduces metadata the way project-haystack does (you can use project-haystack dictionnary if you want) and you could compare the two methods. You would then have to choose (for now) between the NEQL (Niagara Entity Query Language) and the project-haystack query syntax using the web API.
John PetzeWed 10 Aug 2016
I can offer the following in addition to Christian's comments. Haystack is first and foremost a methodology to "mark up" data with tags. The tags provide machine and human readable descriptor enabling software applications to "know" what the data means. This is typically known as meta-data. Both oBix and Bacnet have announced plans to add the ability to include meta data tags and support Haystack in their new versions. The Bacnet committee offered their perspective and plans in the recently released CABA White Paper on Project Haystack. You can find that here: https://www.caba.org/CABA/DocumentLibrary/Public/Project-Haystack.aspx
You can find commentary about oBix by searching their website/resources/articles/blog posts. I am not aware of their current status on the effort to support Haystack.
In addition, Tridium formally announced that they are supporting Haystack in Niagara 4.
Yes, Haystack does include a REST protocol as well. It was not intended to replace fieldbus level protocols. It was created to enable software applications to exchange data in using modern REST-style services. It is very efficient and can be used at the device level as well, however.
Mingchun ZhouThu 11 Aug 2016
Tremblay and Petze, Thanks for your reply But I'm still don't realize the difference among them. I found oBIX Bacnet/WS are both for BA and device levels, different from the OPC for BA level. Besides that, BACnet/WS uses node, oBIX uses object, to describe the point data with many metadata parameters. So can you tell more detail, Thanks
Christian TremblayThu 11 Aug 2016
What is your goal ? What do you want to achieve ? (we should have started by this question I guess)
John PetzeThu 11 Aug 2016
Good question Christian. Just to try to offer additional information - obix and Bacnet are communications protocols. They do include a limited ability to represent some meta data about points. They do not provide an extensible, open method of adding defining and representing meta data so that it can be exchanged among applications.
Project-Haystack is a meta data standard - a methodology for defining and representing meta data that can be used in a protocol, in a spreadsheet, in a csv file, on paper, etc. Its a way to enable any data to be self describing without being limited to a communication protocol.
The community created a REST protocol for communicating data in an efficient manner, but use of that API is not required. As I mentioned, both oBix and Bacnet will support Haystack meta data in their new versions.
I would still suggest that this white paper is the best resource to help you: https://www.caba.org/CABA/DocumentLibrary/Public/Project-Haystack.aspx
This video should also be helpful: http://youtu.be/5C6GwLbYqTw
Mingchun ZhouThu 11 Aug 2016
OK, Tremblay, I just want to know if the Project-HayStack the best method for point data modeling. If just an extensive tagging mechanism, oBIX or Bacnet/WS I think can also do it. So for machine/human data interpretation, what is the most significant feature of HayStack? A tagging method or a community to involve many domain experts?
Thanks
Christian TremblayThu 11 Aug 2016
A method.
How should you call a sensor
haystack says : "sensor"
one could have chosen something else... like "transmitter" for example.
how do we tag a temperature ?
haystack says : "temp"
one could have chosen something else... like "temperature"
project-haystack is a common dictionnary so everyone talks the same language.
You then are able to query a database (or a API) using names that have been accepted by the community as the way to identify xyz.
Instead of a big company telling us how we should tag devices, haystack has the community approach where we look for a consensus on how we should call things.
Once it's done, haystack also propose an API to query a database... but other will also cover this part (like oBix, BACnet or Niagara with it's NEQL)
Stuart LonglandThu 11 Aug 2016
One thing I might elaborate on, Project Haystack more or less doesn't care about what the actual "point" is, that is, how it is implemented.
BACNet/WS sounds like its heavily tied to BACNet. Not sure about the others.
We've got an instance of a Project Haystack server receiving some data from proprietary EDMI energy meters, some data from M-Bus thermal meters, and data from Modbus.
We're also able to link BACNet, other EMS systems like Schneider's ION Enterprise and CET's PecStar, and MacroView; the latter giving us access to proprietary PLC protocols like Allen Bradley and General Electric.
These are the raw data sources. Through the API and tagging model presented by Project Haystack, in theory you can interact with any and all of these disparate systems, marrying up the fragmented data sets. The meta-data serves to lead the way in how one locates and extracts the data they're after.
When you're reading the temperature readings for a particular building, your application does not have to care about how the data gets there. It could be reading some from the analogue input on a PLC, some via some Modbus RTU, more through a BMS over BACNet, a few M-Bus thermal meters, perhaps another Haystack server implementation, whatever you like.
The API presented is the same. The API is an open specification, meaning anyone can write software to interface to it, either as a server or as a client.
This is in contrast to some earlier de-facto standards (e.g. OPC, widely used in the SCADA world).
This, I feel is possibly its biggest strength.
Mingchun ZhouThu 11 Aug 2016
Thanks all guy For the white paper https://www.caba.org/CABA/DocumentLibrary/Public/Project-Haystack.aspx I think maybe HayStack, oBIX, BACnet/WS are all on parallel paths regarding the definition of descriptive tagging models for BAS information. The most powerful of Project-HayStack is the open community, involving companies, manufactors, industry experts etc....
Mingchun Zhou Wed 10 Aug 2016
Hey,guys, I'm searching a schema for buildings metadata. Then Project-HayStack draw my attention. But I'm puzzled by Niagara's oBIX and HayStack tag or BACnet/WS.
Christian Tremblay Wed 10 Aug 2016
Hope others will add details but from my perspective, obix and bacnet/ws are closer to communication protocoles. oBix for example define a way to share data using XML. I don't remember seeing any reference to a sensor-equipment relationship into oBix.
Project haystack consist of a standard to add metadata to the points of a BAS system.
The goal is to get a uniform description of what the point is. Is this a sensor ? Does it read temperature ? Refer to what equipment ?
Once the data is tagged, project-haystack defines a way to share that data using a web API.
haystack is not tied to any DDC controller protocole (BACnet, Lon, etc...)
Niagara 4 introduces metadata the way project-haystack does (you can use project-haystack dictionnary if you want) and you could compare the two methods. You would then have to choose (for now) between the NEQL (Niagara Entity Query Language) and the project-haystack query syntax using the web API.
John Petze Wed 10 Aug 2016
I can offer the following in addition to Christian's comments. Haystack is first and foremost a methodology to "mark up" data with tags. The tags provide machine and human readable descriptor enabling software applications to "know" what the data means. This is typically known as meta-data. Both oBix and Bacnet have announced plans to add the ability to include meta data tags and support Haystack in their new versions. The Bacnet committee offered their perspective and plans in the recently released CABA White Paper on Project Haystack. You can find that here: https://www.caba.org/CABA/DocumentLibrary/Public/Project-Haystack.aspx
You can find commentary about oBix by searching their website/resources/articles/blog posts. I am not aware of their current status on the effort to support Haystack.
In addition, Tridium formally announced that they are supporting Haystack in Niagara 4.
Yes, Haystack does include a REST protocol as well. It was not intended to replace fieldbus level protocols. It was created to enable software applications to exchange data in using modern REST-style services. It is very efficient and can be used at the device level as well, however.
Mingchun Zhou Thu 11 Aug 2016
Tremblay and Petze, Thanks for your reply But I'm still don't realize the difference among them. I found oBIX Bacnet/WS are both for BA and device levels, different from the OPC for BA level. Besides that, BACnet/WS uses node, oBIX uses object, to describe the point data with many metadata parameters. So can you tell more detail, Thanks
Christian Tremblay Thu 11 Aug 2016
What is your goal ? What do you want to achieve ? (we should have started by this question I guess)
John Petze Thu 11 Aug 2016
Good question Christian. Just to try to offer additional information - obix and Bacnet are communications protocols. They do include a limited ability to represent some meta data about points. They do not provide an extensible, open method of adding defining and representing meta data so that it can be exchanged among applications.
Project-Haystack is a meta data standard - a methodology for defining and representing meta data that can be used in a protocol, in a spreadsheet, in a csv file, on paper, etc. Its a way to enable any data to be self describing without being limited to a communication protocol.
The community created a REST protocol for communicating data in an efficient manner, but use of that API is not required. As I mentioned, both oBix and Bacnet will support Haystack meta data in their new versions.
I would still suggest that this white paper is the best resource to help you: https://www.caba.org/CABA/DocumentLibrary/Public/Project-Haystack.aspx
This video should also be helpful: http://youtu.be/5C6GwLbYqTw
Mingchun Zhou Thu 11 Aug 2016
OK, Tremblay, I just want to know if the Project-HayStack the best method for point data modeling. If just an extensive tagging mechanism, oBIX or Bacnet/WS I think can also do it. So for machine/human data interpretation, what is the most significant feature of HayStack? A tagging method or a community to involve many domain experts?
Thanks
Christian Tremblay Thu 11 Aug 2016
A method.
How should you call a sensor
how do we tag a temperature ?
project-haystack is a common dictionnary so everyone talks the same language.
You then are able to query a database (or a API) using names that have been accepted by the community as the way to identify xyz.
Instead of a big company telling us how we should tag devices, haystack has the community approach where we look for a consensus on how we should call things.
Once it's done, haystack also propose an API to query a database... but other will also cover this part (like oBix, BACnet or Niagara with it's NEQL)
Stuart Longland Thu 11 Aug 2016
One thing I might elaborate on, Project Haystack more or less doesn't care about what the actual "point" is, that is, how it is implemented.
BACNet/WS sounds like its heavily tied to BACNet. Not sure about the others.
We've got an instance of a Project Haystack server receiving some data from proprietary EDMI energy meters, some data from M-Bus thermal meters, and data from Modbus.
We're also able to link BACNet, other EMS systems like Schneider's ION Enterprise and CET's PecStar, and MacroView; the latter giving us access to proprietary PLC protocols like Allen Bradley and General Electric.
These are the raw data sources. Through the API and tagging model presented by Project Haystack, in theory you can interact with any and all of these disparate systems, marrying up the fragmented data sets. The meta-data serves to lead the way in how one locates and extracts the data they're after.
When you're reading the temperature readings for a particular building, your application does not have to care about how the data gets there. It could be reading some from the analogue input on a PLC, some via some Modbus RTU, more through a BMS over BACNet, a few M-Bus thermal meters, perhaps another Haystack server implementation, whatever you like.
The API presented is the same. The API is an open specification, meaning anyone can write software to interface to it, either as a server or as a client.
This is in contrast to some earlier de-facto standards (e.g. OPC, widely used in the SCADA world).
This, I feel is possibly its biggest strength.
Mingchun Zhou Thu 11 Aug 2016
Thanks all guy For the white paper https://www.caba.org/CABA/DocumentLibrary/Public/Project-Haystack.aspx I think maybe HayStack, oBIX, BACnet/WS are all on parallel paths regarding the definition of descriptive tagging models for BAS information. The most powerful of Project-HayStack is the open community, involving companies, manufactors, industry experts etc....