# US 10,767,885 B2 · Building automation system with an energy optimization builder and generic data model designer

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,767,885 B2
- Document ID: US10767885B2
- Status: Granted
- Kind: B2
- Application number: 15/896,745
- Filed: 2018-02-14
- Published: 2018-09-13
- Granted: 2020-09-08
- Earliest claimed: 2017-03-09
- Assignees: Johnson Controls Technology Company
- Applicants: Johnson Controls Technology Company
- Inventors: Andrew J. Przybylski; Todd Schluechtermann; John H. Burroughs; Jon T. Mueller; Michael J. Wenzel; Matthew J. Ellis
- Web page: https://patentgrep.com/patent/US10767885B2

## CPC

- F24F 11/52: Indication arrangements, e.g. displays
- F24F 11/32: Responding to malfunctions or emergencies
- F24F 11/47: Responding to energy costs
- F24F 11/88: Electrical aspects, e.g. circuits
- G05B 15/02: electric
- G05B 19/0426: {Programming the control sequence}
- G05B 19/41885: {characterised by modeling, simulation of the manufacturing system}
- G06F 3/04817: using icons (graphical or visual programming using iconic symbols G06F8/34)
- G06F 3/0484: for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F 3/04847: Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
- G06F 8/20: Software design
- G06F 8/34: Graphical or visual programming
- G06F 8/35: model driven
- G06F 8/45: {Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions}
- G06F 8/60: Software deployment
- G06F 9/28: Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
- G06F 9/4494: {data driven}
- G06F 9/451: Execution arrangements for user interfaces
- G06F 9/45512: {Command shells}
- G06F 9/5016: {the resource being the memory}
- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 9/505: {considering the load}
- G06F 9/5066: {Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs (mappping at compile time, see G06F8/451)}
- G06F 11/0757: {by exceeding a time limit, i.e. time-out, e.g. watchdogs}
- G06F 11/2025: {using centralised failover control functionality}
- G06F 11/2028: {eliminating a faulty processor or activating a spare}
- G06F 11/3006: {where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50)}
- G06F 11/3058: {Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations (thermal management in cooling arrangements of a computing system G06F1/206)}
- H04L 12/2803: {Home automation networks}
- H04L 12/2809: {indicating that an appliance service is present in a home automation network (monitoring functionality H04L43/0817; discovery or management thereof, e.g. service location protocol [SLP] or web services, H04L67/51)}
- H04L 12/2812: {describing content present in a home automation network, e.g. audio video content (retrieval from the Internet G06F16/95)}
- H04L 12/2816: {Controlling appliance services of a home automation network by calling their functionalities (arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station; in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom H04Q9/00)}
- H04L 12/2818: {from a device located outside both the home and the home network (access arrangements H04L12/2856; for remote control or remote monitoring of applications H04L67/025; arrangements for transmitting signals characterised by the use of a wireless eletrical link G08C17/00; telephonic communication systems adapted for combination with remote control systems H04M11/007)}
- H04L 12/2823: {Reporting information sensed by appliance or service execution status of appliance services in a home automation network (device-related reporting H04L43/065; arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom H04Q9/00)}
- H04L 12/2825: {Reporting to a device located outside the home and the home network (access arrangements H04L12/2856; for remote control or remote monitoring of applications H04L67/025; telephonic communication systems adapted for combination with telemetering systems H04M11/002)}
- H04L 12/283: {Processing of data at an internetworking point of a home automation network}
- H04L 12/2834: {Switching of information between an external network and a home network (access arrangements H04L12/2856)}
- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- H04L 63/0823: {using certificates (cryptographic mechanisms or cryptographic arrangements for entity authentication involving certificates H04L9/3263)}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/125: involving control of end-device applications over a network
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04L 67/63: Routing a service request depending on the request content or context
- G05B 2219/2614: HVAC, heating, ventillation, climate control
- G05B 2219/2642: Domotique, domestic, home control, automation, smart house
- G06F 9/465: {Distributed object oriented systems (remote method invocation [RMI] G06F9/548)}
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- G06F 11/0784: {Routing of error reports, e.g. with a specific transmission path or data flow}
- G06F 11/2033: {switching over of hardware resources}
- G06F 11/3447: {Performance evaluation by modeling}
- G06F 11/3495: {for systems}
- G06F 11/362: Debugging of software
- G06F 2209/508: Monitor
- G06F 2209/522: Manager
- G06F 2212/1044: Space efficiency improvement
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L 2012/285: {Generic home appliances, e.g. refrigerators}
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- F24F: AIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING (removing dirt or fumes from areas where they are produced B08B15/00; vertical ducts for carrying away waste gases from buildings E04F17/02; tops for chimneys or ventilating shafts, terminals for flues F23L17/02)
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

