SMART ENTITY MANAGEMENT FOR BUILDING MANAGEMENT SYSTEMS
One or more non-transitory computer readable media contain program instructions that, when executed by one or more processors, cause the one or more processors to perform operations including: generating a database of interconnected smart entities including object entities representing each of a plurality of objects associated with one or more buildings and the plurality of objects each representing a space, person, building subsystem, and/or device, and data entities representing data generated by the objects, the smart entities being interconnected by relational objects indicating relationships between the object entities and the data entities; receiving data from a first object of the plurality of objects; determining a second object from a relational object for the first object based on the received data; and modifying a data entity connected to an object entity of the second object within the database of smart entities based on the received data for the first object.
1 - 20 . (canceled)
21 . A building system comprising one or more storage media storing instructions thereon that, when executed by one or more processors, cause the one or more processors to:
generate a smart entity database comprising object entities representing objects of a building, data entities representing data associated with the objects, and relational objects indicating relationships between the object entities and the data entities;
receive data associated with an object of the objects;
identify an object entity of the object entities representing the object responsive to receiving the data;
identify a data entity of the data entities by identifying a relational object of the relational objects relating the object entity with the data entity; and
modify the data entity based on the data received from the object.
22 . The building system of claim 21 , wherein the instructions cause the one or more processors to:
modify the data entity by:
identifying a dynamic attribute in the data that is associated with the object entity; and
storing a value of the data corresponding to the dynamic attribute in the data entity.
23 . The building system of claim 21 , wherein the relational object semantically defines a connection between the data entity and the object entity.
24 . The building system of claim 21 , wherein the object entities are associated with a static attribute to identify the object entity, a dynamic attribute to store a data point associated with the object entity that changes over time, and a behavioral attribute that defines an expected response of the object entity to an input.
25 . The building system of claim 24 , wherein the data entity is configured to store the dynamic attribute of the object entity.
26 . The building system of claim 21 , wherein the instructions cause the one or more processors to:
identify a second object entity of the object entities representing a second object of the building;
identify that the relational object relates the second object entity with the data entity and identify a second relational object of the relational objects relating the object entity and the second object entity; and
modify the data entity responsive to identifying the relational object and the second relational object.
27 . The building system of claim 26 , wherein the object is a temperature sensor and the data entity is configured to store an ambient temperature value of a space represented by the second object entity based on ambient temperature data received from the temperature sensor.
28 . The building system of claim 26 , wherein the object is an access control device and the second object is a person associated with the building in which the access control device is located.
29 . The building system of claim 28 , wherein the data entity is configured to store a location attribute of the person based on access control data received from the access control device.
30 . The building system of claim 29 , wherein the instructions cause the one or more processors to:
create a shadow entity to store historical values of the access control data received from the access control device; and
calculate an average arrival time of the person from the historical values stored in the shadow entity.
31 . A method comprising:
generating, by one or more processing circuits, a smart entity database comprising object entities representing objects of a building, data entities representing data associated with the objects, and relational objects indicating relationships between the object entities and the data entities;
receiving, by the one or more processing circuits, data associated with an object of the objects;
identifying, by the one or more processing circuits, an object entity of the object entities representing the object responsive to receiving the data;
identifying, by the one or more processing circuits, a data entity of the data entities by identifying a relational object of the relational objects relating the object entity with the data entity; and
modifying, by the one or more processing circuits, the data entity based on the data received from the object.
32 . The method of claim 31 , comprising:
modifying, by the one or more processing circuits, the data entity by:
identifying a dynamic attribute in the data that is associated with the object entity; and
storing a value of the data corresponding to the dynamic attribute in the data entity.
33 . The method of claim 31 , wherein the relational object semantically defines a connection between the data entity and the object entity.
34 . The method of claim 31 , wherein the object entities are associated with a static attribute to identify the object entity, a dynamic attribute to store a data point associated with the object entity that changes over time, and a behavioral attribute that defines an expected response of the object entity to an input.
35 . The method of claim 34 , wherein the data entity is configured to store the dynamic attribute of the object entity.
36 . The method of claim 31 , comprising:
identifying, by the one or more processing circuits, a second object entity of the object entities representing a second object of the building;
identifying, by the one or more processing circuits, that the relational object relates the second object entity with the data entity and identify a second relational object of the relational objects relating the object entity and the second object entity; and
modifying, by the one or more processing circuits, the data entity responsive to identifying the relational object and the second relational object.
37 . The method of claim 36 , wherein the object is a temperature sensor and the data entity is configured to store an ambient temperature value of a space represented by the second object entity based on ambient temperature data received from the temperature sensor.
38 . The method of claim 36 , wherein the object is an access control device and the second object is a person associated with the building in which the access control device is located; and
wherein the data entity is configured to store a location attribute of the person based on access control data received from the access control device.
39 . The method of claim 38 , comprising:
creating, by the one or more processing circuits, a shadow entity to store historical values of the access control data received from the access control device; and
calculating, by the one or more processing circuits, an average arrival time of the person from the historical values stored in the shadow entity.
40 . One or more storage media storing instructions thereon that, when executed by one or more processors, cause the one or more processors to:
generate a smart entity database comprising object entities representing objects of a building, data entities representing data associated with the objects, and relational objects indicating relationships between the object entities and the data entities;
receive data associated with a building equipment object of the objects;
identify an object entity of the object entities representing the building equipment object responsive to receiving the data;
identify a data entity of the data entities by identifying a relational object of the relational objects relating the object entity with the data entity; and
modify the data entity based on the data received from the building equipment object.