From 5dd31a8abbb72ba5b4b56e3a5a3e9e81c02ee933 Mon Sep 17 00:00:00 2001
From: nengyuanzhang <13011132526@163.com>
Date: Mon, 18 Dec 2023 18:02:40 +0800
Subject: [PATCH] added energy storage power station actions to myems-api added
energy storage power station UI to myems-admin
---
CHANGELOG.md | 2 +
myems-admin/app/config.router.js | 12 +
...gystoragepowerstationbattery.controller.js | 241 ++
...nergystoragepowerstationgrid.controller.js | 236 ++
...nergystoragepowerstationload.controller.js | 233 ++
...stationpowerconversionsystem.controller.js | 314 ++
...rgystoragepowerstationsensor.controller.js | 110 +
...nergystoragepowerstationuser.controller.js | 110 +
...nergystoragepowerstationbattery.service.js | 46 +
.../energystoragepowerstationgrid.service.js | 45 +
.../energystoragepowerstationload.service.js | 45 +
...werstationpowerconversionsystem.service.js | 45 +
...energystoragepowerstationsensor.service.js | 30 +
.../energystoragepowerstationuser.service.js | 30 +
myems-admin/app/translations.js | 1194 ++++++-
.../energystoragepowerstation.html | 417 +++
...nergystoragepowerstationbattery.model.html | 85 +
.../energystoragepowerstationgrid.model.html | 59 +
.../energystoragepowerstationload.model.html | 48 +
...werstationpowerconversionsystem.model.html | 358 ++
myems-api/MyEMS.postman_collection.json | 998 +++++-
myems-api/app.py | 24 +
myems-api/core/energystoragepowerstation.py | 3013 ++++++++++++++++-
23 files changed, 7564 insertions(+), 131 deletions(-)
create mode 100644 myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationbattery.controller.js
create mode 100644 myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationgrid.controller.js
create mode 100644 myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationload.controller.js
create mode 100644 myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationpowerconversionsystem.controller.js
create mode 100644 myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationsensor.controller.js
create mode 100644 myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationuser.controller.js
create mode 100644 myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationbattery.service.js
create mode 100644 myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationgrid.service.js
create mode 100644 myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationload.service.js
create mode 100644 myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationpowerconversionsystem.service.js
create mode 100644 myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationsensor.service.js
create mode 100644 myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationuser.service.js
create mode 100644 myems-admin/views/settings/energystoragepowerstation/energystoragepowerstationbattery.model.html
create mode 100644 myems-admin/views/settings/energystoragepowerstation/energystoragepowerstationgrid.model.html
create mode 100644 myems-admin/views/settings/energystoragepowerstation/energystoragepowerstationload.model.html
create mode 100644 myems-admin/views/settings/energystoragepowerstation/energystoragepowerstationpowerconversionsystem.model.html
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ad456ef46d..ebd950c0ed 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
-
### Added
- added tables for energy storage power station in database
+- added energy storage power station actions to myems-api
+- added energy storage power station UI to myems-admin
-
### Changed
- changed microgrid monitoring in myems-web
diff --git a/myems-admin/app/config.router.js b/myems-admin/app/config.router.js
index 20035aea08..a86140afb8 100644
--- a/myems-admin/app/config.router.js
+++ b/myems-admin/app/config.router.js
@@ -1266,11 +1266,23 @@ app
serie: true,
files: [
'app/services/settings/energystoragepowerstation/energystoragepowerstation.service.js',
+ 'app/services/settings/energystoragepowerstation/energystoragepowerstationbattery.service.js',
+ 'app/services/settings/energystoragepowerstation/energystoragepowerstationgrid.service.js',
+ 'app/services/settings/energystoragepowerstation/energystoragepowerstationload.service.js',
+ 'app/services/settings/energystoragepowerstation/energystoragepowerstationpowerconversionsystem.service.js',
+ 'app/services/settings/energystoragepowerstation/energystoragepowerstationsensor.service.js',
+ 'app/services/settings/energystoragepowerstation/energystoragepowerstationuser.service.js',
'app/services/settings/costcenter/costcenter.service.js',
'app/services/settings/contact/contact.service.js',
'app/services/settings/datasource/point.service.js',
'app/controllers/settings/energystoragepowerstation/energystoragepowerstation.master.controller.js',
'app/controllers/settings/energystoragepowerstation/energystoragepowerstation.controller.js',
+ 'app/controllers/settings/energystoragepowerstation/energystoragepowerstationbattery.controller.js',
+ 'app/controllers/settings/energystoragepowerstation/energystoragepowerstationgrid.controller.js',
+ 'app/controllers/settings/energystoragepowerstation/energystoragepowerstationload.controller.js',
+ 'app/controllers/settings/energystoragepowerstation/energystoragepowerstationpowerconversionsystem.controller.js',
+ 'app/controllers/settings/energystoragepowerstation/energystoragepowerstationsensor.controller.js',
+ 'app/controllers/settings/energystoragepowerstation/energystoragepowerstationuser.controller.js',
]
}]);
}
diff --git a/myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationbattery.controller.js b/myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationbattery.controller.js
new file mode 100644
index 0000000000..f031edfaaa
--- /dev/null
+++ b/myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationbattery.controller.js
@@ -0,0 +1,241 @@
+'use strict';
+
+app.controller('EnergyStoragePowerStationBatteryController', function(
+ $scope,
+ $rootScope,
+ $window,
+ $translate,
+ $uibModal,
+ EnergyStoragePowerStationService,
+ EnergyStoragePowerStationBatteryService,
+ PointService,
+ MeterService,
+ toaster,
+ SweetAlert) {
+ $scope.energystoragepowerstations = [];
+ $scope.energystoragepowerstationbatteries = [];
+ $scope.points = [];
+ $scope.meters = [];
+ $scope.currentEnergyStoragePowerStation = null;
+ $scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user"));
+ $scope.getAllEnergyStoragePowerStations = function() {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationService.getAllEnergyStoragePowerStations(headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.energystoragepowerstations = response.data;
+ } else {
+ $scope.energystoragepowerstations = [];
+ }
+ });
+ };
+
+ $scope.getAllPoints = function() {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ PointService.getAllPoints(headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.points = response.data;
+ } else {
+ $scope.points = [];
+ }
+ });
+ };
+
+ $scope.getAllMeters = function() {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ MeterService.getAllMeters(headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.meters = response.data;
+ } else {
+ $scope.meters = [];
+ }
+ });
+ };
+
+ $scope.getEnergyStoragePowerStationBatteriesByEnergyStoragePowerStationID = function(id) {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationBatteryService.getEnergyStoragePowerStationBatteriesByEnergyStoragePowerStationID(id, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.energystoragepowerstationbatteries = response.data;
+ } else {
+ $scope.energystoragepowerstationbatteries=[];
+ }
+ });
+ };
+
+ $scope.changeEnergyStoragePowerStation=function(item,model){
+ $scope.currentEnergyStoragePowerStation=item;
+ $scope.currentEnergyStoragePowerStation.selected=model;
+ $scope.is_show_add_energystoragepowerstation_battery = true;
+ $scope.getEnergyStoragePowerStationBatteriesByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ };
+
+ $scope.addEnergyStoragePowerStationBattery = function() {
+
+ var modalInstance = $uibModal.open({
+ templateUrl: 'views/settings/energystoragepowerstation/energystoragepowerstationbattery.model.html',
+ controller: 'ModalAddEnergyStoragePowerStationBatteryCtrl',
+ windowClass: "animated fadeIn",
+ resolve: {
+ params: function() {
+ return {
+ meters: angular.copy($scope.meters),
+ points: angular.copy($scope.points),
+ };
+ }
+ }
+ });
+ modalInstance.result.then(function(energystoragepowerstationbattery) {
+ energystoragepowerstationbattery.battery_state_point_id = energystoragepowerstationbattery.battery_state_point.id;
+ energystoragepowerstationbattery.soc_point_id = energystoragepowerstationbattery.soc_point.id;
+ energystoragepowerstationbattery.power_point_id = energystoragepowerstationbattery.power_point.id;
+ energystoragepowerstationbattery.charge_meter_id = energystoragepowerstationbattery.charge_meter.id;
+ energystoragepowerstationbattery.discharge_meter_id = energystoragepowerstationbattery.discharge_meter.id;
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationBatteryService.addEnergyStoragePowerStationBattery($scope.currentEnergyStoragePowerStation.id, energystoragepowerstationbattery, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 201) {
+ toaster.pop({
+ type: "success",
+ title: $translate.instant("TOASTER.SUCCESS_TITLE"),
+ body: $translate.instant("TOASTER.SUCCESS_ADD_BODY", {template: $translate.instant("MICROGRID.MICROGRID_BATTERY")}),
+ showCloseButton: true,
+ });
+ $scope.getEnergyStoragePowerStationBatteriesByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ $scope.$emit('handleEmitEnergyStoragePowerStationBatteryChanged');
+ } else {
+ toaster.pop({
+ type: "error",
+ title: $translate.instant("TOASTER.ERROR_ADD_BODY", {template: $translate.instant("MICROGRID.MICROGRID_BATTERY")}),
+ body: $translate.instant(response.data.description),
+ showCloseButton: true,
+ });
+ }
+ });
+ }, function() {
+
+ });
+ $rootScope.modalInstance = modalInstance;
+ };
+
+ $scope.editEnergyStoragePowerStationBattery = function(energystoragepowerstationbattery) {
+ var modalInstance = $uibModal.open({
+ templateUrl: 'views/settings/energystoragepowerstation/energystoragepowerstationbattery.model.html',
+ controller: 'ModalEditEnergyStoragePowerStationBatteryCtrl',
+ windowClass: "animated fadeIn",
+ resolve: {
+ params: function() {
+ return {
+ energystoragepowerstationbattery: angular.copy(energystoragepowerstationbattery),
+ meters: angular.copy($scope.meters),
+ points: angular.copy($scope.points),
+ };
+ }
+ }
+ });
+
+ modalInstance.result.then(function(modifiedEnergyStoragePowerStationBattery) {
+ modifiedEnergyStoragePowerStationBattery.battery_state_point_id = modifiedEnergyStoragePowerStationBattery.battery_state_point.id;
+ modifiedEnergyStoragePowerStationBattery.soc_point_id = modifiedEnergyStoragePowerStationBattery.soc_point.id;
+ modifiedEnergyStoragePowerStationBattery.power_point_id = modifiedEnergyStoragePowerStationBattery.power_point.id;
+ modifiedEnergyStoragePowerStationBattery.charge_meter_id = modifiedEnergyStoragePowerStationBattery.charge_meter.id;
+ modifiedEnergyStoragePowerStationBattery.discharge_meter_id = modifiedEnergyStoragePowerStationBattery.discharge_meter.id;
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationBatteryService.editEnergyStoragePowerStationBattery($scope.currentEnergyStoragePowerStation.id, modifiedEnergyStoragePowerStationBattery, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ toaster.pop({
+ type: "success",
+ title: $translate.instant("TOASTER.SUCCESS_TITLE"),
+ body: $translate.instant("TOASTER.SUCCESS_UPDATE_BODY", {template: $translate.instant("MICROGRID.MICROGRID_BATTERY")}),
+ showCloseButton: true,
+ });
+ $scope.getEnergyStoragePowerStationBatteriesByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ $scope.$emit('handleEmitEnergyStoragePowerStationBatteryChanged');
+ } else {
+ toaster.pop({
+ type: "error",
+ title: $translate.instant("TOASTER.ERROR_UPDATE_BODY", {template: $translate.instant("MICROGRID.MICROGRID_BATTERY")}),
+ body: $translate.instant(response.data.description),
+ showCloseButton: true,
+ });
+ }
+ });
+ }, function() {
+ //do nothing;
+ });
+ $rootScope.modalInstance = modalInstance;
+ };
+
+ $scope.deleteEnergyStoragePowerStationBattery = function(energystoragepowerstationbattery) {
+ SweetAlert.swal({
+ title: $translate.instant("SWEET.TITLE"),
+ text: $translate.instant("SWEET.TEXT"),
+ type: "warning",
+ showCancelButton: true,
+ confirmButtonColor: "#DD6B55",
+ confirmButtonText: $translate.instant("SWEET.CONFIRM_BUTTON_TEXT"),
+ cancelButtonText: $translate.instant("SWEET.CANCEL_BUTTON_TEXT"),
+ closeOnConfirm: true,
+ closeOnCancel: true
+ },
+ function(isConfirm) {
+ if (isConfirm) {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationBatteryService.deleteEnergyStoragePowerStationBattery($scope.currentEnergyStoragePowerStation.id, energystoragepowerstationbattery.id, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 204) {
+ toaster.pop({
+ type: "success",
+ title: $translate.instant("TOASTER.SUCCESS_TITLE"),
+ body: $translate.instant("TOASTER.SUCCESS_DELETE_BODY", {template: $translate.instant("MICROGRID.MICROGRID_BATTERY")}),
+ showCloseButton: true,
+ });
+ $scope.getEnergyStoragePowerStationBatteriesByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ $scope.$emit('handleEmitEnergyStoragePowerStationBatteryChanged');
+ } else {
+ toaster.pop({
+ type: "error",
+ title: $translate.instant("TOASTER.ERROR_DELETE_BODY", {template: $translate.instant("MICROGRID.MICROGRID_BATTERY")}),
+ body: $translate.instant(response.data.description),
+ showCloseButton: true,
+ });
+ }
+ });
+ }
+ });
+ };
+
+ $scope.getAllEnergyStoragePowerStations();
+ $scope.getAllPoints();
+ $scope.getAllMeters();
+ $scope.$on('handleBroadcastEnergyStoragePowerStationChanged', function(event) {
+ $scope.getAllEnergyStoragePowerStations();
+ });
+
+ });
+
+
+ app.controller('ModalAddEnergyStoragePowerStationBatteryCtrl', function($scope, $uibModalInstance, params) {
+
+ $scope.operation = "MICROGRID.ADD_MICROGRID_BATTERY";
+ $scope.points=params.points;
+ $scope.meters=params.meters;
+ $scope.ok = function() {
+ $uibModalInstance.close($scope.energystoragepowerstationbattery);
+ };
+
+ $scope.cancel = function() {
+ $uibModalInstance.dismiss('cancel');
+ };
+ });
+
+ app.controller('ModalEditEnergyStoragePowerStationBatteryCtrl', function($scope, $uibModalInstance, params) {
+ $scope.operation = "MICROGRID.EDIT_MICROGRID_BATTERY";
+ $scope.energystoragepowerstationbattery = params.energystoragepowerstationbattery;
+ $scope.points=params.points;
+ $scope.meters=params.meters;
+ $scope.ok = function() {
+ $uibModalInstance.close($scope.energystoragepowerstationbattery);
+ };
+
+ $scope.cancel = function() {
+ $uibModalInstance.dismiss('cancel');
+ };
+ });
diff --git a/myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationgrid.controller.js b/myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationgrid.controller.js
new file mode 100644
index 0000000000..67ce4fd8bd
--- /dev/null
+++ b/myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationgrid.controller.js
@@ -0,0 +1,236 @@
+'use strict';
+
+app.controller('EnergyStoragePowerStationGridController', function(
+ $scope,
+ $rootScope,
+ $window,
+ $translate,
+ $uibModal,
+ EnergyStoragePowerStationService,
+ EnergyStoragePowerStationGridService,
+ PointService,
+ MeterService,
+ toaster,
+ SweetAlert) {
+ $scope.energystoragepowerstations = [];
+ $scope.energystoragepowerstationgrids = [];
+ $scope.points = [];
+ $scope.meters = [];
+ $scope.currentEnergyStoragePowerStation = null;
+ $scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user"));
+ $scope.getAllEnergyStoragePowerStations = function() {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationService.getAllEnergyStoragePowerStations(headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.energystoragepowerstations = response.data;
+ } else {
+ $scope.energystoragepowerstations = [];
+ }
+ });
+ };
+
+ $scope.getAllPoints = function() {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ PointService.getAllPoints(headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.points = response.data;
+ } else {
+ $scope.points = [];
+ }
+ });
+ };
+
+ $scope.getAllMeters = function() {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ MeterService.getAllMeters(headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.meters = response.data;
+ } else {
+ $scope.meters = [];
+ }
+ });
+ };
+ $scope.getEnergyStoragePowerStationGridsByEnergyStoragePowerStationID = function(id) {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationGridService.getEnergyStoragePowerStationGridsByEnergyStoragePowerStationID(id, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.energystoragepowerstationgrids = response.data;
+ } else {
+ $scope.energystoragepowerstationgrids=[];
+ }
+ });
+ };
+
+ $scope.changeEnergyStoragePowerStation=function(item,model){
+ $scope.currentEnergyStoragePowerStation=item;
+ $scope.currentEnergyStoragePowerStation.selected=model;
+ $scope.is_show_add_energystoragepowerstation_grid = true;
+ $scope.getEnergyStoragePowerStationGridsByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ };
+
+ $scope.addEnergyStoragePowerStationGrid = function() {
+
+ var modalInstance = $uibModal.open({
+ templateUrl: 'views/settings/energystoragepowerstation/energystoragepowerstationgrid.model.html',
+ controller: 'ModalAddEnergyStoragePowerStationGridCtrl',
+ windowClass: "animated fadeIn",
+ resolve: {
+ params: function() {
+ return {
+ meters: angular.copy($scope.meters),
+ points: angular.copy($scope.points),
+ };
+ }
+ }
+ });
+ modalInstance.result.then(function(energystoragepowerstationgrid) {
+ energystoragepowerstationgrid.power_point_id = energystoragepowerstationgrid.power_point.id;
+ energystoragepowerstationgrid.buy_meter_id = energystoragepowerstationgrid.buy_meter.id;
+ energystoragepowerstationgrid.sell_meter_id = energystoragepowerstationgrid.sell_meter.id;
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationGridService.addEnergyStoragePowerStationGrid($scope.currentEnergyStoragePowerStation.id, energystoragepowerstationgrid, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 201) {
+ toaster.pop({
+ type: "success",
+ title: $translate.instant("TOASTER.SUCCESS_TITLE"),
+ body: $translate.instant("TOASTER.SUCCESS_ADD_BODY", {template: $translate.instant("MICROGRID.MICROGRID_GRID")}),
+ showCloseButton: true,
+ });
+ $scope.getEnergyStoragePowerStationGridsByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ $scope.$emit('handleEmitEnergyStoragePowerStationGridChanged');
+ } else {
+ toaster.pop({
+ type: "error",
+ title: $translate.instant("TOASTER.ERROR_ADD_BODY", {template: $translate.instant("MICROGRID.MICROGRID_GRID")}),
+ body: $translate.instant(response.data.description),
+ showCloseButton: true,
+ });
+ }
+ });
+ }, function() {
+
+ });
+ $rootScope.modalInstance = modalInstance;
+ };
+
+ $scope.editEnergyStoragePowerStationGrid = function(energystoragepowerstationgrid) {
+ var modalInstance = $uibModal.open({
+ templateUrl: 'views/settings/energystoragepowerstation/energystoragepowerstationgrid.model.html',
+ controller: 'ModalEditEnergyStoragePowerStationGridCtrl',
+ windowClass: "animated fadeIn",
+ resolve: {
+ params: function() {
+ return {
+ energystoragepowerstationgrid: angular.copy(energystoragepowerstationgrid),
+ meters: angular.copy($scope.meters),
+ points: angular.copy($scope.points),
+ };
+ }
+ }
+ });
+
+ modalInstance.result.then(function(modifiedEnergyStoragePowerStationGrid) {
+ modifiedEnergyStoragePowerStationGrid.power_point_id = modifiedEnergyStoragePowerStationGrid.power_point.id;
+ modifiedEnergyStoragePowerStationGrid.buy_meter_id = modifiedEnergyStoragePowerStationGrid.buy_meter.id;
+ modifiedEnergyStoragePowerStationGrid.sell_meter_id = modifiedEnergyStoragePowerStationGrid.sell_meter.id;
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationGridService.editEnergyStoragePowerStationGrid($scope.currentEnergyStoragePowerStation.id, modifiedEnergyStoragePowerStationGrid, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ toaster.pop({
+ type: "success",
+ title: $translate.instant("TOASTER.SUCCESS_TITLE"),
+ body: $translate.instant("TOASTER.SUCCESS_UPDATE_BODY", {template: $translate.instant("MICROGRID.MICROGRID_GRID")}),
+ showCloseButton: true,
+ });
+ $scope.getEnergyStoragePowerStationGridsByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ $scope.$emit('handleEmitEnergyStoragePowerStationGridChanged');
+ } else {
+ toaster.pop({
+ type: "error",
+ title: $translate.instant("TOASTER.ERROR_UPDATE_BODY", {template: $translate.instant("MICROGRID.MICROGRID_GRID")}),
+ body: $translate.instant(response.data.description),
+ showCloseButton: true,
+ });
+ }
+ });
+ }, function() {
+ //do nothing;
+ });
+ $rootScope.modalInstance = modalInstance;
+ };
+
+ $scope.deleteEnergyStoragePowerStationGrid = function(energystoragepowerstationgrid) {
+ SweetAlert.swal({
+ title: $translate.instant("SWEET.TITLE"),
+ text: $translate.instant("SWEET.TEXT"),
+ type: "warning",
+ showCancelButton: true,
+ confirmButtonColor: "#DD6B55",
+ confirmButtonText: $translate.instant("SWEET.CONFIRM_BUTTON_TEXT"),
+ cancelButtonText: $translate.instant("SWEET.CANCEL_BUTTON_TEXT"),
+ closeOnConfirm: true,
+ closeOnCancel: true
+ },
+ function(isConfirm) {
+ if (isConfirm) {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationGridService.deleteEnergyStoragePowerStationGrid($scope.currentEnergyStoragePowerStation.id, energystoragepowerstationgrid.id, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 204) {
+ toaster.pop({
+ type: "success",
+ title: $translate.instant("TOASTER.SUCCESS_TITLE"),
+ body: $translate.instant("TOASTER.SUCCESS_DELETE_BODY", {template: $translate.instant("MICROGRID.MICROGRID_GRID")}),
+ showCloseButton: true,
+ });
+ $scope.getEnergyStoragePowerStationGridsByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ $scope.$emit('handleEmitEnergyStoragePowerStationGridChanged');
+ } else {
+ toaster.pop({
+ type: "error",
+ title: $translate.instant("TOASTER.ERROR_DELETE_BODY", {template: $translate.instant("MICROGRID.MICROGRID_GRID")}),
+ body: $translate.instant(response.data.description),
+ showCloseButton: true,
+ });
+ }
+ });
+ }
+ });
+ };
+
+ $scope.getAllEnergyStoragePowerStations();
+ $scope.getAllPoints();
+ $scope.getAllMeters();
+ $scope.$on('handleBroadcastEnergyStoragePowerStationChanged', function(event) {
+ $scope.getAllEnergyStoragePowerStations();
+ });
+
+ });
+
+
+ app.controller('ModalAddEnergyStoragePowerStationGridCtrl', function($scope, $uibModalInstance, params) {
+
+ $scope.operation = "MICROGRID.ADD_MICROGRID_GRID";
+ $scope.points=params.points;
+ $scope.meters=params.meters;
+ $scope.ok = function() {
+ $uibModalInstance.close($scope.energystoragepowerstationgrid);
+ };
+
+ $scope.cancel = function() {
+ $uibModalInstance.dismiss('cancel');
+ };
+ });
+
+ app.controller('ModalEditEnergyStoragePowerStationGridCtrl', function($scope, $uibModalInstance, params) {
+ $scope.operation = "MICROGRID.EDIT_MICROGRID_GRID";
+ $scope.energystoragepowerstationgrid = params.energystoragepowerstationgrid;
+ $scope.points=params.points;
+ $scope.meters=params.meters;
+ $scope.ok = function() {
+ $uibModalInstance.close($scope.energystoragepowerstationgrid);
+ };
+
+ $scope.cancel = function() {
+ $uibModalInstance.dismiss('cancel');
+ };
+ });
diff --git a/myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationload.controller.js b/myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationload.controller.js
new file mode 100644
index 0000000000..daef2182d8
--- /dev/null
+++ b/myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationload.controller.js
@@ -0,0 +1,233 @@
+'use strict';
+
+app.controller('EnergyStoragePowerStationLoadController', function(
+ $scope,
+ $rootScope,
+ $window,
+ $translate,
+ $uibModal,
+ EnergyStoragePowerStationService,
+ EnergyStoragePowerStationLoadService,
+ PointService,
+ MeterService,
+ toaster,
+ SweetAlert) {
+ $scope.energystoragepowerstations = [];
+ $scope.energystoragepowerstationloads = [];
+ $scope.points = [];
+ $scope.meters = [];
+ $scope.currentEnergyStoragePowerStation = null;
+ $scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user"));
+ $scope.getAllEnergyStoragePowerStations = function() {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationService.getAllEnergyStoragePowerStations(headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.energystoragepowerstations = response.data;
+ } else {
+ $scope.energystoragepowerstations = [];
+ }
+ });
+ };
+
+ $scope.getAllPoints = function() {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ PointService.getAllPoints(headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.points = response.data;
+ } else {
+ $scope.points = [];
+ }
+ });
+ };
+
+ $scope.getAllMeters = function() {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ MeterService.getAllMeters(headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.meters = response.data;
+ } else {
+ $scope.meters = [];
+ }
+ });
+ };
+ $scope.getEnergyStoragePowerStationLoadsByEnergyStoragePowerStationID = function(id) {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationLoadService.getEnergyStoragePowerStationLoadsByEnergyStoragePowerStationID(id, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.energystoragepowerstationloads = response.data;
+ } else {
+ $scope.energystoragepowerstationloads=[];
+ }
+ });
+ };
+
+ $scope.changeEnergyStoragePowerStation=function(item,model){
+ $scope.currentEnergyStoragePowerStation=item;
+ $scope.currentEnergyStoragePowerStation.selected=model;
+ $scope.is_show_add_energystoragepowerstation_load = true;
+ $scope.getEnergyStoragePowerStationLoadsByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ };
+
+ $scope.addEnergyStoragePowerStationLoad = function() {
+ var modalInstance = $uibModal.open({
+ templateUrl: 'views/settings/energystoragepowerstation/energystoragepowerstationload.model.html',
+ controller: 'ModalAddEnergyStoragePowerStationLoadCtrl',
+ windowClass: "animated fadeIn",
+ resolve: {
+ params: function() {
+ return {
+ meters: angular.copy($scope.meters),
+ points: angular.copy($scope.points),
+ };
+ }
+ }
+ });
+ modalInstance.result.then(function(energystoragepowerstationload) {
+ energystoragepowerstationload.power_point_id = energystoragepowerstationload.power_point.id;
+ energystoragepowerstationload.meter_id = energystoragepowerstationload.meter.id;
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationLoadService.addEnergyStoragePowerStationLoad($scope.currentEnergyStoragePowerStation.id, energystoragepowerstationload, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 201) {
+ toaster.pop({
+ type: "success",
+ title: $translate.instant("TOASTER.SUCCESS_TITLE"),
+ body: $translate.instant("TOASTER.SUCCESS_ADD_BODY", {template: $translate.instant("MICROGRID.MICROGRID_LOAD")}),
+ showCloseButton: true,
+ });
+ $scope.getEnergyStoragePowerStationLoadsByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ $scope.$emit('handleEmitEnergyStoragePowerStationLoadChanged');
+ } else {
+ toaster.pop({
+ type: "error",
+ title: $translate.instant("TOASTER.ERROR_ADD_BODY", {template: $translate.instant("MICROGRID.MICROGRID_LOAD")}),
+ body: $translate.instant(response.data.description),
+ showCloseButton: true,
+ });
+ }
+ });
+ }, function() {
+
+ });
+ $rootScope.modalInstance = modalInstance;
+ };
+
+ $scope.editEnergyStoragePowerStationLoad = function(energystoragepowerstationload) {
+ var modalInstance = $uibModal.open({
+ templateUrl: 'views/settings/energystoragepowerstation/energystoragepowerstationload.model.html',
+ controller: 'ModalEditEnergyStoragePowerStationLoadCtrl',
+ windowClass: "animated fadeIn",
+ resolve: {
+ params: function() {
+ return {
+ energystoragepowerstationload: angular.copy(energystoragepowerstationload),
+ meters: angular.copy($scope.meters),
+ points: angular.copy($scope.points),
+ };
+ }
+ }
+ });
+
+ modalInstance.result.then(function(modifiedEnergyStoragePowerStationLoad) {
+ modifiedEnergyStoragePowerStationLoad.power_point_id = modifiedEnergyStoragePowerStationLoad.power_point.id;
+ modifiedEnergyStoragePowerStationLoad.meter_id = modifiedEnergyStoragePowerStationLoad.meter.id;
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationLoadService.editEnergyStoragePowerStationLoad($scope.currentEnergyStoragePowerStation.id, modifiedEnergyStoragePowerStationLoad, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ toaster.pop({
+ type: "success",
+ title: $translate.instant("TOASTER.SUCCESS_TITLE"),
+ body: $translate.instant("TOASTER.SUCCESS_UPDATE_BODY", {template: $translate.instant("MICROGRID.MICROGRID_LOAD")}),
+ showCloseButton: true,
+ });
+ $scope.getEnergyStoragePowerStationLoadsByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ $scope.$emit('handleEmitEnergyStoragePowerStationLoadChanged');
+ } else {
+ toaster.pop({
+ type: "error",
+ title: $translate.instant("TOASTER.ERROR_UPDATE_BODY", {template: $translate.instant("MICROGRID.MICROGRID_LOAD")}),
+ body: $translate.instant(response.data.description),
+ showCloseButton: true,
+ });
+ }
+ });
+ }, function() {
+ //do nothing;
+ });
+ $rootScope.modalInstance = modalInstance;
+ };
+
+ $scope.deleteEnergyStoragePowerStationLoad = function(energystoragepowerstationload) {
+ SweetAlert.swal({
+ title: $translate.instant("SWEET.TITLE"),
+ text: $translate.instant("SWEET.TEXT"),
+ type: "warning",
+ showCancelButton: true,
+ confirmButtonColor: "#DD6B55",
+ confirmButtonText: $translate.instant("SWEET.CONFIRM_BUTTON_TEXT"),
+ cancelButtonText: $translate.instant("SWEET.CANCEL_BUTTON_TEXT"),
+ closeOnConfirm: true,
+ closeOnCancel: true
+ },
+ function(isConfirm) {
+ if (isConfirm) {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationLoadService.deleteEnergyStoragePowerStationLoad($scope.currentEnergyStoragePowerStation.id, energystoragepowerstationload.id, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 204) {
+ toaster.pop({
+ type: "success",
+ title: $translate.instant("TOASTER.SUCCESS_TITLE"),
+ body: $translate.instant("TOASTER.SUCCESS_DELETE_BODY", {template: $translate.instant("MICROGRID.MICROGRID_LOAD")}),
+ showCloseButton: true,
+ });
+ $scope.getEnergyStoragePowerStationLoadsByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ $scope.$emit('handleEmitEnergyStoragePowerStationLoadChanged');
+ } else {
+ toaster.pop({
+ type: "error",
+ title: $translate.instant("TOASTER.ERROR_DELETE_BODY", {template: $translate.instant("MICROGRID.MICROGRID_LOAD")}),
+ body: $translate.instant(response.data.description),
+ showCloseButton: true,
+ });
+ }
+ });
+ }
+ });
+ };
+
+ $scope.getAllEnergyStoragePowerStations();
+ $scope.getAllPoints();
+ $scope.getAllMeters();
+ $scope.$on('handleBroadcastEnergyStoragePowerStationChanged', function(event) {
+ $scope.getAllEnergyStoragePowerStations();
+ });
+
+ });
+
+
+ app.controller('ModalAddEnergyStoragePowerStationLoadCtrl', function($scope, $uibModalInstance, params) {
+
+ $scope.operation = "MICROGRID.ADD_MICROGRID_LOAD";
+ $scope.points=params.points;
+ $scope.meters=params.meters;
+ $scope.ok = function() {
+ $uibModalInstance.close($scope.energystoragepowerstationload);
+ };
+
+ $scope.cancel = function() {
+ $uibModalInstance.dismiss('cancel');
+ };
+ });
+
+ app.controller('ModalEditEnergyStoragePowerStationLoadCtrl', function($scope, $uibModalInstance, params) {
+ $scope.operation = "MICROGRID.EDIT_MICROGRID_LOAD";
+ $scope.energystoragepowerstationload = params.energystoragepowerstationload;
+ $scope.points=params.points;
+ $scope.meters=params.meters;
+ $scope.ok = function() {
+ $uibModalInstance.close($scope.energystoragepowerstationload);
+ };
+
+ $scope.cancel = function() {
+ $uibModalInstance.dismiss('cancel');
+ };
+ });
diff --git a/myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationpowerconversionsystem.controller.js b/myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationpowerconversionsystem.controller.js
new file mode 100644
index 0000000000..22ec0a99bd
--- /dev/null
+++ b/myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationpowerconversionsystem.controller.js
@@ -0,0 +1,314 @@
+'use strict';
+
+app.controller('EnergyStoragePowerStationPowerconversionsystemController', function(
+ $scope,
+ $rootScope,
+ $window,
+ $translate,
+ $uibModal,
+ EnergyStoragePowerStationService,
+ EnergyStoragePowerStationPowerconversionsystemService,
+ PointService,
+ MeterService,
+ CommandService,
+ toaster,
+ SweetAlert) {
+ $scope.energystoragepowerstations = [];
+ $scope.energystoragepowerstationpowerconversionsystems = [];
+ $scope.meters = [];
+ $scope.points = [];
+ $scope.commands = [];
+ $scope.currentEnergyStoragePowerStation = null;
+ $scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user"));
+ $scope.getAllEnergyStoragePowerStations = function() {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationService.getAllEnergyStoragePowerStations(headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.energystoragepowerstations = response.data;
+ } else {
+ $scope.energystoragepowerstations = [];
+ }
+ });
+ };
+
+ $scope.getAllPoints = function() {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ PointService.getAllPoints(headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.points = response.data;
+ } else {
+ $scope.points = [];
+ }
+ });
+ };
+
+ $scope.getAllMeters = function() {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ MeterService.getAllMeters(headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.meters = response.data;
+ } else {
+ $scope.meters = [];
+ }
+ });
+ };
+
+ $scope.getAllCommands = function() {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ CommandService.getAllCommands(headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.commands = response.data;
+ } else {
+ $scope.commands = [];
+ }
+ });
+ };
+ $scope.getEnergyStoragePowerStationPowerconversionsystemsByEnergyStoragePowerStationID = function(id) {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationPowerconversionsystemService.getEnergyStoragePowerStationPowerconversionsystemsByEnergyStoragePowerStationID(id, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.energystoragepowerstationpowerconversionsystems = response.data;
+ } else {
+ $scope.energystoragepowerstationpowerconversionsystems=[];
+ }
+ });
+ };
+
+ $scope.changeEnergyStoragePowerStation=function(item,model){
+ $scope.currentEnergyStoragePowerStation=item;
+ $scope.currentEnergyStoragePowerStation.selected=model;
+ $scope.is_show_add_energystoragepowerstation_powerconversionsystem = true;
+ $scope.getEnergyStoragePowerStationPowerconversionsystemsByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ };
+
+ $scope.addEnergyStoragePowerStationPowerconversionsystem = function() {
+
+ var modalInstance = $uibModal.open({
+ templateUrl: 'views/settings/energystoragepowerstation/energystoragepowerstationpowerconversionsystem.model.html',
+ controller: 'ModalAddEnergyStoragePowerStationPowerconversionsystemCtrl',
+ windowClass: "animated fadeIn",
+ resolve: {
+ params: function() {
+ return {
+ meters: angular.copy($scope.meters),
+ points: angular.copy($scope.points),
+ commands: angular.copy($scope.commands),
+ };
+ }
+ }
+ });
+ modalInstance.result.then(function(energystoragepowerstationpowerconversionsystem) {
+ energystoragepowerstationpowerconversionsystem.run_state_point_id = energystoragepowerstationpowerconversionsystem.run_state_point.id;
+ energystoragepowerstationpowerconversionsystem.charge_start_time1_point_id = energystoragepowerstationpowerconversionsystem.charge_start_time1_point.id;
+ energystoragepowerstationpowerconversionsystem.charge_end_time1_point_id = energystoragepowerstationpowerconversionsystem.charge_end_time1_point.id;
+ energystoragepowerstationpowerconversionsystem.charge_start_time2_point_id = energystoragepowerstationpowerconversionsystem.charge_start_time2_point.id;
+ energystoragepowerstationpowerconversionsystem.charge_end_time2_point_id = energystoragepowerstationpowerconversionsystem.charge_end_time2_point.id;
+ energystoragepowerstationpowerconversionsystem.charge_start_time3_point_id = energystoragepowerstationpowerconversionsystem.charge_start_time3_point.id;
+ energystoragepowerstationpowerconversionsystem.charge_end_time3_point_id = energystoragepowerstationpowerconversionsystem.charge_end_time3_point.id;
+ energystoragepowerstationpowerconversionsystem.charge_start_time4_point_id = energystoragepowerstationpowerconversionsystem.charge_start_time4_point.id;
+ energystoragepowerstationpowerconversionsystem.charge_end_time4_point_id = energystoragepowerstationpowerconversionsystem.charge_end_time4_point.id;
+ energystoragepowerstationpowerconversionsystem.discharge_start_time1_point_id = energystoragepowerstationpowerconversionsystem.discharge_start_time1_point.id;
+ energystoragepowerstationpowerconversionsystem.discharge_end_time1_point_id = energystoragepowerstationpowerconversionsystem.discharge_end_time1_point.id;
+ energystoragepowerstationpowerconversionsystem.discharge_start_time2_point_id = energystoragepowerstationpowerconversionsystem.discharge_start_time2_point.id;
+ energystoragepowerstationpowerconversionsystem.discharge_end_time2_point_id = energystoragepowerstationpowerconversionsystem.discharge_end_time2_point.id;
+ energystoragepowerstationpowerconversionsystem.discharge_start_time3_point_id = energystoragepowerstationpowerconversionsystem.discharge_start_time3_point.id;
+ energystoragepowerstationpowerconversionsystem.discharge_end_time3_point_id = energystoragepowerstationpowerconversionsystem.discharge_end_time3_point.id;
+ energystoragepowerstationpowerconversionsystem.discharge_start_time4_point_id = energystoragepowerstationpowerconversionsystem.discharge_start_time4_point.id;
+ energystoragepowerstationpowerconversionsystem.discharge_end_time4_point_id = energystoragepowerstationpowerconversionsystem.discharge_end_time4_point.id;
+ energystoragepowerstationpowerconversionsystem.charge_start_time1_command_id = energystoragepowerstationpowerconversionsystem.charge_start_time1_command.id;
+ energystoragepowerstationpowerconversionsystem.charge_end_time1_command_id = energystoragepowerstationpowerconversionsystem.charge_end_time1_command.id;
+ energystoragepowerstationpowerconversionsystem.charge_start_time2_command_id = energystoragepowerstationpowerconversionsystem.charge_start_time2_command.id;
+ energystoragepowerstationpowerconversionsystem.charge_end_time2_command_id = energystoragepowerstationpowerconversionsystem.charge_end_time2_command.id;
+ energystoragepowerstationpowerconversionsystem.charge_start_time3_command_id = energystoragepowerstationpowerconversionsystem.charge_start_time3_command.id;
+ energystoragepowerstationpowerconversionsystem.charge_end_time3_command_id = energystoragepowerstationpowerconversionsystem.charge_end_time3_command.id;
+ energystoragepowerstationpowerconversionsystem.charge_start_time4_command_id = energystoragepowerstationpowerconversionsystem.charge_start_time4_command.id;
+ energystoragepowerstationpowerconversionsystem.charge_end_time4_command_id = energystoragepowerstationpowerconversionsystem.charge_end_time4_command.id;
+ energystoragepowerstationpowerconversionsystem.discharge_start_time1_command_id = energystoragepowerstationpowerconversionsystem.discharge_start_time1_command.id;
+ energystoragepowerstationpowerconversionsystem.discharge_end_time1_command_id = energystoragepowerstationpowerconversionsystem.discharge_end_time1_command.id;
+ energystoragepowerstationpowerconversionsystem.discharge_start_time2_command_id = energystoragepowerstationpowerconversionsystem.discharge_start_time2_command.id;
+ energystoragepowerstationpowerconversionsystem.discharge_end_time2_command_id = energystoragepowerstationpowerconversionsystem.discharge_end_time2_command.id;
+ energystoragepowerstationpowerconversionsystem.discharge_start_time3_command_id = energystoragepowerstationpowerconversionsystem.discharge_start_time3_command.id;
+ energystoragepowerstationpowerconversionsystem.discharge_end_time3_command_id = energystoragepowerstationpowerconversionsystem.discharge_end_time3_command.id;
+ energystoragepowerstationpowerconversionsystem.discharge_start_time4_command_id = energystoragepowerstationpowerconversionsystem.discharge_start_time4_command.id;
+ energystoragepowerstationpowerconversionsystem.discharge_end_time4_command_id = energystoragepowerstationpowerconversionsystem.discharge_end_time4_command.id;
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationPowerconversionsystemService.addEnergyStoragePowerStationPowerconversionsystem($scope.currentEnergyStoragePowerStation.id, energystoragepowerstationpowerconversionsystem, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 201) {
+ toaster.pop({
+ type: "success",
+ title: $translate.instant("TOASTER.SUCCESS_TITLE"),
+ body: $translate.instant("TOASTER.SUCCESS_ADD_BODY", {template: $translate.instant("MICROGRID.MICROGRID_POWER_CONVERSION_SYSTEM")}),
+ showCloseButton: true,
+ });
+ $scope.getEnergyStoragePowerStationPowerconversionsystemsByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ $scope.$emit('handleEmitEnergyStoragePowerStationPowerconversionsystemChanged');
+ } else {
+ toaster.pop({
+ type: "error",
+ title: $translate.instant("TOASTER.ERROR_ADD_BODY", {template: $translate.instant("MICROGRID.MICROGRID_POWER_CONVERSION_SYSTEM")}),
+ body: $translate.instant(response.data.description),
+ showCloseButton: true,
+ });
+ }
+ });
+ }, function() {
+
+ });
+ $rootScope.modalInstance = modalInstance;
+ };
+
+ $scope.editEnergyStoragePowerStationPowerconversionsystem = function(energystoragepowerstationpowerconversionsystem) {
+ var modalInstance = $uibModal.open({
+ templateUrl: 'views/settings/energystoragepowerstation/energystoragepowerstationpowerconversionsystem.model.html',
+ controller: 'ModalEditEnergyStoragePowerStationPowerconversionsystemCtrl',
+ windowClass: "animated fadeIn",
+ resolve: {
+ params: function() {
+ return {
+ energystoragepowerstationpowerconversionsystem: angular.copy(energystoragepowerstationpowerconversionsystem),
+ meters: angular.copy($scope.meters),
+ points: angular.copy($scope.points),
+ commands: angular.copy($scope.commands),
+ };
+ }
+ }
+ });
+
+ modalInstance.result.then(function(modifiedEnergyStoragePowerStationPowerconversionsystem) {
+ modifiedEnergyStoragePowerStationPowerconversionsystem.run_state_point_id = modifiedEnergyStoragePowerStationPowerconversionsystem.run_state_point.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.charge_start_time1_point_id = modifiedEnergyStoragePowerStationPowerconversionsystem.charge_start_time1_point.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.charge_end_time1_point_id = modifiedEnergyStoragePowerStationPowerconversionsystem.charge_end_time1_point.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.charge_start_time2_point_id = modifiedEnergyStoragePowerStationPowerconversionsystem.charge_start_time2_point.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.charge_end_time2_point_id = modifiedEnergyStoragePowerStationPowerconversionsystem.charge_end_time2_point.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.charge_start_time3_point_id = modifiedEnergyStoragePowerStationPowerconversionsystem.charge_start_time3_point.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.charge_end_time3_point_id = modifiedEnergyStoragePowerStationPowerconversionsystem.charge_end_time3_point.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.charge_start_time4_point_id = modifiedEnergyStoragePowerStationPowerconversionsystem.charge_start_time4_point.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.charge_end_time4_point_id = modifiedEnergyStoragePowerStationPowerconversionsystem.charge_end_time4_point.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_start_time1_point_id = modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_start_time1_point.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_end_time1_point_id = modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_end_time1_point.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_start_time2_point_id = modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_start_time2_point.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_end_time2_point_id = modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_end_time2_point.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_start_time3_point_id = modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_start_time3_point.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_end_time3_point_id = modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_end_time3_point.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_start_time4_point_id = modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_start_time4_point.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_end_time4_point_id = modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_end_time4_point.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.charge_start_time1_command_id = modifiedEnergyStoragePowerStationPowerconversionsystem.charge_start_time1_command.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.charge_end_time1_command_id = modifiedEnergyStoragePowerStationPowerconversionsystem.charge_end_time1_command.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.charge_start_time2_command_id = modifiedEnergyStoragePowerStationPowerconversionsystem.charge_start_time2_command.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.charge_end_time2_command_id = modifiedEnergyStoragePowerStationPowerconversionsystem.charge_end_time2_command.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.charge_start_time3_command_id = modifiedEnergyStoragePowerStationPowerconversionsystem.charge_start_time3_command.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.charge_end_time3_command_id = modifiedEnergyStoragePowerStationPowerconversionsystem.charge_end_time3_command.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.charge_start_time4_command_id = modifiedEnergyStoragePowerStationPowerconversionsystem.charge_start_time4_command.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.charge_end_time4_command_id = modifiedEnergyStoragePowerStationPowerconversionsystem.charge_end_time4_command.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_start_time1_command_id = modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_start_time1_command.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_end_time1_command_id = modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_end_time1_command.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_start_time2_command_id = modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_start_time2_command.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_end_time2_command_id = modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_end_time2_command.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_start_time3_command_id = modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_start_time3_command.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_end_time3_command_id = modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_end_time3_command.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_start_time4_command_id = modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_start_time4_command.id;
+ modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_end_time4_command_id = modifiedEnergyStoragePowerStationPowerconversionsystem.discharge_end_time4_command.id;
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationPowerconversionsystemService.editEnergyStoragePowerStationPowerconversionsystem($scope.currentEnergyStoragePowerStation.id, modifiedEnergyStoragePowerStationPowerconversionsystem, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ toaster.pop({
+ type: "success",
+ title: $translate.instant("TOASTER.SUCCESS_TITLE"),
+ body: $translate.instant("TOASTER.SUCCESS_UPDATE_BODY", {template: $translate.instant("MICROGRID.MICROGRID_POWER_CONVERSION_SYSTEM")}),
+ showCloseButton: true,
+ });
+ $scope.getEnergyStoragePowerStationPowerconversionsystemsByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ $scope.$emit('handleEmitEnergyStoragePowerStationPowerconversionsystemChanged');
+ } else {
+ toaster.pop({
+ type: "error",
+ title: $translate.instant("TOASTER.ERROR_UPDATE_BODY", {template: $translate.instant("MICROGRID.MICROGRID_POWER_CONVERSION_SYSTEM")}),
+ body: $translate.instant(response.data.description),
+ showCloseButton: true,
+ });
+ }
+ });
+ }, function() {
+ //do nothing;
+ });
+ $rootScope.modalInstance = modalInstance;
+ };
+
+ $scope.deleteEnergyStoragePowerStationPowerconversionsystem = function(energystoragepowerstationpowerconversionsystem) {
+ SweetAlert.swal({
+ title: $translate.instant("SWEET.TITLE"),
+ text: $translate.instant("SWEET.TEXT"),
+ type: "warning",
+ showCancelButton: true,
+ confirmButtonColor: "#DD6B55",
+ confirmButtonText: $translate.instant("SWEET.CONFIRM_BUTTON_TEXT"),
+ cancelButtonText: $translate.instant("SWEET.CANCEL_BUTTON_TEXT"),
+ closeOnConfirm: true,
+ closeOnCancel: true
+ },
+ function(isConfirm) {
+ if (isConfirm) {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationPowerconversionsystemService.deleteEnergyStoragePowerStationPowerconversionsystem($scope.currentEnergyStoragePowerStation.id, energystoragepowerstationpowerconversionsystem.id, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 204) {
+ toaster.pop({
+ type: "success",
+ title: $translate.instant("TOASTER.SUCCESS_TITLE"),
+ body: $translate.instant("TOASTER.SUCCESS_DELETE_BODY", {template: $translate.instant("MICROGRID.MICROGRID_POWER_CONVERSION_SYSTEM")}),
+ showCloseButton: true,
+ });
+ $scope.getEnergyStoragePowerStationPowerconversionsystemsByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ $scope.$emit('handleEmitEnergyStoragePowerStationPowerconversionsystemChanged');
+ } else {
+ toaster.pop({
+ type: "error",
+ title: $translate.instant("TOASTER.ERROR_DELETE_BODY", {template: $translate.instant("MICROGRID.MICROGRID_POWER_CONVERSION_SYSTEM")}),
+ body: $translate.instant(response.data.description),
+ showCloseButton: true,
+ });
+ }
+ });
+ }
+ });
+ };
+
+ $scope.getAllEnergyStoragePowerStations();
+ $scope.getAllPoints();
+ $scope.getAllMeters();
+ $scope.getAllCommands();
+ $scope.$on('handleBroadcastEnergyStoragePowerStationChanged', function(event) {
+ $scope.getAllEnergyStoragePowerStations();
+ });
+
+ });
+
+
+ app.controller('ModalAddEnergyStoragePowerStationPowerconversionsystemCtrl', function($scope, $uibModalInstance, params) {
+
+ $scope.operation = "MICROGRID.ADD_MICROGRID_POWER_CONVERSION_SYSTEM";
+ $scope.points=params.points;
+ $scope.meters=params.meters;
+ $scope.commands=params.commands;
+ $scope.ok = function() {
+ $uibModalInstance.close($scope.energystoragepowerstationpowerconversionsystem);
+ };
+
+ $scope.cancel = function() {
+ $uibModalInstance.dismiss('cancel');
+ };
+ });
+
+ app.controller('ModalEditEnergyStoragePowerStationPowerconversionsystemCtrl', function($scope, $uibModalInstance, params) {
+ $scope.operation = "MICROGRID.EDIT_MICROGRID_POWER_CONVERSION_SYSTEM";
+ $scope.energystoragepowerstationpowerconversionsystem = params.energystoragepowerstationpowerconversionsystem;
+ $scope.points=params.points;
+ $scope.meters=params.meters;
+ $scope.commands=params.commands;
+ $scope.ok = function() {
+ $uibModalInstance.close($scope.energystoragepowerstationpowerconversionsystem);
+ };
+
+ $scope.cancel = function() {
+ $uibModalInstance.dismiss('cancel');
+ };
+ });
diff --git a/myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationsensor.controller.js b/myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationsensor.controller.js
new file mode 100644
index 0000000000..51206f39d4
--- /dev/null
+++ b/myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationsensor.controller.js
@@ -0,0 +1,110 @@
+'use strict';
+
+app.controller('EnergyStoragePowerStationSensorController', function (
+ $scope,
+ $window,
+ $translate,
+ EnergyStoragePowerStationService,
+ SensorService,
+ EnergyStoragePowerStationSensorService,
+ toaster,
+ SweetAlert) {
+ $scope.currentEnergyStoragePowerStation = {selected:undefined};
+ $scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user"));
+ $scope.getAllSensors = function () {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ SensorService.getAllSensors(headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.sensors = response.data;
+ } else {
+ $scope.sensors = [];
+ }
+ });
+ };
+
+ $scope.getSensorsByEnergyStoragePowerStationID = function (id) {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationSensorService.getSensorsByEnergyStoragePowerStationID(id, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.energystoragepowerstationsensors = response.data;
+ } else {
+ $scope.energystoragepowerstationsensors = [];
+ }
+ });
+ };
+
+ $scope.changeEnergyStoragePowerStation=function(item,model){
+ $scope.currentEnergyStoragePowerStation=item;
+ $scope.currentEnergyStoragePowerStation.selected=model;
+ $scope.getSensorsByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ };
+
+ $scope.getAllEnergyStoragePowerStations = function () {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationService.getAllEnergyStoragePowerStations(headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.energystoragepowerstations = response.data;
+ } else {
+ $scope.energystoragepowerstations = [];
+ }
+ });
+ };
+
+ $scope.pairSensor = function (dragEl, dropEl) {
+ var sensorid = angular.element('#' + dragEl).scope().sensor.id;
+ var energystoragepowerstationid = $scope.currentEnergyStoragePowerStation.id;
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationSensorService.addPair(energystoragepowerstationid, sensorid, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 201) {
+ toaster.pop({
+ type: "success",
+ title: $translate.instant("TOASTER.SUCCESS_TITLE"),
+ body: $translate.instant("TOASTER.BIND_SENSOR_SUCCESS"),
+ showCloseButton: true,
+ });
+ $scope.getSensorsByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ } else {
+ toaster.pop({
+ type: "error",
+ title: $translate.instant(response.data.title),
+ body: $translate.instant(response.data.description),
+ showCloseButton: true,
+ });
+ }
+ });
+ };
+
+ $scope.deleteSensorPair = function (dragEl, dropEl) {
+ if (angular.element('#' + dragEl).hasClass('source')) {
+ return;
+ }
+ var energystoragepowerstationsensorid = angular.element('#' + dragEl).scope().energystoragepowerstationsensor.id;
+ var energystoragepowerstationid = $scope.currentEnergyStoragePowerStation.id;
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationSensorService.deletePair(energystoragepowerstationid, energystoragepowerstationsensorid, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 204) {
+ toaster.pop({
+ type: "success",
+ title: $translate.instant("TOASTER.SUCCESS_TITLE"),
+ body: $translate.instant("TOASTER.UNBIND_SENSOR_SUCCESS"),
+ showCloseButton: true,
+ });
+ $scope.getSensorsByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ } else {
+ toaster.pop({
+ type: "error",
+ title: $translate.instant(response.data.title),
+ body: $translate.instant(response.data.description),
+ showCloseButton: true,
+ });
+ }
+ });
+ };
+
+ $scope.getAllSensors();
+ $scope.getAllEnergyStoragePowerStations();
+
+ $scope.$on('handleBroadcastEnergyStoragePowerStationChanged', function(event) {
+ $scope.getAllEnergyStoragePowerStations();
+ });
+});
diff --git a/myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationuser.controller.js b/myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationuser.controller.js
new file mode 100644
index 0000000000..dcbb30341b
--- /dev/null
+++ b/myems-admin/app/controllers/settings/energystoragepowerstation/energystoragepowerstationuser.controller.js
@@ -0,0 +1,110 @@
+'use strict';
+
+app.controller('EnergyStoragePowerStationUserController', function (
+ $scope,
+ $window,
+ $translate,
+ EnergyStoragePowerStationService,
+ UserService,
+ EnergyStoragePowerStationUserService,
+ toaster,
+ SweetAlert) {
+ $scope.currentEnergyStoragePowerStation = {selected:undefined};
+ $scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user"));
+ $scope.getAllUsers = function () {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ UserService.getAllUsers(headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.users = response.data;
+ } else {
+ $scope.users = [];
+ }
+ });
+ };
+
+ $scope.getUsersByEnergyStoragePowerStationID = function (id) {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationUserService.getUsersByEnergyStoragePowerStationID(id, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.energystoragepowerstationusers = response.data;
+ } else {
+ $scope.energystoragepowerstationusers = [];
+ }
+ });
+ };
+
+ $scope.changeEnergyStoragePowerStation=function(item,model){
+ $scope.currentEnergyStoragePowerStation=item;
+ $scope.currentEnergyStoragePowerStation.selected=model;
+ $scope.getUsersByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ };
+
+ $scope.getAllEnergyStoragePowerStations = function () {
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationService.getAllEnergyStoragePowerStations(headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 200) {
+ $scope.energystoragepowerstations = response.data;
+ } else {
+ $scope.energystoragepowerstations = [];
+ }
+ });
+ };
+
+ $scope.pairUser = function (dragEl, dropEl) {
+ var userid = angular.element('#' + dragEl).scope().user.id;
+ var energystoragepowerstationid = $scope.currentEnergyStoragePowerStation.id;
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationUserService.addPair(energystoragepowerstationid, userid, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 201) {
+ toaster.pop({
+ type: "success",
+ title: $translate.instant("TOASTER.SUCCESS_TITLE"),
+ body: $translate.instant("TOASTER.BIND_USER_SUCCESS"),
+ showCloseButton: true,
+ });
+ $scope.getUsersByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ } else {
+ toaster.pop({
+ type: "error",
+ title: $translate.instant(response.data.title),
+ body: $translate.instant(response.data.description),
+ showCloseButton: true,
+ });
+ }
+ });
+ };
+
+ $scope.deleteUserPair = function (dragEl, dropEl) {
+ if (angular.element('#' + dragEl).hasClass('source')) {
+ return;
+ }
+ var energystoragepowerstationuserid = angular.element('#' + dragEl).scope().energystoragepowerstationuser.id;
+ var energystoragepowerstationid = $scope.currentEnergyStoragePowerStation.id;
+ let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token };
+ EnergyStoragePowerStationUserService.deletePair(energystoragepowerstationid, energystoragepowerstationuserid, headers, function (response) {
+ if (angular.isDefined(response.status) && response.status === 204) {
+ toaster.pop({
+ type: "success",
+ title: $translate.instant("TOASTER.SUCCESS_TITLE"),
+ body: $translate.instant("TOASTER.UNBIND_USER_SUCCESS"),
+ showCloseButton: true,
+ });
+ $scope.getUsersByEnergyStoragePowerStationID($scope.currentEnergyStoragePowerStation.id);
+ } else {
+ toaster.pop({
+ type: "error",
+ title: $translate.instant(response.data.title),
+ body: $translate.instant(response.data.description),
+ showCloseButton: true,
+ });
+ }
+ });
+ };
+
+ $scope.getAllUsers();
+ $scope.getAllEnergyStoragePowerStations();
+
+ $scope.$on('handleBroadcastEnergyStoragePowerStationChanged', function(event) {
+ $scope.getAllEnergyStoragePowerStations();
+ });
+});
diff --git a/myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationbattery.service.js b/myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationbattery.service.js
new file mode 100644
index 0000000000..a6a5c987e2
--- /dev/null
+++ b/myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationbattery.service.js
@@ -0,0 +1,46 @@
+'use strict';
+app.factory('EnergyStoragePowerStationBatteryService', function($http) {
+ return {
+ getAllEnergyStoragePowerStationBatteries: function(headers, callback) {
+ $http.get(getAPI()+'energystoragepowerstationbatteries', {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+ getEnergyStoragePowerStationBatteriesByEnergyStoragePowerStationID: function(id, headers, callback) {
+ $http.get(getAPI()+'energystoragepowerstations/'+id+'/batteries', {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+ addEnergyStoragePowerStationBattery: function(id, energystoragepowerstationbattery, headers, callback) {
+ $http.post(getAPI()+'energystoragepowerstations/'+id+'/batteries',{data:energystoragepowerstationbattery}, {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+ editEnergyStoragePowerStationBattery: function(id, energystoragepowerstationbattery, headers, callback) {
+ $http.put(getAPI()+'energystoragepowerstations/'+id+'/batteries/'+energystoragepowerstationbattery.id,{data:energystoragepowerstationbattery}, {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+
+ deleteEnergyStoragePowerStationBattery: function(id, energystoragepowerstationbatteryID, headers, callback) {
+ $http.delete(getAPI()+'energystoragepowerstations/'+id+'/batteries/'+energystoragepowerstationbatteryID, {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+ };
+});
diff --git a/myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationgrid.service.js b/myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationgrid.service.js
new file mode 100644
index 0000000000..c9b6afad7e
--- /dev/null
+++ b/myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationgrid.service.js
@@ -0,0 +1,45 @@
+'use strict';
+app.factory('EnergyStoragePowerStationGridService', function($http) {
+ return {
+ getAllEnergyStoragePowerStationGrids: function(headers, callback) {
+ $http.get(getAPI()+'energystoragepowerstationgrids', {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+ getEnergyStoragePowerStationGridsByEnergyStoragePowerStationID: function(id, headers, callback) {
+ $http.get(getAPI()+'energystoragepowerstations/'+id+'/grids', {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+ addEnergyStoragePowerStationGrid: function(id, energystoragepowerstationgrid, headers, callback) {
+ $http.post(getAPI()+'energystoragepowerstations/'+id+'/grids',{data:energystoragepowerstationgrid}, {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+ editEnergyStoragePowerStationGrid: function(id, energystoragepowerstationgrid, headers, callback) {
+ $http.put(getAPI()+'energystoragepowerstations/'+id+'/grids/'+energystoragepowerstationgrid.id,{data:energystoragepowerstationgrid}, {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+ deleteEnergyStoragePowerStationGrid: function(id, energystoragepowerstationgridyID, headers, callback) {
+ $http.delete(getAPI()+'energystoragepowerstations/'+id+'/grids/'+energystoragepowerstationgridyID, {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+ };
+});
diff --git a/myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationload.service.js b/myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationload.service.js
new file mode 100644
index 0000000000..4b3bac897c
--- /dev/null
+++ b/myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationload.service.js
@@ -0,0 +1,45 @@
+'use strict';
+app.factory('EnergyStoragePowerStationLoadService', function($http) {
+ return {
+ getAllEnergyStoragePowerStationLoads: function(headers, callback) {
+ $http.get(getAPI()+'energystoragepowerstationloads', {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+ getEnergyStoragePowerStationLoadsByEnergyStoragePowerStationID: function(id, headers, callback) {
+ $http.get(getAPI()+'energystoragepowerstations/'+id+'/loads', {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+ addEnergyStoragePowerStationLoad: function(id, energystoragepowerstationload, headers, callback) {
+ $http.post(getAPI()+'energystoragepowerstations/'+id+'/loads',{data:energystoragepowerstationload}, {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+ editEnergyStoragePowerStationLoad: function(id, energystoragepowerstationload, headers, callback) {
+ $http.put(getAPI()+'energystoragepowerstations/'+id+'/loads/'+energystoragepowerstationload.id,{data:energystoragepowerstationload}, {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+ deleteEnergyStoragePowerStationLoad: function(id, energystoragepowerstationloadyID, headers, callback) {
+ $http.delete(getAPI()+'energystoragepowerstations/'+id+'/loads/'+energystoragepowerstationloadyID, {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+ };
+});
diff --git a/myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationpowerconversionsystem.service.js b/myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationpowerconversionsystem.service.js
new file mode 100644
index 0000000000..aa44aed4e9
--- /dev/null
+++ b/myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationpowerconversionsystem.service.js
@@ -0,0 +1,45 @@
+'use strict';
+app.factory('EnergyStoragePowerStationPowerconversionsystemService', function($http) {
+ return {
+ getAllEnergyStoragePowerStationPowerconversionsystems: function(headers, callback) {
+ $http.get(getAPI()+'energystoragepowerstationpowerconversionsystems', {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+ getEnergyStoragePowerStationPowerconversionsystemsByEnergyStoragePowerStationID: function(id, headers, callback) {
+ $http.get(getAPI()+'energystoragepowerstations/'+id+'/powerconversionsystems', {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+ addEnergyStoragePowerStationPowerconversionsystem: function(id, energystoragepowerstationpowerconversionsystem, headers, callback) {
+ $http.post(getAPI()+'energystoragepowerstations/'+id+'/powerconversionsystems',{data:energystoragepowerstationpowerconversionsystem}, {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+ editEnergyStoragePowerStationPowerconversionsystem: function(id, energystoragepowerstationpowerconversionsystem, headers, callback) {
+ $http.put(getAPI()+'energystoragepowerstations/'+id+'/powerconversionsystems/'+energystoragepowerstationpowerconversionsystem.id,{data:energystoragepowerstationpowerconversionsystem}, {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+ deleteEnergyStoragePowerStationPowerconversionsystem: function(id, energystoragepowerstationpowerconversionsystemyID, headers, callback) {
+ $http.delete(getAPI()+'energystoragepowerstations/'+id+'/powerconversionsystems/'+energystoragepowerstationpowerconversionsystemyID, {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+ };
+});
diff --git a/myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationsensor.service.js b/myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationsensor.service.js
new file mode 100644
index 0000000000..fd715b6467
--- /dev/null
+++ b/myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationsensor.service.js
@@ -0,0 +1,30 @@
+'use strict';
+app.factory('EnergyStoragePowerStationSensorService', function($http) {
+ return {
+ addPair: function(energystoragepowerstationID,sensorID, headers, callback) {
+ $http.post(getAPI()+'energystoragepowerstations/'+energystoragepowerstationID+'/sensors',{data:{'sensor_id':sensorID}}, {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+
+ deletePair: function(energystoragepowerstationID,sensorID, headers, callback) {
+ $http.delete(getAPI()+'energystoragepowerstations/'+energystoragepowerstationID+'/sensors/'+sensorID, {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+ getSensorsByEnergyStoragePowerStationID: function(id, headers, callback) {
+ $http.get(getAPI()+'energystoragepowerstations/'+id+'/sensors', {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ }
+ };
+});
diff --git a/myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationuser.service.js b/myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationuser.service.js
new file mode 100644
index 0000000000..7f976de57d
--- /dev/null
+++ b/myems-admin/app/services/settings/energystoragepowerstation/energystoragepowerstationuser.service.js
@@ -0,0 +1,30 @@
+'use strict';
+app.factory('EnergyStoragePowerStationUserService', function($http) {
+ return {
+ addPair: function(energystoragepowerstationID,userID, headers, callback) {
+ $http.post(getAPI()+'energystoragepowerstations/'+energystoragepowerstationID+'/users',{data:{'user_id':userID}}, {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+
+ deletePair: function(energystoragepowerstationID,userID, headers, callback) {
+ $http.delete(getAPI()+'energystoragepowerstations/'+energystoragepowerstationID+'/users/'+userID, {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ },
+ getUsersByEnergyStoragePowerStationID: function(id, headers, callback) {
+ $http.get(getAPI()+'energystoragepowerstations/'+id+'/users', {headers})
+ .then(function (response) {
+ callback(response);
+ }, function (response) {
+ callback(response);
+ });
+ }
+ };
+});
diff --git a/myems-admin/app/translations.js b/myems-admin/app/translations.js
index c3d4adc6f5..84820b49ef 100644
--- a/myems-admin/app/translations.js
+++ b/myems-admin/app/translations.js
@@ -583,7 +583,7 @@ function config($translateProvider) {
N_S_MICROGRID_POWER_CONVERSION_SYSTEM: ' Power Conversion System (PCS)',
ADD_MICROGRID_POWER_CONVERSION_SYSTEM: 'Add Power Conversion System (PCS)',
EDIT_MICROGRID_POWER_CONVERSION_SYSTEM: 'Edit Power Conversion System (PCS)',
- BIND_USER: 'Bind User'
+ BIND_USER: 'Bind User',
},
VIRTUAL_POWER_PLANT: {
BALANCING_PRICE_POINT: 'Balancing Price Point',
@@ -597,17 +597,86 @@ function config($translateProvider) {
ADDRESS: 'Address',
POSTAL_CODE: 'Postal Code',
CAPACITY: 'Capacity',
+ NOMINAL_VOLTAGE: 'Nominal Voltage',
LATITUDE: 'Latitude',
LONGITUDE: 'Longitude',
+ SERIAL_NUMBER: 'Serial Number',
SVG: 'SVG',
DESCRIPTION: 'Description',
INPUT_ADDRESS: 'Input Address',
INPUT_POSTAL_CODE: 'Input Postal Code',
INPUT_CAPACITY: 'Input Capacity',
+ INPUT_NOMINAL_VOLTAGE: 'Input Nominal Voltage',
INPUT_LATITUDE: 'Input Latitude',
INPUT_LONGITUDE: 'Input Longitude',
+ INPUT_SERIAL_NUMBER: 'Input Serial Number',
INPUT_SVG: 'Input SVG',
INPUT_DESCRIPTION: 'Input Description',
+ BATTERY_STATE_POINT: 'Battery State Point',
+ SOC_POINT: 'SOC Point',
+ POWER_POINT: 'Power Point',
+ RUN_STATE_POINT: 'Run State Point',
+ CHARGE_START_TIME1_POINT: 'Charge Start Time1 Point',
+ CHARGE_END_TIME1_POINT: 'Charge End Time1 Point',
+ CHARGE_START_TIME2_POINT: 'Charge Start Time2 Point',
+ CHARGE_END_TIME2_POINT: 'Charge End Time2 Point',
+ CHARGE_START_TIME3_POINT: 'Charge Start Time3 Point',
+ CHARGE_END_TIME3_POINT: 'Charge End Time3 Point',
+ CHARGE_START_TIME4_POINT: 'Charge Start Time4 Point',
+ CHARGE_END_TIME4_POINT: 'Charge End Time4 Point',
+ DISCHARGE_START_TIME1_POINT: 'Discharge Start Time1 Point',
+ DISCHARGE_END_TIME1_POINT: 'Discharge End Time1 Point',
+ DISCHARGE_START_TIME2_POINT: 'Discharge Start Time2 Point',
+ DISCHARGE_END_TIME2_POINT: 'Discharge End Time2 Point',
+ DISCHARGE_START_TIME3_POINT: 'Discharge Start Time3 Point',
+ DISCHARGE_END_TIME3_POINT: 'Discharge End Time3 Point',
+ DISCHARGE_START_TIME4_POINT: 'Discharge Start Time4 Point',
+ DISCHARGE_END_TIME4_POINT: 'Discharge End Time4 Point',
+ CHARGE_START_TIME1_COMMAND: 'Charge Start Time1 Command',
+ CHARGE_END_TIME1_COMMAND: 'Charge End Time1 Command',
+ CHARGE_START_TIME2_COMMAND: 'Charge Start Time2 Command',
+ CHARGE_END_TIME2_COMMAND: 'Charge End Time2 Command',
+ CHARGE_START_TIME3_COMMAND: 'Charge Start Time3 Command',
+ CHARGE_END_TIME3_COMMAND: 'Charge End Time3 Command',
+ CHARGE_START_TIME4_COMMAND: 'Charge Start Time4 Command',
+ CHARGE_END_TIME4_COMMAND: 'Charge End Time4 Command',
+ DISCHARGE_START_TIME1_COMMAND: 'Discharge Start Time1 Command',
+ DISCHARGE_END_TIME1_COMMAND: 'Discharge End Time1 Command',
+ DISCHARGE_START_TIME2_COMMAND: 'Discharge Start Time2 Command',
+ DISCHARGE_END_TIME2_COMMAND: 'Discharge End Time2 Command',
+ DISCHARGE_START_TIME3_COMMAND: 'Discharge Start Time3 Command',
+ DISCHARGE_END_TIME3_COMMAND: 'Discharge End Time3 Command',
+ DISCHARGE_START_TIME4_COMMAND: 'Discharge Start Time4 Command',
+ DISCHARGE_END_TIME4_COMMAND: 'Discharge End Time4 Command',
+ METER: 'Meter',
+ CHARGE_METER: 'Charge Meter',
+ DISCHARGE_METER: 'Discharge Meter',
+ ELECTRICITY_METER: 'Electricity Meter',
+ BUY_METER: 'Buy Meter',
+ SELL_METER: 'Sell Meter',
+ ENERGY_STORAGE_POWER_STATION_BATTERY: 'Battery',
+ N_S_ENERGY_STORAGE_POWER_STATION_BATTERY: ' Batteries',
+ ADD_ENERGY_STORAGE_POWER_STATION_BATTERY: 'Add Battery',
+ EDIT_ENERGY_STORAGE_POWER_STATION_BATTERY: 'Edit Battery',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Battery Name',
+ INPUT_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Please Input Battery Name',
+ ENERGY_STORAGE_POWER_STATION_GRID: 'Grid',
+ N_S_ENERGY_STORAGE_POWER_STATION_GRID: ' Grid',
+ ADD_ENERGY_STORAGE_POWER_STATION_GRID: 'Add Grid',
+ EDIT_ENERGY_STORAGE_POWER_STATION_GRID: 'Edit Grid',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Grid Name',
+ INPUT_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Please Input Grid Name',
+ ENERGY_STORAGE_POWER_STATION_LOAD: 'Load',
+ N_S_ENERGY_STORAGE_POWER_STATION_LOAD: ' Load',
+ ADD_ENERGY_STORAGE_POWER_STATION_LOAD: 'Add Load',
+ EDIT_ENERGY_STORAGE_POWER_STATION_LOAD: 'Edit Load',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Load Name',
+ INPUT_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Please Input Load Name',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Power Conversion System (PCS)',
+ N_S_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: ' Power Conversion System (PCS)',
+ ADD_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Add Power Conversion System (PCS)',
+ EDIT_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Edit Power Conversion System (PCS)',
+ BIND_USER: 'Bind User',
},
PHOTOVOLTAIC_POWER_STATION: {
ADDRESS: 'Address',
@@ -1010,6 +1079,18 @@ function config($translateProvider) {
ENERGY_ITEM_USED_IN_VIRTUAL_METER: 'Energy Item Used In Virtual Meter',
ENERGY_STORAGE_POWER_STATION_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Name Is Already In Use',
ENERGY_STORAGE_POWER_STATION_NOT_FOUND: 'Energy Storage Power Station Not Found',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_EXISTS: 'Energy Storage Power Station Sensor Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_NOT_FOUND: 'Energy Storage Power Station Sensor Relation Not Found',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Battery Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NOT_FOUND: 'Energy Storage Power Station Battery Not Found',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Grid Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_GRID_NOT_FOUND: 'Energy Storage Power Station Grid Not Found',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Load Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NOT_FOUND: 'Energy Storage Power Station Load Not Found',
+ ENERGY_STORAGE_POWER_STATION_PCS_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station PCS Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NOT_FOUND: 'Energy Storage Power Station Power Conversion System Not Found',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_EXISTS: 'Energy Storage Power Station User Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_NOT_FOUND: 'Energy Storage Power Station User Relation Not Found',
EQUIPMENT_COMMAND_RELATION_EXISTS: 'Equipment Command Relation Exists',
EQUIPMENT_COMMAND_RELATION_NOT_FOUND: 'Equipment Command Relation Not Found',
EQUIPMENT_METER_RELATION_EXISTS: 'Equipment Meter Relation Exists',
@@ -1105,6 +1186,14 @@ function config($translateProvider) {
INVALID_ENERGY_ITEM_NAME: 'Invalid Energy Item Name',
INVALID_ENERGY_STORAGE_POWER_STATION_ID: 'Invalid Energy Storage Power Station ID',
INVALID_ENERGY_STORAGE_POWER_STATION_NAME: 'Invalid Energy Storage Power Station Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Invalid Energy Storage Power Station Battery Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_ID: 'Invalid Energy Storage Power Station Battery ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Invalid Energy Storage Power Station Grid Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_ID: 'Invalid Energy Storage Power Station Grid ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Invalid Energy Storage Power Station Load Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_ID: 'Invalid Energy Storage Power Station Load ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NAME: 'Invalid Energy Storage Power Station Power Conversion System Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_ID: 'Invalid Energy Storage Power Station Power Conversion System ID',
INVALID_EQUATION_IN_EXPRESSION: 'Invalid Equation In Expression',
INVALID_EQUIPMENT_ID: 'Invalid Equipment ID',
INVALID_EQUIPMENT_NAME: 'Invalid Equipment Name',
@@ -1993,38 +2082,38 @@ function config($translateProvider) {
SOC_POINT: 'SOC数据点',
POWER_POINT: '功率数据点',
RUN_STATE_POINT: '运行状态数据点',
- CHARGE_START_TIME1_POINT: 'Charge Start Time1 Point',
- CHARGE_END_TIME1_POINT: 'Charge End Time1 Point',
- CHARGE_START_TIME2_POINT: 'Charge Start Time2 Point',
- CHARGE_END_TIME2_POINT: 'Charge End Time2 Point',
- CHARGE_START_TIME3_POINT: 'Charge Start Time3 Point',
- CHARGE_END_TIME3_POINT: 'Charge End Time3 Point',
- CHARGE_START_TIME4_POINT: 'Charge Start Time4 Point',
- CHARGE_END_TIME4_POINT: 'Charge End Time4 Point',
- DISCHARGE_START_TIME1_POINT: 'Discharge Start Time1 Point',
- DISCHARGE_END_TIME1_POINT: 'Discharge End Time1 Point',
- DISCHARGE_START_TIME2_POINT: 'Discharge Start Time2 Point',
- DISCHARGE_END_TIME2_POINT: 'Discharge End Time2 Point',
- DISCHARGE_START_TIME3_POINT: 'Discharge Start Time3 Point',
- DISCHARGE_END_TIME3_POINT: 'Discharge End Time3 Point',
- DISCHARGE_START_TIME4_POINT: 'Discharge Start Time4 Point',
- DISCHARGE_END_TIME4_POINT: 'Discharge End Time4 Point',
- CHARGE_START_TIME1_COMMAND: 'Charge Start Time1 Command',
- CHARGE_END_TIME1_COMMAND: 'Charge End Time1 Command',
- CHARGE_START_TIME2_COMMAND: 'Charge Start Time2 Command',
- CHARGE_END_TIME2_COMMAND: 'Charge End Time2 Command',
- CHARGE_START_TIME3_COMMAND: 'Charge Start Time3 Command',
- CHARGE_END_TIME3_COMMAND: 'Charge End Time3 Command',
- CHARGE_START_TIME4_COMMAND: 'Charge Start Time4 Command',
- CHARGE_END_TIME4_COMMAND: 'Charge End Time4 Command',
- DISCHARGE_START_TIME1_COMMAND: 'Discharge Start Time1 Command',
- DISCHARGE_END_TIME1_COMMAND: 'Discharge End Time1 Command',
- DISCHARGE_START_TIME2_COMMAND: 'Discharge Start Time2 Command',
- DISCHARGE_END_TIME2_COMMAND: 'Discharge End Time2 Command',
- DISCHARGE_START_TIME3_COMMAND: 'Discharge Start Time3 Command',
- DISCHARGE_END_TIME3_COMMAND: 'Discharge End Time3 Command',
- DISCHARGE_START_TIME4_COMMAND: 'Discharge Start Time4 Command',
- DISCHARGE_END_TIME4_COMMAND: 'Discharge End Time4 Command',
+ CHARGE_START_TIME1_POINT: '充电开始时间1数据点',
+ CHARGE_END_TIME1_POINT: '充电结束时间1数据点',
+ CHARGE_START_TIME2_POINT: '充电开始时间2数据点',
+ CHARGE_END_TIME2_POINT: '充电结束时间2数据点',
+ CHARGE_START_TIME3_POINT: '充电开始时间3数据点',
+ CHARGE_END_TIME3_POINT: '充电结束时间3数据点',
+ CHARGE_START_TIME4_POINT: '充电开始时间4数据点',
+ CHARGE_END_TIME4_POINT: '充电结束时间4数据点',
+ DISCHARGE_START_TIME1_POINT: '放电开始时间1数据点',
+ DISCHARGE_END_TIME1_POINT: '放电结束时间1数据点',
+ DISCHARGE_START_TIME2_POINT: '放电开始时间2数据点',
+ DISCHARGE_END_TIME2_POINT: '放电结束时间2数据点',
+ DISCHARGE_START_TIME3_POINT: '放电开始时间3数据点',
+ DISCHARGE_END_TIME3_POINT: '放电结束时间3数据点',
+ DISCHARGE_START_TIME4_POINT: '放电开始时间4数据点',
+ DISCHARGE_END_TIME4_POINT: '放电结束时间4数据点',
+ CHARGE_START_TIME1_COMMAND: '充电开始时间1指令',
+ CHARGE_END_TIME1_COMMAND: '充电结束时间1指令',
+ CHARGE_START_TIME2_COMMAND: '充电开始时间2指令',
+ CHARGE_END_TIME2_COMMAND: '充电结束时间2指令',
+ CHARGE_START_TIME3_COMMAND: '充电开始时间3指令',
+ CHARGE_END_TIME3_COMMAND: '充电结束时间3指令',
+ CHARGE_START_TIME4_COMMAND: '充电开始时间4指令',
+ CHARGE_END_TIME4_COMMAND: '充电结束时间4指令',
+ DISCHARGE_START_TIME1_COMMAND: '放电开始时间1指令',
+ DISCHARGE_END_TIME1_COMMAND: '放电结束时间1指令',
+ DISCHARGE_START_TIME2_COMMAND: '放电开始时间2指令',
+ DISCHARGE_END_TIME2_COMMAND: '放电结束时间2指令',
+ DISCHARGE_START_TIME3_COMMAND: '放电开始时间3指令',
+ DISCHARGE_END_TIME3_COMMAND: '放电结束时间3指令',
+ DISCHARGE_START_TIME4_COMMAND: '放电开始时间4指令',
+ DISCHARGE_END_TIME4_COMMAND: '放电结束时间4指令',
METER: '计量表',
CHARGE_METER: '充电计量表',
DISCHARGE_METER: '放电计量表',
@@ -2093,17 +2182,86 @@ function config($translateProvider) {
ADDRESS: '地址',
POSTAL_CODE: '邮编',
CAPACITY: '容量',
+ NOMINAL_VOLTAGE: '标称电压',
LATITUDE: '纬度',
LONGITUDE: '经度',
+ SERIAL_NUMBER: '序列号',
SVG: 'SVG',
DESCRIPTION: '描述',
INPUT_ADDRESS: '输入地址',
INPUT_POSTAL_CODE: '输入邮编',
INPUT_CAPACITY: '输入容量',
+ INPUT_NOMINAL_VOLTAGE: '输入标称电压',
INPUT_LATITUDE: '输入经度',
INPUT_LONGITUDE: '输入维度',
+ INPUT_SERIAL_NUMBER: '输入序列号',
INPUT_SVG: '输入SVG',
INPUT_DESCRIPTION: '输入描述',
+ BATTERY_STATE_POINT: '电池状态数据点',
+ SOC_POINT: 'SOC数据点',
+ POWER_POINT: '功率数据点',
+ RUN_STATE_POINT: '运行状态数据点',
+ CHARGE_START_TIME1_POINT: '充电开始时间1数据点',
+ CHARGE_END_TIME1_POINT: '充电结束时间1数据点',
+ CHARGE_START_TIME2_POINT: '充电开始时间2数据点',
+ CHARGE_END_TIME2_POINT: '充电结束时间2数据点',
+ CHARGE_START_TIME3_POINT: '充电开始时间3数据点',
+ CHARGE_END_TIME3_POINT: '充电结束时间3数据点',
+ CHARGE_START_TIME4_POINT: '充电开始时间4数据点',
+ CHARGE_END_TIME4_POINT: '充电结束时间4数据点',
+ DISCHARGE_START_TIME1_POINT: '放电开始时间1数据点',
+ DISCHARGE_END_TIME1_POINT: '放电结束时间1数据点',
+ DISCHARGE_START_TIME2_POINT: '放电开始时间2数据点',
+ DISCHARGE_END_TIME2_POINT: '放电结束时间2数据点',
+ DISCHARGE_START_TIME3_POINT: '放电开始时间3数据点',
+ DISCHARGE_END_TIME3_POINT: '放电结束时间3数据点',
+ DISCHARGE_START_TIME4_POINT: '放电开始时间4数据点',
+ DISCHARGE_END_TIME4_POINT: '放电结束时间4数据点',
+ CHARGE_START_TIME1_COMMAND: '充电开始时间1指令',
+ CHARGE_END_TIME1_COMMAND: '充电结束时间1指令',
+ CHARGE_START_TIME2_COMMAND: '充电开始时间2指令',
+ CHARGE_END_TIME2_COMMAND: '充电结束时间2指令',
+ CHARGE_START_TIME3_COMMAND: '充电开始时间3指令',
+ CHARGE_END_TIME3_COMMAND: '充电结束时间3指令',
+ CHARGE_START_TIME4_COMMAND: '充电开始时间4指令',
+ CHARGE_END_TIME4_COMMAND: '充电结束时间4指令',
+ DISCHARGE_START_TIME1_COMMAND: '放电开始时间1指令',
+ DISCHARGE_END_TIME1_COMMAND: '放电结束时间1指令',
+ DISCHARGE_START_TIME2_COMMAND: '放电开始时间2指令',
+ DISCHARGE_END_TIME2_COMMAND: '放电结束时间2指令',
+ DISCHARGE_START_TIME3_COMMAND: '放电开始时间3指令',
+ DISCHARGE_END_TIME3_COMMAND: '放电结束时间3指令',
+ DISCHARGE_START_TIME4_COMMAND: '放电开始时间4指令',
+ DISCHARGE_END_TIME4_COMMAND: '放电结束时间4指令',
+ METER: '计量表',
+ CHARGE_METER: '充电计量表',
+ DISCHARGE_METER: '放电计量表',
+ ELECTRICITY_METER: '电量表',
+ BUY_METER: '购买计量表',
+ SELL_METER: '销售计量表',
+ ENERGY_STORAGE_POWER_STATION_BATTERY: '电池',
+ N_S_ENERGY_STORAGE_POWER_STATION_BATTERY: ' 电池',
+ ADD_ENERGY_STORAGE_POWER_STATION_BATTERY: '添加电池',
+ EDIT_ENERGY_STORAGE_POWER_STATION_BATTERY: '编辑电池',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: '电池名称',
+ INPUT_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: '请输入电池名称',
+ ENERGY_STORAGE_POWER_STATION_GRID: '电网',
+ N_S_ENERGY_STORAGE_POWER_STATION_GRID: ' 电网',
+ ADD_ENERGY_STORAGE_POWER_STATION_GRID: '添加电网',
+ EDIT_ENERGY_STORAGE_POWER_STATION_GRID: '编辑电网',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME: '电网名称',
+ INPUT_ENERGY_STORAGE_POWER_STATION_GRID_NAME: '请输入电网名称',
+ ENERGY_STORAGE_POWER_STATION_LOAD: '负载',
+ N_S_ENERGY_STORAGE_POWER_STATION_LOAD: ' 负载',
+ ADD_ENERGY_STORAGE_POWER_STATION_LOAD: '添加负载',
+ EDIT_ENERGY_STORAGE_POWER_STATION_LOAD: '编辑负载',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME: '负载名称',
+ INPUT_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: '请输入负载名称',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: '功率转换系统(PCS)',
+ N_S_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: ' 功率转换系统(PCS)',
+ ADD_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: '添加功率转换系统(PCS)',
+ EDIT_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: '编辑功率转换系统(PCS)',
+ BIND_USER: '绑定用户',
},
PHOTOVOLTAIC_POWER_STATION: {
ADDRESS: '地址',
@@ -2529,6 +2687,18 @@ function config($translateProvider) {
ENERGY_ITEM_USED_IN_VIRTUAL_METER: 'Energy Item Used In Virtual Meter',
ENERGY_STORAGE_POWER_STATION_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Name Is Already In Use',
ENERGY_STORAGE_POWER_STATION_NOT_FOUND: 'Energy Storage Power Station Not Found',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_EXISTS: 'Energy Storage Power Station Sensor Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_NOT_FOUND: 'Energy Storage Power Station Sensor Relation Not Found',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Battery Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NOT_FOUND: 'Energy Storage Power Station Battery Not Found',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Grid Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_GRID_NOT_FOUND: 'Energy Storage Power Station Grid Not Found',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Load Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NOT_FOUND: 'Energy Storage Power Station Load Not Found',
+ ENERGY_STORAGE_POWER_STATION_PCS_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station PCS Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NOT_FOUND: 'Energy Storage Power Station Power Conversion System Not Found',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_EXISTS: 'Energy Storage Power Station User Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_NOT_FOUND: 'Energy Storage Power Station User Relation Not Found',
EQUIPMENT_COMMAND_RELATION_EXISTS: 'Equipment Command Relation Exists',
EQUIPMENT_COMMAND_RELATION_NOT_FOUND: 'Equipment Command Relation Not Found',
EQUIPMENT_METER_RELATION_EXISTS: 'Equipment Meter Relation Exists',
@@ -2624,6 +2794,14 @@ function config($translateProvider) {
INVALID_ENERGY_ITEM_NAME: 'Invalid Energy Item Name',
INVALID_ENERGY_STORAGE_POWER_STATION_ID: 'Invalid Energy Storage Power Station ID',
INVALID_ENERGY_STORAGE_POWER_STATION_NAME: 'Invalid Energy Storage Power Station Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Invalid Energy Storage Power Station Battery Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_ID: 'Invalid Energy Storage Power Station Battery ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Invalid Energy Storage Power Station Grid Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_ID: 'Invalid Energy Storage Power Station Grid ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Invalid Energy Storage Power Station Load Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_ID: 'Invalid Energy Storage Power Station Load ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NAME: 'Invalid Energy Storage Power Station Power Conversion System Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_ID: 'Invalid Energy Storage Power Station Power Conversion System ID',
INVALID_EQUATION_IN_EXPRESSION: 'Invalid Equation In Expression',
INVALID_EQUIPMENT_ID: 'Invalid Equipment ID',
INVALID_EQUIPMENT_NAME: 'Invalid Equipment Name',
@@ -3612,17 +3790,86 @@ function config($translateProvider) {
ADDRESS: 'Adresse',
POSTAL_CODE: 'Postleitzahl',
CAPACITY: 'Kapazität',
+ NOMINAL_VOLTAGE: 'Nennspannung',
LATITUDE: 'Breitengrad',
LONGITUDE: 'Längengrad',
+ SERIAL_NUMBER: 'Seriennummer',
SVG: 'SVG',
DESCRIPTION: 'Beschreibung',
- INPUT_ADDRESS: 'Adresse eingeben',
- INPUT_POSTAL_CODE: 'geben Sie Postleitzahl ein',
- INPUT_CAPACITY: 'Eingabekapazität',
- INPUT_LATITUDE: 'Breitengrad eingeben',
- INPUT_LONGITUDE: 'Längengrad eingeben',
- INPUT_SVG: 'SVG eingeben',
- INPUT_DESCRIPTION: 'geben Sie Beschreibung ein',
+ INPUT_ADDRESS: 'Bitte Adresse eingeben',
+ INPUT_POSTAL_CODE: 'Bitte geben Sie Postleitzahl ein',
+ INPUT_CAPACITY: 'Bitte Eingabekapazität',
+ INPUT_NOMINAL_VOLTAGE: 'Eingangsspannung',
+ INPUT_LATITUDE: 'Bitte Breitengrad eingeben',
+ INPUT_LONGITUDE: 'Bitte Längengrad eingeben',
+ INPUT_SERIAL_NUMBER: 'Seriennummer eingeben',
+ INPUT_SVG: 'Bitte SVG eingeben',
+ INPUT_DESCRIPTION: 'Bitte geben Sie Beschreibung ein',
+ BATTERY_STATE_POINT: 'Batteriezustandspunkt',
+ SOC_POINT: 'SOC Point',
+ POWER_POINT: 'Power Point',
+ RUN_STATE_POINT: 'Zustandspunkt ausführen',
+ CHARGE_START_TIME1_POINT: 'Charge Start Time1 Point',
+ CHARGE_END_TIME1_POINT: 'Charge End Time1 Point',
+ CHARGE_START_TIME2_POINT: 'Charge Start Time2 Point',
+ CHARGE_END_TIME2_POINT: 'Charge End Time2 Point',
+ CHARGE_START_TIME3_POINT: 'Charge Start Time3 Point',
+ CHARGE_END_TIME3_POINT: 'Charge End Time3 Point',
+ CHARGE_START_TIME4_POINT: 'Charge Start Time4 Point',
+ CHARGE_END_TIME4_POINT: 'Charge End Time4 Point',
+ DISCHARGE_START_TIME1_POINT: 'Discharge Start Time1 Point',
+ DISCHARGE_END_TIME1_POINT: 'Discharge End Time1 Point',
+ DISCHARGE_START_TIME2_POINT: 'Discharge Start Time2 Point',
+ DISCHARGE_END_TIME2_POINT: 'Discharge End Time2 Point',
+ DISCHARGE_START_TIME3_POINT: 'Discharge Start Time3 Point',
+ DISCHARGE_END_TIME3_POINT: 'Discharge End Time3 Point',
+ DISCHARGE_START_TIME4_POINT: 'Discharge Start Time4 Point',
+ DISCHARGE_END_TIME4_POINT: 'Discharge End Time4 Point',
+ CHARGE_START_TIME1_COMMAND: 'Charge Start Time1 Command',
+ CHARGE_END_TIME1_COMMAND: 'Charge End Time1 Command',
+ CHARGE_START_TIME2_COMMAND: 'Charge Start Time2 Command',
+ CHARGE_END_TIME2_COMMAND: 'Charge End Time2 Command',
+ CHARGE_START_TIME3_COMMAND: 'Charge Start Time3 Command',
+ CHARGE_END_TIME3_COMMAND: 'Charge End Time3 Command',
+ CHARGE_START_TIME4_COMMAND: 'Charge Start Time4 Command',
+ CHARGE_END_TIME4_COMMAND: 'Charge End Time4 Command',
+ DISCHARGE_START_TIME1_COMMAND: 'Discharge Start Time1 Command',
+ DISCHARGE_END_TIME1_COMMAND: 'Discharge End Time1 Command',
+ DISCHARGE_START_TIME2_COMMAND: 'Discharge Start Time2 Command',
+ DISCHARGE_END_TIME2_COMMAND: 'Discharge End Time2 Command',
+ DISCHARGE_START_TIME3_COMMAND: 'Discharge Start Time3 Command',
+ DISCHARGE_END_TIME3_COMMAND: 'Discharge End Time3 Command',
+ DISCHARGE_START_TIME4_COMMAND: 'Discharge Start Time4 Command',
+ DISCHARGE_END_TIME4_COMMAND: 'Discharge End Time4 Command',
+ METER: 'Meter',
+ CHARGE_METER: 'Charge Meter',
+ DISCHARGE_METER: 'Discharge Meter',
+ ELECTRICITY_METER: 'Electricity Meter',
+ BUY_METER: 'Buy Meter',
+ SELL_METER: 'Sell Meter',
+ ENERGY_STORAGE_POWER_STATION_BATTERY: 'Battery',
+ N_S_ENERGY_STORAGE_POWER_STATION_BATTERY: ' Batterien',
+ ADD_ENERGY_STORAGE_POWER_STATION_BATTERY: 'Batterie hinzufügen',
+ EDIT_ENERGY_STORAGE_POWER_STATION_BATTERY: 'Batterie bearbeiten',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Batteriename',
+ INPUT_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Bitte geben Sie Batteriename ein',
+ ENERGY_STORAGE_POWER_STATION_GRID: 'Gitter',
+ N_S_ENERGY_STORAGE_POWER_STATION_GRID: ' Gitter',
+ ADD_ENERGY_STORAGE_POWER_STATION_GRID: 'Gitter hinzufügen',
+ EDIT_ENERGY_STORAGE_POWER_STATION_GRID: 'Gitter bearbeiten',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Gittername',
+ INPUT_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Bitte geben Sie Rastername ein',
+ ENERGY_STORAGE_POWER_STATION_LOAD: 'Last',
+ N_S_ENERGY_STORAGE_POWER_STATION_LOAD: ' Last',
+ ADD_ENERGY_STORAGE_POWER_STATION_LOAD: 'Laden hinzufügen',
+ EDIT_ENERGY_STORAGE_POWER_STATION_LOAD: 'Laden bearbeiten',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Name laden',
+ INPUT_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Bitte geben Sie Ladenamen ein',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Stromumwandlungssystem (PCS)',
+ N_S_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: ' Stromumwandlungssystem (PCS)',
+ ADD_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Stromumwandlungssystem (PCS) hinzufügen',
+ EDIT_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Stromwandlungssystem (PCS) bearbeiten',
+ BIND_USER: 'BIND-BENUTZER',
},
PHOTOVOLTAIC_POWER_STATION: {
ADDRESS: 'Adresse',
@@ -4045,6 +4292,18 @@ function config($translateProvider) {
ENERGY_ITEM_USED_IN_VIRTUAL_METER: 'Energy Item Used In Virtual Meter',
ENERGY_STORAGE_POWER_STATION_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Name Is Already In Use',
ENERGY_STORAGE_POWER_STATION_NOT_FOUND: 'Energy Storage Power Station Not Found',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_EXISTS: 'Energy Storage Power Station Sensor Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_NOT_FOUND: 'Energy Storage Power Station Sensor Relation Not Found',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Battery Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NOT_FOUND: 'Energy Storage Power Station Battery Not Found',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Grid Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_GRID_NOT_FOUND: 'Energy Storage Power Station Grid Not Found',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Load Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NOT_FOUND: 'Energy Storage Power Station Load Not Found',
+ ENERGY_STORAGE_POWER_STATION_PCS_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station PCS Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NOT_FOUND: 'Energy Storage Power Station Power Conversion System Not Found',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_EXISTS: 'Energy Storage Power Station User Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_NOT_FOUND: 'Energy Storage Power Station User Relation Not Found',
EQUIPMENT_COMMAND_RELATION_EXISTS: 'Equipment Command Relation Exists',
EQUIPMENT_COMMAND_RELATION_NOT_FOUND: 'Equipment Command Relation Not Found',
EQUIPMENT_METER_RELATION_EXISTS: 'Equipment Meter Relation Exists',
@@ -4140,6 +4399,14 @@ function config($translateProvider) {
INVALID_ENERGY_ITEM_NAME: 'Invalid Energy Item Name',
INVALID_ENERGY_STORAGE_POWER_STATION_ID: 'Invalid Energy Storage Power Station ID',
INVALID_ENERGY_STORAGE_POWER_STATION_NAME: 'Invalid Energy Storage Power Station Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Invalid Energy Storage Power Station Battery Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_ID: 'Invalid Energy Storage Power Station Battery ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Invalid Energy Storage Power Station Grid Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_ID: 'Invalid Energy Storage Power Station Grid ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Invalid Energy Storage Power Station Load Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_ID: 'Invalid Energy Storage Power Station Load ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NAME: 'Invalid Energy Storage Power Station Power Conversion System Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_ID: 'Invalid Energy Storage Power Station Power Conversion System ID',
INVALID_EQUATION_IN_EXPRESSION: 'Invalid Equation In Expression',
INVALID_EQUIPMENT_ID: 'Invalid Equipment ID',
INVALID_EQUIPMENT_NAME: 'Invalid Equipment Name',
@@ -5147,17 +5414,86 @@ function config($translateProvider) {
ADDRESS: 'Adresse',
POSTAL_CODE: 'Code postal',
CAPACITY: 'Capacité',
+ NOMINAL_VOLTAGE: 'Tension nominale',
LATITUDE: 'Latitude',
LONGITUDE: 'Longitude',
+ SERIAL_NUMBER: 'Numéro de série',
SVG: 'SVG',
DESCRIPTION: 'Description',
- INPUT_ADDRESS: 'saisir l’adresse',
- INPUT_POSTAL_CODE: 'entrer le code postal',
- INPUT_CAPACITY: 'saisir la capacité',
- INPUT_LATITUDE: 'saisir la latitude',
- INPUT_LONGITUDE: 'saisir la longitude',
- INPUT_SVG: 'saisir SVG',
- INPUT_DESCRIPTION: 'saisir la description',
+ INPUT_ADDRESS: 'Veuillez saisir l’adresse',
+ INPUT_POSTAL_CODE: 'Veuillez entrer le code postal',
+ INPUT_CAPACITY: 'Veuillez saisir la capacité',
+ INPUT_NOMINAL_VOLTAGE: 'Tension nominale d’entrée',
+ INPUT_LATITUDE: 'Veuillez saisir la latitude',
+ INPUT_LONGITUDE: 'Veuillez saisir la longitude',
+ INPUT_SERIAL_NUMBER: 'Entrez le numéro de série',
+ INPUT_SVG: 'Veuillez saisir SVG',
+ INPUT_DESCRIPTION: 'Veuillez saisir la description',
+ BATTERY_STATE_POINT: 'Point d’état de la batterie',
+ SOC_POINT: 'SOC Point',
+ POWER_POINT: 'Prise murale',
+ RUN_STATE_POINT: 'Point d’état opérationnel',
+ CHARGE_START_TIME1_POINT: 'Charge Start Time1 Point',
+ CHARGE_END_TIME1_POINT: 'Charge End Time1 Point',
+ CHARGE_START_TIME2_POINT: 'Charge Start Time2 Point',
+ CHARGE_END_TIME2_POINT: 'Charge End Time2 Point',
+ CHARGE_START_TIME3_POINT: 'Charge Start Time3 Point',
+ CHARGE_END_TIME3_POINT: 'Charge End Time3 Point',
+ CHARGE_START_TIME4_POINT: 'Charge Start Time4 Point',
+ CHARGE_END_TIME4_POINT: 'Charge End Time4 Point',
+ DISCHARGE_START_TIME1_POINT: 'Discharge Start Time1 Point',
+ DISCHARGE_END_TIME1_POINT: 'Discharge End Time1 Point',
+ DISCHARGE_START_TIME2_POINT: 'Discharge Start Time2 Point',
+ DISCHARGE_END_TIME2_POINT: 'Discharge End Time2 Point',
+ DISCHARGE_START_TIME3_POINT: 'Discharge Start Time3 Point',
+ DISCHARGE_END_TIME3_POINT: 'Discharge End Time3 Point',
+ DISCHARGE_START_TIME4_POINT: 'Discharge Start Time4 Point',
+ DISCHARGE_END_TIME4_POINT: 'Discharge End Time4 Point',
+ CHARGE_START_TIME1_COMMAND: 'Charge Start Time1 Command',
+ CHARGE_END_TIME1_COMMAND: 'Charge End Time1 Command',
+ CHARGE_START_TIME2_COMMAND: 'Charge Start Time2 Command',
+ CHARGE_END_TIME2_COMMAND: 'Charge End Time2 Command',
+ CHARGE_START_TIME3_COMMAND: 'Charge Start Time3 Command',
+ CHARGE_END_TIME3_COMMAND: 'Charge End Time3 Command',
+ CHARGE_START_TIME4_COMMAND: 'Charge Start Time4 Command',
+ CHARGE_END_TIME4_COMMAND: 'Charge End Time4 Command',
+ DISCHARGE_START_TIME1_COMMAND: 'Discharge Start Time1 Command',
+ DISCHARGE_END_TIME1_COMMAND: 'Discharge End Time1 Command',
+ DISCHARGE_START_TIME2_COMMAND: 'Discharge Start Time2 Command',
+ DISCHARGE_END_TIME2_COMMAND: 'Discharge End Time2 Command',
+ DISCHARGE_START_TIME3_COMMAND: 'Discharge Start Time3 Command',
+ DISCHARGE_END_TIME3_COMMAND: 'Discharge End Time3 Command',
+ DISCHARGE_START_TIME4_COMMAND: 'Discharge Start Time4 Command',
+ DISCHARGE_END_TIME4_COMMAND: 'Discharge End Time4 Command',
+ METER: 'Mètre',
+ CHARGE_METER: 'Compteur de charge',
+ DISCHARGE_METER: 'Compteur de décharge',
+ ELECTRICITY_METER: 'Électricité Mètre',
+ BUY_METER: 'Acheter Meter',
+ SELL_METER: 'Vendre le compteur',
+ ENERGY_STORAGE_POWER_STATION_BATTERY: 'Pile',
+ N_S_ENERGY_STORAGE_POWER_STATION_BATTERY: ' Piles',
+ ADD_ENERGY_STORAGE_POWER_STATION_BATTERY: 'Ajouter une batterie',
+ EDIT_ENERGY_STORAGE_POWER_STATION_BATTERY: 'Modifier la batterie',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Nom de la batterie',
+ INPUT_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Veuillez saisir le nom de la batterie',
+ ENERGY_STORAGE_POWER_STATION_GRID: 'Grille',
+ N_S_ENERGY_STORAGE_POWER_STATION_GRID: ' Grille',
+ ADD_ENERGY_STORAGE_POWER_STATION_GRID: 'Ajouter une grille',
+ EDIT_ENERGY_STORAGE_POWER_STATION_GRID: 'Modifier la grille',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Nom de la grille',
+ INPUT_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Veuillez saisir le nom de la grille',
+ ENERGY_STORAGE_POWER_STATION_LOAD: 'Charger',
+ N_S_ENERGY_STORAGE_POWER_STATION_LOAD: ' Charger',
+ ADD_ENERGY_STORAGE_POWER_STATION_LOAD: 'Ajouter de la charge',
+ EDIT_ENERGY_STORAGE_POWER_STATION_LOAD: 'Modifier le chargement',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Nom de chargement',
+ INPUT_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Veuillez saisir le nom du chargement',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Système de conversion de puissance (PCS)',
+ N_S_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: ' Système de conversion de puissance (PCS)',
+ ADD_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Ajouter un système de conversion de puissance (PCS)',
+ EDIT_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Modifier le système de conversion de puissance (PCS)',
+ BIND_USER: 'Utilisateurs liés',
},
PHOTOVOLTAIC_POWER_STATION: {
ADDRESS: 'Adresse',
@@ -5560,6 +5896,18 @@ function config($translateProvider) {
ENERGY_ITEM_USED_IN_VIRTUAL_METER: 'Energy Item Used In Virtual Meter',
ENERGY_STORAGE_POWER_STATION_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Name Is Already In Use',
ENERGY_STORAGE_POWER_STATION_NOT_FOUND: 'Energy Storage Power Station Not Found',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_EXISTS: 'Energy Storage Power Station Sensor Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_NOT_FOUND: 'Energy Storage Power Station Sensor Relation Not Found',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Battery Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NOT_FOUND: 'Energy Storage Power Station Battery Not Found',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Grid Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_GRID_NOT_FOUND: 'Energy Storage Power Station Grid Not Found',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Load Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NOT_FOUND: 'Energy Storage Power Station Load Not Found',
+ ENERGY_STORAGE_POWER_STATION_PCS_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station PCS Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NOT_FOUND: 'Energy Storage Power Station Power Conversion System Not Found',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_EXISTS: 'Energy Storage Power Station User Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_NOT_FOUND: 'Energy Storage Power Station User Relation Not Found',
EQUIPMENT_COMMAND_RELATION_EXISTS: 'Equipment Command Relation Exists',
EQUIPMENT_COMMAND_RELATION_NOT_FOUND: 'Equipment Command Relation Not Found',
EQUIPMENT_METER_RELATION_EXISTS: 'Equipment Meter Relation Exists',
@@ -5655,6 +6003,14 @@ function config($translateProvider) {
INVALID_ENERGY_ITEM_NAME: 'Invalid Energy Item Name',
INVALID_ENERGY_STORAGE_POWER_STATION_ID: 'Invalid Energy Storage Power Station ID',
INVALID_ENERGY_STORAGE_POWER_STATION_NAME: 'Invalid Energy Storage Power Station Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Invalid Energy Storage Power Station Battery Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_ID: 'Invalid Energy Storage Power Station Battery ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Invalid Energy Storage Power Station Grid Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_ID: 'Invalid Energy Storage Power Station Grid ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Invalid Energy Storage Power Station Load Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_ID: 'Invalid Energy Storage Power Station Load ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NAME: 'Invalid Energy Storage Power Station Power Conversion System Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_ID: 'Invalid Energy Storage Power Station Power Conversion System ID',
INVALID_EQUATION_IN_EXPRESSION: 'Invalid Equation In Expression',
INVALID_EQUIPMENT_ID: 'Invalid Equipment ID',
INVALID_EQUIPMENT_NAME: 'Invalid Equipment Name',
@@ -6663,17 +7019,86 @@ function config($translateProvider) {
ADDRESS: 'Dirección',
POSTAL_CODE: 'Código postal',
CAPACITY: 'Capacidad',
+ NOMINAL_VOLTAGE: 'Tensión nominal',
LATITUDE: 'Latitud',
LONGITUDE: 'Longitud',
+ SERIAL_NUMBER: 'Número de serie',
SVG: 'SVG',
DESCRIPTION: 'Descripción',
- INPUT_ADDRESS: 'Introduzca la dirección',
- INPUT_POSTAL_CODE: 'Introduzca el código postal',
- INPUT_CAPACITY: 'Ingrese la capacidad',
- INPUT_LATITUDE: 'Introduzca Latitude',
- INPUT_LONGITUDE: 'Introduzca la longitud',
- INPUT_SVG: 'Introduzca SVG',
- INPUT_DESCRIPTION: 'Introduzca la descripción',
+ INPUT_ADDRESS: 'Por favor, introduzca la dirección',
+ INPUT_POSTAL_CODE: 'Por favor, introduzca el código postal',
+ INPUT_CAPACITY: 'Por favor, ingrese la capacidad',
+ INPUT_NOMINAL_VOLTAGE: 'Tensión nominal de entrada',
+ INPUT_LATITUDE: 'Por favor, introduzca Latitude',
+ INPUT_LONGITUDE: 'Por favor, introduzca la longitud',
+ INPUT_SERIAL_NUMBER: 'Introduzca el número de serie',
+ INPUT_SVG: 'Por favor, introduzca SVG',
+ INPUT_DESCRIPTION: 'Por favor, introduzca la descripción',
+ BATTERY_STATE_POINT: 'Punto de Estado de la batería',
+ SOC_POINT: 'Punto SOC',
+ POWER_POINT: 'Puntos de datos de potencia',
+ RUN_STATE_POINT: 'Punto de Estado de funcionamiento',
+ CHARGE_START_TIME1_POINT: 'Charge Start Time1 Point',
+ CHARGE_END_TIME1_POINT: 'Charge End Time1 Point',
+ CHARGE_START_TIME2_POINT: 'Charge Start Time2 Point',
+ CHARGE_END_TIME2_POINT: 'Charge End Time2 Point',
+ CHARGE_START_TIME3_POINT: 'Charge Start Time3 Point',
+ CHARGE_END_TIME3_POINT: 'Charge End Time3 Point',
+ CHARGE_START_TIME4_POINT: 'Charge Start Time4 Point',
+ CHARGE_END_TIME4_POINT: 'Charge End Time4 Point',
+ DISCHARGE_START_TIME1_POINT: 'Discharge Start Time1 Point',
+ DISCHARGE_END_TIME1_POINT: 'Discharge End Time1 Point',
+ DISCHARGE_START_TIME2_POINT: 'Discharge Start Time2 Point',
+ DISCHARGE_END_TIME2_POINT: 'Discharge End Time2 Point',
+ DISCHARGE_START_TIME3_POINT: 'Discharge Start Time3 Point',
+ DISCHARGE_END_TIME3_POINT: 'Discharge End Time3 Point',
+ DISCHARGE_START_TIME4_POINT: 'Discharge Start Time4 Point',
+ DISCHARGE_END_TIME4_POINT: 'Discharge End Time4 Point',
+ CHARGE_START_TIME1_COMMAND: 'Charge Start Time1 Command',
+ CHARGE_END_TIME1_COMMAND: 'Charge End Time1 Command',
+ CHARGE_START_TIME2_COMMAND: 'Charge Start Time2 Command',
+ CHARGE_END_TIME2_COMMAND: 'Charge End Time2 Command',
+ CHARGE_START_TIME3_COMMAND: 'Charge Start Time3 Command',
+ CHARGE_END_TIME3_COMMAND: 'Charge End Time3 Command',
+ CHARGE_START_TIME4_COMMAND: 'Charge Start Time4 Command',
+ CHARGE_END_TIME4_COMMAND: 'Charge End Time4 Command',
+ DISCHARGE_START_TIME1_COMMAND: 'Discharge Start Time1 Command',
+ DISCHARGE_END_TIME1_COMMAND: 'Discharge End Time1 Command',
+ DISCHARGE_START_TIME2_COMMAND: 'Discharge Start Time2 Command',
+ DISCHARGE_END_TIME2_COMMAND: 'Discharge End Time2 Command',
+ DISCHARGE_START_TIME3_COMMAND: 'Discharge Start Time3 Command',
+ DISCHARGE_END_TIME3_COMMAND: 'Discharge End Time3 Command',
+ DISCHARGE_START_TIME4_COMMAND: 'Discharge Start Time4 Command',
+ DISCHARGE_END_TIME4_COMMAND: 'Discharge End Time4 Command',
+ METER: 'Metro',
+ CHARGE_METER: 'Medidor de carga',
+ DISCHARGE_METER: 'Medidor de descarga',
+ ELECTRICITY_METER: 'Medidor de electricidad',
+ BUY_METER: 'Comprar medidor',
+ SELL_METER: 'Vender medidor',
+ ENERGY_STORAGE_POWER_STATION_BATTERY: 'Batería',
+ N_S_ENERGY_STORAGE_POWER_STATION_BATTERY: ' Baterías',
+ ADD_ENERGY_STORAGE_POWER_STATION_BATTERY: 'Añadir batería',
+ EDIT_ENERGY_STORAGE_POWER_STATION_BATTERY: 'Editar batería',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Nombre de la batería',
+ INPUT_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Introduzca el nombre de la batería',
+ ENERGY_STORAGE_POWER_STATION_GRID: 'Rejilla',
+ N_S_ENERGY_STORAGE_POWER_STATION_GRID: ' Rejilla',
+ ADD_ENERGY_STORAGE_POWER_STATION_GRID: 'Agregar cuadrícula',
+ EDIT_ENERGY_STORAGE_POWER_STATION_GRID: 'Editar cuadrícula',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Nombre de la cuadrícula',
+ INPUT_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Introduzca el nombre de la cuadrícula',
+ ENERGY_STORAGE_POWER_STATION_LOAD: 'Carga',
+ N_S_ENERGY_STORAGE_POWER_STATION_LOAD: ' Carga',
+ ADD_ENERGY_STORAGE_POWER_STATION_LOAD: 'Agregar carga',
+ EDIT_ENERGY_STORAGE_POWER_STATION_LOAD: 'Editar carga',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Nombre de carga',
+ INPUT_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Introduzca el nombre de la carga',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Sistema de conversión de potencia (PCS)',
+ N_S_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: ' Sistema de conversión de potencia (PCS)',
+ ADD_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Añadir sistema de conversión de energía (PCS)',
+ EDIT_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Editar el sistema de conversión de energía',
+ BIND_USER: 'Usuarios vinculados',
},
PHOTOVOLTAIC_POWER_STATION: {
ADDRESS: 'Dirección',
@@ -7076,6 +7501,18 @@ function config($translateProvider) {
ENERGY_ITEM_USED_IN_VIRTUAL_METER: 'Energy Item Used In Virtual Meter',
ENERGY_STORAGE_POWER_STATION_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Name Is Already In Use',
ENERGY_STORAGE_POWER_STATION_NOT_FOUND: 'Energy Storage Power Station Not Found',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_EXISTS: 'Energy Storage Power Station Sensor Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_NOT_FOUND: 'Energy Storage Power Station Sensor Relation Not Found',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Battery Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NOT_FOUND: 'Energy Storage Power Station Battery Not Found',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Grid Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_GRID_NOT_FOUND: 'Energy Storage Power Station Grid Not Found',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Load Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NOT_FOUND: 'Energy Storage Power Station Load Not Found',
+ ENERGY_STORAGE_POWER_STATION_PCS_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station PCS Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NOT_FOUND: 'Energy Storage Power Station Power Conversion System Not Found',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_EXISTS: 'Energy Storage Power Station User Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_NOT_FOUND: 'Energy Storage Power Station User Relation Not Found',
EQUIPMENT_COMMAND_RELATION_EXISTS: 'Equipment Command Relation Exists',
EQUIPMENT_COMMAND_RELATION_NOT_FOUND: 'Equipment Command Relation Not Found',
EQUIPMENT_METER_RELATION_EXISTS: 'Equipment Meter Relation Exists',
@@ -7171,6 +7608,14 @@ function config($translateProvider) {
INVALID_ENERGY_ITEM_NAME: 'Invalid Energy Item Name',
INVALID_ENERGY_STORAGE_POWER_STATION_ID: 'Invalid Energy Storage Power Station ID',
INVALID_ENERGY_STORAGE_POWER_STATION_NAME: 'Invalid Energy Storage Power Station Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Invalid Energy Storage Power Station Battery Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_ID: 'Invalid Energy Storage Power Station Battery ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Invalid Energy Storage Power Station Grid Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_ID: 'Invalid Energy Storage Power Station Grid ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Invalid Energy Storage Power Station Load Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_ID: 'Invalid Energy Storage Power Station Load ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NAME: 'Invalid Energy Storage Power Station Power Conversion System Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_ID: 'Invalid Energy Storage Power Station Power Conversion System ID',
INVALID_EQUATION_IN_EXPRESSION: 'Invalid Equation In Expression',
INVALID_EQUIPMENT_ID: 'Invalid Equipment ID',
INVALID_EQUIPMENT_NAME: 'Invalid Equipment Name',
@@ -8179,17 +8624,86 @@ function config($translateProvider) {
ADDRESS: 'Адрес',
POSTAL_CODE: 'Почтовый индекс',
CAPACITY: 'Способность',
+ NOMINAL_VOLTAGE: 'Номинальное напряжение',
LATITUDE: 'Широта',
LONGITUDE: 'Долгота',
+ SERIAL_NUMBER: 'Серийный номер',
SVG: 'SVG',
DESCRIPTION: 'Описание',
- INPUT_ADDRESS: 'введите адрес',
- INPUT_POSTAL_CODE: 'введите почтовый индекс',
- INPUT_CAPACITY: 'введите емкость',
- INPUT_LATITUDE: 'введите широту',
- INPUT_LONGITUDE: 'введите долготу',
- INPUT_SVG: 'введите SVG',
- INPUT_DESCRIPTION: 'введите описание',
+ INPUT_ADDRESS: 'Пожалуйста, введите адрес',
+ INPUT_POSTAL_CODE: 'Пожалуйста, введите почтовый индекс',
+ INPUT_CAPACITY: 'Пожалуйста, введите емкость',
+ INPUT_NOMINAL_VOLTAGE: 'Входное номинальное напряжение',
+ INPUT_LATITUDE: 'Пожалуйста, введите широту',
+ INPUT_LONGITUDE: 'Пожалуйста, введите долготу',
+ INPUT_SERIAL_NUMBER: 'Введите серийный номер',
+ INPUT_SVG: 'Пожалуйста, введите SVG',
+ INPUT_DESCRIPTION: 'Пожалуйста, введите описание',
+ BATTERY_STATE_POINT: 'Точка состояния батареи',
+ SOC_POINT: 'Точка SOC',
+ POWER_POINT: 'Электрический ввод',
+ RUN_STATE_POINT: 'Точка режима работы',
+ CHARGE_START_TIME1_POINT: 'Charge Start Time1 Point',
+ CHARGE_END_TIME1_POINT: 'Charge End Time1 Point',
+ CHARGE_START_TIME2_POINT: 'Charge Start Time2 Point',
+ CHARGE_END_TIME2_POINT: 'Charge End Time2 Point',
+ CHARGE_START_TIME3_POINT: 'Charge Start Time3 Point',
+ CHARGE_END_TIME3_POINT: 'Charge End Time3 Point',
+ CHARGE_START_TIME4_POINT: 'Charge Start Time4 Point',
+ CHARGE_END_TIME4_POINT: 'Charge End Time4 Point',
+ DISCHARGE_START_TIME1_POINT: 'Discharge Start Time1 Point',
+ DISCHARGE_END_TIME1_POINT: 'Discharge End Time1 Point',
+ DISCHARGE_START_TIME2_POINT: 'Discharge Start Time2 Point',
+ DISCHARGE_END_TIME2_POINT: 'Discharge End Time2 Point',
+ DISCHARGE_START_TIME3_POINT: 'Discharge Start Time3 Point',
+ DISCHARGE_END_TIME3_POINT: 'Discharge End Time3 Point',
+ DISCHARGE_START_TIME4_POINT: 'Discharge Start Time4 Point',
+ DISCHARGE_END_TIME4_POINT: 'Discharge End Time4 Point',
+ CHARGE_START_TIME1_COMMAND: 'Charge Start Time1 Command',
+ CHARGE_END_TIME1_COMMAND: 'Charge End Time1 Command',
+ CHARGE_START_TIME2_COMMAND: 'Charge Start Time2 Command',
+ CHARGE_END_TIME2_COMMAND: 'Charge End Time2 Command',
+ CHARGE_START_TIME3_COMMAND: 'Charge Start Time3 Command',
+ CHARGE_END_TIME3_COMMAND: 'Charge End Time3 Command',
+ CHARGE_START_TIME4_COMMAND: 'Charge Start Time4 Command',
+ CHARGE_END_TIME4_COMMAND: 'Charge End Time4 Command',
+ DISCHARGE_START_TIME1_COMMAND: 'Discharge Start Time1 Command',
+ DISCHARGE_END_TIME1_COMMAND: 'Discharge End Time1 Command',
+ DISCHARGE_START_TIME2_COMMAND: 'Discharge Start Time2 Command',
+ DISCHARGE_END_TIME2_COMMAND: 'Discharge End Time2 Command',
+ DISCHARGE_START_TIME3_COMMAND: 'Discharge Start Time3 Command',
+ DISCHARGE_END_TIME3_COMMAND: 'Discharge End Time3 Command',
+ DISCHARGE_START_TIME4_COMMAND: 'Discharge Start Time4 Command',
+ DISCHARGE_END_TIME4_COMMAND: 'Discharge End Time4 Command',
+ METER: 'Метр',
+ CHARGE_METER: 'Счетчик заряда',
+ DISCHARGE_METER: 'Расходомер',
+ ELECTRICITY_METER: 'Счетчик электроэнергии',
+ BUY_METER: 'Купить счетчик',
+ SELL_METER: 'Продать счетчик',
+ ENERGY_STORAGE_POWER_STATION_BATTERY: 'Батарея',
+ N_S_ENERGY_STORAGE_POWER_STATION_BATTERY: ' Батареи',
+ ADD_ENERGY_STORAGE_POWER_STATION_BATTERY: 'Добавить батарею',
+ EDIT_ENERGY_STORAGE_POWER_STATION_BATTERY: 'Редактировать батарею',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Название батареи',
+ INPUT_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Пожалуйста, введите имя батареи',
+ ENERGY_STORAGE_POWER_STATION_GRID: 'Сетка',
+ N_S_ENERGY_STORAGE_POWER_STATION_GRID: ' Сетка',
+ ADD_ENERGY_STORAGE_POWER_STATION_GRID: 'Добавить сетку',
+ EDIT_ENERGY_STORAGE_POWER_STATION_GRID: 'Редактировать сетку',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Имя сетки',
+ INPUT_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Пожалуйста, введите имя сетки',
+ ENERGY_STORAGE_POWER_STATION_LOAD: 'Груз',
+ N_S_ENERGY_STORAGE_POWER_STATION_LOAD: ' Груз',
+ ADD_ENERGY_STORAGE_POWER_STATION_LOAD: 'Добавить нагрузку',
+ EDIT_ENERGY_STORAGE_POWER_STATION_LOAD: 'Изменить нагрузку',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Имя загрузки',
+ INPUT_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Пожалуйста, введите имя загрузки',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'частотно - следящая переключения мощности (PCS)',
+ N_S_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: ' частотно - следящая переключения мощности (PCS)',
+ ADD_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Добавить систему переключения питания (PCS)',
+ EDIT_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Изменить систему переключения питания (PCS)',
+ BIND_USER: 'Связанные пользователи',
},
PHOTOVOLTAIC_POWER_STATION: {
ADDRESS: 'Адрес',
@@ -8592,6 +9106,18 @@ function config($translateProvider) {
ENERGY_ITEM_USED_IN_VIRTUAL_METER: 'Energy Item Used In Virtual Meter',
ENERGY_STORAGE_POWER_STATION_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Name Is Already In Use',
ENERGY_STORAGE_POWER_STATION_NOT_FOUND: 'Energy Storage Power Station Not Found',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_EXISTS: 'Energy Storage Power Station Sensor Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_NOT_FOUND: 'Energy Storage Power Station Sensor Relation Not Found',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Battery Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NOT_FOUND: 'Energy Storage Power Station Battery Not Found',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Grid Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_GRID_NOT_FOUND: 'Energy Storage Power Station Grid Not Found',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Load Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NOT_FOUND: 'Energy Storage Power Station Load Not Found',
+ ENERGY_STORAGE_POWER_STATION_PCS_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station PCS Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NOT_FOUND: 'Energy Storage Power Station Power Conversion System Not Found',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_EXISTS: 'Energy Storage Power Station User Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_NOT_FOUND: 'Energy Storage Power Station User Relation Not Found',
EQUIPMENT_COMMAND_RELATION_EXISTS: 'Equipment Command Relation Exists',
EQUIPMENT_COMMAND_RELATION_NOT_FOUND: 'Equipment Command Relation Not Found',
EQUIPMENT_METER_RELATION_EXISTS: 'Equipment Meter Relation Exists',
@@ -8687,6 +9213,14 @@ function config($translateProvider) {
INVALID_ENERGY_ITEM_NAME: 'Invalid Energy Item Name',
INVALID_ENERGY_STORAGE_POWER_STATION_ID: 'Invalid Energy Storage Power Station ID',
INVALID_ENERGY_STORAGE_POWER_STATION_NAME: 'Invalid Energy Storage Power Station Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Invalid Energy Storage Power Station Battery Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_ID: 'Invalid Energy Storage Power Station Battery ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Invalid Energy Storage Power Station Grid Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_ID: 'Invalid Energy Storage Power Station Grid ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Invalid Energy Storage Power Station Load Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_ID: 'Invalid Energy Storage Power Station Load ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NAME: 'Invalid Energy Storage Power Station Power Conversion System Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_ID: 'Invalid Energy Storage Power Station Power Conversion System ID',
INVALID_EQUATION_IN_EXPRESSION: 'Invalid Equation In Expression',
INVALID_EQUIPMENT_ID: 'Invalid Equipment ID',
INVALID_EQUIPMENT_NAME: 'Invalid Equipment Name',
@@ -9695,17 +10229,86 @@ function config($translateProvider) {
ADDRESS: 'عنوان',
POSTAL_CODE: 'الرمز البريدي',
CAPACITY: 'سعة',
+ NOMINAL_VOLTAGE: 'الجهد الاسمي',
LATITUDE: 'العرض',
LONGITUDE: 'خط الطول',
+ SERIAL_NUMBER: 'الرقم المتسلسل',
SVG: 'SVG',
DESCRIPTION: 'وصف',
INPUT_ADDRESS: 'يرجى إدخال العنوان',
INPUT_POSTAL_CODE: 'يرجى إدخال الرمز البريدي',
INPUT_CAPACITY: 'يرجى إدخال السعة',
+ INPUT_NOMINAL_VOLTAGE: 'المدخلات الجهد الاسمي',
INPUT_LATITUDE: 'يرجى إدخال خط العرض',
INPUT_LONGITUDE: 'يرجى إدخال خط الطول',
+ INPUT_SERIAL_NUMBER: 'أدخل الرقم المسلسل',
INPUT_SVG: 'الرجاء إدخال SVG',
INPUT_DESCRIPTION: 'يرجى إدخال الوصف',
+ BATTERY_STATE_POINT: 'مركز البطارية',
+ SOC_POINT: 'نقطة سوك',
+ POWER_POINT: 'باور بوينت',
+ RUN_STATE_POINT: 'تشغيل نقطة الدولة',
+ CHARGE_START_TIME1_POINT: 'Charge Start Time1 Point',
+ CHARGE_END_TIME1_POINT: 'Charge End Time1 Point',
+ CHARGE_START_TIME2_POINT: 'Charge Start Time2 Point',
+ CHARGE_END_TIME2_POINT: 'Charge End Time2 Point',
+ CHARGE_START_TIME3_POINT: 'Charge Start Time3 Point',
+ CHARGE_END_TIME3_POINT: 'Charge End Time3 Point',
+ CHARGE_START_TIME4_POINT: 'Charge Start Time4 Point',
+ CHARGE_END_TIME4_POINT: 'Charge End Time4 Point',
+ DISCHARGE_START_TIME1_POINT: 'Discharge Start Time1 Point',
+ DISCHARGE_END_TIME1_POINT: 'Discharge End Time1 Point',
+ DISCHARGE_START_TIME2_POINT: 'Discharge Start Time2 Point',
+ DISCHARGE_END_TIME2_POINT: 'Discharge End Time2 Point',
+ DISCHARGE_START_TIME3_POINT: 'Discharge Start Time3 Point',
+ DISCHARGE_END_TIME3_POINT: 'Discharge End Time3 Point',
+ DISCHARGE_START_TIME4_POINT: 'Discharge Start Time4 Point',
+ DISCHARGE_END_TIME4_POINT: 'Discharge End Time4 Point',
+ CHARGE_START_TIME1_COMMAND: 'Charge Start Time1 Command',
+ CHARGE_END_TIME1_COMMAND: 'Charge End Time1 Command',
+ CHARGE_START_TIME2_COMMAND: 'Charge Start Time2 Command',
+ CHARGE_END_TIME2_COMMAND: 'Charge End Time2 Command',
+ CHARGE_START_TIME3_COMMAND: 'Charge Start Time3 Command',
+ CHARGE_END_TIME3_COMMAND: 'Charge End Time3 Command',
+ CHARGE_START_TIME4_COMMAND: 'Charge Start Time4 Command',
+ CHARGE_END_TIME4_COMMAND: 'Charge End Time4 Command',
+ DISCHARGE_START_TIME1_COMMAND: 'Discharge Start Time1 Command',
+ DISCHARGE_END_TIME1_COMMAND: 'Discharge End Time1 Command',
+ DISCHARGE_START_TIME2_COMMAND: 'Discharge Start Time2 Command',
+ DISCHARGE_END_TIME2_COMMAND: 'Discharge End Time2 Command',
+ DISCHARGE_START_TIME3_COMMAND: 'Discharge Start Time3 Command',
+ DISCHARGE_END_TIME3_COMMAND: 'Discharge End Time3 Command',
+ DISCHARGE_START_TIME4_COMMAND: 'Discharge Start Time4 Command',
+ DISCHARGE_END_TIME4_COMMAND: 'Discharge End Time4 Command',
+ METER: 'متر',
+ CHARGE_METER: 'عداد الشحن',
+ DISCHARGE_METER: 'مقياس التفريغ',
+ ELECTRICITY_METER: 'عداد الكهرباء',
+ BUY_METER: 'شراء متر',
+ SELL_METER: 'بيع العداد',
+ ENERGY_STORAGE_POWER_STATION_BATTERY: 'بطارية',
+ N_S_ENERGY_STORAGE_POWER_STATION_BATTERY: ' البطاريات',
+ ADD_ENERGY_STORAGE_POWER_STATION_BATTERY: 'إضافة بطارية',
+ EDIT_ENERGY_STORAGE_POWER_STATION_BATTERY: 'تحرير البطارية',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'اسم البطارية',
+ INPUT_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'الرجاء إدخال اسم البطارية',
+ ENERGY_STORAGE_POWER_STATION_GRID: 'شبكة',
+ N_S_ENERGY_STORAGE_POWER_STATION_GRID: ' شبكة',
+ ADD_ENERGY_STORAGE_POWER_STATION_GRID: 'إضافة شبكة',
+ EDIT_ENERGY_STORAGE_POWER_STATION_GRID: 'تحرير الشبكة',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'اسم الشبكة',
+ INPUT_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'يرجى إدخال اسم الشبكة',
+ ENERGY_STORAGE_POWER_STATION_LOAD: 'حمل',
+ N_S_ENERGY_STORAGE_POWER_STATION_LOAD: ' حمل',
+ ADD_ENERGY_STORAGE_POWER_STATION_LOAD: 'إضافة حمولة',
+ EDIT_ENERGY_STORAGE_POWER_STATION_LOAD: 'تحرير تحميل',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'اسم التحميل',
+ INPUT_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'يرجى إدخال اسم الحمل',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'نظام تحويل الطاقة',
+ N_S_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'نظام تحويل الطاقة(PCS) ',
+ ADD_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'إضافة نظام تحويل الطاقة(PCS)',
+ EDIT_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: ' (PCS) تحرير نظام تحويل الطاقة',
+ BIND_USER: 'ربط المستخدم',
},
PHOTOVOLTAIC_POWER_STATION: {
ADDRESS: 'عنوان',
@@ -10108,6 +10711,18 @@ function config($translateProvider) {
ENERGY_ITEM_USED_IN_VIRTUAL_METER: 'Energy Item Used In Virtual Meter',
ENERGY_STORAGE_POWER_STATION_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Name Is Already In Use',
ENERGY_STORAGE_POWER_STATION_NOT_FOUND: 'Energy Storage Power Station Not Found',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_EXISTS: 'Energy Storage Power Station Sensor Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_NOT_FOUND: 'Energy Storage Power Station Sensor Relation Not Found',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Battery Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NOT_FOUND: 'Energy Storage Power Station Battery Not Found',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Grid Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_GRID_NOT_FOUND: 'Energy Storage Power Station Grid Not Found',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Load Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NOT_FOUND: 'Energy Storage Power Station Load Not Found',
+ ENERGY_STORAGE_POWER_STATION_PCS_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station PCS Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NOT_FOUND: 'Energy Storage Power Station Power Conversion System Not Found',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_EXISTS: 'Energy Storage Power Station User Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_NOT_FOUND: 'Energy Storage Power Station User Relation Not Found',
EQUIPMENT_COMMAND_RELATION_EXISTS: 'Equipment Command Relation Exists',
EQUIPMENT_COMMAND_RELATION_NOT_FOUND: 'Equipment Command Relation Not Found',
EQUIPMENT_METER_RELATION_EXISTS: 'Equipment Meter Relation Exists',
@@ -10203,6 +10818,14 @@ function config($translateProvider) {
INVALID_ENERGY_ITEM_NAME: 'Invalid Energy Item Name',
INVALID_ENERGY_STORAGE_POWER_STATION_ID: 'Invalid Energy Storage Power Station ID',
INVALID_ENERGY_STORAGE_POWER_STATION_NAME: 'Invalid Energy Storage Power Station Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Invalid Energy Storage Power Station Battery Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_ID: 'Invalid Energy Storage Power Station Battery ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Invalid Energy Storage Power Station Grid Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_ID: 'Invalid Energy Storage Power Station Grid ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Invalid Energy Storage Power Station Load Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_ID: 'Invalid Energy Storage Power Station Load ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NAME: 'Invalid Energy Storage Power Station Power Conversion System Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_ID: 'Invalid Energy Storage Power Station Power Conversion System ID',
INVALID_EQUATION_IN_EXPRESSION: 'Invalid Equation In Expression',
INVALID_EQUIPMENT_ID: 'Invalid Equipment ID',
INVALID_EQUIPMENT_NAME: 'Invalid Equipment Name',
@@ -11211,17 +11834,86 @@ function config($translateProvider) {
ADDRESS: 'Địa chỉ',
POSTAL_CODE: 'Mã bưu chính',
CAPACITY: 'Khả năng',
+ NOMINAL_VOLTAGE: 'Điện áp danh định',
LATITUDE: 'Vĩ độ',
LONGITUDE: 'Kinh độ',
+ SERIAL_NUMBER: 'Số sê-ri',
SVG: 'SVG',
DESCRIPTION: 'Sự miêu tả',
INPUT_ADDRESS: 'Vui lòng nhập địa chỉ',
INPUT_POSTAL_CODE: 'Vui lòng nhập mã bưu chính',
INPUT_CAPACITY: 'Vui lòng nhập dung lượng',
+ INPUT_NOMINAL_VOLTAGE: 'Nhập điện áp danh định',
INPUT_LATITUDE: 'Vui lòng nhập Latitude',
INPUT_LONGITUDE: 'Vui lòng nhập kinh độ',
+ INPUT_SERIAL_NUMBER: 'Nhập số sê-ri',
INPUT_SVG: 'Vui lòng nhập SVG',
INPUT_DESCRIPTION: 'Vui lòng nhập mô tả',
+ BATTERY_STATE_POINT: 'Điểm trạng thái pin',
+ SOC_POINT: 'Điểm SOC',
+ POWER_POINT: 'Nhà máy điện',
+ RUN_STATE_POINT: 'Chạy điểm trạng thái',
+ CHARGE_START_TIME1_POINT: 'Charge Start Time1 Point',
+ CHARGE_END_TIME1_POINT: 'Charge End Time1 Point',
+ CHARGE_START_TIME2_POINT: 'Charge Start Time2 Point',
+ CHARGE_END_TIME2_POINT: 'Charge End Time2 Point',
+ CHARGE_START_TIME3_POINT: 'Charge Start Time3 Point',
+ CHARGE_END_TIME3_POINT: 'Charge End Time3 Point',
+ CHARGE_START_TIME4_POINT: 'Charge Start Time4 Point',
+ CHARGE_END_TIME4_POINT: 'Charge End Time4 Point',
+ DISCHARGE_START_TIME1_POINT: 'Discharge Start Time1 Point',
+ DISCHARGE_END_TIME1_POINT: 'Discharge End Time1 Point',
+ DISCHARGE_START_TIME2_POINT: 'Discharge Start Time2 Point',
+ DISCHARGE_END_TIME2_POINT: 'Discharge End Time2 Point',
+ DISCHARGE_START_TIME3_POINT: 'Discharge Start Time3 Point',
+ DISCHARGE_END_TIME3_POINT: 'Discharge End Time3 Point',
+ DISCHARGE_START_TIME4_POINT: 'Discharge Start Time4 Point',
+ DISCHARGE_END_TIME4_POINT: 'Discharge End Time4 Point',
+ CHARGE_START_TIME1_COMMAND: 'Charge Start Time1 Command',
+ CHARGE_END_TIME1_COMMAND: 'Charge End Time1 Command',
+ CHARGE_START_TIME2_COMMAND: 'Charge Start Time2 Command',
+ CHARGE_END_TIME2_COMMAND: 'Charge End Time2 Command',
+ CHARGE_START_TIME3_COMMAND: 'Charge Start Time3 Command',
+ CHARGE_END_TIME3_COMMAND: 'Charge End Time3 Command',
+ CHARGE_START_TIME4_COMMAND: 'Charge Start Time4 Command',
+ CHARGE_END_TIME4_COMMAND: 'Charge End Time4 Command',
+ DISCHARGE_START_TIME1_COMMAND: 'Discharge Start Time1 Command',
+ DISCHARGE_END_TIME1_COMMAND: 'Discharge End Time1 Command',
+ DISCHARGE_START_TIME2_COMMAND: 'Discharge Start Time2 Command',
+ DISCHARGE_END_TIME2_COMMAND: 'Discharge End Time2 Command',
+ DISCHARGE_START_TIME3_COMMAND: 'Discharge Start Time3 Command',
+ DISCHARGE_END_TIME3_COMMAND: 'Discharge End Time3 Command',
+ DISCHARGE_START_TIME4_COMMAND: 'Discharge Start Time4 Command',
+ DISCHARGE_END_TIME4_COMMAND: 'Discharge End Time4 Command',
+ METER: 'Mét',
+ CHARGE_METER: 'Đồng hồ đo phí',
+ DISCHARGE_METER: 'Đồng hồ đo xả',
+ ELECTRICITY_METER: 'Đồng hồ điện',
+ BUY_METER: 'Mua đồng hồ đo',
+ SELL_METER: 'Bán đồng hồ đo',
+ MICROGRID_BATTERY: 'Pin',
+ N_S_MICROGRID_BATTERY: ' Pin',
+ ADD_MICROGRID_BATTERY: 'Thêm pin',
+ EDIT_MICROGRID_BATTERY: 'Chỉnh sửa pin',
+ MICROGRID_BATTERY_NAME: 'Tên pin',
+ INPUT_MICROGRID_BATTERY_NAME: 'Vui lòng nhập tên pin',
+ ENERGY_STORAGE_POWER_STATION_GRID: 'Lưới',
+ N_S_ENERGY_STORAGE_POWER_STATION_GRID: ' Lưới',
+ ADD_ENERGY_STORAGE_POWER_STATION_GRID: 'Thêm lưới',
+ EDIT_ENERGY_STORAGE_POWER_STATION_GRID: 'Chỉnh sửa lưới',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Tên lưới',
+ INPUT_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Vui lòng nhập tên lưới',
+ ENERGY_STORAGE_POWER_STATION_LOAD: 'Tải',
+ N_S_ENERGY_STORAGE_POWER_STATION_LOAD: ' Tải',
+ ADD_ENERGY_STORAGE_POWER_STATION_LOAD: 'Thêm tải',
+ EDIT_ENERGY_STORAGE_POWER_STATION_LOAD: 'Chỉnh sửa tải',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Tên tải',
+ INPUT_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Vui lòng nhập tên tải',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Hệ thống chuyển đổi năng lượng(PCS)',
+ N_S_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: ' Hệ thống chuyển đổi năng lượng(PCS)',
+ ADD_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Thêm hệ thống chuyển đổi năng lượng(PCS)',
+ EDIT_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Chỉnh sửa hệ thống chuyển đổi điện(PCS)',
+ BIND_USER: 'NGƯỜI DÙNG RÀNG BUỘC',
},
PHOTOVOLTAIC_POWER_STATION: {
ADDRESS: 'Địa chỉ',
@@ -11624,6 +12316,18 @@ function config($translateProvider) {
ENERGY_ITEM_USED_IN_VIRTUAL_METER: 'Energy Item Used In Virtual Meter',
ENERGY_STORAGE_POWER_STATION_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Name Is Already In Use',
ENERGY_STORAGE_POWER_STATION_NOT_FOUND: 'Energy Storage Power Station Not Found',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_EXISTS: 'Energy Storage Power Station Sensor Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_NOT_FOUND: 'Energy Storage Power Station Sensor Relation Not Found',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Battery Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NOT_FOUND: 'Energy Storage Power Station Battery Not Found',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Grid Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_GRID_NOT_FOUND: 'Energy Storage Power Station Grid Not Found',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Load Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NOT_FOUND: 'Energy Storage Power Station Load Not Found',
+ ENERGY_STORAGE_POWER_STATION_PCS_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station PCS Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NOT_FOUND: 'Energy Storage Power Station Power Conversion System Not Found',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_EXISTS: 'Energy Storage Power Station User Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_NOT_FOUND: 'Energy Storage Power Station User Relation Not Found',
EQUIPMENT_COMMAND_RELATION_EXISTS: 'Equipment Command Relation Exists',
EQUIPMENT_COMMAND_RELATION_NOT_FOUND: 'Equipment Command Relation Not Found',
EQUIPMENT_METER_RELATION_EXISTS: 'Equipment Meter Relation Exists',
@@ -11719,6 +12423,14 @@ function config($translateProvider) {
INVALID_ENERGY_ITEM_NAME: 'Invalid Energy Item Name',
INVALID_ENERGY_STORAGE_POWER_STATION_ID: 'Invalid Energy Storage Power Station ID',
INVALID_ENERGY_STORAGE_POWER_STATION_NAME: 'Invalid Energy Storage Power Station Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Invalid Energy Storage Power Station Battery Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_ID: 'Invalid Energy Storage Power Station Battery ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Invalid Energy Storage Power Station Grid Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_ID: 'Invalid Energy Storage Power Station Grid ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Invalid Energy Storage Power Station Load Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_ID: 'Invalid Energy Storage Power Station Load ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NAME: 'Invalid Energy Storage Power Station Power Conversion System Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_ID: 'Invalid Energy Storage Power Station Power Conversion System ID',
INVALID_EQUATION_IN_EXPRESSION: 'Invalid Equation In Expression',
INVALID_EQUIPMENT_ID: 'Invalid Equipment ID',
INVALID_EQUIPMENT_NAME: 'Invalid Equipment Name',
@@ -12727,17 +13439,86 @@ function config($translateProvider) {
ADDRESS: 'ที่อยู่',
POSTAL_CODE: 'รหัสไปรษณีย์',
CAPACITY: 'ความสามารถ',
+ NOMINAL_VOLTAGE: 'แรงดันไฟฟ้าที่กำหนด',
LATITUDE: 'เส้นรุ้ง',
LONGITUDE: 'เส้นแวง',
+ SERIAL_NUMBER: 'หมายเลขผลิตภัณฑ์',
SVG: 'SVG',
DESCRIPTION: 'การบรรยาย',
INPUT_ADDRESS: 'กรุณาใส่ที่อยู่',
INPUT_POSTAL_CODE: 'กรุณากรอกรหัสไปรษณีย์',
INPUT_CAPACITY: 'กรุณาใส่ความจุ',
+ INPUT_NOMINAL_VOLTAGE: 'ป้อนแรงดันไฟฟ้าที่กำหนด',
INPUT_LATITUDE: 'กรุณาใส่ละติจูด',
INPUT_LONGITUDE: 'กรุณาใส่ลองจิจูด',
+ INPUT_SERIAL_NUMBER: 'ป้อนหมายเลขซีเรียล',
INPUT_SVG: 'กรุณาใส่ SVG',
INPUT_DESCRIPTION: 'กรุณาใส่คําอธิบาย',
+ BATTERY_STATE_POINT: 'คะแนนสถานะแบตเตอรี่',
+ SOC_POINT: 'จุด SOC',
+ POWER_POINT: 'พาวเวอร์พ้อยท์',
+ RUN_STATE_POINT: 'จุดสถานะการทำงาน',
+ CHARGE_START_TIME1_POINT: 'Charge Start Time1 Point',
+ CHARGE_END_TIME1_POINT: 'Charge End Time1 Point',
+ CHARGE_START_TIME2_POINT: 'Charge Start Time2 Point',
+ CHARGE_END_TIME2_POINT: 'Charge End Time2 Point',
+ CHARGE_START_TIME3_POINT: 'Charge Start Time3 Point',
+ CHARGE_END_TIME3_POINT: 'Charge End Time3 Point',
+ CHARGE_START_TIME4_POINT: 'Charge Start Time4 Point',
+ CHARGE_END_TIME4_POINT: 'Charge End Time4 Point',
+ DISCHARGE_START_TIME1_POINT: 'Discharge Start Time1 Point',
+ DISCHARGE_END_TIME1_POINT: 'Discharge End Time1 Point',
+ DISCHARGE_START_TIME2_POINT: 'Discharge Start Time2 Point',
+ DISCHARGE_END_TIME2_POINT: 'Discharge End Time2 Point',
+ DISCHARGE_START_TIME3_POINT: 'Discharge Start Time3 Point',
+ DISCHARGE_END_TIME3_POINT: 'Discharge End Time3 Point',
+ DISCHARGE_START_TIME4_POINT: 'Discharge Start Time4 Point',
+ DISCHARGE_END_TIME4_POINT: 'Discharge End Time4 Point',
+ CHARGE_START_TIME1_COMMAND: 'Charge Start Time1 Command',
+ CHARGE_END_TIME1_COMMAND: 'Charge End Time1 Command',
+ CHARGE_START_TIME2_COMMAND: 'Charge Start Time2 Command',
+ CHARGE_END_TIME2_COMMAND: 'Charge End Time2 Command',
+ CHARGE_START_TIME3_COMMAND: 'Charge Start Time3 Command',
+ CHARGE_END_TIME3_COMMAND: 'Charge End Time3 Command',
+ CHARGE_START_TIME4_COMMAND: 'Charge Start Time4 Command',
+ CHARGE_END_TIME4_COMMAND: 'Charge End Time4 Command',
+ DISCHARGE_START_TIME1_COMMAND: 'Discharge Start Time1 Command',
+ DISCHARGE_END_TIME1_COMMAND: 'Discharge End Time1 Command',
+ DISCHARGE_START_TIME2_COMMAND: 'Discharge Start Time2 Command',
+ DISCHARGE_END_TIME2_COMMAND: 'Discharge End Time2 Command',
+ DISCHARGE_START_TIME3_COMMAND: 'Discharge Start Time3 Command',
+ DISCHARGE_END_TIME3_COMMAND: 'Discharge End Time3 Command',
+ DISCHARGE_START_TIME4_COMMAND: 'Discharge Start Time4 Command',
+ DISCHARGE_END_TIME4_COMMAND: 'Discharge End Time4 Command',
+ METER: 'เมตร',
+ CHARGE_METER: 'เครื่องวัดการชาร์จ',
+ DISCHARGE_METER: 'เครื่องวัดการคายประจุ',
+ ELECTRICITY_METER: 'มิเตอร์ไฟฟ้า',
+ BUY_METER: 'ซื้อมิเตอร์',
+ SELL_METER: 'ขายมิเตอร์',
+ ENERGY_STORAGE_POWER_STATION_BATTERY: 'แบตเตอรี่',
+ N_S_ENERGY_STORAGE_POWER_STATION_BATTERY: ' แบตเตอรี่',
+ ADD_ENERGY_STORAGE_POWER_STATION_BATTERY: 'เพิ่มแบตเตอรี่',
+ EDIT_ENERGY_STORAGE_POWER_STATION_BATTERY: 'แก้ไขแบตเตอรี่',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'ชื่อแบตเตอรี่',
+ INPUT_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'กรุณาใส่ชื่อแบตเตอรี่',
+ ENERGY_STORAGE_POWER_STATION_GRID: 'ตาราง',
+ N_S_ENERGY_STORAGE_POWER_STATION_GRID: ' ตาราง',
+ ADD_ENERGY_STORAGE_POWER_STATION_GRID: 'เพิ่มกริด',
+ EDIT_ENERGY_STORAGE_POWER_STATION_GRID: 'แก้ไขกริด',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'ชื่อตาราง',
+ INPUT_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'กรุณาใส่ชื่อตาราง',
+ ENERGY_STORAGE_POWER_STATION_LOAD: 'ภาระ',
+ N_S_ENERGY_STORAGE_POWER_STATION_LOAD: ' ภาระ',
+ ADD_ENERGY_STORAGE_POWER_STATION_LOAD: 'เพิ่มโหลด',
+ EDIT_ENERGY_STORAGE_POWER_STATION_LOAD: 'แก้ไขโหลด',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'ชื่อโหลด',
+ INPUT_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'กรุณาใส่ชื่อโหลด',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'ระบบแปลงกำลัง',
+ N_S_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: ' ระบบแปลงกำลัง(PCS)',
+ ADD_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'เพิ่มระบบแปลงกำลัง(PCS)',
+ EDIT_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'แก้ไขระบบแปลงกำลัง(PCS)',
+ BIND_USER: 'ผูกผู้ใช้',
},
PHOTOVOLTAIC_POWER_STATION: {
ADDRESS: 'ที่อยู่',
@@ -13140,6 +13921,18 @@ function config($translateProvider) {
ENERGY_ITEM_USED_IN_VIRTUAL_METER: 'Energy Item Used In Virtual Meter',
ENERGY_STORAGE_POWER_STATION_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Name Is Already In Use',
ENERGY_STORAGE_POWER_STATION_NOT_FOUND: 'Energy Storage Power Station Not Found',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_EXISTS: 'Energy Storage Power Station Sensor Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_NOT_FOUND: 'Energy Storage Power Station Sensor Relation Not Found',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Battery Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NOT_FOUND: 'Energy Storage Power Station Battery Not Found',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Grid Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_GRID_NOT_FOUND: 'Energy Storage Power Station Grid Not Found',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Load Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NOT_FOUND: 'Energy Storage Power Station Load Not Found',
+ ENERGY_STORAGE_POWER_STATION_PCS_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station PCS Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NOT_FOUND: 'Energy Storage Power Station Power Conversion System Not Found',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_EXISTS: 'Energy Storage Power Station User Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_NOT_FOUND: 'Energy Storage Power Station User Relation Not Found',
EQUIPMENT_COMMAND_RELATION_EXISTS: 'Equipment Command Relation Exists',
EQUIPMENT_COMMAND_RELATION_NOT_FOUND: 'Equipment Command Relation Not Found',
EQUIPMENT_METER_RELATION_EXISTS: 'Equipment Meter Relation Exists',
@@ -13235,6 +14028,14 @@ function config($translateProvider) {
INVALID_ENERGY_ITEM_NAME: 'Invalid Energy Item Name',
INVALID_ENERGY_STORAGE_POWER_STATION_ID: 'Invalid Energy Storage Power Station ID',
INVALID_ENERGY_STORAGE_POWER_STATION_NAME: 'Invalid Energy Storage Power Station Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Invalid Energy Storage Power Station Battery Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_ID: 'Invalid Energy Storage Power Station Battery ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Invalid Energy Storage Power Station Grid Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_ID: 'Invalid Energy Storage Power Station Grid ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Invalid Energy Storage Power Station Load Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_ID: 'Invalid Energy Storage Power Station Load ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NAME: 'Invalid Energy Storage Power Station Power Conversion System Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_ID: 'Invalid Energy Storage Power Station Power Conversion System ID',
INVALID_EQUATION_IN_EXPRESSION: 'Invalid Equation In Expression',
INVALID_EQUIPMENT_ID: 'Invalid Equipment ID',
INVALID_EQUIPMENT_NAME: 'Invalid Equipment Name',
@@ -14243,17 +15044,86 @@ function config($translateProvider) {
ADDRESS: 'Adres',
POSTAL_CODE: 'Posta Kodu',
CAPACITY: 'Kapasite',
+ NOMINAL_VOLTAGE: 'Voltage Nominal',
LATITUDE: 'Enlem',
LONGITUDE: 'Boylam',
+ SERIAL_NUMBER: 'Seri Numarası',
SVG: 'SVG',
DESCRIPTION: 'Tarif',
INPUT_ADDRESS: 'Lütfen Adres Giriniz',
INPUT_POSTAL_CODE: 'Lütfen Posta Kodunu Giriniz',
INPUT_CAPACITY: 'Lütfen Giriş Kapasitesi',
+ INPUT_NOMINAL_VOLTAGE: 'Girdi Nominal Voltage',
INPUT_LATITUDE: 'Lütfen Enlemi Girin',
INPUT_LONGITUDE: 'Lütfen Boylamı Girin',
+ INPUT_SERIAL_NUMBER: 'Girdi Seri Numarası',
INPUT_SVG: 'Lütfen SVG girin',
INPUT_DESCRIPTION: 'Lütfen Açıklama Giriniz',
+ BATTERY_STATE_POINT: 'Batarya durumu noktası',
+ SOC_POINT: 'SOC Noktası',
+ POWER_POINT: 'Güç Noktası',
+ RUN_STATE_POINT: 'Durum noktasını çalıştır',
+ CHARGE_START_TIME1_POINT: 'Charge Start Time1 Point',
+ CHARGE_END_TIME1_POINT: 'Charge End Time1 Point',
+ CHARGE_START_TIME2_POINT: 'Charge Start Time2 Point',
+ CHARGE_END_TIME2_POINT: 'Charge End Time2 Point',
+ CHARGE_START_TIME3_POINT: 'Charge Start Time3 Point',
+ CHARGE_END_TIME3_POINT: 'Charge End Time3 Point',
+ CHARGE_START_TIME4_POINT: 'Charge Start Time4 Point',
+ CHARGE_END_TIME4_POINT: 'Charge End Time4 Point',
+ DISCHARGE_START_TIME1_POINT: 'Discharge Start Time1 Point',
+ DISCHARGE_END_TIME1_POINT: 'Discharge End Time1 Point',
+ DISCHARGE_START_TIME2_POINT: 'Discharge Start Time2 Point',
+ DISCHARGE_END_TIME2_POINT: 'Discharge End Time2 Point',
+ DISCHARGE_START_TIME3_POINT: 'Discharge Start Time3 Point',
+ DISCHARGE_END_TIME3_POINT: 'Discharge End Time3 Point',
+ DISCHARGE_START_TIME4_POINT: 'Discharge Start Time4 Point',
+ DISCHARGE_END_TIME4_POINT: 'Discharge End Time4 Point',
+ CHARGE_START_TIME1_COMMAND: 'Charge Start Time1 Command',
+ CHARGE_END_TIME1_COMMAND: 'Charge End Time1 Command',
+ CHARGE_START_TIME2_COMMAND: 'Charge Start Time2 Command',
+ CHARGE_END_TIME2_COMMAND: 'Charge End Time2 Command',
+ CHARGE_START_TIME3_COMMAND: 'Charge Start Time3 Command',
+ CHARGE_END_TIME3_COMMAND: 'Charge End Time3 Command',
+ CHARGE_START_TIME4_COMMAND: 'Charge Start Time4 Command',
+ CHARGE_END_TIME4_COMMAND: 'Charge End Time4 Command',
+ DISCHARGE_START_TIME1_COMMAND: 'Discharge Start Time1 Command',
+ DISCHARGE_END_TIME1_COMMAND: 'Discharge End Time1 Command',
+ DISCHARGE_START_TIME2_COMMAND: 'Discharge Start Time2 Command',
+ DISCHARGE_END_TIME2_COMMAND: 'Discharge End Time2 Command',
+ DISCHARGE_START_TIME3_COMMAND: 'Discharge Start Time3 Command',
+ DISCHARGE_END_TIME3_COMMAND: 'Discharge End Time3 Command',
+ DISCHARGE_START_TIME4_COMMAND: 'Discharge Start Time4 Command',
+ DISCHARGE_END_TIME4_COMMAND: 'Discharge End Time4 Command',
+ METER: 'Metre',
+ CHARGE_METER: 'Şarj Ölçer',
+ DISCHARGE_METER: 'Deşarj Ölçer',
+ ELECTRICITY_METER: 'Elektrik Sayacı',
+ BUY_METER: 'Meter Satın Alın',
+ SELL_METER: 'Satış Sayacı',
+ ENERGY_STORAGE_POWER_STATION_BATTERY: 'Pil',
+ N_S_ENERGY_STORAGE_POWER_STATION_BATTERY: ' Pil',
+ ADD_ENERGY_STORAGE_POWER_STATION_BATTERY: 'Pil Ekle',
+ EDIT_ENERGY_STORAGE_POWER_STATION_BATTERY: 'Pili Düzenle',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Pil Adı',
+ INPUT_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Lütfen Pil Adını Girin',
+ ENERGY_STORAGE_POWER_STATION_GRID: 'Kılavuz',
+ N_S_ENERGY_STORAGE_POWER_STATION_GRID: ' Kılavuz',
+ ADD_ENERGY_STORAGE_POWER_STATION_GRID: 'Izgara Ekle',
+ EDIT_ENERGY_STORAGE_POWER_STATION_GRID: 'Izgarayı Düzenle',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Izgara Adı',
+ INPUT_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Lütfen Izgara Adını Girin',
+ ENERGY_STORAGE_POWER_STATION_LOAD: 'Yük',
+ N_S_ENERGY_STORAGE_POWER_STATION_LOAD: ' Yük',
+ ADD_ENERGY_STORAGE_POWER_STATION_LOAD: 'Yük Ekle',
+ EDIT_ENERGY_STORAGE_POWER_STATION_LOAD: 'Yükü Düzenle',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Yükleme Adı',
+ INPUT_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Lütfen Yükleme Adını Girin',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Güç Dönüşüm Sistemi (PCS)',
+ N_S_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: ' Güç Dönüşüm Sistemi (PCS)',
+ ADD_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Güç Dönüşüm Sistemi Ekle (PCS)',
+ EDIT_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Güç Dönüşüm Sistemini Düzenle (PCS)',
+ BIND_USER: 'KULLANICIYI BAĞLA',
},
PHOTOVOLTAIC_POWER_STATION: {
ADDRESS: 'Adres',
@@ -14656,6 +15526,18 @@ function config($translateProvider) {
ENERGY_ITEM_USED_IN_VIRTUAL_METER: 'Energy Item Used In Virtual Meter',
ENERGY_STORAGE_POWER_STATION_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Name Is Already In Use',
ENERGY_STORAGE_POWER_STATION_NOT_FOUND: 'Energy Storage Power Station Not Found',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_EXISTS: 'Energy Storage Power Station Sensor Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_NOT_FOUND: 'Energy Storage Power Station Sensor Relation Not Found',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Battery Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NOT_FOUND: 'Energy Storage Power Station Battery Not Found',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Grid Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_GRID_NOT_FOUND: 'Energy Storage Power Station Grid Not Found',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Load Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NOT_FOUND: 'Energy Storage Power Station Load Not Found',
+ ENERGY_STORAGE_POWER_STATION_PCS_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station PCS Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NOT_FOUND: 'Energy Storage Power Station Power Conversion System Not Found',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_EXISTS: 'Energy Storage Power Station User Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_NOT_FOUND: 'Energy Storage Power Station User Relation Not Found',
EQUIPMENT_COMMAND_RELATION_EXISTS: 'Equipment Command Relation Exists',
EQUIPMENT_COMMAND_RELATION_NOT_FOUND: 'Equipment Command Relation Not Found',
EQUIPMENT_METER_RELATION_EXISTS: 'Equipment Meter Relation Exists',
@@ -14751,6 +15633,14 @@ function config($translateProvider) {
INVALID_ENERGY_ITEM_NAME: 'Invalid Energy Item Name',
INVALID_ENERGY_STORAGE_POWER_STATION_ID: 'Invalid Energy Storage Power Station ID',
INVALID_ENERGY_STORAGE_POWER_STATION_NAME: 'Invalid Energy Storage Power Station Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Invalid Energy Storage Power Station Battery Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_ID: 'Invalid Energy Storage Power Station Battery ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Invalid Energy Storage Power Station Grid Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_ID: 'Invalid Energy Storage Power Station Grid ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Invalid Energy Storage Power Station Load Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_ID: 'Invalid Energy Storage Power Station Load ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NAME: 'Invalid Energy Storage Power Station Power Conversion System Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_ID: 'Invalid Energy Storage Power Station Power Conversion System ID',
INVALID_EQUATION_IN_EXPRESSION: 'Invalid Equation In Expression',
INVALID_EQUIPMENT_ID: 'Invalid Equipment ID',
INVALID_EQUIPMENT_NAME: 'Invalid Equipment Name',
@@ -15744,7 +16634,7 @@ function config($translateProvider) {
N_S_MICROGRID_POWER_CONVERSION_SYSTEM: ' Sistem Penukaran Kuasa (PCS)',
ADD_MICROGRID_POWER_CONVERSION_SYSTEM: 'Tambah Sistem Penukaran Kuasa (PCS)',
EDIT_MICROGRID_POWER_CONVERSION_SYSTEM: 'Edit Sistem Penukaran Kuasa (PCS)',
- BIND_USER: 'Pengguna Mengikat'
+ BIND_USER: 'Pengguna Mengikat',
},
VIRTUAL_POWER_PLANT: {
BALANCING_PRICE_POINT: 'Mengimbangi Titik Harga',
@@ -15758,17 +16648,86 @@ function config($translateProvider) {
ADDRESS: 'Alamat',
POSTAL_CODE: 'Poskod',
CAPACITY: 'Kapasiti',
+ NOMINAL_VOLTAGE: 'Nominal Voltage',
LATITUDE: 'Latitud',
LONGITUDE: 'Longitud',
+ SERIAL_NUMBER: 'Nombor Siri',
SVG: 'SVG',
DESCRIPTION: 'Keterangan',
INPUT_ADDRESS: 'Sila Alamat Input',
INPUT_POSTAL_CODE: 'Sila Masukkan Poskod',
INPUT_CAPACITY: 'Sila Kapasiti Input',
+ INPUT_NOMINAL_VOLTAGE: 'Voltage Nominal Input',
INPUT_LATITUDE: 'Sila masukkan latitud',
INPUT_LONGITUDE: 'Sila masukkan longitud',
+ INPUT_SERIAL_NUMBER: 'Nombor Siri Input',
INPUT_SVG: 'Sila masukkan SVG',
INPUT_DESCRIPTION: 'Sila Input Penerangan',
+ BATTERY_STATE_POINT: 'Titik keadaan bateri',
+ SOC_POINT: 'Titik SOC',
+ POWER_POINT: 'Kilang Kuasa',
+ RUN_STATE_POINT: 'Jalankan Titik Keadaan',
+ CHARGE_START_TIME1_POINT: 'Charge Start Time1 Point',
+ CHARGE_END_TIME1_POINT: 'Charge End Time1 Point',
+ CHARGE_START_TIME2_POINT: 'Charge Start Time2 Point',
+ CHARGE_END_TIME2_POINT: 'Charge End Time2 Point',
+ CHARGE_START_TIME3_POINT: 'Charge Start Time3 Point',
+ CHARGE_END_TIME3_POINT: 'Charge End Time3 Point',
+ CHARGE_START_TIME4_POINT: 'Charge Start Time4 Point',
+ CHARGE_END_TIME4_POINT: 'Charge End Time4 Point',
+ DISCHARGE_START_TIME1_POINT: 'Discharge Start Time1 Point',
+ DISCHARGE_END_TIME1_POINT: 'Discharge End Time1 Point',
+ DISCHARGE_START_TIME2_POINT: 'Discharge Start Time2 Point',
+ DISCHARGE_END_TIME2_POINT: 'Discharge End Time2 Point',
+ DISCHARGE_START_TIME3_POINT: 'Discharge Start Time3 Point',
+ DISCHARGE_END_TIME3_POINT: 'Discharge End Time3 Point',
+ DISCHARGE_START_TIME4_POINT: 'Discharge Start Time4 Point',
+ DISCHARGE_END_TIME4_POINT: 'Discharge End Time4 Point',
+ CHARGE_START_TIME1_COMMAND: 'Charge Start Time1 Command',
+ CHARGE_END_TIME1_COMMAND: 'Charge End Time1 Command',
+ CHARGE_START_TIME2_COMMAND: 'Charge Start Time2 Command',
+ CHARGE_END_TIME2_COMMAND: 'Charge End Time2 Command',
+ CHARGE_START_TIME3_COMMAND: 'Charge Start Time3 Command',
+ CHARGE_END_TIME3_COMMAND: 'Charge End Time3 Command',
+ CHARGE_START_TIME4_COMMAND: 'Charge Start Time4 Command',
+ CHARGE_END_TIME4_COMMAND: 'Charge End Time4 Command',
+ DISCHARGE_START_TIME1_COMMAND: 'Discharge Start Time1 Command',
+ DISCHARGE_END_TIME1_COMMAND: 'Discharge End Time1 Command',
+ DISCHARGE_START_TIME2_COMMAND: 'Discharge Start Time2 Command',
+ DISCHARGE_END_TIME2_COMMAND: 'Discharge End Time2 Command',
+ DISCHARGE_START_TIME3_COMMAND: 'Discharge Start Time3 Command',
+ DISCHARGE_END_TIME3_COMMAND: 'Discharge End Time3 Command',
+ DISCHARGE_START_TIME4_COMMAND: 'Discharge Start Time4 Command',
+ DISCHARGE_END_TIME4_COMMAND: 'Discharge End Time4 Command',
+ METER: 'Meter',
+ CHARGE_METER: 'Meter Caj',
+ DISCHARGE_METER: 'Pelepasan Meter',
+ ELECTRICITY_METER: 'Meter Elektrik',
+ BUY_METER: 'Beli Meter',
+ SELL_METER: 'Jual Meter',
+ ENERGY_STORAGE_POWER_STATION_BATTERY: 'Bateri',
+ N_S_ENERGY_STORAGE_POWER_STATION_BATTERY: ' Bateri',
+ ADD_ENERGY_STORAGE_POWER_STATION_BATTERY: 'Tambah Bateri',
+ EDIT_ENERGY_STORAGE_POWER_STATION_BATTERY: 'Edit Bateri',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Nama Bateri',
+ INPUT_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Sila masukkan nama bateri',
+ ENERGY_STORAGE_POWER_STATION_GRID: 'Grid',
+ N_S_ENERGY_STORAGE_POWER_STATION_GRID: ' Grid',
+ ADD_ENERGY_STORAGE_POWER_STATION_GRID: 'Tambah Grid',
+ EDIT_ENERGY_STORAGE_POWER_STATION_GRID: 'Edit Grid',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Nama Grid',
+ INPUT_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Sila masukkan Nama Grid',
+ ENERGY_STORAGE_POWER_STATION_LOAD: 'Memuatkan',
+ N_S_ENERGY_STORAGE_POWER_STATION_LOAD: ' Memuatkan',
+ ADD_ENERGY_STORAGE_POWER_STATION_LOAD: 'Tambah Beban',
+ EDIT_ENERGY_STORAGE_POWER_STATION_LOAD: 'Edit Beban',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Nama Beban',
+ INPUT_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Sila masukkan Nama Beban',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Sistem Penukaran Kuasa (PCS)',
+ N_S_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: ' Sistem Penukaran Kuasa (PCS)',
+ ADD_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Tambah Sistem Penukaran Kuasa (PCS)',
+ EDIT_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Edit Sistem Penukaran Kuasa (PCS)',
+ BIND_USER: 'Pengguna Mengikat',
},
PHOTOVOLTAIC_POWER_STATION: {
ADDRESS: 'Alamat',
@@ -16171,6 +17130,18 @@ function config($translateProvider) {
ENERGY_ITEM_USED_IN_VIRTUAL_METER: 'Energy Item Used In Virtual Meter',
ENERGY_STORAGE_POWER_STATION_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Name Is Already In Use',
ENERGY_STORAGE_POWER_STATION_NOT_FOUND: 'Energy Storage Power Station Not Found',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_EXISTS: 'Energy Storage Power Station Sensor Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_NOT_FOUND: 'Energy Storage Power Station Sensor Relation Not Found',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Battery Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NOT_FOUND: 'Energy Storage Power Station Battery Not Found',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Grid Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_GRID_NOT_FOUND: 'Energy Storage Power Station Grid Not Found',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Load Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NOT_FOUND: 'Energy Storage Power Station Load Not Found',
+ ENERGY_STORAGE_POWER_STATION_PCS_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station PCS Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NOT_FOUND: 'Energy Storage Power Station Power Conversion System Not Found',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_EXISTS: 'Energy Storage Power Station User Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_NOT_FOUND: 'Energy Storage Power Station User Relation Not Found',
EQUIPMENT_COMMAND_RELATION_EXISTS: 'Equipment Command Relation Exists',
EQUIPMENT_COMMAND_RELATION_NOT_FOUND: 'Equipment Command Relation Not Found',
EQUIPMENT_METER_RELATION_EXISTS: 'Equipment Meter Relation Exists',
@@ -16266,6 +17237,14 @@ function config($translateProvider) {
INVALID_ENERGY_ITEM_NAME: 'Invalid Energy Item Name',
INVALID_ENERGY_STORAGE_POWER_STATION_ID: 'Invalid Energy Storage Power Station ID',
INVALID_ENERGY_STORAGE_POWER_STATION_NAME: 'Invalid Energy Storage Power Station Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Invalid Energy Storage Power Station Battery Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_ID: 'Invalid Energy Storage Power Station Battery ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Invalid Energy Storage Power Station Grid Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_ID: 'Invalid Energy Storage Power Station Grid ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Invalid Energy Storage Power Station Load Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_ID: 'Invalid Energy Storage Power Station Load ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NAME: 'Invalid Energy Storage Power Station Power Conversion System Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_ID: 'Invalid Energy Storage Power Station Power Conversion System ID',
INVALID_EQUATION_IN_EXPRESSION: 'Invalid Equation In Expression',
INVALID_EQUIPMENT_ID: 'Invalid Equipment ID',
INVALID_EQUIPMENT_NAME: 'Invalid Equipment Name',
@@ -17260,7 +18239,7 @@ function config($translateProvider) {
N_S_MICROGRID_POWER_CONVERSION_SYSTEM: ' Sistem Konversi Daya (PCS)',
ADD_MICROGRID_POWER_CONVERSION_SYSTEM: 'Tambahkan Sistem Konversi Daya (PCS)',
EDIT_MICROGRID_POWER_CONVERSION_SYSTEM: 'Edit Sistem Konversi Daya (PCS)',
- BIND_USER: 'Mengikat Pengguna'
+ BIND_USER: 'Mengikat Pengguna',
},
VIRTUAL_POWER_PLANT: {
BALANCING_PRICE_POINT: 'Menyeimbangkan Titik Harga',
@@ -17274,17 +18253,86 @@ function config($translateProvider) {
ADDRESS: 'Alamat',
POSTAL_CODE: 'Kode Pos',
CAPACITY: 'Kapasitas',
+ NOMINAL_VOLTAGE: 'Tengah Nominal',
LATITUDE: 'Lintang',
LONGITUDE: 'Bujur',
+ SERIAL_NUMBER: 'Nomor Seri',
SVG: 'SVG',
DESCRIPTION: 'Deskripsi',
INPUT_ADDRESS: 'Silakan masukkan alamat',
INPUT_POSTAL_CODE: 'Silakan masukkan Kode Pos',
INPUT_CAPACITY: 'Silakan Input Kapasitas',
+ INPUT_NOMINAL_VOLTAGE: 'Pantas Nominal Input',
INPUT_LATITUDE: 'Silakan masukkan Latitude',
INPUT_LONGITUDE: 'Silakan masukkan Garis Bujur',
+ INPUT_SERIAL_NUMBER: 'Nomor Seri Input',
INPUT_SVG: 'Silakan masukan SVG',
INPUT_DESCRIPTION: 'Silakan masukkan deskripsi',
+ BATTERY_STATE_POINT: 'Titik keadaan baterai',
+ SOC_POINT: 'Titik SOC',
+ POWER_POINT: 'Pembangkit listrik',
+ RUN_STATE_POINT: 'Jalankan titik negara',
+ CHARGE_START_TIME1_POINT: 'Charge Start Time1 Point',
+ CHARGE_END_TIME1_POINT: 'Charge End Time1 Point',
+ CHARGE_START_TIME2_POINT: 'Charge Start Time2 Point',
+ CHARGE_END_TIME2_POINT: 'Charge End Time2 Point',
+ CHARGE_START_TIME3_POINT: 'Charge Start Time3 Point',
+ CHARGE_END_TIME3_POINT: 'Charge End Time3 Point',
+ CHARGE_START_TIME4_POINT: 'Charge Start Time4 Point',
+ CHARGE_END_TIME4_POINT: 'Charge End Time4 Point',
+ DISCHARGE_START_TIME1_POINT: 'Discharge Start Time1 Point',
+ DISCHARGE_END_TIME1_POINT: 'Discharge End Time1 Point',
+ DISCHARGE_START_TIME2_POINT: 'Discharge Start Time2 Point',
+ DISCHARGE_END_TIME2_POINT: 'Discharge End Time2 Point',
+ DISCHARGE_START_TIME3_POINT: 'Discharge Start Time3 Point',
+ DISCHARGE_END_TIME3_POINT: 'Discharge End Time3 Point',
+ DISCHARGE_START_TIME4_POINT: 'Discharge Start Time4 Point',
+ DISCHARGE_END_TIME4_POINT: 'Discharge End Time4 Point',
+ CHARGE_START_TIME1_COMMAND: 'Charge Start Time1 Command',
+ CHARGE_END_TIME1_COMMAND: 'Charge End Time1 Command',
+ CHARGE_START_TIME2_COMMAND: 'Charge Start Time2 Command',
+ CHARGE_END_TIME2_COMMAND: 'Charge End Time2 Command',
+ CHARGE_START_TIME3_COMMAND: 'Charge Start Time3 Command',
+ CHARGE_END_TIME3_COMMAND: 'Charge End Time3 Command',
+ CHARGE_START_TIME4_COMMAND: 'Charge Start Time4 Command',
+ CHARGE_END_TIME4_COMMAND: 'Charge End Time4 Command',
+ DISCHARGE_START_TIME1_COMMAND: 'Discharge Start Time1 Command',
+ DISCHARGE_END_TIME1_COMMAND: 'Discharge End Time1 Command',
+ DISCHARGE_START_TIME2_COMMAND: 'Discharge Start Time2 Command',
+ DISCHARGE_END_TIME2_COMMAND: 'Discharge End Time2 Command',
+ DISCHARGE_START_TIME3_COMMAND: 'Discharge Start Time3 Command',
+ DISCHARGE_END_TIME3_COMMAND: 'Discharge End Time3 Command',
+ DISCHARGE_START_TIME4_COMMAND: 'Discharge Start Time4 Command',
+ DISCHARGE_END_TIME4_COMMAND: 'Discharge End Time4 Command',
+ METER: 'Meter',
+ CHARGE_METER: 'Pengukur Pengisian Daya',
+ DISCHARGE_METER: 'Pengukur Debit',
+ ELECTRICITY_METER: 'Meteran Listrik',
+ BUY_METER: 'Beli Meter',
+ SELL_METER: 'Jual Meter',
+ ENERGY_STORAGE_POWER_STATION_BATTERY: 'Baterai',
+ N_S_ENERGY_STORAGE_POWER_STATION_BATTERY: ' Baterai',
+ ADD_ENERGY_STORAGE_POWER_STATION_BATTERY: 'Tambahkan Baterai',
+ EDIT_ENERGY_STORAGE_POWER_STATION_BATTERY: 'Edit Baterai',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Nama Baterai',
+ INPUT_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Silakan masukkan nama baterai',
+ ENERGY_STORAGE_POWER_STATION_GRID: 'Grid',
+ N_S_ENERGY_STORAGE_POWER_STATION_GRID: ' Grid',
+ ADD_ENERGY_STORAGE_POWER_STATION_GRID: 'Tambahkan Grid',
+ EDIT_ENERGY_STORAGE_POWER_STATION_GRID: 'Edit Kisi',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Nama Kisi',
+ INPUT_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Silakan masukkan nama kisi',
+ ENERGY_STORAGE_POWER_STATION_LOAD: 'Muat',
+ N_S_ENERGY_STORAGE_POWER_STATION_LOAD: ' Muat',
+ ADD_ENERGY_STORAGE_POWER_STATION_LOAD: 'Tambahkan Beban',
+ EDIT_ENERGY_STORAGE_POWER_STATION_LOAD: 'Edit Beban',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Nama Muat',
+ INPUT_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Silakan masukkan nama muatan',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Sistem Konversi Daya (PCS)',
+ N_S_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: ' Sistem Konversi Daya (PCS)',
+ ADD_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Tambahkan Sistem Konversi Daya (PCS)',
+ EDIT_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM: 'Edit Sistem Konversi Daya (PCS)',
+ BIND_USER: 'Mengikat Pengguna',
},
PHOTOVOLTAIC_POWER_STATION: {
ADDRESS: 'Alamat',
@@ -17687,6 +18735,18 @@ function config($translateProvider) {
ENERGY_ITEM_USED_IN_VIRTUAL_METER: 'Energy Item Used In Virtual Meter',
ENERGY_STORAGE_POWER_STATION_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Name Is Already In Use',
ENERGY_STORAGE_POWER_STATION_NOT_FOUND: 'Energy Storage Power Station Not Found',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_EXISTS: 'Energy Storage Power Station Sensor Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_NOT_FOUND: 'Energy Storage Power Station Sensor Relation Not Found',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Battery Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_BATTERY_NOT_FOUND: 'Energy Storage Power Station Battery Not Found',
+ ENERGY_STORAGE_POWER_STATION_GRID_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Grid Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_GRID_NOT_FOUND: 'Energy Storage Power Station Grid Not Found',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station Load Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_LOAD_NOT_FOUND: 'Energy Storage Power Station Load Not Found',
+ ENERGY_STORAGE_POWER_STATION_PCS_NAME_IS_ALREADY_IN_USE: 'Energy Storage Power Station PCS Name Is Already In Use',
+ ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NOT_FOUND: 'Energy Storage Power Station Power Conversion System Not Found',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_EXISTS: 'Energy Storage Power Station User Relation Exists',
+ ENERGY_STORAGE_POWER_STATION_USER_RELATION_NOT_FOUND: 'Energy Storage Power Station User Relation Not Found',
EQUIPMENT_COMMAND_RELATION_EXISTS: 'Equipment Command Relation Exists',
EQUIPMENT_COMMAND_RELATION_NOT_FOUND: 'Equipment Command Relation Not Found',
EQUIPMENT_METER_RELATION_EXISTS: 'Equipment Meter Relation Exists',
@@ -17782,6 +18842,14 @@ function config($translateProvider) {
INVALID_ENERGY_ITEM_NAME: 'Invalid Energy Item Name',
INVALID_ENERGY_STORAGE_POWER_STATION_ID: 'Invalid Energy Storage Power Station ID',
INVALID_ENERGY_STORAGE_POWER_STATION_NAME: 'Invalid Energy Storage Power Station Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME: 'Invalid Energy Storage Power Station Battery Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_ID: 'Invalid Energy Storage Power Station Battery ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_NAME: 'Invalid Energy Storage Power Station Grid Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_GRID_ID: 'Invalid Energy Storage Power Station Grid ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_NAME: 'Invalid Energy Storage Power Station Load Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_ID: 'Invalid Energy Storage Power Station Load ID',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NAME: 'Invalid Energy Storage Power Station Power Conversion System Name',
+ INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_ID: 'Invalid Energy Storage Power Station Power Conversion System ID',
INVALID_EQUATION_IN_EXPRESSION: 'Invalid Equation In Expression',
INVALID_EQUIPMENT_ID: 'Invalid Equipment ID',
INVALID_EQUIPMENT_NAME: 'Invalid Equipment Name',
diff --git a/myems-admin/views/settings/energystoragepowerstation/energystoragepowerstation.html b/myems-admin/views/settings/energystoragepowerstation/energystoragepowerstation.html
index 284cbd2584..c6f65dc879 100644
--- a/myems-admin/views/settings/energystoragepowerstation/energystoragepowerstation.html
+++ b/myems-admin/views/settings/energystoragepowerstation/energystoragepowerstation.html
@@ -50,6 +50,423 @@
+
+
+
+
+
+
+ {{'COMMON.ENERGY_STORAGE_POWER_STATION' | translate}}
+
+
+
+
+
+
+
+ {{currentEnergyStoragePowerStation.name}}{{'ENERGY_STORAGE_POWER_STATION.N_S_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM' | translate}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{'COMMON.ENERGY_STORAGE_POWER_STATION' | translate}}
+
+
+
+
+
+
+
+ {{currentEnergyStoragePowerStation.name}}{{'ENERGY_STORAGE_POWER_STATION.N_S_ENERGY_STORAGE_POWER_STATION_BATTERY' | translate}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{'COMMON.ENERGY_STORAGE_POWER_STATION' | translate}}
+
+
+
+
+
+
+
+ {{currentEnergyStoragePowerStation.name}}{{'ENERGY_STORAGE_POWER_STATION.N_S_ENERGY_STORAGE_POWER_STATION_GRID' | translate}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{'COMMON.ENERGY_STORAGE_POWER_STATION' | translate}}
+
+
+
+
+
+
+
+ {{currentEnergyStoragePowerStation.name}}{{'ENERGY_STORAGE_POWER_STATION.N_S_ENERGY_STORAGE_POWER_STATION_LOAD' | translate}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{'COMMON.ENERGY_STORAGE_POWER_STATION' | translate}}
+
+
+
+
+
+
+
+ {{currentEnergyStoragePowerStation.name}}{{'SETTING.N_S_SENSOR' | translate}}
+
+
+
+
{{energystoragepowerstationsensor.name}}
+
+
+
+
+
+ {{'SETTING.TRASH' | translate}}
+
+
+
![](img/trashcan.png)
+
+
+
+
+
+
+ {{'SENSOR.SELECT_SENSOR' | translate}}
+
+
+
{{'SETTING.SENSOR_LIST' | translate}}
+
{{sensor.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{'COMMON.ENERGY_STORAGE_POWER_STATION' | translate}}
+
+
+
+
+
+
+
+ {{currentEnergyStoragePowerStation.name}}{{'SETTING.N_S_USER' | translate}}
+
+
+
+
{{energystoragepowerstationuser.name}}
+
+
+
+
+
+ {{'SETTING.TRASH' | translate}}
+
+
+
![](img/trashcan.png)
+
+
+
+
+
+
+ {{'USER.SELECT_USER' | translate}}
+
+
+
{{'USER.USER_LIST' | translate}}
+
{{user.name}}
+
+
+
+
+
+
diff --git a/myems-admin/views/settings/energystoragepowerstation/energystoragepowerstationbattery.model.html b/myems-admin/views/settings/energystoragepowerstation/energystoragepowerstationbattery.model.html
new file mode 100644
index 0000000000..f887d618e5
--- /dev/null
+++ b/myems-admin/views/settings/energystoragepowerstation/energystoragepowerstationbattery.model.html
@@ -0,0 +1,85 @@
+
diff --git a/myems-admin/views/settings/energystoragepowerstation/energystoragepowerstationgrid.model.html b/myems-admin/views/settings/energystoragepowerstation/energystoragepowerstationgrid.model.html
new file mode 100644
index 0000000000..30f8b93e31
--- /dev/null
+++ b/myems-admin/views/settings/energystoragepowerstation/energystoragepowerstationgrid.model.html
@@ -0,0 +1,59 @@
+
diff --git a/myems-admin/views/settings/energystoragepowerstation/energystoragepowerstationload.model.html b/myems-admin/views/settings/energystoragepowerstation/energystoragepowerstationload.model.html
new file mode 100644
index 0000000000..93c0c2c13d
--- /dev/null
+++ b/myems-admin/views/settings/energystoragepowerstation/energystoragepowerstationload.model.html
@@ -0,0 +1,48 @@
+
diff --git a/myems-admin/views/settings/energystoragepowerstation/energystoragepowerstationpowerconversionsystem.model.html b/myems-admin/views/settings/energystoragepowerstation/energystoragepowerstationpowerconversionsystem.model.html
new file mode 100644
index 0000000000..154b48dbc3
--- /dev/null
+++ b/myems-admin/views/settings/energystoragepowerstation/energystoragepowerstationpowerconversionsystem.model.html
@@ -0,0 +1,358 @@
+
diff --git a/myems-api/MyEMS.postman_collection.json b/myems-api/MyEMS.postman_collection.json
index e682df7977..e2197567ff 100644
--- a/myems-api/MyEMS.postman_collection.json
+++ b/myems-api/MyEMS.postman_collection.json
@@ -4337,6 +4337,872 @@
}
},
"response": []
+ },
+ {
+ "name": "GET All Sensors of an Energy Storage Power Station",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "3a7acfe1-f3c3-4561-a985-8a4d23ef54d0",
+ "type": "default"
+ },
+ {
+ "key": "Token",
+ "value": "831f86c46eaa946be6450097c2ecfc2966fecea18853d00ae3147b11123899438fd5394f1bcfc165d0a3d0604baa93eb14f29d0d88c3f75b3bcaa807029e410c",
+ "type": "default"
+ }
+ ],
+ "url": {
+ "raw": "{{base_url}}/microgrids/1/sensors",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "microgrids",
+ "1",
+ "sensors"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "POST Bind a Sensor to an Energy Storage Power Station",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
+ "type": "text"
+ },
+ {
+ "key": "Token",
+ "value": "9a3748fadf64270dd4617594939169d0008a1b713e3a5861af384c68de73442b56b56771ce2be1e51ecd7443ec0fc1fbd6dcc3335a2c7518ca12b7a479ccb2e0",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\"data\":{\"sensor_id\":1}}"
+ },
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/sensors",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "sensors"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "DELETE a Sensor from an Energy Storage Power Station",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
+ "type": "text"
+ },
+ {
+ "key": "Token",
+ "value": "9a3748fadf64270dd4617594939169d0008a1b713e3a5861af384c68de73442b56b56771ce2be1e51ecd7443ec0fc1fbd6dcc3335a2c7518ca12b7a479ccb2e0",
+ "type": "text"
+ }
+ ],
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/sensors/1",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "sensors",
+ "1"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "GET All Batteries of an Energy Storage Power Station",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
+ "type": "default"
+ },
+ {
+ "key": "Token",
+ "value": "08d9de3ccf860300dc3955a4ed0026dd6f2d71d28713ced3074452fa9eccf23d702d52b1946e0733ada378e0691ccd2a72f4be0af2c9770c6d8f2d031abadd63",
+ "type": "default"
+ }
+ ],
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/3/batteries",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "3",
+ "batteries"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "GET an Energy Storage Power Station Battery",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
+ "type": "default"
+ },
+ {
+ "key": "Token",
+ "value": "86b53bdff3dc73ceff0e58570cb0790799b37ac3cc2a787b342507acbc1a89520cdda9efb8c51a5d64d81d2cdb265a392876be729f2fbad62b540157976c48eb",
+ "type": "default"
+ }
+ ],
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/batteries/1",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "batteries",
+ "1"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "POST Create new Energy Storage Power Station Battery",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
+ "type": "text",
+ "description": "Any admin users' UUID"
+ },
+ {
+ "key": "Token",
+ "value": "86b53bdff3dc73ceff0e58570cb0790799b37ac3cc2a787b342507acbc1a89520cdda9efb8c51a5d64d81d2cdb265a392876be729f2fbad62b540157976c48eb",
+ "type": "text",
+ "description": "Login to get a valid token"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\"data\":{\"name\":\"Battery\", \"battery_state_point_id\":1, \"soc_point_id\":2, \"power_point_id\":3, \"charge_meter_id\":1, \"discharge_meter_id\":2, \"capacity\": 30, \"nominal_voltage\": 48}}"
+ },
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/batteries",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "batteries"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "PUT Update an Energy Storage Power Station Battery",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
+ "type": "text",
+ "description": "Any admin users' UUID"
+ },
+ {
+ "key": "Token",
+ "value": "08d9de3ccf860300dc3955a4ed0026dd6f2d71d28713ced3074452fa9eccf23d702d52b1946e0733ada378e0691ccd2a72f4be0af2c9770c6d8f2d031abadd63",
+ "type": "text",
+ "description": "Login to get a valid token"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\"data\":{\"name\":\"Battery\", \"battery_state_point_id\":1, \"soc_point_id\":2, \"power_point_id\":3, \"charge_meter_id\":1, \"discharge_meter_id\":2, \"capacity\": 30, \"nominal_voltage\": 48}}"
+ },
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/batteries/1",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "batteries",
+ "1"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "DELETE an Energy Storage Power Station Battery",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
+ "type": "text",
+ "description": "Any admin users' UUID"
+ },
+ {
+ "key": "Token",
+ "value": "08d9de3ccf860300dc3955a4ed0026dd6f2d71d28713ced3074452fa9eccf23d702d52b1946e0733ada378e0691ccd2a72f4be0af2c9770c6d8f2d031abadd63",
+ "type": "text",
+ "description": "Login to get a valid token"
+ }
+ ],
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/batteries/1",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "batteries",
+ "1"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "GET All Grids of an Energy Storage Power Station",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "3a7acfe1-f3c3-4561-a985-8a4d23ef54d0",
+ "type": "default"
+ },
+ {
+ "key": "Token",
+ "value": "831f86c46eaa946be6450097c2ecfc2966fecea18853d00ae3147b11123899438fd5394f1bcfc165d0a3d0604baa93eb14f29d0d88c3f75b3bcaa807029e410c",
+ "type": "default"
+ }
+ ],
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/grids",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "grids"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "GET an Energy Storage Power Station Grid",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "3a7acfe1-f3c3-4561-a985-8a4d23ef54d0",
+ "type": "default"
+ },
+ {
+ "key": "Token",
+ "value": "831f86c46eaa946be6450097c2ecfc2966fecea18853d00ae3147b11123899438fd5394f1bcfc165d0a3d0604baa93eb14f29d0d88c3f75b3bcaa807029e410c",
+ "type": "default"
+ }
+ ],
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/grids/1",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "grids",
+ "1"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "POST Create new Energy Storage Power Station Grid",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
+ "type": "text",
+ "description": "Any admin users' UUID"
+ },
+ {
+ "key": "Token",
+ "value": "d4af151d182e325bda23f89cef3a385e519f601b40ed3158d0b306c2dcaa1b0b190f3a5945b39e9534a25f891270bbe250a38872920f975949ef33becb908198",
+ "type": "text",
+ "description": "Login to get a valid token"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\"data\":{\"name\":\"Grid\", \"buy_meter_id\":1, \"sell_meter_id\":2, \"capacity\": 30}}"
+ },
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/grids/1",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "grids",
+ "1"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "PUT Update an Energy Storage Power Station Grid",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
+ "type": "text",
+ "description": "Any admin users' UUID"
+ },
+ {
+ "key": "Token",
+ "value": "d4af151d182e325bda23f89cef3a385e519f601b40ed3158d0b306c2dcaa1b0b190f3a5945b39e9534a25f891270bbe250a38872920f975949ef33becb908198",
+ "type": "text",
+ "description": "Login to get a valid token"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\"data\":{\"name\":\"Grid\", \"buy_meter_id\":1, \"sell_meter_id\":2, \"capacity\": 50}}"
+ },
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/grids/1",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "grids",
+ "1"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "DELETE an Energy Storage Power Station Grid",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
+ "type": "text",
+ "description": "Any admin users' UUID"
+ },
+ {
+ "key": "Token",
+ "value": "d4af151d182e325bda23f89cef3a385e519f601b40ed3158d0b306c2dcaa1b0b190f3a5945b39e9534a25f891270bbe250a38872920f975949ef33becb908198",
+ "type": "text",
+ "description": "Login to get a valid token"
+ }
+ ],
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/grids/1",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "grids",
+ "1"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "GET All Loads of an Energy Storage Power Station",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "3a7acfe1-f3c3-4561-a985-8a4d23ef54d0",
+ "type": "default"
+ },
+ {
+ "key": "Token",
+ "value": "831f86c46eaa946be6450097c2ecfc2966fecea18853d00ae3147b11123899438fd5394f1bcfc165d0a3d0604baa93eb14f29d0d88c3f75b3bcaa807029e410c",
+ "type": "default"
+ }
+ ],
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/loads",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "loads"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "GET an Energy Storage Power Station Load",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "3a7acfe1-f3c3-4561-a985-8a4d23ef54d0",
+ "type": "default"
+ },
+ {
+ "key": "Token",
+ "value": "831f86c46eaa946be6450097c2ecfc2966fecea18853d00ae3147b11123899438fd5394f1bcfc165d0a3d0604baa93eb14f29d0d88c3f75b3bcaa807029e410c",
+ "type": "default"
+ }
+ ],
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/loads/1",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "loads",
+ "1"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "POST Create new Energy Storage Power Station Load",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
+ "type": "text",
+ "description": "Any admin users' UUID"
+ },
+ {
+ "key": "Token",
+ "value": "08c913a4e5eccc96d590c52002b2ed225dbbf0de52b260d41b912bf989fe9c0bd47a09de0ee0a3b527cac427603b28c73450e08d9084289ecedaaf88cdd865db",
+ "type": "text",
+ "description": "Login to get a valid token"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\"data\":{\"name\":\"Load\", \"power_point_id\":1, \"meter_id\":1, \"capacity\": 30}}"
+ },
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/loads/1",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "loads",
+ "1"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "PUT Update an Energy Storage Power Station Load",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
+ "type": "text",
+ "description": "Any admin users' UUID"
+ },
+ {
+ "key": "Token",
+ "value": "08c913a4e5eccc96d590c52002b2ed225dbbf0de52b260d41b912bf989fe9c0bd47a09de0ee0a3b527cac427603b28c73450e08d9084289ecedaaf88cdd865db",
+ "type": "text",
+ "description": "Login to get a valid token"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\"data\":{\"name\":\"Load\", \"power_point_id\":1, \"meter_id\":1, \"capacity\": 50}}"
+ },
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/loads/1",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "loads",
+ "1"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "DELETE an Energy Storage Power Station Load",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
+ "type": "text",
+ "description": "Any admin users' UUID"
+ },
+ {
+ "key": "Token",
+ "value": "08c913a4e5eccc96d590c52002b2ed225dbbf0de52b260d41b912bf989fe9c0bd47a09de0ee0a3b527cac427603b28c73450e08d9084289ecedaaf88cdd865db",
+ "type": "text",
+ "description": "Login to get a valid token"
+ }
+ ],
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/loads/1",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "loads",
+ "1"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "GET All Power Conversion Systems of an Energy Storage Power Station",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
+ "type": "default"
+ },
+ {
+ "key": "Token",
+ "value": "5697392c42fdcec56a010729d9fc4a43fe694c7782bde85861f62605fff463bbbb0453899076a2e033f4193ac2e6f883eb510870e5e97e9ce6fbe84b6079b276",
+ "type": "default"
+ }
+ ],
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/powerconversionsystems",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "powerconversionsystems"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "GET an Energy Storage Power Station Power Conversion System",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
+ "type": "default"
+ },
+ {
+ "key": "Token",
+ "value": "5697392c42fdcec56a010729d9fc4a43fe694c7782bde85861f62605fff463bbbb0453899076a2e033f4193ac2e6f883eb510870e5e97e9ce6fbe84b6079b276",
+ "type": "default"
+ }
+ ],
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/powerconversionsystems/1",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "powerconversionsystems",
+ "1"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "POST Create new Energy Storage Power Station Power Conversion System",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
+ "type": "text",
+ "description": "Any admin users' UUID"
+ },
+ {
+ "key": "Token",
+ "value": "ac38ab713b8bd9b39c677cf15946ce5abded24f02cc7806acaa9214707f853539ba07d009a375a34acbc8531e8da7d57fa87e5398b0229296d1f02d9a34d3989",
+ "type": "text",
+ "description": "Login to get a valid token"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\"data\":{\"name\":\"Power Conversion System1\", \"run_state_command_id\":1, \"capacity\": 30, \"charge_start_time1_point_id\":2, \"charge_end_time1_point_id\":3, \"charge_start_time2_point_id\":4,\"charge_end_time2_point_id\":5, \"charge_start_time3_point_id\":6, \"charge_end_time3_point_id\":7, \"charge_start_time4_point_id\":8, \"charge_end_time4_point_id\":9, \"discharge_start_time1_point_id\":10, \"discharge_end_time1_point_id\":11, \"discharge_start_time2_point_id\":12, \"discharge_end_time2_point_id\":13, \"discharge_start_time3_point_id\":14, \"discharge_end_time3_point_id\":15, \"discharge_start_time4_point_id\":16, \"discharge_end_time4_point_id\":17,\"charge_start_time1_command_id\":2, \"charge_end_time1_command_id\":3, \"charge_start_time2_command_id\":4,\"charge_end_time2_command_id\":5, \"charge_start_time3_command_id\":6, \"charge_end_time3_command_id\":7, \"charge_start_time4_command_id\":8, \"charge_end_time4_command_id\":9, \"discharge_start_time1_command_id\":10, \"discharge_end_time1_command_id\":11, \"discharge_start_time2_command_id\":12, \"discharge_end_time2_command_id\":13, \"discharge_start_time3_command_id\":14, \"discharge_end_time3_command_id\":15, \"discharge_start_time4_command_id\":16, \"discharge_end_time4_command_id\":17}}"
+ },
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/powerconversionsystems",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "powerconversionsystems"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "PUT Update an Energy Storage Power Station Power Conversion System",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
+ "type": "text",
+ "description": "Any admin users' UUID"
+ },
+ {
+ "key": "Token",
+ "value": "ac38ab713b8bd9b39c677cf15946ce5abded24f02cc7806acaa9214707f853539ba07d009a375a34acbc8531e8da7d57fa87e5398b0229296d1f02d9a34d3989",
+ "type": "text",
+ "description": "Login to get a valid token"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\"data\":{\"name\":\"Power Conversion System\", \"run_state_point_id\":1, \"capacity\": 30, \"charge_start_time1_point_id\":2, \"charge_end_time1_point_id\":3, \"charge_start_time2_point_id\":4,\"charge_end_time2_point_id\":5, \"charge_start_time3_point_id\":6, \"charge_end_time3_point_id\":7, \"charge_start_time4_point_id\":8, \"charge_end_time4_point_id\":9, \"discharge_start_time1_point_id\":10, \"discharge_end_time1_point_id\":11, \"discharge_start_time2_point_id\":12, \"discharge_end_time2_point_id\":13, \"discharge_start_time3_point_id\":14, \"discharge_end_time3_point_id\":15, \"discharge_start_time4_point_id\":16, \"discharge_end_time4_point_id\":17,\"charge_start_time1_command_id\":2, \"charge_end_time1_command_id\":3, \"charge_start_time2_command_id\":4,\"charge_end_time2_command_id\":5, \"charge_start_time3_command_id\":6, \"charge_end_time3_command_id\":7, \"charge_start_time4_command_id\":8, \"charge_end_time4_command_id\":9, \"discharge_start_time1_command_id\":10, \"discharge_end_time1_command_id\":11, \"discharge_start_time2_command_id\":12, \"discharge_end_time2_command_id\":13, \"discharge_start_time3_command_id\":14, \"discharge_end_time3_command_id\":15, \"discharge_start_time4_command_id\":16, \"discharge_end_time4_command_id\":17}}"
+ },
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/powerconversionsystems/1",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "powerconversionsystems",
+ "1"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "DELETE an Energy Storage Power Station Power Conversion System",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
+ "type": "text",
+ "description": "Any admin users' UUID"
+ },
+ {
+ "key": "Token",
+ "value": "08c913a4e5eccc96d590c52002b2ed225dbbf0de52b260d41b912bf989fe9c0bd47a09de0ee0a3b527cac427603b28c73450e08d9084289ecedaaf88cdd865db",
+ "type": "text",
+ "description": "Login to get a valid token"
+ }
+ ],
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/powerconversionsystems/1",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "powerconversionsystems",
+ "1"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "GET All Users of an Energy Storage Power Station",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
+ "type": "text"
+ },
+ {
+ "key": "Token",
+ "value": "831f86c46eaa946be6450097c2ecfc2966fecea18853d00ae3147b11123899438fd5394f1bcfc165d0a3d0604baa93eb14f29d0d88c3f75b3bcaa807029e410c",
+ "type": "text"
+ },
+ {
+ "key": "",
+ "value": "",
+ "type": "text",
+ "disabled": true
+ }
+ ],
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/users",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "users"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "POST Bind an User to an Energy Storage Power Station",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
+ "type": "text"
+ },
+ {
+ "key": "Token",
+ "value": "831f86c46eaa946be6450097c2ecfc2966fecea18853d00ae3147b11123899438fd5394f1bcfc165d0a3d0604baa93eb14f29d0d88c3f75b3bcaa807029e410c",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\"data\":{\"user_id\":1}}"
+ },
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/users",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "users"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "DELETE an User from an Energy Storage Power Station",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "User-UUID",
+ "value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
+ "type": "text"
+ },
+ {
+ "key": "Token",
+ "value": "831f86c46eaa946be6450097c2ecfc2966fecea18853d00ae3147b11123899438fd5394f1bcfc165d0a3d0604baa93eb14f29d0d88c3f75b3bcaa807029e410c",
+ "type": "text"
+ }
+ ],
+ "url": {
+ "raw": "{{base_url}}/energystoragepowerstations/1/users/1",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "energystoragepowerstations",
+ "1",
+ "users",
+ "1"
+ ]
+ }
+ },
+ "response": []
}
]
},
@@ -6571,12 +7437,12 @@
}
],
"url": {
- "raw": "{{base_url}}/microgrid/1/batteries/1",
+ "raw": "{{base_url}}/microgrids/1/batteries/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"batteries",
"1"
@@ -6608,12 +7474,12 @@
"raw": "{\"data\":{\"name\":\"Battery\", \"battery_state_point_id\":1, \"soc_point_id\":2, \"power_point_id\":3, \"charge_meter_id\":1, \"discharge_meter_id\":2, \"capacity\": 30, \"nominal_voltage\": 48}}"
},
"url": {
- "raw": "{{base_url}}/microgrid/1/batteries",
+ "raw": "{{base_url}}/microgrids/1/batteries",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"batteries"
]
@@ -6644,12 +7510,12 @@
"raw": "{\"data\":{\"name\":\"Battery\", \"battery_state_point_id\":1, \"soc_point_id\":2, \"power_point_id\":3, \"charge_meter_id\":1, \"discharge_meter_id\":2, \"capacity\": 30, \"nominal_voltage\": 48}}"
},
"url": {
- "raw": "{{base_url}}/microgrid/1/batteries/1",
+ "raw": "{{base_url}}/microgrids/1/batteries/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"batteries",
"1"
@@ -6677,12 +7543,12 @@
}
],
"url": {
- "raw": "{{base_url}}/microgrid/1/batteries/1",
+ "raw": "{{base_url}}/microgrids/1/batteries/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"batteries",
"1"
@@ -6738,12 +7604,12 @@
}
],
"url": {
- "raw": "{{base_url}}/microgrid/1/evchargers/1",
+ "raw": "{{base_url}}/microgrids/1/evchargers/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"evchargers",
"1"
@@ -6775,12 +7641,12 @@
"raw": "{\"data\":{\"name\":\"EVCharger\", \"power_point_id\":1, \"meter_id\":1, \"capacity\": 30}}"
},
"url": {
- "raw": "{{base_url}}/microgrid/1/evchargers",
+ "raw": "{{base_url}}/microgrids/1/evchargers",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"evchargers"
]
@@ -6811,12 +7677,12 @@
"raw": "{\"data\":{\"name\":\"EVCharger\", \"power_point_id\":1, \"meter_id\":1, \"capacity\": 50}}"
},
"url": {
- "raw": "{{base_url}}/microgrid/1/evchargers/1",
+ "raw": "{{base_url}}/microgrids/1/evchargers/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"evchargers",
"1"
@@ -6844,12 +7710,12 @@
}
],
"url": {
- "raw": "{{base_url}}/microgrid/1/evchargers/1",
+ "raw": "{{base_url}}/microgrids/1/evchargers/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"evchargers",
"1"
@@ -6905,12 +7771,12 @@
}
],
"url": {
- "raw": "{{base_url}}/microgrid/1/generators/1",
+ "raw": "{{base_url}}/microgrids/1/generators/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"generators",
"1"
@@ -6942,12 +7808,12 @@
"raw": "{\"data\":{\"name\":\"Generator\", \"power_point_id\":1, \"meter_id\":1, \"capacity\": 30}}"
},
"url": {
- "raw": "{{base_url}}/microgrid/1/generators",
+ "raw": "{{base_url}}/microgrids/1/generators",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"generators"
]
@@ -6978,12 +7844,12 @@
"raw": "{\"data\":{\"name\":\"Generator\", \"power_point_id\":1, \"meter_id\":1, \"capacity\": 50}}"
},
"url": {
- "raw": "{{base_url}}/microgrid/1/generators/1",
+ "raw": "{{base_url}}/microgrids/1/generators/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"generators",
"1"
@@ -7011,12 +7877,12 @@
}
],
"url": {
- "raw": "{{base_url}}/microgrid/1/generators/1",
+ "raw": "{{base_url}}/microgrids/1/generators/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"generators",
"1"
@@ -7072,12 +7938,12 @@
}
],
"url": {
- "raw": "{{base_url}}/microgrid/1/grids/1",
+ "raw": "{{base_url}}/microgrids/1/grids/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"grids",
"1"
@@ -7109,12 +7975,12 @@
"raw": "{\"data\":{\"name\":\"Grid\", \"buy_meter_id\":1, \"sell_meter_id\":2, \"capacity\": 30}}"
},
"url": {
- "raw": "{{base_url}}/microgrid/1/grids/1",
+ "raw": "{{base_url}}/microgrids/1/grids/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"grids",
"1"
@@ -7146,12 +8012,12 @@
"raw": "{\"data\":{\"name\":\"Grid\", \"buy_meter_id\":1, \"sell_meter_id\":2, \"capacity\": 50}}"
},
"url": {
- "raw": "{{base_url}}/microgrid/1/grids/1",
+ "raw": "{{base_url}}/microgrids/1/grids/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"grids",
"1"
@@ -7179,12 +8045,12 @@
}
],
"url": {
- "raw": "{{base_url}}/microgrid/1/grids/1",
+ "raw": "{{base_url}}/microgrids/1/grids/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"grids",
"1"
@@ -7240,12 +8106,12 @@
}
],
"url": {
- "raw": "{{base_url}}/microgrid/1/heatpumps/1",
+ "raw": "{{base_url}}/microgrids/1/heatpumps/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"heatpumps",
"1"
@@ -7277,12 +8143,12 @@
"raw": "{\"data\":{\"name\":\"Heatpump\", \"power_point_id\":1, \"electricity_meter_id\":1, \"heat_meter_id\":2, \"cooling_meter_id\":3, \"capacity\": 30}}"
},
"url": {
- "raw": "{{base_url}}/microgrid/1/heatpumps/1",
+ "raw": "{{base_url}}/microgrids/1/heatpumps/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"heatpumps",
"1"
@@ -7314,12 +8180,12 @@
"raw": "{\"data\":{\"name\":\"Heatpump\", \"power_point_id\":1, \"electricity_meter_id\":1, \"heat_meter_id\":2, \"cooling_meter_id\":3, \"capacity\": 50}}"
},
"url": {
- "raw": "{{base_url}}/microgrid/1/heatpumps/1",
+ "raw": "{{base_url}}/microgrids/1/heatpumps/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"heatpumps",
"1"
@@ -7347,12 +8213,12 @@
}
],
"url": {
- "raw": "{{base_url}}/microgrid/1/heatpumps/1",
+ "raw": "{{base_url}}/microgrids/1/heatpumps/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"heatpumps",
"1"
@@ -7408,12 +8274,12 @@
}
],
"url": {
- "raw": "{{base_url}}/microgrid/1/loads/1",
+ "raw": "{{base_url}}/microgrids/1/loads/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"loads",
"1"
@@ -7445,12 +8311,12 @@
"raw": "{\"data\":{\"name\":\"Load\", \"power_point_id\":1, \"meter_id\":1, \"capacity\": 30}}"
},
"url": {
- "raw": "{{base_url}}/microgrid/1/loads/1",
+ "raw": "{{base_url}}/microgrids/1/loads/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"loads",
"1"
@@ -7482,12 +8348,12 @@
"raw": "{\"data\":{\"name\":\"Load\", \"power_point_id\":1, \"meter_id\":1, \"capacity\": 50}}"
},
"url": {
- "raw": "{{base_url}}/microgrid/1/loads/1",
+ "raw": "{{base_url}}/microgrids/1/loads/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"loads",
"1"
@@ -7515,12 +8381,12 @@
}
],
"url": {
- "raw": "{{base_url}}/microgrid/1/loads/1",
+ "raw": "{{base_url}}/microgrids/1/loads/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"loads",
"1"
@@ -7576,12 +8442,12 @@
}
],
"url": {
- "raw": "{{base_url}}/microgrid/1/photovoltaics/1",
+ "raw": "{{base_url}}/microgrids/1/photovoltaics/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"photovoltaics",
"1"
@@ -7613,12 +8479,12 @@
"raw": "{\"data\":{\"name\":\"Photovoltaic\", \"power_point_id\":1, \"meter_id\":1, \"capacity\": 30}}"
},
"url": {
- "raw": "{{base_url}}/microgrid/1/photovoltaics/1",
+ "raw": "{{base_url}}/microgrids/1/photovoltaics/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"photovoltaics",
"1"
@@ -7650,12 +8516,12 @@
"raw": "{\"data\":{\"name\":\"Photovoltaic\", \"power_point_id\":1, \"meter_id\":1, \"capacity\": 50}}"
},
"url": {
- "raw": "{{base_url}}/microgrid/1/photovoltaics/1",
+ "raw": "{{base_url}}/microgrids/1/photovoltaics/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"photovoltaics",
"1"
@@ -7683,12 +8549,12 @@
}
],
"url": {
- "raw": "{{base_url}}/microgrid/1/photovoltaics/1",
+ "raw": "{{base_url}}/microgrids/1/photovoltaics/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"photovoltaics",
"1"
@@ -7744,12 +8610,12 @@
}
],
"url": {
- "raw": "{{base_url}}/microgrid/1/powerconversionsystems/1",
+ "raw": "{{base_url}}/microgrids/1/powerconversionsystems/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"powerconversionsystems",
"1"
@@ -7781,12 +8647,12 @@
"raw": "{\"data\":{\"name\":\"Power Conversion System1\", \"run_state_command_id\":1, \"capacity\": 30, \"charge_start_time1_point_id\":2, \"charge_end_time1_point_id\":3, \"charge_start_time2_point_id\":4,\"charge_end_time2_point_id\":5, \"charge_start_time3_point_id\":6, \"charge_end_time3_point_id\":7, \"charge_start_time4_point_id\":8, \"charge_end_time4_point_id\":9, \"discharge_start_time1_point_id\":10, \"discharge_end_time1_point_id\":11, \"discharge_start_time2_point_id\":12, \"discharge_end_time2_point_id\":13, \"discharge_start_time3_point_id\":14, \"discharge_end_time3_point_id\":15, \"discharge_start_time4_point_id\":16, \"discharge_end_time4_point_id\":17,\"charge_start_time1_command_id\":2, \"charge_end_time1_command_id\":3, \"charge_start_time2_command_id\":4,\"charge_end_time2_command_id\":5, \"charge_start_time3_command_id\":6, \"charge_end_time3_command_id\":7, \"charge_start_time4_command_id\":8, \"charge_end_time4_command_id\":9, \"discharge_start_time1_command_id\":10, \"discharge_end_time1_command_id\":11, \"discharge_start_time2_command_id\":12, \"discharge_end_time2_command_id\":13, \"discharge_start_time3_command_id\":14, \"discharge_end_time3_command_id\":15, \"discharge_start_time4_command_id\":16, \"discharge_end_time4_command_id\":17}}"
},
"url": {
- "raw": "{{base_url}}/microgrid/1/powerconversionsystems",
+ "raw": "{{base_url}}/microgrids/1/powerconversionsystems",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"powerconversionsystems"
]
@@ -7817,12 +8683,12 @@
"raw": "{\"data\":{\"name\":\"Power Conversion System\", \"run_state_point_id\":1, \"capacity\": 30, \"charge_start_time1_point_id\":2, \"charge_end_time1_point_id\":3, \"charge_start_time2_point_id\":4,\"charge_end_time2_point_id\":5, \"charge_start_time3_point_id\":6, \"charge_end_time3_point_id\":7, \"charge_start_time4_point_id\":8, \"charge_end_time4_point_id\":9, \"discharge_start_time1_point_id\":10, \"discharge_end_time1_point_id\":11, \"discharge_start_time2_point_id\":12, \"discharge_end_time2_point_id\":13, \"discharge_start_time3_point_id\":14, \"discharge_end_time3_point_id\":15, \"discharge_start_time4_point_id\":16, \"discharge_end_time4_point_id\":17,\"charge_start_time1_command_id\":2, \"charge_end_time1_command_id\":3, \"charge_start_time2_command_id\":4,\"charge_end_time2_command_id\":5, \"charge_start_time3_command_id\":6, \"charge_end_time3_command_id\":7, \"charge_start_time4_command_id\":8, \"charge_end_time4_command_id\":9, \"discharge_start_time1_command_id\":10, \"discharge_end_time1_command_id\":11, \"discharge_start_time2_command_id\":12, \"discharge_end_time2_command_id\":13, \"discharge_start_time3_command_id\":14, \"discharge_end_time3_command_id\":15, \"discharge_start_time4_command_id\":16, \"discharge_end_time4_command_id\":17}}"
},
"url": {
- "raw": "{{base_url}}/microgrid/1/powerconversionsystems/1",
+ "raw": "{{base_url}}/microgrids/1/powerconversionsystems/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"powerconversionsystems",
"1"
@@ -7850,12 +8716,12 @@
}
],
"url": {
- "raw": "{{base_url}}/microgrid/1/powerconversionsystems/1",
+ "raw": "{{base_url}}/microgrids/1/powerconversionsystems/1",
"host": [
"{{base_url}}"
],
"path": [
- "microgrid",
+ "microgrids",
"1",
"powerconversionsystems",
"1"
@@ -7901,7 +8767,7 @@
"response": []
},
{
- "name": "POST Bind a User to a Microgrid",
+ "name": "POST Bind an User to a Microgrid",
"request": {
"method": "POST",
"header": [
@@ -7935,7 +8801,7 @@
"response": []
},
{
- "name": "DELETE a User from a Microgrid",
+ "name": "DELETE an User from a Microgrid",
"request": {
"method": "DELETE",
"header": [
diff --git a/myems-api/app.py b/myems-api/app.py
index 9e089cd970..ada905ed6a 100644
--- a/myems-api/app.py
+++ b/myems-api/app.py
@@ -251,6 +251,30 @@
energystoragepowerstation.EnergyStoragePowerStationCollection())
api.add_route('/energystoragepowerstations/{id_}',
energystoragepowerstation.EnergyStoragePowerStationItem())
+api.add_route('/energystoragepowerstations/{id_}/sensors',
+ energystoragepowerstation.EnergyStoragePowerStationSensorCollection())
+api.add_route('/energystoragepowerstations/{id_}/sensors/{sid}',
+ energystoragepowerstation.EnergyStoragePowerStationSensorItem())
+api.add_route('/energystoragepowerstations/{id_}/batteries',
+ energystoragepowerstation.EnergyStoragePowerStationBatteryCollection())
+api.add_route('/energystoragepowerstations/{id_}/batteries/{bid}',
+ energystoragepowerstation.EnergyStoragePowerStationBatteryItem())
+api.add_route('/energystoragepowerstations/{id_}/grids',
+ energystoragepowerstation.EnergyStoragePowerStationGridCollection())
+api.add_route('/energystoragepowerstations/{id_}/grids/{gid}',
+ energystoragepowerstation.EnergyStoragePowerStationGridItem())
+api.add_route('/energystoragepowerstations/{id_}/loads',
+ energystoragepowerstation.EnergyStoragePowerStationLoadCollection())
+api.add_route('/energystoragepowerstations/{id_}/loads/{lid}',
+ energystoragepowerstation.EnergyStoragePowerStationLoadItem())
+api.add_route('/energystoragepowerstations/{id_}/powerconversionsystems',
+ energystoragepowerstation.EnergyStoragePowerStationPowerconversionsystemCollection())
+api.add_route('/energystoragepowerstations/{id_}/powerconversionsystems/{pid}',
+ energystoragepowerstation.EnergyStoragePowerStationPowerconversionsystemItem())
+api.add_route('/energystoragepowerstations/{id_}/users',
+ energystoragepowerstation.EnergyStoragePowerStationUserCollection())
+api.add_route('/energystoragepowerstations/{id_}/users/{uid}',
+ energystoragepowerstation.EnergyStoragePowerStationUserItem())
api.add_route('/equipments',
equipment.EquipmentCollection())
diff --git a/myems-api/core/energystoragepowerstation.py b/myems-api/core/energystoragepowerstation.py
index 9d6abe8306..e3e4672c13 100644
--- a/myems-api/core/energystoragepowerstation.py
+++ b/myems-api/core/energystoragepowerstation.py
@@ -9,7 +9,7 @@
class EnergyStoragePowerStationCollection:
@staticmethod
def __init__():
- """"Initializes EnergyStoragePowerStationCollection"""
+ """"Initializes Class"""
pass
@staticmethod
@@ -228,7 +228,7 @@ def on_post(req, resp):
class EnergyStoragePowerStationItem:
@staticmethod
def __init__():
- """"Initializes EnergyStoragePowerStationItem"""
+ """"Initializes Class"""
pass
@staticmethod
@@ -487,3 +487,3012 @@ def on_put(req, resp, id_):
cnx.close()
resp.status = falcon.HTTP_200
+
+
+class EnergyStoragePowerStationSensorCollection:
+ @staticmethod
+ def __init__():
+ """Initializes Class"""
+ pass
+
+ @staticmethod
+ def on_options(req, resp, id_):
+ resp.status = falcon.HTTP_200
+
+ @staticmethod
+ def on_get(req, resp, id_):
+ access_control(req)
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ query = (" SELECT s.id, s.name, s.uuid "
+ " FROM tbl_energy_storage_power_stations e, "
+ " tbl_energy_storage_power_stations_sensors es, tbl_sensors s "
+ " WHERE es.energy_storage_power_station_id = e.id AND s.id = es.sensor_id AND e.id = %s "
+ " ORDER BY s.id ")
+ cursor.execute(query, (id_,))
+ rows = cursor.fetchall()
+
+ result = list()
+ if rows is not None and len(rows) > 0:
+ for row in rows:
+ meta_result = {"id": row[0], "name": row[1], "uuid": row[2]}
+ result.append(meta_result)
+
+ resp.text = json.dumps(result)
+
+ @staticmethod
+ @user_logger
+ def on_post(req, resp, id_):
+ """Handles POST requests"""
+ admin_control(req)
+ try:
+ raw_json = req.stream.read().decode('utf-8')
+ except Exception as ex:
+ raise falcon.HTTPError(status=falcon.HTTP_400,
+ title='API.BAD_REQUEST',
+ description='API.FAILED_TO_READ_REQUEST_STREAM')
+
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+
+ new_values = json.loads(raw_json)
+
+ if 'sensor_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['sensor_id'], int) or \
+ new_values['data']['sensor_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_SENSOR_ID')
+ sensor_id = new_values['data']['sensor_id']
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_sensors "
+ " WHERE id = %s ", (sensor_id,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.SENSOR_NOT_FOUND')
+
+ query = (" SELECT id "
+ " FROM tbl_energy_storage_power_stations_sensors "
+ " WHERE energy_storage_power_station_id = %s AND sensor_id = %s")
+ cursor.execute(query, (id_, sensor_id,))
+ if cursor.fetchone() is not None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.ERROR',
+ description='API.ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_EXISTS')
+
+ add_row = (" INSERT INTO tbl_energy_storage_power_stations_sensors "
+ " (energy_storage_power_station_id, sensor_id) "
+ " VALUES (%s, %s) ")
+ cursor.execute(add_row, (id_, sensor_id,))
+ cnx.commit()
+ cursor.close()
+ cnx.close()
+
+ resp.status = falcon.HTTP_201
+ resp.location = '/energystoragepowerstations/' + str(id_) + '/sensors/' + str(sensor_id)
+
+
+class EnergyStoragePowerStationSensorItem:
+ @staticmethod
+ def __init__():
+ """Initializes Class"""
+ pass
+
+ @staticmethod
+ def on_options(req, resp, id_, sid):
+ resp.status = falcon.HTTP_200
+
+ @staticmethod
+ @user_logger
+ def on_delete(req, resp, id_, sid):
+ admin_control(req)
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+
+ if not sid.isdigit() or int(sid) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_SENSOR_ID')
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_sensors "
+ " WHERE id = %s ", (sid,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.SENSOR_NOT_FOUND')
+
+ cursor.execute(" SELECT id "
+ " FROM tbl_energy_storage_power_stations_sensors "
+ " WHERE energy_storage_power_station_id = %s AND sensor_id = %s ", (id_, sid))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_SENSOR_RELATION_NOT_FOUND')
+
+ cursor.execute(" DELETE FROM tbl_energy_storage_power_stations_sensors "
+ " WHERE energy_storage_power_station_id = %s AND sensor_id = %s ", (id_, sid))
+ cnx.commit()
+
+ cursor.close()
+ cnx.close()
+
+ resp.status = falcon.HTTP_204
+
+
+class EnergyStoragePowerStationBatteryCollection:
+ @staticmethod
+ def __init__():
+ """Initializes Class"""
+ pass
+
+ @staticmethod
+ def on_options(req, resp, id_):
+ resp.status = falcon.HTTP_200
+
+ @staticmethod
+ def on_get(req, resp, id_):
+ access_control(req)
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ # query meter dict
+ query = (" SELECT id, name, uuid "
+ " FROM tbl_meters ")
+ cursor.execute(query)
+ rows_meters = cursor.fetchall()
+
+ meter_dict = dict()
+ if rows_meters is not None and len(rows_meters) > 0:
+ for row in rows_meters:
+ meter_dict[row[0]] = {"id": row[0],
+ "name": row[1],
+ "uuid": row[2]}
+ # query point dict
+ query = (" SELECT id, name "
+ " FROM tbl_points ")
+ cursor.execute(query)
+ rows_points = cursor.fetchall()
+
+ point_dict = dict()
+ if rows_points is not None and len(rows_points) > 0:
+ for row in rows_points:
+ point_dict[row[0]] = {"id": row[0],
+ "name": row[1]}
+
+ query = (" SELECT id, name, uuid, "
+ " battery_state_point_id, soc_point_id, power_point_id, "
+ " charge_meter_id, discharge_meter_id, capacity, nominal_voltage "
+ " FROM tbl_energy_storage_power_stations_batteries "
+ " WHERE energy_storage_power_station_id = %s "
+ " ORDER BY name ")
+ cursor.execute(query, (id_,))
+ rows = cursor.fetchall()
+
+ result = list()
+ if rows is not None and len(rows) > 0:
+ for row in rows:
+ battery_state_point = point_dict.get(row[3])
+ soc_point = point_dict.get(row[4])
+ power_point = point_dict.get(row[5])
+ charge_meter = meter_dict.get(row[6])
+ discharge_meter = meter_dict.get(row[7])
+ meta_result = {"id": row[0],
+ "name": row[1],
+ "uuid": row[2],
+ "battery_state_point": battery_state_point,
+ "soc_point": soc_point,
+ "power_point": power_point,
+ "charge_meter": charge_meter,
+ "discharge_meter": discharge_meter,
+ "capacity": row[8],
+ "nominal_voltage": row[9]}
+ result.append(meta_result)
+
+ resp.text = json.dumps(result)
+
+ @staticmethod
+ @user_logger
+ def on_post(req, resp, id_):
+ """Handles POST requests"""
+ admin_control(req)
+ try:
+ raw_json = req.stream.read().decode('utf-8')
+ except Exception as ex:
+ raise falcon.HTTPError(status=falcon.HTTP_400,
+ title='API.BAD_REQUEST',
+ description='API.FAILED_TO_READ_REQUEST_STREAM')
+
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ new_values = json.loads(raw_json)
+
+ if 'name' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['name'], str) or \
+ len(str.strip(new_values['data']['name'])) == 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME')
+ name = str.strip(new_values['data']['name'])
+
+ if 'battery_state_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['battery_state_point_id'], int) or \
+ new_values['data']['battery_state_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_BATTERY_STATE_POINT_ID')
+ battery_state_point_id = new_values['data']['battery_state_point_id']
+
+ if 'soc_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['soc_point_id'], int) or \
+ new_values['data']['soc_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_SOC_POINT_ID')
+ soc_point_id = new_values['data']['soc_point_id']
+
+ if 'power_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['power_point_id'], int) or \
+ new_values['data']['power_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_POWER_POINT_ID')
+ power_point_id = new_values['data']['power_point_id']
+
+ if 'charge_meter_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_meter_id'], int) or \
+ new_values['data']['charge_meter_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_METER_ID')
+ charge_meter_id = new_values['data']['charge_meter_id']
+
+ if 'discharge_meter_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_meter_id'], int) or \
+ new_values['data']['discharge_meter_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_METER_ID')
+ discharge_meter_id = new_values['data']['discharge_meter_id']
+
+ if 'capacity' not in new_values['data'].keys() or \
+ not (isinstance(new_values['data']['capacity'], float) or
+ isinstance(new_values['data']['capacity'], int)):
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CAPACITY')
+ capacity = float(new_values['data']['capacity'])
+
+ if 'nominal_voltage' not in new_values['data'].keys() or \
+ not (isinstance(new_values['data']['nominal_voltage'], float) or
+ isinstance(new_values['data']['nominal_voltage'], int)):
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_NOMINAL_VOLTAGE')
+ nominal_voltage = float(new_values['data']['nominal_voltage'])
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations_batteries "
+ " WHERE energy_storage_power_station_id = %s AND name = %s ",
+ (id_, name,))
+ if cursor.fetchone() is not None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.ENERGY_STORAGE_POWER_STATION_BATTERY_NAME_IS_ALREADY_IN_USE')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_points "
+ " WHERE id = %s ",
+ (battery_state_point_id,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.BATTERY_STATE_POINT_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_points "
+ " WHERE id = %s ",
+ (soc_point_id,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.SOC_POINT_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_points "
+ " WHERE id = %s ",
+ (power_point_id,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.POWER_POINT_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_meters "
+ " WHERE id = %s ",
+ (charge_meter_id,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.CHARGE_METER_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_meters "
+ " WHERE id = %s ",
+ (discharge_meter_id,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.DISCHARGE_METER_NOT_FOUND')
+
+ add_values = (" INSERT INTO tbl_energy_storage_power_stations_batteries "
+ " (name, uuid, energy_storage_power_station_id, "
+ " battery_state_point_id, soc_point_id, power_point_id, "
+ " charge_meter_id, discharge_meter_id, capacity, nominal_voltage) "
+ " VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) ")
+ cursor.execute(add_values, (name,
+ str(uuid.uuid4()),
+ id_,
+ battery_state_point_id,
+ soc_point_id,
+ power_point_id,
+ charge_meter_id,
+ discharge_meter_id,
+ capacity,
+ nominal_voltage))
+ new_id = cursor.lastrowid
+ cnx.commit()
+ cursor.close()
+ cnx.close()
+
+ resp.status = falcon.HTTP_201
+ resp.location = '/energystoragepowerstations/' + str(id_) + '/batteries/' + str(new_id)
+
+
+class EnergyStoragePowerStationBatteryItem:
+ @staticmethod
+ def __init__():
+ """Initializes Class"""
+ pass
+
+ @staticmethod
+ def on_options(req, resp, id_, bid):
+ resp.status = falcon.HTTP_200
+
+ @staticmethod
+ def on_get(req, resp, id_, bid):
+ access_control(req)
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+ if not bid.isdigit() or int(bid) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_ID')
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ # query energy storage power station dict
+ query = (" SELECT id, name, uuid "
+ " FROM tbl_energy_storage_power_stations ")
+ cursor.execute(query)
+ rows_energystoragepowerstations = cursor.fetchall()
+
+ energy_storage_power_station_dict = dict()
+ if rows_energystoragepowerstations is not None and len(rows_energystoragepowerstations) > 0:
+ for row in rows_energystoragepowerstations:
+ energy_storage_power_station_dict[row[0]] = {"id": row[0],
+ "name": row[1],
+ "uuid": row[2]}
+ # query meter dict
+ query = (" SELECT id, name, uuid "
+ " FROM tbl_meters ")
+ cursor.execute(query)
+ rows_meters = cursor.fetchall()
+
+ meter_dict = dict()
+ if rows_meters is not None and len(rows_meters) > 0:
+ for row in rows_meters:
+ meter_dict[row[0]] = {"id": row[0],
+ "name": row[1],
+ "uuid": row[2]}
+ # query point dict
+ query = (" SELECT id, name "
+ " FROM tbl_points ")
+ cursor.execute(query)
+ rows_points = cursor.fetchall()
+
+ point_dict = dict()
+ if rows_points is not None and len(rows_points) > 0:
+ for row in rows_points:
+ point_dict[row[0]] = {"id": row[0],
+ "name": row[1]}
+
+ query = (" SELECT id, name, uuid, energy_storage_power_station_id, "
+ " battery_state_point_id, soc_point_id, power_point_id, "
+ " charge_meter_id, discharge_meter_id, capacity, nominal_voltage "
+ " FROM tbl_energy_storage_power_stations_batteries "
+ " WHERE id = %s ")
+ cursor.execute(query, (bid,))
+ row = cursor.fetchone()
+ cursor.close()
+ cnx.close()
+
+ if row is None:
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_BATTERY_NOT_FOUND')
+ else:
+ energy_storage_power_station = energy_storage_power_station_dict.get(row[3])
+ battery_state_point = point_dict.get(row[4])
+ soc_point = point_dict.get(row[5])
+ power_point = point_dict.get(row[6])
+ charge_meter = meter_dict.get(row[7])
+ discharge_meter = meter_dict.get(row[8])
+ meta_result = {"id": row[0],
+ "name": row[1],
+ "uuid": row[2],
+ "energy_storage_power_station": energy_storage_power_station,
+ "battery_state_point": battery_state_point,
+ "soc_point": soc_point,
+ "power_point": power_point,
+ "charge_meter": charge_meter,
+ "discharge_meter": discharge_meter,
+ "capacity": row[9],
+ "nominal_voltage": row[10]}
+
+ resp.text = json.dumps(meta_result)
+
+ @staticmethod
+ @user_logger
+ def on_delete(req, resp, id_, bid):
+ admin_control(req)
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+ if not bid.isdigit() or int(bid) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_ID')
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations_batteries "
+ " WHERE id = %s ", (bid,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_BATTERY_NOT_FOUND')
+
+ cursor.execute(" DELETE FROM tbl_energy_storage_power_stations_batteries "
+ " WHERE id = %s ", (bid,))
+ cnx.commit()
+
+ cursor.close()
+ cnx.close()
+
+ resp.status = falcon.HTTP_204
+
+ @staticmethod
+ @user_logger
+ def on_put(req, resp, id_, bid):
+ """Handles PUT requests"""
+ admin_control(req)
+ try:
+ raw_json = req.stream.read().decode('utf-8')
+ except Exception as ex:
+ raise falcon.HTTPError(status=falcon.HTTP_400,
+ title='API.BAD_REQUEST',
+ description='API.FAILED_TO_READ_REQUEST_STREAM')
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+ if not bid.isdigit() or int(bid) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_ID')
+
+ new_values = json.loads(raw_json)
+
+ if 'name' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['name'], str) or \
+ len(str.strip(new_values['data']['name'])) == 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_BATTERY_NAME')
+ name = str.strip(new_values['data']['name'])
+
+ if 'battery_state_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['battery_state_point_id'], int) or \
+ new_values['data']['battery_state_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_BATTERY_STATE_POINT_ID')
+ battery_state_point_id = new_values['data']['battery_state_point_id']
+
+ if 'soc_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['soc_point_id'], int) or \
+ new_values['data']['soc_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_SOC_POINT_ID')
+ soc_point_id = new_values['data']['soc_point_id']
+
+ if 'power_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['power_point_id'], int) or \
+ new_values['data']['power_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_POWER_POINT_ID')
+ power_point_id = new_values['data']['power_point_id']
+
+ if 'charge_meter_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_meter_id'], int) or \
+ new_values['data']['charge_meter_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_METER_ID')
+ charge_meter_id = new_values['data']['charge_meter_id']
+
+ if 'discharge_meter_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_meter_id'], int) or \
+ new_values['data']['discharge_meter_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_METER_ID')
+ discharge_meter_id = new_values['data']['discharge_meter_id']
+
+ if 'capacity' not in new_values['data'].keys() or \
+ not (isinstance(new_values['data']['capacity'], float) or
+ isinstance(new_values['data']['capacity'], int)):
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CAPACITY')
+ capacity = float(new_values['data']['capacity'])
+
+ if 'nominal_voltage' not in new_values['data'].keys() or \
+ not (isinstance(new_values['data']['nominal_voltage'], float) or
+ isinstance(new_values['data']['nominal_voltage'], int)):
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_NOMINAL_VOLTAGE')
+ nominal_voltage = float(new_values['data']['nominal_voltage'])
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ",
+ (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations_batteries "
+ " WHERE id = %s ", (bid,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_BATTERY_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations_batteries "
+ " WHERE energy_storage_power_station_id = %s AND name = %s AND id != %s ",
+ (id_, name, bid))
+ if cursor.fetchone() is not None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.ENERGY_STORAGE_POWER_STATION_BATTERY_NAME_IS_ALREADY_IN_USE')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_points "
+ " WHERE id = %s ",
+ (battery_state_point_id,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.BATTERY_STATE_POINT_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_points "
+ " WHERE id = %s ",
+ (soc_point_id,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.SOC_POINT_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_points "
+ " WHERE id = %s ",
+ (power_point_id,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.POWER_POINT_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_meters "
+ " WHERE id = %s ",
+ (charge_meter_id,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.CHARGE_METER_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_meters "
+ " WHERE id = %s ",
+ (discharge_meter_id,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.DISCHARGE_METER_NOT_FOUND')
+
+ update_row = (" UPDATE tbl_energy_storage_power_stations_batteries "
+ " SET name = %s, energy_storage_power_station_id = %s, "
+ " battery_state_point_id = %s, soc_point_id = %s, power_point_id = %s, "
+ " charge_meter_id = %s, discharge_meter_id = %s, capacity = %s, nominal_voltage = %s "
+ " WHERE id = %s ")
+ cursor.execute(update_row, (name,
+ id_,
+ battery_state_point_id,
+ soc_point_id,
+ power_point_id,
+ charge_meter_id,
+ discharge_meter_id,
+ capacity,
+ nominal_voltage,
+ bid))
+ cnx.commit()
+
+ cursor.close()
+ cnx.close()
+
+ resp.status = falcon.HTTP_200
+
+
+class EnergyStoragePowerStationCommandCollection:
+ @staticmethod
+ def __init__():
+ """Initializes Class"""
+ pass
+
+ @staticmethod
+ def on_options(req, resp, id_):
+ resp.status = falcon.HTTP_200
+
+ @staticmethod
+ def on_get(req, resp, id_):
+ access_control(req)
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ query = (" SELECT c.id, c.name, c.uuid "
+ " FROM tbl_energy_storage_power_stations m, "
+ " tbl_energy_storage_power_stations_commands mc, "
+ " tbl_commands c "
+ " WHERE mc.energy_storage_power_station_id = m.id AND c.id = mc.command_id AND m.id = %s "
+ " ORDER BY c.id ")
+ cursor.execute(query, (id_,))
+ rows = cursor.fetchall()
+
+ result = list()
+ if rows is not None and len(rows) > 0:
+ for row in rows:
+ meta_result = {"id": row[0], "name": row[1], "uuid": row[2]}
+ result.append(meta_result)
+
+ resp.text = json.dumps(result)
+
+
+class EnergyStoragePowerStationGridCollection:
+ @staticmethod
+ def __init__():
+ """Initializes Class"""
+ pass
+
+ @staticmethod
+ def on_options(req, resp, id_):
+ resp.status = falcon.HTTP_200
+
+ @staticmethod
+ def on_get(req, resp, id_):
+ access_control(req)
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ # query meter dict
+ query = (" SELECT id, name, uuid "
+ " FROM tbl_meters ")
+ cursor.execute(query)
+ rows_meters = cursor.fetchall()
+
+ meter_dict = dict()
+ if rows_meters is not None and len(rows_meters) > 0:
+ for row in rows_meters:
+ meter_dict[row[0]] = {"id": row[0],
+ "name": row[1],
+ "uuid": row[2]}
+ # query point dict
+ query = (" SELECT id, name "
+ " FROM tbl_points ")
+ cursor.execute(query)
+ rows_points = cursor.fetchall()
+
+ point_dict = dict()
+ if rows_points is not None and len(rows_points) > 0:
+ for row in rows_points:
+ point_dict[row[0]] = {"id": row[0],
+ "name": row[1]}
+
+ query = (" SELECT id, name, uuid, "
+ " power_point_id, buy_meter_id, sell_meter_id, capacity "
+ " FROM tbl_energy_storage_power_stations_grids "
+ " WHERE energy_storage_power_station_id = %s "
+ " ORDER BY name ")
+ cursor.execute(query, (id_,))
+ rows = cursor.fetchall()
+
+ result = list()
+ if rows is not None and len(rows) > 0:
+ for row in rows:
+ power_point = point_dict.get(row[3])
+ buy_meter = meter_dict.get(row[4])
+ sell_meter = meter_dict.get(row[5])
+ meta_result = {"id": row[0],
+ "name": row[1],
+ "uuid": row[2],
+ "power_point": power_point,
+ "buy_meter": buy_meter,
+ "sell_meter": sell_meter,
+ "capacity": row[6]}
+ result.append(meta_result)
+
+ resp.text = json.dumps(result)
+
+ @staticmethod
+ @user_logger
+ def on_post(req, resp, id_):
+ """Handles POST requests"""
+ admin_control(req)
+ try:
+ raw_json = req.stream.read().decode('utf-8')
+ except Exception as ex:
+ raise falcon.HTTPError(status=falcon.HTTP_400,
+ title='API.BAD_REQUEST',
+ description='API.FAILED_TO_READ_REQUEST_STREAM')
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ new_values = json.loads(raw_json)
+
+ if 'name' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['name'], str) or \
+ len(str.strip(new_values['data']['name'])) == 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_GRID_NAME')
+ name = str.strip(new_values['data']['name'])
+
+ if 'power_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['power_point_id'], int) or \
+ new_values['data']['power_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_POWER_POINT_ID')
+ power_point_id = new_values['data']['power_point_id']
+
+ if 'buy_meter_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['buy_meter_id'], int) or \
+ new_values['data']['buy_meter_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_BUY_METER_ID')
+ buy_meter_id = new_values['data']['buy_meter_id']
+
+ if 'sell_meter_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['sell_meter_id'], int) or \
+ new_values['data']['sell_meter_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_SELL_METER_ID')
+ sell_meter_id = new_values['data']['sell_meter_id']
+
+ if 'capacity' not in new_values['data'].keys() or \
+ not (isinstance(new_values['data']['capacity'], float) or
+ isinstance(new_values['data']['capacity'], int)):
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CAPACITY')
+ capacity = float(new_values['data']['capacity'])
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ",
+ (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations_grids "
+ " WHERE energy_storage_power_station_id = %s AND name = %s ",
+ (id_, name,))
+ if cursor.fetchone() is not None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.ENERGY_STORAGE_POWER_STATION_GRID_NAME_IS_ALREADY_IN_USE')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_points "
+ " WHERE id = %s ",
+ (power_point_id,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.POWER_POINT_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_meters "
+ " WHERE id = %s ",
+ (buy_meter_id,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.BUY_METER_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_meters "
+ " WHERE id = %s ",
+ (sell_meter_id,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.SELL_METER_NOT_FOUND')
+
+ add_values = (" INSERT INTO tbl_energy_storage_power_stations_grids "
+ " (name, uuid, energy_storage_power_station_id, power_point_id, buy_meter_id, sell_meter_id, capacity) "
+ " VALUES (%s, %s, %s, %s, %s, %s, %s) ")
+ cursor.execute(add_values, (name,
+ str(uuid.uuid4()),
+ id_,
+ power_point_id,
+ buy_meter_id,
+ sell_meter_id,
+ capacity))
+ new_id = cursor.lastrowid
+ cnx.commit()
+ cursor.close()
+ cnx.close()
+
+ resp.status = falcon.HTTP_201
+ resp.location = '/energystoragepowerstations/' + str(id_) + '/grids/' + str(new_id)
+
+
+class EnergyStoragePowerStationGridItem:
+ @staticmethod
+ def __init__():
+ """Initializes Class"""
+ pass
+
+ @staticmethod
+ def on_options(req, resp, id_, gid):
+ resp.status = falcon.HTTP_200
+
+ @staticmethod
+ def on_get(req, resp, id_, gid):
+ access_control(req)
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+ if not gid.isdigit() or int(gid) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_GRID_ID')
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ # query energy storage power station dict
+ query = (" SELECT id, name, uuid "
+ " FROM tbl_energy_storage_power_stations ")
+ cursor.execute(query)
+ rows_energystoragepowerstations = cursor.fetchall()
+
+ energy_storage_power_station_dict = dict()
+ if rows_energystoragepowerstations is not None and len(rows_energystoragepowerstations) > 0:
+ for row in rows_energystoragepowerstations:
+ energy_storage_power_station_dict[row[0]] = {"id": row[0],
+ "name": row[1],
+ "uuid": row[2]}
+ # query meter dict
+ query = (" SELECT id, name, uuid "
+ " FROM tbl_meters ")
+ cursor.execute(query)
+ rows_meters = cursor.fetchall()
+
+ meter_dict = dict()
+ if rows_meters is not None and len(rows_meters) > 0:
+ for row in rows_meters:
+ meter_dict[row[0]] = {"id": row[0],
+ "name": row[1],
+ "uuid": row[2]}
+ # query point dict
+ query = (" SELECT id, name "
+ " FROM tbl_points ")
+ cursor.execute(query)
+ rows_points = cursor.fetchall()
+
+ point_dict = dict()
+ if rows_points is not None and len(rows_points) > 0:
+ for row in rows_points:
+ point_dict[row[0]] = {"id": row[0],
+ "name": row[1]}
+
+ query = (" SELECT id, name, uuid, energy_storage_power_station_id, power_point_id, buy_meter_id, sell_meter_id, capacity "
+ " FROM tbl_energy_storage_power_stations_grids "
+ " WHERE id = %s ")
+ cursor.execute(query, (gid,))
+ row = cursor.fetchone()
+ cursor.close()
+ cnx.close()
+
+ if row is None:
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_GRID_NOT_FOUND')
+ else:
+ energy_storage_power_station = energy_storage_power_station_dict.get(row[3])
+ power_point = point_dict.get(row[4])
+ buy_meter = meter_dict.get(row[5])
+ sell_meter = meter_dict.get(row[6])
+ meta_result = {"id": row[0],
+ "name": row[1],
+ "uuid": row[2],
+ "energy_storage_power_station": energy_storage_power_station,
+ "power_point": power_point,
+ "buy_meter": buy_meter,
+ "sell_meter": sell_meter,
+ "capacity": row[7]}
+
+ resp.text = json.dumps(meta_result)
+
+ @staticmethod
+ @user_logger
+ def on_delete(req, resp, id_, gid):
+ admin_control(req)
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+ if not gid.isdigit() or int(gid) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_GRID_ID')
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations_grids "
+ " WHERE id = %s ", (gid,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_GRID_NOT_FOUND')
+
+ cursor.execute(" DELETE FROM tbl_energy_storage_power_stations_grids "
+ " WHERE id = %s ", (gid,))
+ cnx.commit()
+
+ cursor.close()
+ cnx.close()
+
+ resp.status = falcon.HTTP_204
+
+ @staticmethod
+ @user_logger
+ def on_put(req, resp, id_, gid):
+ """Handles PUT requests"""
+ admin_control(req)
+ try:
+ raw_json = req.stream.read().decode('utf-8')
+ except Exception as ex:
+ raise falcon.HTTPError(status=falcon.HTTP_400,
+ title='API.BAD_REQUEST',
+ description='API.FAILED_TO_READ_REQUEST_STREAM')
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+
+ if not gid.isdigit() or int(gid) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_GRID_ID')
+
+ new_values = json.loads(raw_json)
+
+ if 'name' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['name'], str) or \
+ len(str.strip(new_values['data']['name'])) == 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_GRID_NAME')
+ name = str.strip(new_values['data']['name'])
+
+ if 'power_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['power_point_id'], int) or \
+ new_values['data']['power_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_POWER_POINT_ID')
+ power_point_id = new_values['data']['power_point_id']
+
+ if 'buy_meter_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['buy_meter_id'], int) or \
+ new_values['data']['buy_meter_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_BUY_METER_ID')
+ buy_meter_id = new_values['data']['buy_meter_id']
+
+ if 'sell_meter_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['sell_meter_id'], int) or \
+ new_values['data']['sell_meter_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_METER_ID')
+ sell_meter_id = new_values['data']['sell_meter_id']
+
+ if 'capacity' not in new_values['data'].keys() or \
+ not (isinstance(new_values['data']['capacity'], float) or
+ isinstance(new_values['data']['capacity'], int)):
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CAPACITY')
+ capacity = float(new_values['data']['capacity'])
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations_grids "
+ " WHERE id = %s ", (gid,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_GRID_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations_grids "
+ " WHERE energy_storage_power_station_id = %s AND name = %s AND id != %s ",
+ (id_, name, gid))
+ if cursor.fetchone() is not None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.ENERGY_STORAGE_POWER_STATION_GRID_NAME_IS_ALREADY_IN_USE')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_points "
+ " WHERE id = %s ",
+ (power_point_id,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.POWER_POINT_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_meters "
+ " WHERE id = %s ",
+ (buy_meter_id,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.BUY_METER_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_meters "
+ " WHERE id = %s ",
+ (sell_meter_id,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.SELL_METER_NOT_FOUND')
+
+ update_row = (" UPDATE tbl_energy_storage_power_stations_grids "
+ " SET name = %s, energy_storage_power_station_id = %s, "
+ " power_point_id = %s, buy_meter_id = %s, sell_meter_id = %s, capacity = %s "
+ " WHERE id = %s ")
+ cursor.execute(update_row, (name,
+ id_,
+ power_point_id,
+ buy_meter_id,
+ sell_meter_id,
+ capacity,
+ gid))
+ cnx.commit()
+
+ cursor.close()
+ cnx.close()
+
+ resp.status = falcon.HTTP_200
+
+
+class EnergyStoragePowerStationLoadCollection:
+ @staticmethod
+ def __init__():
+ """Initializes Class"""
+ pass
+
+ @staticmethod
+ def on_options(req, resp, id_):
+ resp.status = falcon.HTTP_200
+
+ @staticmethod
+ def on_get(req, resp, id_):
+ access_control(req)
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ # query meter dict
+ query = (" SELECT id, name, uuid "
+ " FROM tbl_meters ")
+ cursor.execute(query)
+ rows_meters = cursor.fetchall()
+
+ meter_dict = dict()
+ if rows_meters is not None and len(rows_meters) > 0:
+ for row in rows_meters:
+ meter_dict[row[0]] = {"id": row[0],
+ "name": row[1],
+ "uuid": row[2]}
+ # query point dict
+ query = (" SELECT id, name "
+ " FROM tbl_points ")
+ cursor.execute(query)
+ rows_points = cursor.fetchall()
+
+ point_dict = dict()
+ if rows_points is not None and len(rows_points) > 0:
+ for row in rows_points:
+ point_dict[row[0]] = {"id": row[0],
+ "name": row[1]}
+
+ query = (" SELECT id, name, uuid, "
+ " power_point_id, meter_id, capacity "
+ " FROM tbl_energy_storage_power_stations_loads "
+ " WHERE energy_storage_power_station_id = %s "
+ " ORDER BY name ")
+ cursor.execute(query, (id_,))
+ rows = cursor.fetchall()
+
+ result = list()
+ if rows is not None and len(rows) > 0:
+ for row in rows:
+ power_point = point_dict.get(row[3])
+ meter = meter_dict.get(row[4])
+ meta_result = {"id": row[0],
+ "name": row[1],
+ "uuid": row[2],
+ "power_point": power_point,
+ "meter": meter,
+ "capacity": row[5]}
+ result.append(meta_result)
+
+ resp.text = json.dumps(result)
+
+ @staticmethod
+ @user_logger
+ def on_post(req, resp, id_):
+ """Handles POST requests"""
+ admin_control(req)
+ try:
+ raw_json = req.stream.read().decode('utf-8')
+ except Exception as ex:
+ raise falcon.HTTPError(status=falcon.HTTP_400,
+ title='API.BAD_REQUEST',
+ description='API.FAILED_TO_READ_REQUEST_STREAM')
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ new_values = json.loads(raw_json)
+
+ if 'name' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['name'], str) or \
+ len(str.strip(new_values['data']['name'])) == 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_NAME')
+ name = str.strip(new_values['data']['name'])
+
+ if 'power_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['power_point_id'], int) or \
+ new_values['data']['power_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_POWER_POINT_ID')
+ power_point_id = new_values['data']['power_point_id']
+
+ if 'meter_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['meter_id'], int) or \
+ new_values['data']['meter_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_METER_ID')
+ meter_id = new_values['data']['meter_id']
+
+ if 'capacity' not in new_values['data'].keys() or \
+ not (isinstance(new_values['data']['capacity'], float) or
+ isinstance(new_values['data']['capacity'], int)):
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CAPACITY')
+ capacity = float(new_values['data']['capacity'])
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ",
+ (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations_loads "
+ " WHERE energy_storage_power_station_id = %s AND name = %s ",
+ (id_, name,))
+ if cursor.fetchone() is not None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.ENERGY_STORAGE_POWER_STATION_LOAD_NAME_IS_ALREADY_IN_USE')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_points "
+ " WHERE id = %s ",
+ (power_point_id,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.POWER_POINT_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_meters "
+ " WHERE id = %s ",
+ (meter_id,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.METER_NOT_FOUND')
+
+ add_values = (" INSERT INTO tbl_energy_storage_power_stations_loads "
+ " (name, uuid, energy_storage_power_station_id, power_point_id, meter_id, capacity) "
+ " VALUES (%s, %s, %s, %s, %s, %s) ")
+ cursor.execute(add_values, (name,
+ str(uuid.uuid4()),
+ id_,
+ power_point_id,
+ meter_id,
+ capacity))
+ new_id = cursor.lastrowid
+ cnx.commit()
+ cursor.close()
+ cnx.close()
+
+ resp.status = falcon.HTTP_201
+ resp.location = '/energystoragepowerstations/' + str(id_) + '/loads/' + str(new_id)
+
+
+class EnergyStoragePowerStationLoadItem:
+ @staticmethod
+ def __init__():
+ """Initializes Class"""
+ pass
+
+ @staticmethod
+ def on_options(req, resp, id_, lid):
+ resp.status = falcon.HTTP_200
+
+ @staticmethod
+ def on_get(req, resp, id_, lid):
+ access_control(req)
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+ if not lid.isdigit() or int(lid) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_ID')
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ # query energy storage power station dict
+ query = (" SELECT id, name, uuid "
+ " FROM tbl_energy_storage_power_stations ")
+ cursor.execute(query)
+ rows_energystoragepowerstations = cursor.fetchall()
+
+ energy_storage_power_station_dict = dict()
+ if rows_energystoragepowerstations is not None and len(rows_energystoragepowerstations) > 0:
+ for row in rows_energystoragepowerstations:
+ energy_storage_power_station_dict[row[0]] = {"id": row[0],
+ "name": row[1],
+ "uuid": row[2]}
+ # query meter dict
+ query = (" SELECT id, name, uuid "
+ " FROM tbl_meters ")
+ cursor.execute(query)
+ rows_meters = cursor.fetchall()
+
+ meter_dict = dict()
+ if rows_meters is not None and len(rows_meters) > 0:
+ for row in rows_meters:
+ meter_dict[row[0]] = {"id": row[0],
+ "name": row[1],
+ "uuid": row[2]}
+ # query point dict
+ query = (" SELECT id, name "
+ " FROM tbl_points ")
+ cursor.execute(query)
+ rows_points = cursor.fetchall()
+
+ point_dict = dict()
+ if rows_points is not None and len(rows_points) > 0:
+ for row in rows_points:
+ point_dict[row[0]] = {"id": row[0],
+ "name": row[1]}
+
+ query = (" SELECT id, name, uuid, energy_storage_power_station_id, power_point_id, meter_id, capacity "
+ " FROM tbl_energy_storage_power_stations_loads "
+ " WHERE id = %s ")
+ cursor.execute(query, (lid,))
+ row = cursor.fetchone()
+ cursor.close()
+ cnx.close()
+
+ if row is None:
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_LOAD_NOT_FOUND')
+ else:
+ energy_storage_power_station = energy_storage_power_station_dict.get(row[3])
+ power_point = point_dict.get(row[4])
+ meter = meter_dict.get(row[5])
+ meta_result = {"id": row[0],
+ "name": row[1],
+ "uuid": row[2],
+ "energy_storage_power_station": energy_storage_power_station,
+ "power_point": power_point,
+ "meter": meter,
+ "capacity": row[6]}
+
+ resp.text = json.dumps(meta_result)
+
+ @staticmethod
+ @user_logger
+ def on_delete(req, resp, id_, lid):
+ admin_control(req)
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+ if not lid.isdigit() or int(lid) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_ID')
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations_loads "
+ " WHERE id = %s ", (lid,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_LOAD_NOT_FOUND')
+
+ cursor.execute(" DELETE FROM tbl_energy_storage_power_stations_loads "
+ " WHERE id = %s ", (lid,))
+ cnx.commit()
+
+ cursor.close()
+ cnx.close()
+
+ resp.status = falcon.HTTP_204
+
+ @staticmethod
+ @user_logger
+ def on_put(req, resp, id_, lid):
+ """Handles PUT requests"""
+ admin_control(req)
+ try:
+ raw_json = req.stream.read().decode('utf-8')
+ except Exception as ex:
+ raise falcon.HTTPError(status=falcon.HTTP_400,
+ title='API.BAD_REQUEST',
+ description='API.FAILED_TO_READ_REQUEST_STREAM')
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+ if not lid.isdigit() or int(lid) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_ID')
+
+ new_values = json.loads(raw_json)
+
+ if 'name' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['name'], str) or \
+ len(str.strip(new_values['data']['name'])) == 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_LOAD_NAME')
+ name = str.strip(new_values['data']['name'])
+
+ if 'power_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['power_point_id'], int) or \
+ new_values['data']['power_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_POWER_POINT_ID')
+ power_point_id = new_values['data']['power_point_id']
+
+ if 'meter_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['meter_id'], int) or \
+ new_values['data']['meter_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_METER_ID')
+ meter_id = new_values['data']['meter_id']
+
+ if 'capacity' not in new_values['data'].keys() or \
+ not (isinstance(new_values['data']['capacity'], float) or
+ isinstance(new_values['data']['capacity'], int)):
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CAPACITY')
+ capacity = float(new_values['data']['capacity'])
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations_loads "
+ " WHERE id = %s ", (lid,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_LOAD_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations_loads "
+ " WHERE energy_storage_power_station_id = %s AND name = %s AND id != %s ",
+ (id_, name, lid))
+ if cursor.fetchone() is not None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.ENERGY_STORAGE_POWER_STATION_LOAD_NAME_IS_ALREADY_IN_USE')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_points "
+ " WHERE id = %s ",
+ (power_point_id,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.POWER_POINT_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_meters "
+ " WHERE id = %s ",
+ (meter_id,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.METER_NOT_FOUND')
+
+ update_row = (" UPDATE tbl_energy_storage_power_stations_loads "
+ " SET name = %s, energy_storage_power_station_id = %s, power_point_id = %s, meter_id = %s, capacity = %s "
+ " WHERE id = %s ")
+ cursor.execute(update_row, (name,
+ id_,
+ power_point_id,
+ meter_id,
+ capacity,
+ lid))
+ cnx.commit()
+
+ cursor.close()
+ cnx.close()
+
+ resp.status = falcon.HTTP_200
+
+
+class EnergyStoragePowerStationPowerconversionsystemCollection:
+ @staticmethod
+ def __init__():
+ """Initializes Class"""
+ pass
+
+ @staticmethod
+ def on_options(req, resp, id_):
+ resp.status = falcon.HTTP_200
+
+ @staticmethod
+ def on_get(req, resp, id_):
+ access_control(req)
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ # query point dict
+ query = (" SELECT id, name "
+ " FROM tbl_points ")
+ cursor.execute(query)
+ rows_points = cursor.fetchall()
+
+ point_dict = dict()
+ if rows_points is not None and len(rows_points) > 0:
+ for row in rows_points:
+ point_dict[row[0]] = {"id": row[0],
+ "name": row[1]}
+ # query command dict
+ query = (" SELECT id, name "
+ " FROM tbl_commands ")
+ cursor.execute(query)
+ rows_commands = cursor.fetchall()
+
+ command_dict = dict()
+ if rows_commands is not None and len(rows_commands) > 0:
+ for row in rows_commands:
+ command_dict[row[0]] = {"id": row[0],
+ "name": row[1]}
+
+ query = (" SELECT id, name, uuid, run_state_point_id, capacity, "
+ " charge_start_time1_point_id, charge_end_time1_point_id, "
+ " charge_start_time2_point_id, charge_end_time2_point_id, "
+ " charge_start_time3_point_id, charge_end_time3_point_id, "
+ " charge_start_time4_point_id, charge_end_time4_point_id, "
+ " discharge_start_time1_point_id, discharge_end_time1_point_id, "
+ " discharge_start_time2_point_id, discharge_end_time2_point_id, "
+ " discharge_start_time3_point_id, discharge_end_time3_point_id, "
+ " discharge_start_time4_point_id, discharge_end_time4_point_id, "
+ " charge_start_time1_command_id, charge_end_time1_command_id, "
+ " charge_start_time2_command_id, charge_end_time2_command_id, "
+ " charge_start_time3_command_id, charge_end_time3_command_id, "
+ " charge_start_time4_command_id, charge_end_time4_command_id, "
+ " discharge_start_time1_command_id, discharge_end_time1_command_id, "
+ " discharge_start_time2_command_id, discharge_end_time2_command_id, "
+ " discharge_start_time3_command_id, discharge_end_time3_command_id, "
+ " discharge_start_time4_command_id, discharge_end_time4_command_id "
+ " FROM tbl_energy_storage_power_stations_power_conversion_systems "
+ " WHERE energy_storage_power_station_id = %s "
+ " ORDER BY name ")
+ cursor.execute(query, (id_,))
+ rows = cursor.fetchall()
+
+ result = list()
+ if rows is not None and len(rows) > 0:
+ for row in rows:
+ run_state_point = point_dict.get(row[3])
+ charge_start_time1_point = point_dict.get(row[5])
+ charge_end_time1_point = point_dict.get(row[6])
+ charge_start_time2_point = point_dict.get(row[7])
+ charge_end_time2_point = point_dict.get(row[8])
+ charge_start_time3_point = point_dict.get(row[9])
+ charge_end_time3_point = point_dict.get(row[10])
+ charge_start_time4_point = point_dict.get(row[11])
+ charge_end_time4_point = point_dict.get(row[12])
+ discharge_start_time1_point = point_dict.get(row[13])
+ discharge_end_time1_point = point_dict.get(row[14])
+ discharge_start_time2_point = point_dict.get(row[15])
+ discharge_end_time2_point = point_dict.get(row[16])
+ discharge_start_time3_point = point_dict.get(row[17])
+ discharge_end_time3_point = point_dict.get(row[18])
+ discharge_start_time4_point = point_dict.get(row[19])
+ discharge_end_time4_point = point_dict.get(row[20])
+ charge_start_time1_command = command_dict.get(row[21])
+ charge_end_time1_command = command_dict.get(row[22])
+ charge_start_time2_command = command_dict.get(row[23])
+ charge_end_time2_command = command_dict.get(row[24])
+ charge_start_time3_command = command_dict.get(row[25])
+ charge_end_time3_command = command_dict.get(row[26])
+ charge_start_time4_command = command_dict.get(row[27])
+ charge_end_time4_command = command_dict.get(row[28])
+ discharge_start_time1_command = command_dict.get(row[29])
+ discharge_end_time1_command = command_dict.get(row[30])
+ discharge_start_time2_command = command_dict.get(row[31])
+ discharge_end_time2_command = command_dict.get(row[32])
+ discharge_start_time3_command = command_dict.get(row[33])
+ discharge_end_time3_command = command_dict.get(row[34])
+ discharge_start_time4_command = command_dict.get(row[35])
+ discharge_end_time4_command = command_dict.get(row[36])
+ meta_result = {"id": row[0],
+ "name": row[1],
+ "uuid": row[2],
+ "run_state_point": run_state_point,
+ "capacity": row[4],
+ "charge_start_time1_point": charge_start_time1_point,
+ "charge_end_time1_point": charge_end_time1_point,
+ "charge_start_time2_point": charge_start_time2_point,
+ "charge_end_time2_point": charge_end_time2_point,
+ "charge_start_time3_point": charge_start_time3_point,
+ "charge_end_time3_point": charge_end_time3_point,
+ "charge_start_time4_point": charge_start_time4_point,
+ "charge_end_time4_point": charge_end_time4_point,
+ "discharge_start_time1_point": discharge_start_time1_point,
+ "discharge_end_time1_point": discharge_end_time1_point,
+ "discharge_start_time2_point": discharge_start_time2_point,
+ "discharge_end_time2_point": discharge_end_time2_point,
+ "discharge_start_time3_point": discharge_start_time3_point,
+ "discharge_end_time3_point": discharge_end_time3_point,
+ "discharge_start_time4_point": discharge_start_time4_point,
+ "discharge_end_time4_point": discharge_end_time4_point,
+ "charge_start_time1_command": charge_start_time1_command,
+ "charge_end_time1_command": charge_end_time1_command,
+ "charge_start_time2_command": charge_start_time2_command,
+ "charge_end_time2_command": charge_end_time2_command,
+ "charge_start_time3_command": charge_start_time3_command,
+ "charge_end_time3_command": charge_end_time3_command,
+ "charge_start_time4_command": charge_start_time4_command,
+ "charge_end_time4_command": charge_end_time4_command,
+ "discharge_start_time1_command": discharge_start_time1_command,
+ "discharge_end_time1_command": discharge_end_time1_command,
+ "discharge_start_time2_command": discharge_start_time2_command,
+ "discharge_end_time2_command": discharge_end_time2_command,
+ "discharge_start_time3_command": discharge_start_time3_command,
+ "discharge_end_time3_command": discharge_end_time3_command,
+ "discharge_start_time4_command": discharge_start_time4_command,
+ "discharge_end_time4_command": discharge_end_time4_command}
+ result.append(meta_result)
+
+ resp.text = json.dumps(result)
+
+ @staticmethod
+ @user_logger
+ def on_post(req, resp, id_):
+ """Handles POST requests"""
+ admin_control(req)
+ try:
+ raw_json = req.stream.read().decode('utf-8')
+ except Exception as ex:
+ raise falcon.HTTPError(status=falcon.HTTP_400,
+ title='API.BAD_REQUEST',
+ description='API.FAILED_TO_READ_REQUEST_STREAM')
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ new_values = json.loads(raw_json)
+
+ if 'name' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['name'], str) or \
+ len(str.strip(new_values['data']['name'])) == 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NAME')
+ name = str.strip(new_values['data']['name'])
+
+ if 'run_state_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['run_state_point_id'], int) or \
+ new_values['data']['run_state_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_RUN_STATE_POINT_ID')
+ run_state_point_id = new_values['data']['run_state_point_id']
+
+ if 'capacity' not in new_values['data'].keys() or \
+ not (isinstance(new_values['data']['capacity'], float) or
+ isinstance(new_values['data']['capacity'], int)):
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CAPACITY')
+ capacity = float(new_values['data']['capacity'])
+
+ if 'charge_start_time1_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_start_time1_point_id'], int) or \
+ new_values['data']['charge_start_time1_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_START_TIME1_POINT_ID')
+ charge_start_time1_point_id = new_values['data']['charge_start_time1_point_id']
+
+ if 'charge_end_time1_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_end_time1_point_id'], int) or \
+ new_values['data']['charge_end_time1_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_END_TIME1_POINT_ID')
+ charge_end_time1_point_id = new_values['data']['charge_end_time1_point_id']
+
+ if 'charge_start_time2_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_start_time2_point_id'], int) or \
+ new_values['data']['charge_start_time2_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_START_TIME2_POINT_ID')
+ charge_start_time2_point_id = new_values['data']['charge_start_time2_point_id']
+
+ if 'charge_end_time2_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_end_time2_point_id'], int) or \
+ new_values['data']['charge_end_time2_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_END_TIME2_POINT_ID')
+ charge_end_time2_point_id = new_values['data']['charge_end_time2_point_id']
+
+ if 'charge_start_time3_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_start_time3_point_id'], int) or \
+ new_values['data']['charge_start_time3_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_START_TIME3_POINT_ID')
+ charge_start_time3_point_id = new_values['data']['charge_start_time3_point_id']
+
+ if 'charge_end_time3_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_end_time3_point_id'], int) or \
+ new_values['data']['charge_end_time3_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_END_TIME3_POINT_ID')
+ charge_end_time3_point_id = new_values['data']['charge_end_time3_point_id']
+
+ if 'charge_start_time4_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_start_time4_point_id'], int) or \
+ new_values['data']['charge_start_time4_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_START_TIME4_POINT_ID')
+ charge_start_time4_point_id = new_values['data']['charge_start_time4_point_id']
+
+ if 'charge_end_time4_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_end_time4_point_id'], int) or \
+ new_values['data']['charge_end_time4_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_END_TIME4_POINT_ID')
+ charge_end_time4_point_id = new_values['data']['charge_end_time4_point_id']
+
+ if 'discharge_start_time1_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_start_time1_point_id'], int) or \
+ new_values['data']['discharge_start_time1_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_START_TIME1_POINT_ID')
+ discharge_start_time1_point_id = new_values['data']['discharge_start_time1_point_id']
+
+ if 'discharge_end_time1_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_end_time1_point_id'], int) or \
+ new_values['data']['discharge_end_time1_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_END_TIME1_POINT_ID')
+ discharge_end_time1_point_id = new_values['data']['discharge_end_time1_point_id']
+
+ if 'discharge_start_time2_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_start_time2_point_id'], int) or \
+ new_values['data']['discharge_start_time2_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_START_TIME2_POINT_ID')
+ discharge_start_time2_point_id = new_values['data']['discharge_start_time2_point_id']
+
+ if 'discharge_end_time2_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_end_time2_point_id'], int) or \
+ new_values['data']['discharge_end_time2_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_END_TIME2_POINT_ID')
+ discharge_end_time2_point_id = new_values['data']['discharge_end_time2_point_id']
+
+ if 'discharge_start_time3_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_start_time3_point_id'], int) or \
+ new_values['data']['discharge_start_time3_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_START_TIME3_POINT_ID')
+ discharge_start_time3_point_id = new_values['data']['discharge_start_time3_point_id']
+
+ if 'discharge_end_time3_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_end_time3_point_id'], int) or \
+ new_values['data']['discharge_end_time3_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_END_TIME3_POINT_ID')
+ discharge_end_time3_point_id = new_values['data']['discharge_end_time3_point_id']
+
+ if 'discharge_start_time4_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_start_time4_point_id'], int) or \
+ new_values['data']['discharge_start_time4_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_START_TIME4_POINT_ID')
+ discharge_start_time4_point_id = new_values['data']['discharge_start_time4_point_id']
+
+ if 'discharge_end_time4_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_end_time4_point_id'], int) or \
+ new_values['data']['discharge_end_time4_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_END_TIME4_POINT_ID')
+ discharge_end_time4_point_id = new_values['data']['discharge_end_time4_point_id']
+
+ if 'charge_start_time1_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_start_time1_command_id'], int) or \
+ new_values['data']['charge_start_time1_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_START_TIME1_POINT_ID')
+ charge_start_time1_command_id = new_values['data']['charge_start_time1_command_id']
+
+ if 'charge_end_time1_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_end_time1_command_id'], int) or \
+ new_values['data']['charge_end_time1_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_END_TIME1_POINT_ID')
+ charge_end_time1_command_id = new_values['data']['charge_end_time1_command_id']
+
+ if 'charge_start_time2_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_start_time2_command_id'], int) or \
+ new_values['data']['charge_start_time2_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_START_TIME2_POINT_ID')
+ charge_start_time2_command_id = new_values['data']['charge_start_time2_command_id']
+
+ if 'charge_end_time2_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_end_time2_command_id'], int) or \
+ new_values['data']['charge_end_time2_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_END_TIME2_POINT_ID')
+ charge_end_time2_command_id = new_values['data']['charge_end_time2_command_id']
+
+ if 'charge_start_time3_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_start_time3_command_id'], int) or \
+ new_values['data']['charge_start_time3_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_START_TIME3_POINT_ID')
+ charge_start_time3_command_id = new_values['data']['charge_start_time3_command_id']
+
+ if 'charge_end_time3_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_end_time3_command_id'], int) or \
+ new_values['data']['charge_end_time3_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_END_TIME3_POINT_ID')
+ charge_end_time3_command_id = new_values['data']['charge_end_time3_command_id']
+
+ if 'charge_start_time4_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_start_time4_command_id'], int) or \
+ new_values['data']['charge_start_time4_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_START_TIME4_POINT_ID')
+ charge_start_time4_command_id = new_values['data']['charge_start_time4_command_id']
+
+ if 'charge_end_time4_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_end_time4_command_id'], int) or \
+ new_values['data']['charge_end_time4_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_END_TIME4_POINT_ID')
+ charge_end_time4_command_id = new_values['data']['charge_end_time4_command_id']
+
+ if 'discharge_start_time1_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_start_time1_command_id'], int) or \
+ new_values['data']['discharge_start_time1_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_START_TIME1_POINT_ID')
+ discharge_start_time1_command_id = new_values['data']['discharge_start_time1_command_id']
+
+ if 'discharge_end_time1_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_end_time1_command_id'], int) or \
+ new_values['data']['discharge_end_time1_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_END_TIME1_POINT_ID')
+ discharge_end_time1_command_id = new_values['data']['discharge_end_time1_command_id']
+
+ if 'discharge_start_time2_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_start_time2_command_id'], int) or \
+ new_values['data']['discharge_start_time2_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_START_TIME2_POINT_ID')
+ discharge_start_time2_command_id = new_values['data']['discharge_start_time2_command_id']
+
+ if 'discharge_end_time2_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_end_time2_command_id'], int) or \
+ new_values['data']['discharge_end_time2_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_END_TIME2_POINT_ID')
+ discharge_end_time2_command_id = new_values['data']['discharge_end_time2_command_id']
+
+ if 'discharge_start_time3_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_start_time3_command_id'], int) or \
+ new_values['data']['discharge_start_time3_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_START_TIME3_POINT_ID')
+ discharge_start_time3_command_id = new_values['data']['discharge_start_time3_command_id']
+
+ if 'discharge_end_time3_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_end_time3_command_id'], int) or \
+ new_values['data']['discharge_end_time3_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_END_TIME3_POINT_ID')
+ discharge_end_time3_command_id = new_values['data']['discharge_end_time3_command_id']
+
+ if 'discharge_start_time4_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_start_time4_command_id'], int) or \
+ new_values['data']['discharge_start_time4_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_START_TIME4_POINT_ID')
+ discharge_start_time4_command_id = new_values['data']['discharge_start_time4_command_id']
+
+ if 'discharge_end_time4_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_end_time4_command_id'], int) or \
+ new_values['data']['discharge_end_time4_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_END_TIME4_POINT_ID')
+ discharge_end_time4_command_id = new_values['data']['discharge_end_time4_command_id']
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ",
+ (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations_power_conversion_systems "
+ " WHERE energy_storage_power_station_id = %s AND name = %s ",
+ (id_, name,))
+ if cursor.fetchone() is not None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.ENERGY_STORAGE_POWER_STATION_PCS_NAME_IS_ALREADY_IN_USE')
+
+ add_values = (" INSERT INTO tbl_energy_storage_power_stations_power_conversion_systems "
+ " (name, uuid, energy_storage_power_station_id, run_state_point_id, capacity, "
+ " charge_start_time1_point_id, charge_end_time1_point_id, "
+ " charge_start_time2_point_id, charge_end_time2_point_id, "
+ " charge_start_time3_point_id, charge_end_time3_point_id, "
+ " charge_start_time4_point_id, charge_end_time4_point_id, "
+ " discharge_start_time1_point_id, discharge_end_time1_point_id, "
+ " discharge_start_time2_point_id, discharge_end_time2_point_id, "
+ " discharge_start_time3_point_id, discharge_end_time3_point_id, "
+ " discharge_start_time4_point_id, discharge_end_time4_point_id, "
+ " charge_start_time1_command_id, charge_end_time1_command_id, "
+ " charge_start_time2_command_id, charge_end_time2_command_id, "
+ " charge_start_time3_command_id, charge_end_time3_command_id, "
+ " charge_start_time4_command_id, charge_end_time4_command_id, "
+ " discharge_start_time1_command_id, discharge_end_time1_command_id, "
+ " discharge_start_time2_command_id, discharge_end_time2_command_id, "
+ " discharge_start_time3_command_id, discharge_end_time3_command_id, "
+ " discharge_start_time4_command_id, discharge_end_time4_command_id) "
+ " VALUES (%s, %s, %s, %s, %s, "
+ " %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, "
+ " %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) ")
+ cursor.execute(add_values, (name,
+ str(uuid.uuid4()),
+ id_,
+ run_state_point_id,
+ capacity,
+ charge_start_time1_point_id,
+ charge_end_time1_point_id,
+ charge_start_time2_point_id,
+ charge_end_time2_point_id,
+ charge_start_time3_point_id,
+ charge_end_time3_point_id,
+ charge_start_time4_point_id,
+ charge_end_time4_point_id,
+ discharge_start_time1_point_id,
+ discharge_end_time1_point_id,
+ discharge_start_time2_point_id,
+ discharge_end_time2_point_id,
+ discharge_start_time3_point_id,
+ discharge_end_time3_point_id,
+ discharge_start_time4_point_id,
+ discharge_end_time4_point_id,
+ charge_start_time1_command_id,
+ charge_end_time1_command_id,
+ charge_start_time2_command_id,
+ charge_end_time2_command_id,
+ charge_start_time3_command_id,
+ charge_end_time3_command_id,
+ charge_start_time4_command_id,
+ charge_end_time4_command_id,
+ discharge_start_time1_command_id,
+ discharge_end_time1_command_id,
+ discharge_start_time2_command_id,
+ discharge_end_time2_command_id,
+ discharge_start_time3_command_id,
+ discharge_end_time3_command_id,
+ discharge_start_time4_command_id,
+ discharge_end_time4_command_id
+ ))
+ new_id = cursor.lastrowid
+ cnx.commit()
+ cursor.close()
+ cnx.close()
+
+ resp.status = falcon.HTTP_201
+ resp.location = '/energystoragepowerstationpowerconversionsystems/' + str(new_id)
+
+
+class EnergyStoragePowerStationPowerconversionsystemItem:
+ @staticmethod
+ def __init__():
+ """Initializes Class"""
+ pass
+
+ @staticmethod
+ def on_options(req, resp, id_, pid):
+ resp.status = falcon.HTTP_200
+
+ @staticmethod
+ def on_get(req, resp, id_, pid):
+ access_control(req)
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+ if not pid.isdigit() or int(pid) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_ID')
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ # query energy storage power station dict
+ query = (" SELECT id, name, uuid "
+ " FROM tbl_energy_storage_power_stations ")
+ cursor.execute(query)
+ rows_energystoragepowerstations = cursor.fetchall()
+
+ energy_storage_power_station_dict = dict()
+ if rows_energystoragepowerstations is not None and len(rows_energystoragepowerstations) > 0:
+ for row in rows_energystoragepowerstations:
+ energy_storage_power_station_dict[row[0]] = {"id": row[0],
+ "name": row[1],
+ "uuid": row[2]}
+ # query meter dict
+ query = (" SELECT id, name, uuid "
+ " FROM tbl_meters ")
+ cursor.execute(query)
+ rows_meters = cursor.fetchall()
+
+ meter_dict = dict()
+ if rows_meters is not None and len(rows_meters) > 0:
+ for row in rows_meters:
+ meter_dict[row[0]] = {"id": row[0],
+ "name": row[1],
+ "uuid": row[2]}
+ # query point dict
+ query = (" SELECT id, name "
+ " FROM tbl_points ")
+ cursor.execute(query)
+ rows_points = cursor.fetchall()
+
+ point_dict = dict()
+ if rows_points is not None and len(rows_points) > 0:
+ for row in rows_points:
+ point_dict[row[0]] = {"id": row[0],
+ "name": row[1]}
+
+ # query command dict
+ query = (" SELECT id, name "
+ " FROM tbl_commands ")
+ cursor.execute(query)
+ rows_commands = cursor.fetchall()
+
+ command_dict = dict()
+ if rows_commands is not None and len(rows_commands) > 0:
+ for row in rows_commands:
+ command_dict[row[0]] = {"id": row[0],
+ "name": row[1]}
+
+ query = (" SELECT id, name, uuid, energy_storage_power_station_id, run_state_point_id, capacity, "
+ " charge_start_time1_point_id, charge_end_time1_point_id, "
+ " charge_start_time2_point_id, charge_end_time2_point_id, "
+ " charge_start_time3_point_id, charge_end_time3_point_id, "
+ " charge_start_time4_point_id, charge_end_time4_point_id, "
+ " discharge_start_time1_point_id, discharge_end_time1_point_id, "
+ " discharge_start_time2_point_id, discharge_end_time2_point_id, "
+ " discharge_start_time3_point_id, discharge_end_time3_point_id, "
+ " discharge_start_time4_point_id, discharge_end_time4_point_id, "
+ " charge_start_time1_command_id, charge_end_time1_command_id, "
+ " charge_start_time2_command_id, charge_end_time2_command_id, "
+ " charge_start_time3_command_id, charge_end_time3_command_id, "
+ " charge_start_time4_command_id, charge_end_time4_command_id, "
+ " discharge_start_time1_command_id, discharge_end_time1_command_id, "
+ " discharge_start_time2_command_id, discharge_end_time2_command_id, "
+ " discharge_start_time3_command_id, discharge_end_time3_command_id, "
+ " discharge_start_time4_command_id, discharge_end_time4_command_id "
+ " FROM tbl_energy_storage_power_stations_power_conversion_systems "
+ " WHERE id = %s ")
+ cursor.execute(query, (pid,))
+ row = cursor.fetchone()
+ cursor.close()
+ cnx.close()
+
+ if row is None:
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NOT_FOUND')
+ else:
+ energy_storage_power_station = energy_storage_power_station_dict.get(row[3])
+ run_state_point = point_dict.get(row[4])
+ charge_start_time1_point = point_dict.get(row[6])
+ charge_end_time1_point = point_dict.get(row[7])
+ charge_start_time2_point = point_dict.get(row[8])
+ charge_end_time2_point = point_dict.get(row[9])
+ charge_start_time3_point = point_dict.get(row[10])
+ charge_end_time3_point = point_dict.get(row[11])
+ charge_start_time4_point = point_dict.get(row[12])
+ charge_end_time4_point = point_dict.get(row[13])
+ discharge_start_time1_point = point_dict.get(row[14])
+ discharge_end_time1_point = point_dict.get(row[15])
+ discharge_start_time2_point = point_dict.get(row[16])
+ discharge_end_time2_point = point_dict.get(row[17])
+ discharge_start_time3_point = point_dict.get(row[18])
+ discharge_end_time3_point = point_dict.get(row[19])
+ discharge_start_time4_point = point_dict.get(row[20])
+ discharge_end_time4_point = point_dict.get(row[21])
+ charge_start_time1_command = command_dict.get(row[22])
+ charge_end_time1_command = command_dict.get(row[23])
+ charge_start_time2_command = command_dict.get(row[24])
+ charge_end_time2_command = command_dict.get(row[25])
+ charge_start_time3_command = command_dict.get(row[26])
+ charge_end_time3_command = command_dict.get(row[27])
+ charge_start_time4_command = command_dict.get(row[28])
+ charge_end_time4_command = command_dict.get(row[29])
+ discharge_start_time1_command = command_dict.get(row[30])
+ discharge_end_time1_command = command_dict.get(row[31])
+ discharge_start_time2_command = command_dict.get(row[32])
+ discharge_end_time2_command = command_dict.get(row[33])
+ discharge_start_time3_command = command_dict.get(row[34])
+ discharge_end_time3_command = command_dict.get(row[35])
+ discharge_start_time4_command = command_dict.get(row[36])
+ discharge_end_time4_command = command_dict.get(row[37])
+ meta_result = {"id": row[0],
+ "name": row[1],
+ "uuid": row[2],
+ "energy_storage_power_station": energy_storage_power_station,
+ "run_state_point": run_state_point,
+ "capacity": row[5],
+ "charge_start_time1_point": charge_start_time1_point,
+ "charge_end_time1_point": charge_end_time1_point,
+ "charge_start_time2_point": charge_start_time2_point,
+ "charge_end_time2_point": charge_end_time2_point,
+ "charge_start_time3_point": charge_start_time3_point,
+ "charge_end_time3_point": charge_end_time3_point,
+ "charge_start_time4_point": charge_start_time4_point,
+ "charge_end_time4_point": charge_end_time4_point,
+ "discharge_start_time1_point": discharge_start_time1_point,
+ "discharge_end_time1_point": discharge_end_time1_point,
+ "discharge_start_time2_point": discharge_start_time2_point,
+ "discharge_end_time2_point": discharge_end_time2_point,
+ "discharge_start_time3_point": discharge_start_time3_point,
+ "discharge_end_time3_point": discharge_end_time3_point,
+ "discharge_start_time4_point": discharge_start_time4_point,
+ "discharge_end_time4_point": discharge_end_time4_point,
+ "charge_start_time1_command": charge_start_time1_command,
+ "charge_end_time1_command": charge_end_time1_command,
+ "charge_start_time2_command": charge_start_time2_command,
+ "charge_end_time2_command": charge_end_time2_command,
+ "charge_start_time3_command": charge_start_time3_command,
+ "charge_end_time3_command": charge_end_time3_command,
+ "charge_start_time4_command": charge_start_time4_command,
+ "charge_end_time4_command": charge_end_time4_command,
+ "discharge_start_time1_command": discharge_start_time1_command,
+ "discharge_end_time1_command": discharge_end_time1_command,
+ "discharge_start_time2_command": discharge_start_time2_command,
+ "discharge_end_time2_command": discharge_end_time2_command,
+ "discharge_start_time3_command": discharge_start_time3_command,
+ "discharge_end_time3_command": discharge_end_time3_command,
+ "discharge_start_time4_command": discharge_start_time4_command,
+ "discharge_end_time4_command": discharge_end_time4_command}
+
+ resp.text = json.dumps(meta_result)
+
+ @staticmethod
+ @user_logger
+ def on_delete(req, resp, id_, pid):
+ admin_control(req)
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+ if not pid.isdigit() or int(pid) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_ID')
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations_power_conversion_systems "
+ " WHERE id = %s ", (pid,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NOT_FOUND')
+
+ cursor.execute(" DELETE FROM tbl_energy_storage_power_stations_power_conversion_systems "
+ " WHERE id = %s ", (pid,))
+ cnx.commit()
+
+ cursor.close()
+ cnx.close()
+
+ resp.status = falcon.HTTP_204
+
+ @staticmethod
+ @user_logger
+ def on_put(req, resp, id_, pid):
+ """Handles PUT requests"""
+ admin_control(req)
+ try:
+ raw_json = req.stream.read().decode('utf-8')
+ except Exception as ex:
+ raise falcon.HTTPError(status=falcon.HTTP_400,
+ title='API.BAD_REQUEST',
+ description='API.FAILED_TO_READ_REQUEST_STREAM')
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+ if not pid.isdigit() or int(pid) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_ID')
+
+ new_values = json.loads(raw_json)
+
+ if 'name' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['name'], str) or \
+ len(str.strip(new_values['data']['name'])) == 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NAME')
+ name = str.strip(new_values['data']['name'])
+
+ if 'run_state_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['run_state_point_id'], int) or \
+ new_values['data']['run_state_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_RUN_STATE_POINT_ID')
+ run_state_point_id = new_values['data']['run_state_point_id']
+
+ if 'capacity' not in new_values['data'].keys() or \
+ not (isinstance(new_values['data']['capacity'], float) or
+ isinstance(new_values['data']['capacity'], int)):
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CAPACITY')
+ capacity = float(new_values['data']['capacity'])
+
+ if 'charge_start_time1_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_start_time1_point_id'], int) or \
+ new_values['data']['charge_start_time1_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_START_TIME1_COMMAND_ID')
+ charge_start_time1_point_id = new_values['data']['charge_start_time1_point_id']
+
+ if 'charge_end_time1_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_end_time1_point_id'], int) or \
+ new_values['data']['charge_end_time1_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_END_TIME1_COMMAND_ID')
+ charge_end_time1_point_id = new_values['data']['charge_end_time1_point_id']
+
+ if 'charge_start_time2_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_start_time2_point_id'], int) or \
+ new_values['data']['charge_start_time2_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_START_TIME2_COMMAND_ID')
+ charge_start_time2_point_id = new_values['data']['charge_start_time2_point_id']
+
+ if 'charge_end_time2_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_end_time2_point_id'], int) or \
+ new_values['data']['charge_end_time2_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_END_TIME2_COMMAND_ID')
+ charge_end_time2_point_id = new_values['data']['charge_end_time2_point_id']
+
+ if 'charge_start_time3_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_start_time3_point_id'], int) or \
+ new_values['data']['charge_start_time3_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_START_TIME3_COMMAND_ID')
+ charge_start_time3_point_id = new_values['data']['charge_start_time3_point_id']
+
+ if 'charge_end_time3_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_end_time3_point_id'], int) or \
+ new_values['data']['charge_end_time3_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_END_TIME3_COMMAND_ID')
+ charge_end_time3_point_id = new_values['data']['charge_end_time3_point_id']
+
+ if 'charge_start_time4_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_start_time4_point_id'], int) or \
+ new_values['data']['charge_start_time4_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_START_TIME4_COMMAND_ID')
+ charge_start_time4_point_id = new_values['data']['charge_start_time4_point_id']
+
+ if 'charge_end_time4_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_end_time4_point_id'], int) or \
+ new_values['data']['charge_end_time4_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_END_TIME4_COMMAND_ID')
+ charge_end_time4_point_id = new_values['data']['charge_end_time4_point_id']
+
+ if 'discharge_start_time1_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_start_time1_point_id'], int) or \
+ new_values['data']['discharge_start_time1_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_START_TIME1_COMMAND_ID')
+ discharge_start_time1_point_id = new_values['data']['discharge_start_time1_point_id']
+
+ if 'discharge_end_time1_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_end_time1_point_id'], int) or \
+ new_values['data']['discharge_end_time1_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_END_TIME1_COMMAND_ID')
+ discharge_end_time1_point_id = new_values['data']['discharge_end_time1_point_id']
+
+ if 'discharge_start_time2_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_start_time2_point_id'], int) or \
+ new_values['data']['discharge_start_time2_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_START_TIME2_COMMAND_ID')
+ discharge_start_time2_point_id = new_values['data']['discharge_start_time2_point_id']
+
+ if 'discharge_end_time2_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_end_time2_point_id'], int) or \
+ new_values['data']['discharge_end_time2_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_END_TIME2_COMMAND_ID')
+ discharge_end_time2_point_id = new_values['data']['discharge_end_time2_point_id']
+
+ if 'discharge_start_time3_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_start_time3_point_id'], int) or \
+ new_values['data']['discharge_start_time3_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_START_TIME3_COMMAND_ID')
+ discharge_start_time3_point_id = new_values['data']['discharge_start_time3_point_id']
+
+ if 'discharge_end_time3_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_end_time3_point_id'], int) or \
+ new_values['data']['discharge_end_time3_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_END_TIME3_COMMAND_ID')
+ discharge_end_time3_point_id = new_values['data']['discharge_end_time3_point_id']
+
+ if 'discharge_start_time4_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_start_time4_point_id'], int) or \
+ new_values['data']['discharge_start_time4_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_START_TIME4_COMMAND_ID')
+ discharge_start_time4_point_id = new_values['data']['discharge_start_time4_point_id']
+
+ if 'discharge_end_time4_point_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_end_time4_point_id'], int) or \
+ new_values['data']['discharge_end_time4_point_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_END_TIME4_COMMAND_ID')
+ discharge_end_time4_point_id = new_values['data']['discharge_end_time4_point_id']
+
+ if 'charge_start_time1_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_start_time1_command_id'], int) or \
+ new_values['data']['charge_start_time1_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_START_TIME1_POINT_ID')
+ charge_start_time1_command_id = new_values['data']['charge_start_time1_command_id']
+
+ if 'charge_end_time1_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_end_time1_command_id'], int) or \
+ new_values['data']['charge_end_time1_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_END_TIME1_POINT_ID')
+ charge_end_time1_command_id = new_values['data']['charge_end_time1_command_id']
+
+ if 'charge_start_time2_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_start_time2_command_id'], int) or \
+ new_values['data']['charge_start_time2_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_START_TIME2_POINT_ID')
+ charge_start_time2_command_id = new_values['data']['charge_start_time2_command_id']
+
+ if 'charge_end_time2_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_end_time2_command_id'], int) or \
+ new_values['data']['charge_end_time2_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_END_TIME2_POINT_ID')
+ charge_end_time2_command_id = new_values['data']['charge_end_time2_command_id']
+
+ if 'charge_start_time3_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_start_time3_command_id'], int) or \
+ new_values['data']['charge_start_time3_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_START_TIME3_POINT_ID')
+ charge_start_time3_command_id = new_values['data']['charge_start_time3_command_id']
+
+ if 'charge_end_time3_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_end_time3_command_id'], int) or \
+ new_values['data']['charge_end_time3_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_END_TIME3_POINT_ID')
+ charge_end_time3_command_id = new_values['data']['charge_end_time3_command_id']
+
+ if 'charge_start_time4_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_start_time4_command_id'], int) or \
+ new_values['data']['charge_start_time4_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_START_TIME4_POINT_ID')
+ charge_start_time4_command_id = new_values['data']['charge_start_time4_command_id']
+
+ if 'charge_end_time4_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['charge_end_time4_command_id'], int) or \
+ new_values['data']['charge_end_time4_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_CHARGE_END_TIME4_POINT_ID')
+ charge_end_time4_command_id = new_values['data']['charge_end_time4_command_id']
+
+ if 'discharge_start_time1_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_start_time1_command_id'], int) or \
+ new_values['data']['discharge_start_time1_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_START_TIME1_POINT_ID')
+ discharge_start_time1_command_id = new_values['data']['discharge_start_time1_command_id']
+
+ if 'discharge_end_time1_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_end_time1_command_id'], int) or \
+ new_values['data']['discharge_end_time1_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_END_TIME1_POINT_ID')
+ discharge_end_time1_command_id = new_values['data']['discharge_end_time1_command_id']
+
+ if 'discharge_start_time2_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_start_time2_command_id'], int) or \
+ new_values['data']['discharge_start_time2_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_START_TIME2_POINT_ID')
+ discharge_start_time2_command_id = new_values['data']['discharge_start_time2_command_id']
+
+ if 'discharge_end_time2_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_end_time2_command_id'], int) or \
+ new_values['data']['discharge_end_time2_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_END_TIME2_POINT_ID')
+ discharge_end_time2_command_id = new_values['data']['discharge_end_time2_command_id']
+
+ if 'discharge_start_time3_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_start_time3_command_id'], int) or \
+ new_values['data']['discharge_start_time3_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_START_TIME3_POINT_ID')
+ discharge_start_time3_command_id = new_values['data']['discharge_start_time3_command_id']
+
+ if 'discharge_end_time3_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_end_time3_command_id'], int) or \
+ new_values['data']['discharge_end_time3_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_END_TIME3_POINT_ID')
+ discharge_end_time3_command_id = new_values['data']['discharge_end_time3_command_id']
+
+ if 'discharge_start_time4_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_start_time4_command_id'], int) or \
+ new_values['data']['discharge_start_time4_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_START_TIME4_POINT_ID')
+ discharge_start_time4_command_id = new_values['data']['discharge_start_time4_command_id']
+
+ if 'discharge_end_time4_command_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['discharge_end_time4_command_id'], int) or \
+ new_values['data']['discharge_end_time4_command_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_DISCHARGE_END_TIME4_POINT_ID')
+ discharge_end_time4_command_id = new_values['data']['discharge_end_time4_command_id']
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations_power_conversion_systems "
+ " WHERE id = %s ", (pid,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_POWER_CONVERSION_SYSTEM_NOT_FOUND')
+
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations_power_conversion_systems "
+ " WHERE energy_storage_power_station_id = %s AND name = %s AND id != %s ",
+ (id_, name, pid))
+ if cursor.fetchone() is not None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.ENERGY_STORAGE_POWER_STATION_PCS_NAME_IS_ALREADY_IN_USE')
+
+ update_row = (" UPDATE tbl_energy_storage_power_stations_power_conversion_systems "
+ " SET name = %s, energy_storage_power_station_id = %s, run_state_point_id = %s, capacity = %s, "
+ " charge_start_time1_point_id = %s, charge_end_time1_point_id = %s, "
+ " charge_start_time2_point_id = %s, charge_end_time2_point_id = %s, "
+ " charge_start_time3_point_id = %s, charge_end_time3_point_id = %s, "
+ " charge_start_time4_point_id = %s, charge_end_time4_point_id = %s, "
+ " discharge_start_time1_point_id = %s, discharge_end_time1_point_id = %s, "
+ " discharge_start_time2_point_id = %s, discharge_end_time2_point_id = %s, "
+ " discharge_start_time3_point_id = %s, discharge_end_time3_point_id = %s, "
+ " discharge_start_time4_point_id = %s, discharge_end_time4_point_id = %s, "
+ " charge_start_time1_command_id = %s, charge_end_time1_command_id = %s, "
+ " charge_start_time2_command_id = %s, charge_end_time2_command_id = %s, "
+ " charge_start_time3_command_id = %s, charge_end_time3_command_id = %s, "
+ " charge_start_time4_command_id = %s, charge_end_time4_command_id = %s, "
+ " discharge_start_time1_command_id = %s, discharge_end_time1_command_id = %s, "
+ " discharge_start_time2_command_id = %s, discharge_end_time2_command_id = %s, "
+ " discharge_start_time3_command_id = %s, discharge_end_time3_command_id = %s, "
+ " discharge_start_time4_command_id = %s, discharge_end_time4_command_id = %s "
+ " WHERE id = %s ")
+ cursor.execute(update_row, (name,
+ id_,
+ run_state_point_id,
+ capacity,
+ charge_start_time1_point_id,
+ charge_end_time1_point_id,
+ charge_start_time2_point_id,
+ charge_end_time2_point_id,
+ charge_start_time3_point_id,
+ charge_end_time3_point_id,
+ charge_start_time4_point_id,
+ charge_end_time4_point_id,
+ discharge_start_time1_point_id,
+ discharge_end_time1_point_id,
+ discharge_start_time2_point_id,
+ discharge_end_time2_point_id,
+ discharge_start_time3_point_id,
+ discharge_end_time3_point_id,
+ discharge_start_time4_point_id,
+ discharge_end_time4_point_id,
+ charge_start_time1_command_id,
+ charge_end_time1_command_id,
+ charge_start_time2_command_id,
+ charge_end_time2_command_id,
+ charge_start_time3_command_id,
+ charge_end_time3_command_id,
+ charge_start_time4_command_id,
+ charge_end_time4_command_id,
+ discharge_start_time1_command_id,
+ discharge_end_time1_command_id,
+ discharge_start_time2_command_id,
+ discharge_end_time2_command_id,
+ discharge_start_time3_command_id,
+ discharge_end_time3_command_id,
+ discharge_start_time4_command_id,
+ discharge_end_time4_command_id,
+ pid))
+ cnx.commit()
+
+ cursor.close()
+ cnx.close()
+
+ resp.status = falcon.HTTP_200
+
+
+class EnergyStoragePowerStationUserCollection:
+ @staticmethod
+ def __init__():
+ """Initializes Class"""
+ pass
+
+ @staticmethod
+ def on_options(req, resp, id_):
+ resp.status = falcon.HTTP_200
+
+ @staticmethod
+ def on_get(req, resp, id_):
+ access_control(req)
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ query = (" SELECT u.id, u.name, u.uuid "
+ " FROM tbl_energy_storage_power_stations m, tbl_energy_storage_power_stations_users mu, "
+ + config.myems_user_db['database'] + ".tbl_users u "
+ " WHERE mu.energy_storage_power_station_id = m.id AND u.id = mu.user_id AND m.id = %s "
+ " ORDER BY u.id ")
+ cursor.execute(query, (id_,))
+ rows = cursor.fetchall()
+ result = list()
+ if rows is not None and len(rows) > 0:
+ for row in rows:
+ meta_result = {"id": row[0], "name": row[1], "uuid": row[2]}
+ result.append(meta_result)
+
+ cursor.close()
+ cnx.close()
+ resp.text = json.dumps(result)
+
+ @staticmethod
+ @user_logger
+ def on_post(req, resp, id_):
+ """Handles POST requests"""
+ admin_control(req)
+ try:
+ raw_json = req.stream.read().decode('utf-8')
+ except Exception as ex:
+ raise falcon.HTTPError(status=falcon.HTTP_400,
+ title='API.BAD_REQUEST',
+ description='API.FAILED_TO_READ_REQUEST_STREAM')
+
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+
+ new_values = json.loads(raw_json)
+ if 'user_id' not in new_values['data'].keys() or \
+ not isinstance(new_values['data']['user_id'], int) or \
+ new_values['data']['user_id'] <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_USER_ID')
+ user_id = new_values['data']['user_id']
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ cnx_user = mysql.connector.connect(**config.myems_user_db)
+ cursor_user = cnx_user.cursor()
+ cursor_user.execute(" SELECT name"
+ " FROM tbl_users "
+ " WHERE id = %s ", (user_id,))
+ if cursor_user.fetchone() is None:
+ cursor_user.close()
+ cnx_user.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.USER_NOT_FOUND')
+ query = (" SELECT id "
+ " FROM tbl_energy_storage_power_stations_users "
+ " WHERE energy_storage_power_station_id = %s AND user_id = %s")
+ cursor.execute(query, (id_, user_id,))
+ if cursor.fetchone() is not None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.ERROR',
+ description='API.ENERGY_STORAGE_POWER_STATION_USER_RELATION_EXISTS')
+ add_row = (" INSERT INTO tbl_energy_storage_power_stations_users (energy_storage_power_station_id, user_id) "
+ " VALUES (%s, %s) ")
+ cursor.execute(add_row, (id_, user_id,))
+ cnx.commit()
+ cursor.close()
+ cnx.close()
+ cursor_user.close()
+ cnx_user.close()
+
+ resp.status = falcon.HTTP_201
+ resp.location = '/energystoragepowerstations/' + str(id_) + '/users/' + str(user_id)
+
+
+class EnergyStoragePowerStationUserItem:
+ @staticmethod
+ def __init__():
+ """Initializes Class"""
+ pass
+
+ @staticmethod
+ def on_options(req, resp, id_, uid):
+ resp.status = falcon.HTTP_200
+
+ @staticmethod
+ @user_logger
+ def on_delete(req, resp, id_, uid):
+ # todo Verify if the user is bound when deleting it
+ admin_control(req)
+ if not id_.isdigit() or int(id_) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_ENERGY_STORAGE_POWER_STATION_ID')
+
+ if not uid.isdigit() or int(uid) <= 0:
+ raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
+ description='API.INVALID_USER_ID')
+
+ cnx = mysql.connector.connect(**config.myems_system_db)
+ cursor = cnx.cursor()
+ cursor.execute(" SELECT name "
+ " FROM tbl_energy_storage_power_stations "
+ " WHERE id = %s ", (id_,))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_NOT_FOUND')
+
+ cnx_user = mysql.connector.connect(**config.myems_user_db)
+ cursor_user = cnx_user.cursor()
+ cursor_user.execute(" SELECT name FROM tbl_users WHERE id = %s ", (uid,))
+ if cursor_user.fetchone() is None:
+ cursor_user.close()
+ cnx_user.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.USER_NOT_FOUND')
+
+ cursor.execute(" SELECT id "
+ " FROM tbl_energy_storage_power_stations_users "
+ " WHERE energy_storage_power_station_id = %s AND user_id = %s ", (id_, uid))
+ if cursor.fetchone() is None:
+ cursor.close()
+ cnx.close()
+ raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
+ description='API.ENERGY_STORAGE_POWER_STATION_USER_RELATION_NOT_FOUND')
+
+ cursor.execute(" DELETE FROM tbl_energy_storage_power_stations_users "
+ " WHERE energy_storage_power_station_id = %s AND user_id = %s ", (id_, uid))
+ cnx.commit()
+
+ cursor.close()
+ cnx.close()
+ cursor_user.close()
+ cnx_user.close()
+
+ resp.status = falcon.HTTP_204