A building management system for generating a building model for a building and operating building equipment of the building based on the building model. The system includes a processing circuit configured to receive a context, wherein the context includes metadata defining the building model for the building and generate a building model editor interface for viewing and editing the received context, wherein the building model interface includes building elements for the building model, wherein the building elements are based on the received context and represent the building equipment. The processing circuit is configured to receive user edits of the context via the building model interface, wherein the user edits include edits to the building elements, generate an updated context based on the user edits of the context, and deploy the updated context to control environmental conditions of the building with the building equipment based on the updated context.

## Claims

### Claim 1

A building management system for generating a building model for a building and operating building equipment of the building based on the building model, wherein the building management system comprises a processing circuit configured to:
receive a context, wherein the context comprises metadata defining the building model for the building;
generate a building model editor interface for viewing and editing the context, wherein the building model editor interface comprises building elements for the building model, wherein the building elements are based on the context and represent the building equipment;
receive user edits of the context via the building model editor interface, wherein the user edits comprise edits to the building elements;
generate an updated context based on the user edits of the context; and
deploy the updated context to control environmental conditions of the building with the building equipment based on the updated context.

### Claim 2 (depends on 1)

The system of claim 1, wherein the processing circuit is configured to:
display the building model editor interface on a display of a user device, wherein the building model editor interface comprises a canvas for displaying the building elements of the context and a palate for displaying potential building elements for the context;
receive a command to place one of the potential building elements of the palate on the canvas from the user device, wherein the potential building elements and the building elements each indicate at least one of a utility that generates a resource, the resource, and a sub-plant that consumes the resource and generates another resource;
receive connections between the building elements from the user device; and
generate the updated context based on placements of the building elements and the connections between the building elements.

### Claim 3 (depends on 2)

The system of claim 2, wherein the potential building elements are based on the context, wherein the potential building elements are generated based on possible building elements indicated by the context;
wherein the connections between the building elements are controlled by the context, wherein the building management system allows some connections but not other connections based on allowed connections allowed by the context.

### Claim 4 (depends on 2)

The system of claim 2, wherein the processing circuit is configured to:
receive an interaction with one building element of the canvas from the user device;
display an attribute interface on the building model editor interface, wherein the attribute interface comprising attribute options for the one building element;
receive an adjustment to the attribute options from the user device; and
generate the updated context based on the adjustment to the attribute options.

### Claim 5 (depends on 4)

The system of claim 4, wherein the attribute options comprise an out of service date range, wherein the out of service date range indicates a period of time that the one building element will not be operating.

### Claim 6 (depends on 4)

The system of claim 4, wherein the attribute options for the one building element are based on allowed attribute options for an associated element defined by the context;
wherein the processing circuit is configured to:
determine the allowed attribute options for the one building element based on the context; and
cause the attribute options to be the allowed attribute options.

### Claim 7 (depends on 6)

The system of claim 6, wherein the processing circuit is configured to display connection wires between the building elements based on the connections, wherein the connection wires indicate a flow of a particular resource between the building elements, wherein the connection wires comprise a color associated with a type of the particular resource.

### Claim 8 (depends on 6)

The system of claim 6, wherein the processing circuit is configured to:
generate an optimization problem based on the user edits of the context;
perform the optimization problem to generate control settings for the building equipment; and
operate the building equipment based on the control settings.

### Claim 9 (depends on 8)

The system of claim 8, wherein the processing circuit is configured to generate the optimization problem based on the user edits of the context by generating optimization constraints based on the user edits of the context;
wherein the processing circuit is configured to perform the optimization problem to generate the control settings for the building equipment by performing the optimization problem with the optimization constraints.

### Claim 10 (depends on 9)

The system of claim 9, wherein the processing circuit is configured to generate the optimization constraints based on the user edits of the context by generating the optimization constraints based on the command to place the building elements of the palate on the canvas, the connections between the building elements, and the adjustment to the attribute options.

### Claim 11

