This repository is part of a collection, see also:
- BIM Service Provider - Context layer: https://github.com/fbrundu/dimc
- District Heating Simulator - Turin version https://github.com/fbrundu/eee-trn
- District Heating Simulator - Manchester version https://github.com/fbrundu/eee-man
Full citation:
- Brundu, Francesco Gavino, et al. "IoT software infrastructure for energy management and simulation in smart cities." IEEE Transactions on Industrial Informatics 13.2 (2016): 832-840.
- Python3
- SQL Server 2014
- CherryPy
- pymssql
The configuration file must be saved in the directory conf/
as conf.json
.
python3 bimp.py
The service allows the following methods:
- GET
Currently, the following actions are implemented:
- ping
- getjson
- getifc
- getgbxml
- getrvt
- query
http GET http://<service_uri>/bimp/getjson building=="<building_1>" ... building=="<building_N>"
http GET http://<service_uri>/bimp/getifc building=="<building_1>" ... building=="<building_N>"
http GET http://<service_uri>/bimp/getgbxml building=="<building_1>" ... building=="<building_N>"
In this case, the user must provide also revit version (e.g. "2015").
http GET http://<service_uri>/bimp/getrvt version=="<revit_version>" building=="<building_1>" ... building=="<building_N>"
http GET http://<service_uri>/bimp/query qname=="<query_name>" building=="<building_1>" ... building=="<building_N>"
qname represents the name of the query. Currently, the following queries are implemented:
getnwalls
- to get the total number of walls in a building (optionally, the type of the walls to consider is passed with the parameter typeid)getwindowsinwall
- to get the list of ids of the windows of a wall; the parameter wallid is required (the id of the hosting wall)gethostingwall
- to get, given the id of a window (passed with the parameter windowid), the id of the hosting wallgetwalltypes
- to get a list of wall typesgettypology
- to get the building typologygetheatingsupply
- to get the type of heating supplygetageofconstruction
- to get the age of constructiongetoccupancy
- to get the occupancy
The following is an example of result for a query:
{
"r_ver": "<query result version>",
"q_ts": "<ISO 8601 timestamp>",
"q_desc": "<query description>",
"q_par": {
"<input_param_1>": "<input_param_1_value>",
...
"<input_param_n>": "<input_param_n_value>"
},
"q_res": [
{
"b_id": "<building_1_id>",
"b_res": [
"<result_1>",
...
"<result_n>"
]
},
...
{
"b_id": "<building_n_id>",
"b_res": [
"<result_1>",
...
"<result_n>"
]
}
]
}