Anyone have any suggestions on how to pull bacnet data into influx? Can anyone recommend an edge device for this?
Wondering if anyone is looking into this topic again? BACNET is still holding on in a lot of older facilities and even some newer ones and I find myself still looking for an “easy” solution here. Additional plugins have been made available for telegraf to include things like MODBUS and MQTT already which is great would be nice if there were also a BACNET plugin here as well for either MSTP or IP. Serial / IP → Device Instance / address → data type (AI/AV/BV/MSV) → object_id. Results returned via influx output plugin. Example deployment DIN Rail Mounted PC → spin up local instance of telegraf → configure BACNET plugin for data to collect → configure influx output plugin to centralized influxdb for further processing.
Easy answer: Someone has to write a BACNET Plugin for Telegraf
There are two options:
- Write a native Telegraf plugin in the Go language.
- Write an external plugin
inputs.execdwith the programming language of your choice.
I personally would go for option (2) and write it in python, because i am much more experienced with python and not very fluent in the Go language yet. But that’s up to you.
And i would not reinvent the wheel and would try to find some existing libraries for bacnet.
For the Go language:
For Python, google for
python bacnet and you will find some useful links.
You nailed it! Haha. I suppose the question was more around if the “someone” existed already since it’s clearly not me. Little googling turns up only a couple things none of which seem to be under development at this point. There are ways to work around it for sure but it sure would be nice to have a way to utilize the same telegraf framework for multiple protocols up to and including the PITA BACNET. Appreciate the input though I suppose I will have to look into them a bit more as well.
Its funny to hear people say BACNet is still holding on in older facilities. It is actually the most commons BAS Communications protocol for anything that is not Industrial.
Most industrial plants use MODBUS, most building control / energy management systems on the market are BACnet.
MODBUS is a 40+yo protocol. It is very difficult to work with compared to BACnet.
I for one would love to see a BACNet plug-in but I am not skilled enough to write it.
BACNET is still everywhere and much like MODBUS will probably be around for another 40 years. That is exactly why I am still interested in and surprised really that this has not already been created? Seems to me at least this would be a great use case for telegraf to slide into existing building automation networks that utilize BACNET heavily, consume this large data source, and expose it back out to newer / more accessible time series DBs such as influx. I too however am not skilled enough to write it myself. Keep searching everyday hoping one of these days enough other people want to see the same thing.