A method for generating a building model for a building by a building management system for operating building equipment of the building, the method comprising:
receiving, via the building management system, a context, wherein the context comprises metadata defining the building model for the building;
generating, via the building management system, a building model editor interface for viewing and editing the context, wherein the building model editor interface comprises building elements for the building model, wherein the building elements are based on the context and represent the building equipment;
receiving, by the building management system, user edits of the context via the building model editor interface, wherein the user edits comprise edits to the building elements;
generating, by the building management system, an updated context based on the user edits of the context; and
deploying, by the building management system, the updated context to control environmental conditions of the building with the building equipment based on the updated context.

### Claim 12 (depends on 11)

The method of claim 11, wherein the method further comprises:
displaying, by the building management system, the building model editor interface on a display of a user device, wherein the building model editor interface comprises a canvas for displaying the building elements of the context and a palate for displaying potential building elements for the context;
receiving, by the building management system, a command to place one of the potential building elements of the palate on the canvas from the user device, wherein the potential building elements and the building elements each indicate at least one of a utility that generates a resource, the resource, and a sub-plant that consumes the resource and generates another resource;
receiving, by the building management system, connections between the building elements from the user device; and
generating, by the building management system, the updated context based on placements of the building elements and the connections between the building elements.

### Claim 13 (depends on 12)

The method of claim 12, wherein the potential building elements are based on the context, wherein the potential building elements are generated based on possible building elements indicated by the context;
wherein the connections between the building elements are controlled by the context, wherein the building management system allows some connections but not other connections based on allowed connections allowed by the context.

### Claim 14 (depends on 12)

The method of claim 12, the method further comprising:
receiving, by the building management system, an interaction with one building element of the canvas from the user device;
displaying, by the building management system, an attribute interface on the building model editor interface, wherein the attribute interface comprising attribute options for the one building element;
receiving, by the building management system, an adjustment to the attribute options from the user device; and
generating, by the building management system, the updated context based on the adjustment to the attribute options.

### Claim 15 (depends on 14)

The method of claim 14, wherein the attribute options for the one building element are based on allowed attribute options for an associated element defined by the context;
wherein the method further comprises:
determining, by the building management system, the allowed attribute options for the one building element based on the context; and
causing, by the building management system, the attribute options to be the allowed attribute options.

### Claim 16 (depends on 14)

The method of claim 14, wherein the method further comprises:
generating, by the building management system, an optimization problem based on the user edits of the context;
performing, by the building management system, the optimization problem to generate control settings for the building equipment; and
operating, by the building management system, the building equipment based on the control settings.

### Claim 17 (depends on 16)

The method of claim 16, wherein generating, by the building management system, the optimization problem based on the user edits of the context comprises generating optimization constraints based on the user edits of the context;
wherein performing, by the building management system, the optimization problem to generate the control settings for the building equipment comprises performing the optimization problem with the optimization constraints.

### Claim 18 (depends on 17)

The method of claim 17, wherein generating, by the building management system, the optimization constraints based on the user edits of the context comprise generating the optimization constraints based on the command to place the building elements of the palate on the canvas, the connections between the building elements, and the adjustment to the attribute options.

### Claim 19

A non-transitory computer readable medium having machine instructions stored therein, the instructions being executable by a processor of a building management system of a building to perform operations, the operations comprising:
receiving a context, wherein the context comprises metadata defining a building model for the building;
generating a building model editor interface for viewing and editing the context, wherein the building model editor interface comprises building elements for the building model, wherein the building elements are based on the context and represent building equipment of the building;
receiving user edits of the context via the building model editor interface, wherein the user edits comprise edits to the building elements;
generating an updated context based on the user edits of the context;
deploying the updated context to control environmental conditions of the building with the building equipment based on the updated context;
generating an optimization problem based on the user edits of the context;
performing the optimization problem to generate control settings for the building equipment; and
operating the building equipment based on the control settings.

### Claim 20 (depends on 19)

The non-transitory computer readable medium of claim 19, wherein the operations further comprise:
displaying the building model editor interface on a display of a user device, wherein the building model editor interface comprises a canvas for displaying the building elements of the context and a palate for displaying potential building elements for the context;
receiving a command to place one of the potential building elements of the palate on the canvas from the user device, wherein the potential building elements and the building elements each indicate at least one of a utility that generates a resource, the resource, and a sub-plant that consumes the resource and generates another resource;
receiving connections between the building elements from the user device;
generating the updated context based on placements of the building elements and the connections between the building elements; and
generating optimization constraints based on the user edits of the context by generating the optimization constraints based on the command to place the building elements of the palate on the canvas, the connections between the building elements, and an adjustment to attribute options.
