BMS to Brick model converter

735 views
Skip to first unread message

chi hung chung

unread,
Jul 22, 2020, 8:24:10 AM7/22/20
to Brick User Forum (Unified Building Metadata Schema)
I have some meta data from BMS and want to convert to brick model, does anyone have experience to convert any meta data to Brick model? Also I saw some conversion tools will be available soon in Brick official website, can I get more information about that? Thanks! 

Brian Smith

unread,
Jul 22, 2020, 2:57:25 PM7/22/20
to Brick User Forum (Unified Building Metadata Schema)
I know there is a project called Plaster that is/was affiliated with Brick, but I'm struggling to find a canonical source for that project. I'd encourage anyone to chime in there.

Personally, I've had a lot of success using some basic NLP techniques to identify and categorize points. Specifically, building a good library of norms and incorporating that into a solid tokenization process seems to do a good bit of the lifting. From there, I'd probably look into training a basic ML model (we've used a neural net in the past) using those tokens as inputs to categorize them effectively.

Gabe Fierro

unread,
Jul 22, 2020, 4:25:58 PM7/22/20
to Brian Smith, Brick User Forum (Unified Building Metadata Schema)
The authoritative source for Plaster is at https://github.com/plastering/plastering but I've never had any luck getting it to work. I've had the most success approaching the problem similar to how Brian suggested: use regular expressions and simple feature extraction functions to produce tokens that can be used in a classification process. One effective approach I've been using more recently is a decision tree based approach, where I choose Brick classes based on certain subsets of the features. This can be customized to the particular metadata convention for the site you're working with.

I've been working on the Brickschema Python package (https://brickschema.readthedocs.io/en/latest/) which has some inference capabilities for working with Project Haystack. I'm currently working on incorporating arbitrary Brick conversion methods into a unified framework; more info on that in a few weeks once the initial release is ready.

I'd be happy to do a dedicated Zoom/hangouts meeting to go over some of these techniques --- maybe we can get some collaboration on developing a turn-key ML based approach for producing Brick models from BMS labels + timeseries data? It would be great to leverage many of the research techniques  that are being developed at places like University of Virginia and UCSD as well as incorporate existing and effective but "not publishible" methods. I can also devote some development cycles to help get something working, but this would be much more effective and quicker if there was some collaboration. Would anyone be interested in helping out with that? I can organize a meeting for next week.

Gabe

--
You received this message because you are subscribed to the Google Groups "Brick User Forum (Unified Building Metadata Schema)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to brickschema...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/brickschema/6008522b-710f-40ae-ab67-f44a43ea1982n%40googlegroups.com.

gt.f...@berkeley.edu

unread,
Jul 22, 2020, 5:57:18 PM7/22/20
to Brick User Forum (Unified Building Metadata Schema)
Hi all:

Please fill out this when2meet so we can pick a meeting time within the next few weeks: https://www.when2meet.com/?9415590-fcbBA

My initial thoughts would be to develop a general tool / framework for building tools and assemble a handbook of techniques for performing the BMS -> Brick conversion (along with other structured metadata formats) This could involve (a) donating (anonymized) BMS labels to help in testing, (b) helping to contribute development cycles to creating the conversion tool, (c) providing feedback on the techniques / documentation, or really any other kind of participation. Feel free to forward around to see if other folks are interested!

Best,
Gabe

gt.f...@berkeley.edu

unread,
Jul 24, 2020, 1:49:10 AM7/24/20
to Brick User Forum (Unified Building Metadata Schema)
Hi everyone:

There wasn't a perfect time for everyone, but August 5th 10-11am Pacific Time is the proposed meeting time. We'll see how this goes with putting the Zoom info right in the email (see below)

Looking forward to speaking with you all! Please shoot me a note if there is something specific you would like to cover, else the agenda will mostly focus on gathering techniques, frameworks and initial scoping of the project.

Best,
Gabe

Topic: BMS - Brick Conversion Effort
Time: Aug 5, 2020 10:00 AM Pacific Time (US and Canada)

Join Zoom Meeting
https://berkeley.zoom.us/j/95156616380?pwd=eDhmZEkvdWdySFQzY3RaZFh2S3RjQT09

Meeting ID: 951 5661 6380
Passcode: 634569
One tap mobile
+16692192599,,95156616380# US (San Jose)
+16699006833,,95156616380# US (San Jose)

Dial by your location
        +1 669 219 2599 US (San Jose)
        +1 669 900 6833 US (San Jose)
        +1 213 338 8477 US (Los Angeles)
        +1 720 928 9299 US (Denver)
        +1 971 247 1195 US (Portland)
        +1 206 337 9723 US (Seattle)
        +1 253 215 8782 US (Tacoma)
        +1 346 248 7799 US (Houston)
        +1 602 753 0140 US (Phoenix)
        +1 470 381 2552 US (Atlanta)
        +1 646 518 9805 US (New York)
        +1 646 558 8656 US (New York)
        +1 651 372 8299 US (St. Paul)
        +1 786 635 1003 US (Miami)
        +1 267 831 0333 US (Philadelphia)
        +1 301 715 8592 US (Germantown)
        +1 312 626 6799 US (Chicago)
        +1 470 250 9358 US (Atlanta)
Meeting ID: 951 5661 6380
Find your local number: https://berkeley.zoom.us/u/abMFnwBnbh

Join by SIP
95156...@zoomcrc.com

Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
221.122.88.195 (China)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (EMEA)
103.122.166.55 (Australia)
209.9.211.110 (Hong Kong SAR)
64.211.144.160 (Brazil)
69.174.57.160 (Canada)
207.226.132.110 (Japan)
Meeting ID: 951 5661 6380
Passcode: 634569


gt.f...@berkeley.edu

unread,
Aug 6, 2020, 5:01:45 PM8/6/20
to Brick User Forum (Unified Building Metadata Schema)
Hi all:

Thanks for attending this initial meeting on producing Brick models from existing metadata sources. It was great to see so much interest from the community, and I'm confident that together we can create a solution that works for all of us.

Please send me an email if you have building labels to contribute (anonymous or otherwise) and/or would like to contribute development cycles. As the tool/framework shapes up, there will be need for testing on whatever internal data you have available. I will start organizing the technical development starting next week. We will continue to work offline, but tentatively lets meet in 3 weeks at the same time: Wednesday, Aug 26th @ 10am Pacific, Zoom link is https://berkeley.zoom.us/j/95156616380? pwd=eDhmZEkvdWdySFQzY3RaZFh2S3RjQT09

I wanted to link a few papers related to the problem in case anyone wanted to take a look:

Brick/tags metadata inference:

Type classification of sensors:

As always, feel free to email me questions/comments.

Best wishes and stay safe!

Gabe

gt.f...@berkeley.edu

unread,
Aug 25, 2020, 3:56:41 PM8/25/20
to Brick User Forum (Unified Building Metadata Schema)
Hi everyone:

Quick reminder that there will be a call tomorrow (same Zoom link: https://berkeley.zoom.us/j/95156616380?pwd=eDhmZEkvdWdySFQzY3RaZFh2S3RjQT09) to discuss next steps.

I will present some of my thoughts for how to organize development, Erik Paulson from JCI will show some of his explorations with OpenRefine, and I will show a little demo for how that can help populate a Brick model.

Looking forward to seeing you all!

Best,
Gabe

Chuck Han

unread,
Aug 25, 2020, 8:33:14 PM8/25/20
to gt.f...@berkeley.edu, Brick User Forum (Unified Building Metadata Schema)
Any chance this session can be recorded?  I have a conflict but would very-much want to see the session.

Thanks, Chuck

Gabe Fierro

unread,
Aug 26, 2020, 12:32:31 PM8/26/20
to c...@stanfordalumni.org, Brick User Forum (Unified Building Metadata Schema)
Hi all:

I forgot to mention the time of the meeting, which is the same as last time: 10am Pacific. Due to a change in UC Berkeley's Zoom policy, you will need to be logged into a Zoom account in order to attend. If this is a problem for anyone, we can switch to a Google Hangouts or some other platform, so let me know! I can definitely record the meeting following a quick poll of the participants to see if that is an issue for anyone.

Talk to you all soon!

Best
Gabe

gt.f...@berkeley.edu

unread,
Aug 28, 2020, 5:07:37 PM8/28/20
to Brick User Forum (Unified Building Metadata Schema)
Hi everyone!

Thanks to everyone who attended the meeting and joined the discussion. I spent a little time getting some of the project organization together.


Contains links to the technologies discussed during the meeting and will contain links to all recorded meetings. Currently I am mirroring these on YouTube as unlisted videos; all links in the doc, so let me know if you have any issues accessing them.


I will start writing down the approach to the Brownfield-to-Brick conversion here. It would be great to have comments/additions/thoughts by you all so that this can be a living document that helps us plan out the development to be done. Request access to this document and I will share edit access with you.

Our next meeting is scheduled for September 16th, Wednesday, at 10am PT (same Zoom link, mirrored in the Administrivia Doc).

---

To get some discussion started: what did you all think of the OpenRefine + Brick Builder demo that we had in the call? Does the workflow feel good, or are there some good opportunities for automating  some parts of the process? Is there BMS data that would not fit well into that workflow?

Best,
Gabe

gt.f...@berkeley.edu

unread,
Sep 16, 2020, 2:52:09 AM9/16/20
to Brick User Forum (Unified Building Metadata Schema)
Hi everyone:

I've had a busy few weeks and did not have time to get more of the documents together for tomorrow. For the call, we can have a brief discussion of what should be in/out of scope for the development. Feel free to drop notes or thoughts in the documents linked above. Talk to you all tomorrow!

Best,
Gabe

Christopher Hitzel

unread,
Sep 25, 2020, 3:26:13 PM9/25/20
to Brick User Forum (Unified Building Metadata Schema)
Hello all,

I'm a bit of a latecomer to this thread. I just wanted to check in and see: is a date set for the next meeting?

Liam Considine

unread,
Sep 25, 2020, 4:02:49 PM9/25/20
to Brick User Forum (Unified Building Metadata Schema)
Yeah I am also quite interested to join the next meeting and get to know some of the folks involved. I am currently quite interested in the brick-server repo on github and am doing some experiments to see how my team may contribute/use learn from the BrickSchema RDF and beyond. 
-liam

Gabe Fierro

unread,
Sep 25, 2020, 4:29:32 PM9/25/20
to Liam Considine, Brick User Forum (Unified Building Metadata Schema)
Hi all:

Thanks for your interest! The next meeting is scheduled for October 7th @ 10am Pacific (using the Zoom link provided earlier in the thread). If you have responded in this thread I have added you to the calendar invite (if you did not receive an invite send me a separate email and I will add you).

As always, feel free to ask questions in the Google group, GitHub repo or by sending me an email directly.

Best,
Gabe

Greg Mulcahy

unread,
Sep 28, 2020, 7:38:46 PM9/28/20
to Brick User Forum (Unified Building Metadata Schema)
Gabe,

I'd like to be added to the calendar invite as well please.

A few items came up in the last meeting:
- Starting with a Python dictionary/lookup might be a good start for getting some sort of tool started as a representation of how to complete the OpenRefine steps of starting with BMS point names and exporting a CSV into Brick Builder.
(Would the current steps be to pull down a point list, parse it out in OpenRefine, process point associations in Python, then run it through Brick Builder?)
- Ideally there would be some sort of machine learning/predictive utility to associate names with certain point types, are there any suggested utilities that anyone is familiar with?

Some other thoughts on the scope of this effort:
- Is the core focus of this project to be able to associate BMS data into specific Brick 'Point' Classes?
- It also looks like Equipment, and Location classes would be part of the OpenRefine step before the potential CSV output [or whatever else would replace that part of the process]
- I'm not positive if this group discussion was a direct result of this discussion item, it has many of the same individuals involved: https://project-haystack.org/forum/topic/716, but would incorporating Project Haystack tags into the utility a core focus?

Thanks again,
Greg

cruger grug

unread,
Sep 30, 2020, 9:11:45 AM9/30/20
to Brick User Forum (Unified Building Metadata Schema)
El miércoles, 26 de agosto de 2020, 18:32:31 (UTC+2), Gabe Fierro escribió:
Hi all:

I forgot to mention the time of the meeting, which is the same as last time: 10am Pacific. Due to a change in UC Berkeley's Zoom policy, you will need to be logged into a Zoom account in order to attend. If this is a problem for anyone, we can switch to a Google Hangouts or some other platform, so let me know! I can definitely record the meeting following a quick poll of the participants to see if that is an issue for anyone.

Hi,
   There is an open source video conference system which, first it is open source :-)  second, does not require to open an account, I would rather use that if possible: https://meet.jit.si/
I think it is much better than walled garden stuff like zoom.

Cheers.
crc

Gabe Fierro

unread,
Oct 1, 2020, 3:34:17 PM10/1/20
to cruger grug, Brick User Forum (Unified Building Metadata Schema)
crc: I'm not a huge fan of Zoom but chose it because most folks are familiar with it. I would be open to trying an alternative video conference system that is more open. Its a little soon to change that for our next meeting on Oct 7th, but maybe others on the list can chime in with how they feel? We can certainly discuss this next week.

Hi Greg:

You should be added now! Let me know if you aren't.

I've been playing around with some approaches of using Python to do some of the processing of determining the Brick types. I've encapsulated some of this in an implementation of the reconciliation API here: https://github.com/gtfierro/brick-builder/tree/master/reconciliation-apis. I also recorded a 18-min video showing how to create a Brick model from point labels end-to-end: https://youtu.be/LKcXMvrxXzE which you may find helpful. I think the reconciliation API is a great way of incorporating the kinds of cleaning and inference techniques you mentioned.

There are some references to papers detailing ML-based approaches to doing this transformation near the top of this thread, but often times these efforts are grappling with parsing as well as classification. OpenRefine handles much of the parsing for us, so I think there is a role for some advanced predictive software to handle the classification after OpenRefine has identified which part of the label is relevant. You can also get pretty far with some simple encoding of BMS label conventions (e.g. https://github.com/gtfierro/brick-builder/blob/master/reconciliation-apis/abbrmap.py) which I use in the reconciliation API demo. Like we discussed last time, it might be a good approach to allow some upload/configuration of your labeling convention which can then be used to parse the points.

To your other thoughts on scope:
- the core focus of this project is to produce Brick models from BMS exports and other semi-structured 'brownfield' metadata. While we are focusing on Point labels as a data source, the goal is to be able to infer as much Brick metadata as possible from the available information, including but not limited to Point classes, Equipment classes, rooms, zones, structure of HVAC systems, etc.
- Equipment and Location can definitely be exported as part of the OpenRefine step! I do this in the YouTube video I linked above if you would like an example (the video description has some links to all of this)
- We have been working on automatic translation of unstructured metadata to Brick since ~2015, and I cite a few of those papers in the thread you linked. Because Haystack traditionally has no standardization of tags to concepts, we've been using inference techniques to perform the translation from Haystack to Brick (not yet the otherway around) using tools like https://brickschema.readthedocs.io/en/latest/. The process is documented in this paper: http://people.eecs.berkeley.edu/~gtfierro/papers/houseofsticks-frontiers-2020-Fierro.pdf . Haystack "protos" are a step in the right direction and as that effort settles down and coalesces we can explore the mapping between Brick classes and those protos. As it stands, I would not say that incorporating Project Haystack tags is a core focus of this specific effort, but compatibility with [[Project]] Haystack remains a long-term goal for Brick development efforts.

Hope that answers your questions!

Best,
Gabe

--
You received this message because you are subscribed to a topic in the Google Groups "Brick User Forum (Unified Building Metadata Schema)" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/brickschema/zY_zqh-Dz8Y/unsubscribe.
To unsubscribe from this group and all its topics, send an email to brickschema...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/brickschema/6acc4a3e-5851-49dc-863d-e8d7141894fao%40googlegroups.com.

gt.f...@berkeley.edu

unread,
Oct 5, 2020, 2:56:48 PM10/5/20
to Brick User Forum (Unified Building Metadata Schema)
Hi all:

Reminder that the next meeting is this Wednesday, Oct 7th, at 10am Pacific. If you are not on the calendar invite, please send me an email and I will be sure to add you!

We will be reviewing some recent work from JCI on applying NLP annotation/human-in-the-loop ML techniques for extracting metadata from BACnet points. We will also discuss the process I demoed in https://www.youtube.com/watch?v=LKcXMvrxXzE and talk through the application of the reconciliation API in https://github.com/gtfierro/brick-builder/tree/master/reconciliation-apis as a template for moving forward.

If you get a chance, please try out the OpenRefine workflow (with or without the reconciliation API) described in the videos that Erik and I have done. Would be fantastic to hear some of your experiences with the tool.

Best,
Gabe

David Diez-Perez

unread,
Oct 7, 2020, 12:50:31 PM10/7/20
to Brick User Forum (Unified Building Metadata Schema)
Hi Gabe. If it's not too late, can you also add me to the calendar invitation for today's meeting and the future ones, please? Thanks!  David

gt.f...@berkeley.edu

unread,
Oct 23, 2020, 6:33:57 PM10/23/20
to Brick User Forum (Unified Building Metadata Schema)
Hi all:

Reminder that the next meeting is next week: Wednesday, Oct 28th, at 10am Pacific. If you are not on the calendar invite, please send me an email and I will be sure to add you!

In advance of the meeting, please give OpenRefine + BrickBuilder a try with some of your own data (or one of the point label files here: http://data.mortardata.org.s3-website-us-west-1.amazonaws.com/metadata) and keep track of the experience --- what worked, what didn't, what could be better, etc. Remember the tutorial I made is here and the Brick Builder tool and reconciliation server are located here. Let me know if you run into any problems getting it working! I'd like to have a discussion about how close this tool/approach is to what we could consider a usable tool, and what work we would need to do. If we don't end up going this direction, that's ok --- my intention is that this tool (at least) serves to make our goals more concrete.

We will also have a short demo/discussion around the work that Erik Paulson has been doing --- see recent posts on this Google Group (https://groups.google.com/g/brickschema/c/r2br01gpyI4/m/S4qpLJFXDQAJ and https://groups.google.com/g/brickschema/c/HkfDS36aWc0/m/bOP1QCiXAgAJ)

As always, let me know if there's anything specific you'd like to discuss and I'll make sure we have time for it.

Best,
Gabe

gt.f...@berkeley.edu

unread,
Nov 3, 2020, 2:09:19 PM11/3/20
to Brick User Forum (Unified Building Metadata Schema)
Hi all:

Because the BuildSys 2020 conference is concurrent with our next meeting (registration is free! Highly recommend attending virtually: http://buildsys.acm.org/2020/registration/. Very cool mix of Civil/mechanical/computer science researchers and practitioners typically attend) we'll be changing the schedule up slightly for the next few weeks.

Next Wednesday, Nov 11th at 10am PST, I will be holding "Brick Office Hours" for ~90 minutes. Come with questions/comments/complaints about anything Brick related! Zoom link is https://berkeley.zoom.us/j/93689062020 with a password of "brickify".

Regular meetings of this group will continue on Wednesday, Dec 2nd at 10am PST (the usual time). This should be updated on your calendars. In the meantime, I will be continuing to work on the Brick Builder reconciliation API (https://github.com/gtfierro/brick-builder/tree/master/reconciliation-apis). I have updated the documentation to include installation instructions for the reconciliation API server, so please let me know how those work for you.

Also a note: we've published a paper at BuildSys 2020 that presents a system/method for producing Brick models from existing structured representations (gbXML, Haystack, Modelica and BuildingSync). You can read it here (http://people.eecs.berkeley.edu/~gtfierro/papers/shepherding2020fierro.pdf) and come to the conference if you'd like to see the talk and demo, as well as speak with the other attendees.

Best,
Gabe

gt.f...@berkeley.edu

unread,
Dec 2, 2020, 3:05:10 AM12/2/20
to Brick User Forum (Unified Building Metadata Schema)
Hi all:

I had less time over the holiday than I expected, so I didn't assemble a specific agenda. Sorry about that!

I will be spending tomorrow, Dec 3rd at 10am PST (the usual time) developing the technical roadmap for the Brick conversion effort. I want to explicitly lay out the scope of what the tool/system will do, and lay out the discrete development and testing steps that will need to be executed. Please drop in if you have any thoughts about the process, want to contribute or have any questions about Brick in general.

Best,
Gabe

gt.f...@berkeley.edu

unread,
Jan 12, 2021, 12:19:03 PM1/12/21
to Brick User Forum (Unified Building Metadata Schema)
Hi everyone:

Happy New Year!

Tomorrow at 10am Pacific is the first "Brownfield to Brick" meeting of the new year. While the next wave of Brick-creation tools is still under development,  I will be holding informal Brick office hours. Come with questions on creating your own Brick models, experiences with existing tools, nice-to-have features, and general questions and feedback on Brick. Also, be sure to check out the new developer-focused documentation for Brick, available at https://docs.brickschema.org.

See you tomorrow!

Gabe
Reply all
Reply to author
Forward
0 new messages