- Basic Requirements
- Niagara 4.8 is here!
- JSON API driver - RestNetwork
- RESTful API (REST API)
- Tridium Niagara 4
Basic RequirementsTime for me to update one of my most popular posts. A lot has happened since I wrote my two-part series on Tridium. You can click on the links to read part 1 and part 2. I initially wrote the series as a way to solidify my knowledge around Tridium. Little did I know it would become one of my most popular posts and also a top ranking Google search. Well, a lot has changed since I wrote those articles. Tridium released a new solution called N4 Generation 4 of Tridium essentiallyand to answer a ton of questions I am updating my series. If you are a technician, engineer, operator, or programmer this guide will be very informative for you but you also need detailed training that provides guidance on how to do all of the common tasks in Niagara. Our online, on-demand, Niagara Basics course will teach you everything you need to know and because it comes with lifetime access you can continue to watch the course videos any time you need. Click here to learn more. Tridium is the company behind the Niagara Framework. When folks refer to Tridium they are referring to the company that produces, markets, and sells the Niagara Framework. The Niagara Framework was developed in and was released on the Vykon Platform. My first exposure to Tridium was with the R2 platform. Was there an R1? At this point in the game, R2 has been discontinued, and it is recommended that folks embrace the AX or the N4 solutions. Unfortunately, the information on R2 is spotty at best so I only have my experience with the solution to go on. AX provided multiple enhancements over the R2 platform. When you think about it, this makes logical sense. Fast forward toand you have the release of the AX platform. Things were quite different in We were on the cusp of a social media and telecommunications revolution. On September 8th,Tridium released version for of the Niagara Framework. At the time of this publication going live Niagara Version 4 also known as N4is at version 4. All that is new here is that the model is adopting what the rest of the IT industry deems as best practices in regards to security. There are five features that pop out:. There are three changes you should know about:. You then will assign the device to a controller. A template, is a list of predefined points, with tags this is what Tridium uses to describe its data model. By the way, if you want a full list of the capabilities of the individual Tridium versions click here. Linux is an operating system that is used for both servers and desktops. Linux is what is called an open source operating system. For those of you who understand how to use Linux, you will be excited about this new capability. N4 released a new data model. The new data model along with the new GUI allowed Tridium to provide tagging and search. In the version 4.
Niagara 4.8 is here!
Using NHaystack, external applications receive data that includes essential meta data tags to describe the meaning of the data. When acting as a server, NHaystack automatically generates standard tags for all the ControlPoints in your system. This feature allows for connecting immediately to the Niagara Station via Haystack once the NHaystack module has been installed, without requiring any further configuration. It makes discovering the points in your station as easy as issuing a simple query. NHaystack-as-a-server also streamlines the process of adding user-specified Haystack tags to Niagara systems, by providing a GUI tool that allows users to add the tags directly to Niagara components. Once tags have been defined, the data associated with the Niagara components, including the tags, are available over the REST communications interface. This combination of the tagging tool and the Haystack protocol "engine" reduces the effort involved in connecting Niagara data to external software applications. NHaystack can also act as a Haystack client, via a Niagara 4 driver that models remote servers as Niagara devices. This allows Haystack devices to exist "underneath" stations. See Section 7 of this document for an explanation of how that works. The nhaystack distribution archive comes with 2 modules and a patched haystack-rt. Next, select the patched version of the haystack-rt. The new version of nhaystack is not supported before version 4. If you are using a later version and a patched haystack-rt. If the Niagara 4 installation is a Web Supervisor then all you need to do is restart any running stations on the platform, connect to the stations and drop the NHaystackService into the running station. For use on a "Jace" style platform the minimum installation required is for the nhaystack-rt. Only install nhaystack-wb. To install the modules on a "Jace" type of platform, use the standard Niagara Workbench tools. As indicated above, a patched version of the haystack-rt. This must also be installed on the target platform. To get started with exposing a Niagara 4 station as a Haystack server, install nhaystack-rt. This is all you need to do to get rolling. Many of the tags that are defined as being associated with pointslike kindunittzhiscuretc. When you first add the NHaystackService to your station it needs to be enabled. When the service initialises it builds the in-memory cache of the Haystack records it finds. This process also happens when the station is started or restarted. If you examine the output from the Application Director of your station you will see a number of messages logged there advising of the status of the cache building process. This can be done by finding the NHaystackService in your station and right-clicking on the service. If you do not do this then your changes will not appear in any queries to the NHaystackService from either internal or external clients.
JSON API driver - RestNetwork
So far there has been no open standard way to apply Project Haystack modelling to Niagara AX databases. This post outlines a proposed design for applying Haystack tags on Niagara AX systems as well as a method to query a Niagara AX system for the tag model and data. While this proposal is targeted at Niagara AX systems, the aim is to produce as best as possible a generic design that allows a similar implementation by other BMS platforms. The outcome of this design would be to produce an open source Niagara AX module as an example implementation of this proposal. It draws on the work of Brian Frank in his creation of the Haystack Java Toolkit and also some of the discussions Brian has had with other interested people. The implementation of Haystack tags would centre around creating a Niagara component for each tag. Each tag type would subclass BComponent. This extension would be called BTagMapExt. The point model in Niagara encourages the use of extensions to enhance the standard behaviour of a control point. A Tag Map Extension makes searching a Niagara database for tags easier. For example, when building a point list with tags, a BQL query need only look for all the TagMapExt's in database and then iterate through the result set to check for the points which have the point tag. A TagMapExt also give a concrete place holder to navigate the Niagara database tree structure. This will speed up the creation of a servlet response by allowing this CSV record to be used rather than reconstructing the record each time a query is run. The following subclasses of BComponent are proposed to encapsulate the different Haystack tag types:. The axUuid tag has been introduced to provide a Niagara specific unique identifier that can be referenced using the axRef tag. It also allows for external tools reading this data out of Niagara to place their own interpretation on the use of these tags and how referencing between specific records is accomplished. For example if Skyspark was reading the above equip CSV record, and assuming a site record had already been created with the axUuid:h11, it would use the axRef tag to look up the site record and then add in the siteRef tag with the corresponding RecId. Likewise, the above point record would use its axRef value to look up the AHU which had been added and then create the equipRef tag with the appropriate RecId. For clarity, a generic set of tagging rules should be developed that can be implemented to ensure consistency of tag models. For example:.
RESTful API (REST API)
An API for a website is code that allows two software programs to communicate with each other. The API spells out the proper way for a developer to write a program requesting services from an operating system or other application. The REST used by browsers can be thought of as the language of the internet. With cloud use on the riseAPIs are being used by cloud consumers to expose and organize access to web services. Each module addresses a particular underlying part of the transaction. This modularity provides developers with a lot of flexibility, but it can be challenging for developers to design their REST API from scratch. With REST, networked components are a resource the user requests access to -- a black box whose implementation details are unclear. All calls are stateless; nothing can be retained by the RESTful service between executions. Because the calls are statelessREST is useful in cloud applications. Stateless components can be freely redeployed if something fails, and they can scale to accommodate load changes. This is because any request can be directed to any instance of a component; there can be nothing saved that has to be remembered by the next transaction. Roy Fielding in his doctorate dissertation. RESTful web services are stateless. REST services are useful for restricted profile devices, such as mobile, and are easy to integrate with existing websites. SOAP requires less plumbing code -- meaning low-level, infrastructural code that connects main code modules together -- than REST services design. The Web Services Description Language describes a common set of rules to define the messages, bindings, operations and location of the service. SOAP web services are useful for asynchronous processing and invocation. InRoy Fielding and a group of developers decided to create a standard so that any server could talk to any other server. These universal rules make it easier for developers to integrate software. This caught the attention of another ecommerce giant, and Amazon announced its API in Please check the box if you want to proceed. Automated testing can add speed and completeness to the software development process, but be sure you've considered the tradeoffs Distributed Scrum team members must find virtual ways to replicate the workflows, practices, tools and perks that a colocated Many unlucky online shoppers have fallen prey to 'porch pirates' who steal packages from their homes. It's a problem that could