660 lines
27 KiB
Python
660 lines
27 KiB
Python
import falcon
|
|
from falcon_cors import CORS
|
|
from falcon_multipart.middleware import MultipartMiddleware
|
|
from core import energyflowdiagram, privilege, textmessage, distributioncircuit, virtualmeter, \
|
|
costcenter, point, knowledgefile, meter, tariff, user, storetype, timezone, \
|
|
costfile, offlinemeterfile, version, contact, emailserver, combinedequipment, datasource, equipment, tenant, \
|
|
shopfloor, webmessage, distributionsystem, store, emailmessage, tenanttype, wechatmessage, space, gateway, \
|
|
offlinemeter, rule, energycategory, sensor, energyitem, notification, menu
|
|
from reports import advancedreport
|
|
from reports import distributionsystem as distributionsystemreport
|
|
from reports import energyflowdiagram as energyflowdiagramreport
|
|
from reports import combinedequipmentbatch
|
|
from reports import combinedequipmentcost
|
|
from reports import combinedequipmentefficiency
|
|
from reports import combinedequipmentenergycategory
|
|
from reports import combinedequipmentenergyitem
|
|
from reports import combinedequipmentincome
|
|
from reports import combinedequipmentload
|
|
from reports import combinedequipmentoutput
|
|
from reports import combinedequipmentsaving
|
|
from reports import combinedequipmentstatistics
|
|
from reports import dashboard
|
|
from reports import equipmentbatch
|
|
from reports import equipmentcost
|
|
from reports import equipmentefficiency
|
|
from reports import equipmentenergycategory
|
|
from reports import equipmentenergyitem
|
|
from reports import equipmentincome
|
|
from reports import equipmentload
|
|
from reports import equipmentoutput
|
|
from reports import equipmentsaving
|
|
from reports import equipmentstatistics
|
|
from reports import equipmenttracking
|
|
from reports import fddcombinedequipmentfault
|
|
from reports import fddequipmentfault
|
|
from reports import fddshopfloorfault
|
|
from reports import fddspacefault
|
|
from reports import fddstorefault
|
|
from reports import fddtenantfault
|
|
from reports import meterenergy
|
|
from reports import metercarbon
|
|
from reports import metercost
|
|
from reports import meterrealtime
|
|
from reports import metersubmetersbalance
|
|
from reports import metertrend
|
|
from reports import metertracking
|
|
from reports import meterbatch
|
|
from reports import offlinemeterenergy
|
|
from reports import offlinemetercost
|
|
from reports import shopfloorcost
|
|
from reports import shopfloorenergycategory
|
|
from reports import shopfloorenergyitem
|
|
from reports import shopfloorload
|
|
from reports import shopfloorsaving
|
|
from reports import shopfloorstatistics
|
|
from reports import shopfloorbatch
|
|
from reports import spaceefficiency
|
|
from reports import spacecost
|
|
from reports import spaceenergycategory
|
|
from reports import spaceenergyitem
|
|
from reports import spaceincome
|
|
from reports import spaceload
|
|
from reports import spaceoutput
|
|
from reports import spacesaving
|
|
from reports import spacestatistics
|
|
from reports import storecost
|
|
from reports import storeenergycategory
|
|
from reports import storeenergyitem
|
|
from reports import storeload
|
|
from reports import storesaving
|
|
from reports import storestatistics
|
|
from reports import storebatch
|
|
from reports import tenantbill
|
|
from reports import tenantcost
|
|
from reports import tenantenergycategory
|
|
from reports import tenantenergyitem
|
|
from reports import tenantload
|
|
from reports import tenantbatch
|
|
from reports import tenantsaving
|
|
from reports import tenantstatistics
|
|
from reports import virtualmeterenergy
|
|
from reports import virtualmetercarbon
|
|
from reports import virtualmetercost
|
|
|
|
########################################################################################################################
|
|
# BEGIN imports for Enterprise Version
|
|
########################################################################################################################
|
|
|
|
########################################################################################################################
|
|
# END imports for Enterprise Version
|
|
########################################################################################################################
|
|
|
|
|
|
# https://github.com/lwcolton/falcon-cors
|
|
# https://github.com/yohanboniface/falcon-multipart
|
|
cors = CORS(allow_all_origins=True,
|
|
allow_credentials_all_origins=True,
|
|
allow_all_headers=True,
|
|
allow_all_methods=True)
|
|
api = falcon.App(middleware=[cors.middleware, MultipartMiddleware()])
|
|
|
|
########################################################################################################################
|
|
# Routes for System Core
|
|
########################################################################################################################
|
|
|
|
api.add_route('/combinedequipments',
|
|
combinedequipment.CombinedEquipmentCollection())
|
|
api.add_route('/combinedequipments/{id_}',
|
|
combinedequipment.CombinedEquipmentItem())
|
|
api.add_route('/combinedequipments/{id_}/equipments',
|
|
combinedequipment.CombinedEquipmentEquipmentCollection())
|
|
api.add_route('/combinedequipments/{id_}/equipments/{eid}',
|
|
combinedequipment.CombinedEquipmentEquipmentItem())
|
|
api.add_route('/combinedequipments/{id_}/meters',
|
|
combinedequipment.CombinedEquipmentMeterCollection())
|
|
api.add_route('/combinedequipments/{id_}/meters/{mid}',
|
|
combinedequipment.CombinedEquipmentMeterItem())
|
|
api.add_route('/combinedequipments/{id_}/offlinemeters',
|
|
combinedequipment.CombinedEquipmentOfflineMeterCollection())
|
|
api.add_route('/combinedequipments/{id_}/offlinemeters/{mid}',
|
|
combinedequipment.CombinedEquipmentOfflineMeterItem())
|
|
api.add_route('/combinedequipments/{id_}/parameters',
|
|
combinedequipment.CombinedEquipmentParameterCollection())
|
|
api.add_route('/combinedequipments/{id_}/parameters/{pid}',
|
|
combinedequipment.CombinedEquipmentParameterItem())
|
|
api.add_route('/combinedequipments/{id_}/virtualmeters',
|
|
combinedequipment.CombinedEquipmentVirtualMeterCollection())
|
|
api.add_route('/combinedequipments/{id_}/virtualmeters/{mid}',
|
|
combinedequipment.CombinedEquipmentVirtualMeterItem())
|
|
|
|
api.add_route('/contacts',
|
|
contact.ContactCollection())
|
|
api.add_route('/contacts/{id_}',
|
|
contact.ContactItem())
|
|
|
|
api.add_route('/costcenters',
|
|
costcenter.CostCenterCollection())
|
|
api.add_route('/costcenters/{id_}',
|
|
costcenter.CostCenterItem())
|
|
api.add_route('/costcenters/{id_}/tariffs',
|
|
costcenter.CostCenterTariffCollection())
|
|
api.add_route('/costcenters/{id_}/tariffs/{tid}',
|
|
costcenter.CostCenterTariffItem())
|
|
|
|
api.add_route('/costfiles',
|
|
costfile.CostFileCollection())
|
|
api.add_route('/costfiles/{id_}',
|
|
costfile.CostFileItem())
|
|
api.add_route('/costfiles/{id_}/restore',
|
|
costfile.CostFileRestore())
|
|
|
|
api.add_route('/datasources',
|
|
datasource.DataSourceCollection())
|
|
api.add_route('/datasources/{id_}',
|
|
datasource.DataSourceItem())
|
|
api.add_route('/datasources/{id_}/points',
|
|
datasource.DataSourcePointCollection())
|
|
|
|
api.add_route('/distributioncircuits',
|
|
distributioncircuit.DistributionCircuitCollection())
|
|
api.add_route('/distributioncircuits/{id_}',
|
|
distributioncircuit.DistributionCircuitItem())
|
|
api.add_route('/distributioncircuits/{id_}/points',
|
|
distributioncircuit.DistributionCircuitPointCollection())
|
|
api.add_route('/distributioncircuits/{id_}/points/{pid}',
|
|
distributioncircuit.DistributionCircuitPointItem())
|
|
|
|
api.add_route('/distributionsystems',
|
|
distributionsystem.DistributionSystemCollection())
|
|
api.add_route('/distributionsystems/{id_}',
|
|
distributionsystem.DistributionSystemItem())
|
|
api.add_route('/distributionsystems/{id_}/distributioncircuits',
|
|
distributionsystem.DistributionSystemDistributionCircuitCollection())
|
|
|
|
api.add_route('/emailmessages',
|
|
emailmessage.EmailMessageCollection())
|
|
api.add_route('/emailmessages/{id_}',
|
|
emailmessage.EmailMessageItem())
|
|
|
|
api.add_route('/emailservers',
|
|
emailserver.EmailServerCollection())
|
|
api.add_route('/emailservers/{id_}',
|
|
emailserver.EmailServerItem())
|
|
|
|
api.add_route('/energycategories',
|
|
energycategory.EnergyCategoryCollection())
|
|
api.add_route('/energycategories/{id_}',
|
|
energycategory.EnergyCategoryItem())
|
|
|
|
api.add_route('/energyflowdiagrams',
|
|
energyflowdiagram.EnergyFlowDiagramCollection())
|
|
api.add_route('/energyflowdiagrams/{id_}',
|
|
energyflowdiagram.EnergyFlowDiagramItem())
|
|
api.add_route('/energyflowdiagrams/{id_}/links',
|
|
energyflowdiagram.EnergyFlowDiagramLinkCollection())
|
|
api.add_route('/energyflowdiagrams/{id_}/links/{lid}',
|
|
energyflowdiagram.EnergyFlowDiagramLinkItem())
|
|
api.add_route('/energyflowdiagrams/{id_}/nodes',
|
|
energyflowdiagram.EnergyFlowDiagramNodeCollection())
|
|
api.add_route('/energyflowdiagrams/{id_}/nodes/{nid}',
|
|
energyflowdiagram.EnergyFlowDiagramNodeItem())
|
|
|
|
api.add_route('/energyitems',
|
|
energyitem.EnergyItemCollection())
|
|
api.add_route('/energyitems/{id_}',
|
|
energyitem.EnergyItemItem())
|
|
|
|
api.add_route('/equipments',
|
|
equipment.EquipmentCollection())
|
|
api.add_route('/equipments/{id_}',
|
|
equipment.EquipmentItem())
|
|
api.add_route('/equipments/{id_}/meters',
|
|
equipment.EquipmentMeterCollection())
|
|
api.add_route('/equipments/{id_}/meters/{mid}',
|
|
equipment.EquipmentMeterItem())
|
|
api.add_route('/equipments/{id_}/offlinemeters',
|
|
equipment.EquipmentOfflineMeterCollection())
|
|
api.add_route('/equipments/{id_}/offlinemeters/{mid}',
|
|
equipment.EquipmentOfflineMeterItem())
|
|
api.add_route('/equipments/{id_}/parameters',
|
|
equipment.EquipmentParameterCollection())
|
|
api.add_route('/equipments/{id_}/parameters/{pid}',
|
|
equipment.EquipmentParameterItem())
|
|
api.add_route('/equipments/{id_}/virtualmeters',
|
|
equipment.EquipmentVirtualMeterCollection())
|
|
api.add_route('/equipments/{id_}/virtualmeters/{mid}',
|
|
equipment.EquipmentVirtualMeterItem())
|
|
|
|
api.add_route('/gateways',
|
|
gateway.GatewayCollection())
|
|
api.add_route('/gateways/{id_}',
|
|
gateway.GatewayItem())
|
|
api.add_route('/gateways/{id_}/datasources',
|
|
gateway.GatewayDataSourceCollection())
|
|
|
|
api.add_route('/knowledgefiles',
|
|
knowledgefile.KnowledgeFileCollection())
|
|
api.add_route('/knowledgefiles/{id_}',
|
|
knowledgefile.KnowledgeFileItem())
|
|
api.add_route('/knowledgefiles/{id_}/restore',
|
|
knowledgefile.KnowledgeFileRestore())
|
|
|
|
api.add_route('/menus',
|
|
menu.MenuCollection())
|
|
api.add_route('/menus/{id_}',
|
|
menu.MenuItem())
|
|
api.add_route('/menus/{id_}/children',
|
|
menu.MenuChildrenCollection())
|
|
api.add_route('/menus/web',
|
|
menu.MenuWebCollection())
|
|
|
|
api.add_route('/meters',
|
|
meter.MeterCollection())
|
|
api.add_route('/meters/{id_}',
|
|
meter.MeterItem())
|
|
api.add_route('/meters/{id_}/submeters',
|
|
meter.MeterSubmeterCollection())
|
|
api.add_route('/meters/{id_}/points',
|
|
meter.MeterPointCollection())
|
|
api.add_route('/meters/{id_}/points/{pid}',
|
|
meter.MeterPointItem())
|
|
|
|
api.add_route('/notifications',
|
|
notification.NotificationCollection())
|
|
api.add_route('/notifications/{id_}',
|
|
notification.NotificationItem())
|
|
|
|
api.add_route('/offlinemeters',
|
|
offlinemeter.OfflineMeterCollection())
|
|
api.add_route('/offlinemeters/{id_}',
|
|
offlinemeter.OfflineMeterItem())
|
|
|
|
api.add_route('/offlinemeterfiles',
|
|
offlinemeterfile.OfflineMeterFileCollection())
|
|
api.add_route('/offlinemeterfiles/{id_}',
|
|
offlinemeterfile.OfflineMeterFileItem())
|
|
api.add_route('/offlinemeterfiles/{id_}/restore',
|
|
offlinemeterfile.OfflineMeterFileRestore())
|
|
|
|
api.add_route('/points',
|
|
point.PointCollection())
|
|
api.add_route('/points/{id_}',
|
|
point.PointItem())
|
|
|
|
api.add_route('/privileges',
|
|
privilege.PrivilegeCollection())
|
|
api.add_route('/privileges/{id_}',
|
|
privilege.PrivilegeItem())
|
|
|
|
api.add_route('/rules',
|
|
rule.RuleCollection())
|
|
api.add_route('/rules/{id_}',
|
|
rule.RuleItem())
|
|
|
|
api.add_route('/sensors',
|
|
sensor.SensorCollection())
|
|
api.add_route('/sensors/{id_}',
|
|
sensor.SensorItem())
|
|
api.add_route('/sensors/{id_}/points',
|
|
sensor.SensorPointCollection())
|
|
api.add_route('/sensors/{id_}/points/{pid}',
|
|
sensor.SensorPointItem())
|
|
|
|
api.add_route('/shopfloors',
|
|
shopfloor.ShopfloorCollection())
|
|
api.add_route('/shopfloors/{id_}',
|
|
shopfloor.ShopfloorItem())
|
|
api.add_route('/shopfloors/{id_}/equipments',
|
|
shopfloor.ShopfloorEquipmentCollection())
|
|
api.add_route('/shopfloors/{id_}/equipments/{eid}',
|
|
shopfloor.ShopfloorEquipmentItem())
|
|
api.add_route('/shopfloors/{id_}/meters',
|
|
shopfloor.ShopfloorMeterCollection())
|
|
api.add_route('/shopfloors/{id_}/meters/{mid}',
|
|
shopfloor.ShopfloorMeterItem())
|
|
api.add_route('/shopfloors/{id_}/offlinemeters',
|
|
shopfloor.ShopfloorOfflineMeterCollection())
|
|
api.add_route('/shopfloors/{id_}/offlinemeters/{mid}',
|
|
shopfloor.ShopfloorOfflineMeterItem())
|
|
api.add_route('/shopfloors/{id_}/points',
|
|
shopfloor.ShopfloorPointCollection())
|
|
api.add_route('/shopfloors/{id_}/points/{pid}',
|
|
shopfloor.ShopfloorPointItem())
|
|
api.add_route('/shopfloors/{id_}/sensors',
|
|
shopfloor.ShopfloorSensorCollection())
|
|
api.add_route('/shopfloors/{id_}/sensors/{sid}',
|
|
shopfloor.ShopfloorSensorItem())
|
|
api.add_route('/shopfloors/{id_}/virtualmeters',
|
|
shopfloor.ShopfloorVirtualMeterCollection())
|
|
api.add_route('/shopfloors/{id_}/virtualmeters/{mid}',
|
|
shopfloor.ShopfloorVirtualMeterItem())
|
|
|
|
api.add_route('/spaces',
|
|
space.SpaceCollection())
|
|
api.add_route('/spaces/{id_}',
|
|
space.SpaceItem())
|
|
api.add_route('/spaces/{id_}/children',
|
|
space.SpaceChildrenCollection())
|
|
api.add_route('/spaces/{id_}/combinedequipments',
|
|
space.SpaceCombinedEquipmentCollection())
|
|
api.add_route('/spaces/{id_}/combinedequipments/{eid}',
|
|
space.SpaceCombinedEquipmentItem())
|
|
api.add_route('/spaces/{id_}/equipments',
|
|
space.SpaceEquipmentCollection())
|
|
api.add_route('/spaces/{id_}/equipments/{eid}',
|
|
space.SpaceEquipmentItem())
|
|
api.add_route('/spaces/{id_}/meters',
|
|
space.SpaceMeterCollection())
|
|
api.add_route('/spaces/{id_}/meters/{mid}',
|
|
space.SpaceMeterItem())
|
|
api.add_route('/spaces/{id_}/offlinemeters',
|
|
space.SpaceOfflineMeterCollection())
|
|
api.add_route('/spaces/{id_}/offlinemeters/{mid}',
|
|
space.SpaceOfflineMeterItem())
|
|
api.add_route('/spaces/{id_}/points',
|
|
space.SpacePointCollection())
|
|
api.add_route('/spaces/{id_}/points/{pid}',
|
|
space.SpacePointItem())
|
|
api.add_route('/spaces/{id_}/sensors',
|
|
space.SpaceSensorCollection())
|
|
api.add_route('/spaces/{id_}/sensors/{sid}',
|
|
space.SpaceSensorItem())
|
|
api.add_route('/spaces/{id_}/shopfloors',
|
|
space.SpaceShopfloorCollection())
|
|
api.add_route('/spaces/{id_}/shopfloors/{sid}',
|
|
space.SpaceShopfloorItem())
|
|
api.add_route('/spaces/{id_}/stores',
|
|
space.SpaceStoreCollection())
|
|
api.add_route('/spaces/{id_}/stores/{tid}',
|
|
space.SpaceStoreItem())
|
|
api.add_route('/spaces/{id_}/tenants',
|
|
space.SpaceTenantCollection())
|
|
api.add_route('/spaces/{id_}/tenants/{tid}',
|
|
space.SpaceTenantItem())
|
|
api.add_route('/spaces/{id_}/virtualmeters',
|
|
space.SpaceVirtualMeterCollection())
|
|
api.add_route('/spaces/{id_}/virtualmeters/{mid}',
|
|
space.SpaceVirtualMeterItem())
|
|
api.add_route('/spaces/tree',
|
|
space.SpaceTreeCollection())
|
|
|
|
api.add_route('/stores',
|
|
store.StoreCollection())
|
|
api.add_route('/stores/{id_}',
|
|
store.StoreItem())
|
|
api.add_route('/stores/{id_}/meters',
|
|
store.StoreMeterCollection())
|
|
api.add_route('/stores/{id_}/meters/{mid}',
|
|
store.StoreMeterItem())
|
|
api.add_route('/stores/{id_}/offlinemeters',
|
|
store.StoreOfflineMeterCollection())
|
|
api.add_route('/stores/{id_}/offlinemeters/{mid}',
|
|
store.StoreOfflineMeterItem())
|
|
api.add_route('/stores/{id_}/points',
|
|
store.StorePointCollection())
|
|
api.add_route('/stores/{id_}/points/{pid}',
|
|
store.StorePointItem())
|
|
api.add_route('/stores/{id_}/sensors',
|
|
store.StoreSensorCollection())
|
|
api.add_route('/stores/{id_}/sensors/{sid}',
|
|
store.StoreSensorItem())
|
|
api.add_route('/stores/{id_}/virtualmeters',
|
|
store.StoreVirtualMeterCollection())
|
|
api.add_route('/stores/{id_}/virtualmeters/{mid}',
|
|
store.StoreVirtualMeterItem())
|
|
|
|
api.add_route('/storetypes',
|
|
storetype.StoreTypeCollection())
|
|
api.add_route('/storetypes/{id_}',
|
|
storetype.StoreTypeItem())
|
|
|
|
api.add_route('/tariffs',
|
|
tariff.TariffCollection())
|
|
api.add_route('/tariffs/{id_}',
|
|
tariff.TariffItem())
|
|
|
|
api.add_route('/tenants',
|
|
tenant.TenantCollection())
|
|
api.add_route('/tenants/{id_}',
|
|
tenant.TenantItem())
|
|
api.add_route('/tenants/{id_}/meters',
|
|
tenant.TenantMeterCollection())
|
|
api.add_route('/tenants/{id_}/meters/{mid}',
|
|
tenant.TenantMeterItem())
|
|
api.add_route('/tenants/{id_}/offlinemeters',
|
|
tenant.TenantOfflineMeterCollection())
|
|
api.add_route('/tenants/{id_}/offlinemeters/{mid}',
|
|
tenant.TenantOfflineMeterItem())
|
|
api.add_route('/tenants/{id_}/points',
|
|
tenant.TenantPointCollection())
|
|
api.add_route('/tenants/{id_}/points/{pid}',
|
|
tenant.TenantPointItem())
|
|
api.add_route('/tenants/{id_}/sensors',
|
|
tenant.TenantSensorCollection())
|
|
api.add_route('/tenants/{id_}/sensors/{sid}',
|
|
tenant.TenantSensorItem())
|
|
api.add_route('/tenants/{id_}/virtualmeters',
|
|
tenant.TenantVirtualMeterCollection())
|
|
api.add_route('/tenants/{id_}/virtualmeters/{mid}',
|
|
tenant.TenantVirtualMeterItem())
|
|
|
|
api.add_route('/tenanttypes',
|
|
tenanttype.TenantTypeCollection())
|
|
api.add_route('/tenanttypes/{id_}',
|
|
tenanttype.TenantTypeItem())
|
|
|
|
api.add_route('/textmessages',
|
|
textmessage.TextMessageCollection())
|
|
api.add_route('/textmessages/{id_}',
|
|
textmessage.TextMessageItem())
|
|
|
|
api.add_route('/timezones',
|
|
timezone.TimezoneCollection())
|
|
api.add_route('/timezones/{id_}',
|
|
timezone.TimezoneItem())
|
|
|
|
api.add_route('/users',
|
|
user.UserCollection())
|
|
api.add_route('/users/{id_}',
|
|
user.UserItem())
|
|
api.add_route('/users/login',
|
|
user.UserLogin())
|
|
api.add_route('/users/logout',
|
|
user.UserLogout())
|
|
api.add_route('/users/resetpassword',
|
|
user.ResetPassword())
|
|
api.add_route('/users/changepassword',
|
|
user.ChangePassword())
|
|
api.add_route('/users/unlock/{id_}',
|
|
user.Unlock())
|
|
|
|
api.add_route('/virtualmeters',
|
|
virtualmeter.VirtualMeterCollection())
|
|
api.add_route('/virtualmeters/{id_}',
|
|
virtualmeter.VirtualMeterItem())
|
|
|
|
api.add_route('/webmessages',
|
|
webmessage.WebMessageCollection())
|
|
api.add_route('/webmessagesnew',
|
|
webmessage.WebMessageStatusNewCollection())
|
|
api.add_route('/webmessages/{id_}',
|
|
webmessage.WebMessageItem())
|
|
|
|
api.add_route('/wechatmessages',
|
|
wechatmessage.WechatMessageCollection())
|
|
api.add_route('/wechatmessages/{id_}',
|
|
wechatmessage.WechatMessageItem())
|
|
|
|
api.add_route('/version',
|
|
version.VersionItem())
|
|
|
|
|
|
########################################################################################################################
|
|
# Routes for Reports
|
|
########################################################################################################################
|
|
api.add_route('/reports/advancedreports',
|
|
advancedreport.AdvancedReportCollection())
|
|
api.add_route('/reports/advancedreports/{id_}',
|
|
advancedreport.AdvancedReportItem())
|
|
api.add_route('/reports/distributionsystem',
|
|
distributionsystemreport.Reporting())
|
|
api.add_route('/reports/energyflowdiagram',
|
|
energyflowdiagramreport.Reporting())
|
|
api.add_route('/reports/combinedequipmentbatch',
|
|
combinedequipmentbatch.Reporting())
|
|
api.add_route('/reports/combinedequipmentcost',
|
|
combinedequipmentcost.Reporting())
|
|
api.add_route('/reports/combinedequipmentefficiency',
|
|
combinedequipmentefficiency.Reporting())
|
|
api.add_route('/reports/combinedequipmentenergycategory',
|
|
combinedequipmentenergycategory.Reporting())
|
|
api.add_route('/reports/combinedequipmentenergyitem',
|
|
combinedequipmentenergyitem.Reporting())
|
|
api.add_route('/reports/combinedequipmentincome',
|
|
combinedequipmentincome.Reporting())
|
|
api.add_route('/reports/combinedequipmentload',
|
|
combinedequipmentload.Reporting())
|
|
api.add_route('/reports/combinedequipmentoutput',
|
|
combinedequipmentoutput.Reporting())
|
|
api.add_route('/reports/combinedequipmentsaving',
|
|
combinedequipmentsaving.Reporting())
|
|
api.add_route('/reports/combinedequipmentstatistics',
|
|
combinedequipmentstatistics.Reporting())
|
|
api.add_route('/reports/dashboard',
|
|
dashboard.Reporting())
|
|
api.add_route('/reports/equipmentbatch',
|
|
equipmentbatch.Reporting())
|
|
api.add_route('/reports/equipmentcost',
|
|
equipmentcost.Reporting())
|
|
api.add_route('/reports/equipmentefficiency',
|
|
equipmentefficiency.Reporting())
|
|
api.add_route('/reports/equipmentenergycategory',
|
|
equipmentenergycategory.Reporting())
|
|
api.add_route('/reports/equipmentenergyitem',
|
|
equipmentenergyitem.Reporting())
|
|
api.add_route('/reports/equipmentincome',
|
|
equipmentincome.Reporting())
|
|
api.add_route('/reports/equipmentload',
|
|
equipmentload.Reporting())
|
|
api.add_route('/reports/equipmentoutput',
|
|
equipmentoutput.Reporting())
|
|
api.add_route('/reports/equipmentsaving',
|
|
equipmentsaving.Reporting())
|
|
api.add_route('/reports/equipmentstatistics',
|
|
equipmentstatistics.Reporting())
|
|
api.add_route('/reports/equipmenttracking',
|
|
equipmenttracking.Reporting())
|
|
api.add_route('/reports/fddcombinedequipmentfault',
|
|
fddcombinedequipmentfault.Reporting())
|
|
api.add_route('/reports/fddequipmentfault',
|
|
fddequipmentfault.Reporting())
|
|
api.add_route('/reports/fddshopfloorfault',
|
|
fddshopfloorfault.Reporting())
|
|
api.add_route('/reports/fddspacefault',
|
|
fddspacefault.Reporting())
|
|
api.add_route('/reports/fddstorefault',
|
|
fddstorefault.Reporting())
|
|
api.add_route('/reports/fddtenantfault',
|
|
fddtenantfault.Reporting())
|
|
api.add_route('/reports/meterbatch',
|
|
meterbatch.Reporting())
|
|
api.add_route('/reports/metercarbon',
|
|
metercarbon.Reporting())
|
|
api.add_route('/reports/metercost',
|
|
metercost.Reporting())
|
|
api.add_route('/reports/meterenergy',
|
|
meterenergy.Reporting())
|
|
api.add_route('/reports/meterrealtime',
|
|
meterrealtime.Reporting())
|
|
api.add_route('/reports/metersubmetersbalance',
|
|
metersubmetersbalance.Reporting())
|
|
api.add_route('/reports/metertrend',
|
|
metertrend.Reporting())
|
|
api.add_route('/reports/metertracking',
|
|
metertracking.Reporting())
|
|
api.add_route('/reports/offlinemeterenergy',
|
|
offlinemeterenergy.Reporting())
|
|
api.add_route('/reports/offlinemetercost',
|
|
offlinemetercost.Reporting())
|
|
api.add_route('/reports/shopfloorcost',
|
|
shopfloorcost.Reporting())
|
|
api.add_route('/reports/shopfloorenergycategory',
|
|
shopfloorenergycategory.Reporting())
|
|
api.add_route('/reports/shopfloorenergyitem',
|
|
shopfloorenergyitem.Reporting())
|
|
api.add_route('/reports/shopfloorload',
|
|
shopfloorload.Reporting())
|
|
api.add_route('/reports/shopfloorsaving',
|
|
shopfloorsaving.Reporting())
|
|
api.add_route('/reports/shopfloorstatistics',
|
|
shopfloorstatistics.Reporting())
|
|
api.add_route('/reports/shopfloorbatch',
|
|
shopfloorbatch.Reporting())
|
|
api.add_route('/reports/spacecost',
|
|
spacecost.Reporting())
|
|
api.add_route('/reports/spaceefficiency',
|
|
spaceefficiency.Reporting())
|
|
api.add_route('/reports/spaceenergycategory',
|
|
spaceenergycategory.Reporting())
|
|
api.add_route('/reports/spaceenergyitem',
|
|
spaceenergyitem.Reporting())
|
|
api.add_route('/reports/spaceincome',
|
|
spaceincome.Reporting())
|
|
api.add_route('/reports/spaceload',
|
|
spaceload.Reporting())
|
|
api.add_route('/reports/spaceoutput',
|
|
spaceoutput.Reporting())
|
|
api.add_route('/reports/spacesaving',
|
|
spacesaving.Reporting())
|
|
api.add_route('/reports/spacestatistics',
|
|
spacestatistics.Reporting())
|
|
api.add_route('/reports/storebatch',
|
|
storebatch.Reporting())
|
|
api.add_route('/reports/storecost',
|
|
storecost.Reporting())
|
|
api.add_route('/reports/storeenergycategory',
|
|
storeenergycategory.Reporting())
|
|
api.add_route('/reports/storeenergyitem',
|
|
storeenergyitem.Reporting())
|
|
api.add_route('/reports/storeload',
|
|
storeload.Reporting())
|
|
api.add_route('/reports/storesaving',
|
|
storesaving.Reporting())
|
|
api.add_route('/reports/storestatistics',
|
|
storestatistics.Reporting())
|
|
api.add_route('/reports/tenantbatch',
|
|
tenantbatch.Reporting())
|
|
api.add_route('/reports/tenantbill',
|
|
tenantbill.Reporting())
|
|
api.add_route('/reports/tenantcost',
|
|
tenantcost.Reporting())
|
|
api.add_route('/reports/tenantenergycategory',
|
|
tenantenergycategory.Reporting())
|
|
api.add_route('/reports/tenantenergyitem',
|
|
tenantenergyitem.Reporting())
|
|
api.add_route('/reports/tenantload',
|
|
tenantload.Reporting())
|
|
api.add_route('/reports/tenantsaving',
|
|
tenantsaving.Reporting())
|
|
api.add_route('/reports/tenantstatistics',
|
|
tenantstatistics.Reporting())
|
|
api.add_route('/reports/virtualmeterenergy',
|
|
virtualmeterenergy.Reporting())
|
|
api.add_route('/reports/virtualmetercarbon',
|
|
virtualmetercarbon.Reporting())
|
|
api.add_route('/reports/virtualmetercost',
|
|
virtualmetercost.Reporting())
|
|
|
|
########################################################################################################################
|
|
# BEGIN Routes for Enterprise Edition
|
|
########################################################################################################################
|
|
|
|
########################################################################################################################
|
|
# END Routes for Enterprise Edition
|
|
########################################################################################################################
|
|
|
|
|
|
# from waitress import serve
|
|
# serve(api, host='0.0.0.0', port=8886)
|