BACnet Support

There is a wrapper app for bacpypes that makes things very easy…Welcome to BACØ - BACnet Test Tool — BAC0 documentation

For example to setup polling on a device or many devices, make BACnet read/writes on a few lines of code.

How would one embed such a thing inside Home Assistant? Is Home Assistant asyncio based? or does it follow some sort of structure or theme?

1 Like

Just flagging up that I would be interested in this, we have a Daikin VRV which uses BACNet.

I don’t see field techs doing HomeAssistant deployments. There is a long way to go as compared to Igmition, Metasys or the like

Home Assistant is unlikely to display Johnson, Honeywell, Siemens, or others. But that’s not the point. Yes, this industry uses pre-canned routines to set up control sequences. It’s very easy. Home Assistant is NOT easy. But, nevertheless, HA has an opportunity to supplement building automation systems - to save energy, improve comfort, and especially improve IAQ.

I’m using Grafana running on HA to serve up 5 million data points collected over 6 months within 3 seconds. Switching from MySQL to InfluxDB makes the difference. Time to display is important because the relationships between data points are the key to understanding building HVAC operating problems. Swipe the points of interest and zoom in for closer look within a 1 second response. Take a close look at today’s BAS frontends and think :1990s look, feel, and performance. Home Assistant is “cool” compared to the typical JACE.

The problem I’m having is retrieving hundreds of points from frontends over BACnet/IP. In prior years I was able to use Mango Automation for small data sets. But to optimize 100+ VAV boxes in larger buildings, you need to collect several thousand data points every few minutes. And to be useful within HA the data needs to move via MQTT.

I’ve found several Github code options, and I’m working with them now, but this is a steep hill to climb. Any help would be welcome.

One day RS-485 will go away and we’ll rely on 5G (or 6G) to connect with HVAC controllers throughout a large building. Until then we need to an effective way to move BACnet/IP data to Home Assistant using MQTT.

Comments?

4 Likes

Mike:
I’m looking for a project to stop my brain from going stale and started looking at BACNet yesterday after discovering my new Mitsubishi HP has an optional BACNet interface. I’m still at the point of circling around the problem and trying to decide if a direct HA integration makes sense, or to do something with MQTT. Drop me a DM if you want to discuss/collaborate. I have 30+ years in software - mostly C so python is a bit new, but how hard can it be…

2 Likes

I would be up for helping support / test…

There are bacnet “sniffers” or as they call them “trojan” boxes (generally a raspberry pi, that collect bacnet and can then expose over mqtt. Ping me if I can help

I literally am that school IT guy and I would love to do this.

I’m currently interacting with bacnet stuff using Shelly relays, but talking to them directly would be way more awesome.

I would also like to support any testing. I have a Jonson Controls Metasys Floor Heating unit using NCE and FEC, so this project will be most welcome.

LG’s CRC thermostat also supports BACnet integration and I would definitely be onboard for supporting testing of a BACnet solution.

How can you implement BACnet with NodeRed?

How did you implement BACnet into NodeRed in Home Assistant?

What we did was use a iq vision machine (Trend) and then added the MQTT module to that. The box then sends all the topics for the various protocols it handles (MODBUS, Bacnet etc)

I’m tired of the restrictions placed on BACnet by the major TC vendors supplying building automation technology. The way some BAS contractors have implemented building BAS systems they purposefully hide BACnet from outside third parties. It’s also important to note that not all BAS vendors use BACnet too. However, my experience is that those that do use BACnet at their frontend products (JACE) are required to purchase a license that opens access to BACnet data. (Yes, I know building automation is not the usual place to discuss this topic.)

So I’m thinking of screen scraping existing BAS web content for real-time data. (I realize this effort might not be of much interest to those working with a few BACnet devices.)

Any interest?

I’ve been searching for reliable BACNet integration for Home Assistant for a while. My goal was to subscribe for COV and being able to write into other BACNet points such as setpoints or enable. I’ve got Siemens PXC controller which is pure BACNet.
My solution for the time being is by using two Node-Red modules:
node-bacnet-contrib-extended (node) - Node-RED (Reading points with COV Subscription, but this is quite limited and can’t do many points unfortunately)
node-red-contrib-bacnet (node) - Node-RED (Writing to points using BACNet command. Again, limited to few connections)

I am sending the data to Home Assistant over Node-Red’s integration.

The ideal solution would be a BACNet-MQTT gateway, but they are quite expensive. Although, I’ve found an interesting piece of software that can transfer the Raspberry Pi into a gateway. I’m talking about:

My biggest issue with it is that I don’t know how to set it up. Was wondering if any of you has used it in the past and could give me some hints on creating BACNet and MQTT device services in it.

Hey,

I wanted to share a little something I made.
It’s a BACnet add-on that can scan and detect devices on the local network. It’s pretty simple, but has a complementary integration that can display points as entities in the frontend.
It supports the most basic BACnet objects like Analog Input, Output, Value, etc.
The add-on is basically a Python script using the old BACpypes library, combined with FastAPI to allow it to be accessed from the outside. The integration will connect through a websocket and send data back and forth.
I didn’t have that many test opportunities yet, so I can’t guarantee it’ll function well.
The add-on repository can be added to your Home Assistant add-on store, and the integration can be installed locally. You’ll just have to add it manually (for now).
Branding of the add-on is because it’s made for Bepacom :grin:

BACnet addon

Just let me know if there’s any problems if you try. I’ll try to help fix it.

7 Likes

My client is going to hit the roof as he just forked out over £2k for a trend MQTT licence!!

This looks good, I will give it a go and let you know how I get on…

This is a great, very reliable and super easy to setup solution. Got it setup with some support on days and works just like a charm!

Guys, you must give it a try!

Great looking integration with all my devices listed out, but the only problem i have is the link to the API Docs just shows 403 forbidden with nginx underneath. Any help would be appreciated.

I just pushed an update that should fix this. The issue was that I didn’t know how to make docs appear through Home Assistant’s ingress. It’d always try to use the wrong IP address and not ingress. I made the add-on pull the ingress address from Home Assistant and now it’s using it internally as well. While testing for me it works.
Hopefully it’s fixed now for everyone!

Thanks very much for pushing the update through. It works well on my end, I’ve just got to work out how to subscribe to points and then make them entities.

Once again very cool and great work.