Hey folks, Phil Zito here, welcome back! We're continuing our series on system integration, and we are going to be looking at implementing audio/visual integrations. Now, if you have not already done so, definitely go back and read posts 271, 272, & 274. Those episodes are key to you understanding what we're going to be discussing today, because integration is much more than just the systems we're integrating. It has to do with processes and procedures.
So, let's dive in. As we already discussed, audio-visual systems are a very common system for integration, especially in the corporate office environment, but you also see them being integrated in higher ed and also in healthcare situations. So, let's talk through how we integrate.
The first kind of integration is physical integration, but we don't really see physical integration or physical interfacing happening in audio-visual. Audio-visual definitely does use physical interfacing to tie into lights, TVs, phones and into shade control, but not really to tie into building automation. The reason why is building automation, and what we would be controlling, is normally controlled by IO in the first place.
If we think about a space, it has a temperature sensor, and that temperature sensor goes to a VAV box which regulates air flow into the space, which then cools or heats the space. Well, if we tried to interrupt the physical IO between that space temp sensor and the actual VAV box, things would not work. I've never really seen this on an integration design, but that's not to say it's not out there. So by and large, we're going to skip over physical interfacing as a form of integration for audio-visual systems.
Now, moving on to the most common form of integration, which is going to be protocol. When I say protocol, it's primarily BACnet over IP. What will typically happen is you will, either at the server or at the room level, connect to the audio-visual system.
Now, you can, at the server level, connect to the audio-visual system, and you can pull in your zone temperature, your zone temperature set points, into the audio-visual system. Then, they can use those to display on signage, to display on remote control applications through the phone, applications that are being controlled via a desk screen. You can go and pull those points in and do discovery. That's a very common form of integration.
In that case, your key points of performance for that integration are:
- To make sure you're pulling in the right points: zone temps, zone temp setpoint, etc, occupancy.
- Making sure you're pulling them in at the correct priority. If the AV system is supposed to take precedence, then you want to have a lower number because remember, in BACnet priority arrays, lower numbers are higher priority. So, you want to have a lower number than whatever you are using for the building automation system and its graphics.
Otherwise, every time you change the graphics in the building automation system, you are then going to be overriding whatever is in the AV system, which is not necessarily a problem if we were to switch gears and we say we are pulling data out of the AV system into the building automation system. Now, this is less common in my experience. It is more common for us to pull data into the AV system and use that as the primary system and to use our BAS as the secondary system, at least for space control.
That being said, there are scenarios where we will pull in data from the actual AV system, into the building automation system. This may happen if we wanted to get lighting data, energy data, or even performance data, we could then pull that into the BAS system. So, just be cognizant of that.
Let me briefly dive a little bit deeper. I don't want to assume that you all understand. So what I would do, for example, if I had to discover a Crestron system, I would go into Google Chrome, and I would type Crestron BACnet IP.
I would look this up and I would start to find the SW-3SERIES BACNET-50 with Crestron electronics. I would start to understand, “what does this thing do?” I would look at the resources, seeing I have a technical resource with an application diagram. It just gives me a simple diagram of the system. So, I just do discovery of BACnet and I can pull in access control, HVAC into this Crestron system. Not very descriptive, right?
If I go into the spec sheet, it tells me that the 3SERIES and 4SERIES can support 500 BACnet objects, with the following exceptions. If I have some other stuff, I can do 2000 objects. So, understanding there are limitations to my objects, there are limitations to the supported control systems, and understanding that this SW-3SERIES BACNET-50 is just a software license that enables the 3 or 4-SERIES control system to support more than 50 BACnet objects.
So basically, if I want to do more than 50 BACnet objects and I want to bring them in for discovery and control purposes, then I'm going to have to have a license. I've worked with Crestron in the past, it's been a couple years, but I didn't know this off the top of my head until I googled it. So, just take a little bit of time and do a little bit of research.
Type Crestron BACnet IP, or whatever system you're using for your audio-visual system, and then once you've discovered that, figure out, “Is this a software license? What are the supported control systems?” And the key point is to do some research now.
The reality is there's plenty of AV systems out there that do not support BACnet. They only support API's, application programming interfaces. So, once we know that they support API's, what we have to figure out is twofold:
- What is the API for the AV system?
- What API do we have for our building automation system? Depending on the building automation system, we may have the ability to write to http, API's hypertext transport protocol, and we may be able to write to those API's directly from our building automation system. We just simply need to make sure that we understand the functions of the audio-visual system API.
So, this is your checklist:
- Research the API of the audio-visual system.
- Figure out its functions and the data types that those functions accept. Normally, this is done by typing in the AV system, API and then SDK. SDK, also known as software development kit, will typically give you a list and examples of the functions that you can call on an API. Once you understand what functions you can call on an API, then you are going to be able to understand how you actually write to that API.
So, what I'm doing is I'm opening the XiO service from Crestron, I'm looking at its API reference, I'm understanding I have to have a subscription key and I have to have an API that I'm writing to. It's going to tell me what I can do and what I can write. Once I understand what I can write and what properties exist, I have to actually write up, in my building automation system, how I'm transferring this.
Now, as I mentioned, some building automation systems will have HTTP endpoints and API drivers that make this easy, others will not. Some will not support it at all, and you'll have to do a BACnet to RESTful API gateway. You can do those through some third-party hardware providers, or you can write your own in Python, JavaScript, or some sort of scripting language. You can even write a C sharp (C#) service or a Java service, and have it run on the background on the server.
The problem with hard coding things is that if anything breaks, if anything gets out of whack, you're going to have to redo the service. They're difficult to maintain and watch, but the reality is, that's just sometimes what you have to do. So, you'd look up the SDK, figure out what the API supports, and then you would figure out how to write it.
Kind of hard to teach you that in a blog, to be honest, because it's a very visual thing. But I will tell you that if you Google, how to write APIs, or how to write to APIs, or how to write scripts for APIs, or how to write services to APIs, specifically focusing on JSON (JavaScript Object Notation) which is the most common format of writing or formatting data coming out of an API, then that would be pretty helpful, in my opinion for you. Now the reality is, most of you reading this are not going to have to do anything more than BACnet IP into your AV system or out of your AV system. However, there are the few of you who are going to have to work with APIs and just be cognizant that this is how you go about it.
Alright, folks, so that kind of brings us to the end. Hopefully, this gave you some ideas on audio-visual. So, if you would like to dive much deeper into system integration, or in the protocols, I encourage you to check out our BAS Protocol Bootcamp or MSI in a Box.
And remember, you can always go into the comment section at the bottom of the page and leave your thoughts on the topic. If you are interested in our courses, be sure to check them out at Smart Buildings Academy.
Thanks a ton for being here and I look forward to seeing you again soon! Take care!