sap / e-mobility-charging-stations-simulator Goto Github PK
View Code? Open in Web Editor NEWOCPP-J charging stations simulator
License: Apache License 2.0
OCPP-J charging stations simulator
License: Apache License 2.0
In automated e2e tests and regression tests context,
we would make great use of following features:
With WS/http remote commands:
No response
"log": {
"enabled": true/false,
"file": "",
"errorFile": "",
"level": "",
"console": true/false,
"format": "simple",
"rotate": true/false,
"maxFiles": 2,
"maxSize": "512m"
}
No response
Currently the MeterValues code generate randomly values for all measurand without any coherence.
Make the code also allow coherent MeterValues values generation.
No response
No response
After Importing the http ui-protocol to insomnia i can't seem to send request. Request doesn't go through just timeout. I have tried searching for cause or solution but to no avail. Is there any requirement before i can start sending request with insomnia or what else can i do
latest
18
No response
No response
No response
No response
Distribution type:
No response
Depends on the encapsulation of the logging code into an abstraction such as a class or function.
The abstraction shall permit to change the logging underlying system and configuration at runtime.
Targeted protocols:
No response
No response
No response
The goal is to permit to make a UI (CLI or web or heavy) to pilot the simulator remotely.
No response
The promise used to send OCPP message is currently discarding the message when the timeout is reached.
The message should be buffered and/or retried.
No response
When sending a bootNotification to the server, chargePointModel
and meterSerialNumber
fields are being prefixed with undefined, generating an error at the schema validation done by cpo. It seems the empty value for meterSerialNumberPrefix
and chargePointSerialNumberPrefix
is wrongly catched.
Impact: not able to boot a new charging station
To reproduce: Onboard a new charging station --> check CPO logs --> Error will show up as follows because of the schema validation failure:
1.1.92
16.19.0
System:
OS: macOS 13.2
CPU: (8) arm64 Apple M1
Memory: 64.59 MB / 16.00 GB
Shell: 5.8.1 - /bin/zsh
Normal bootNotification process. CS onboarded.
Failure when onboarding a CS
No response
No response
No response
No response
No response
No response
No response
No response
No response
No response
No response
Use ajv JSON schema validator to validate response JSON payload. Use OCA JSON schemas. Make it configurable.
No response
No response
No response
Use ajv JSON schema validator to validate incoming request JSON payload. Use OCA JSON schemas. Make it configurable.
No response
src/ui/web
as a standalone node.js application.express.static
listChargingStations
command through websocketstartTransaction
command through websocketstopTransaction
command through websocketNo response
When the CS is rebooted during downloading, the CS reconnects once to say "installed" and then reconnects a second time and says "installed" again.
In the same firmware update it goes from "1.10.4" to "1.10.6", so 2 versions.
The "installing" and "downloaded" do not appear.
1.1.96
v16.18.0
System:
OS: macOS 13.2.1
CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
Memory: 110.62 MB / 16.00 GB
Shell: 5.8.1 - /bin/zsh
This is the normal behaviour :
OcppUpdateFirmware is sent to the station
StatusNotification received with connector ID'1' status Unavailable
FirmwareStatusNotification received with status Downloading
FirmwareStatusNotification received with status Downloaded
FirmwareStatusNotification received with status Installing
OcppReset is sent to the station
BootNotification received
FirmwareStatusNotification received with status InstallationFailed
OcppUpdateFirmware is sent to the station
StatusNotification received with connector ID'1' status Unavailable
FirmwareStatusNotification received with status Downloading
OcppReset is sent to the station
StatusNotification received with connector ID'1' status Unavailable
BootNotification received
FirmwareStatusNotification received with status Installed 1.10.4
BootNotification received
StatusNotification received with connector ID'1' status Unavailable
StatusNotification received with connector ID'1' status Available
FirmwareStatusNotification received with status Installed 1.10.5
I'll let you show the full test in the wiki on the right at "Reboot during de firmware update":
https://wiki.one.int.sap/wiki/display/EMobility/Simulator
No response
No response
The move must be implemented with backwards compatibility.
No response
Use ajv JSON schema validator to validate response JSON payload. Use OCA JSON schemas. Make it configurable.
No response
A violation against the OSS Rules of Play has been detected.
Rule ID: rl-reuse_tool-4
Explanation: Is it compliant with REUSE rules? No
Find more information at: https://sap.github.io/fosstars-rating-core/oss_rules_of_play_rating.html
In the previous simulator i used that didnt have a ui whenever it connects to my websocket it send me a bootnotification and after i responde i get a status notification but its not the same in the current version. Please why
latest
18
No response
To receive status notification after bootnotification
Did not to receive status notification after bootnotification
No response
No response
No response
No response
No response
No response
No response
No response
Working through the installation instructions, it's not 100% clear which config files I should be copying/editing/using.
I've copied the config-template.json file in /src/assets into a config.json file, with a change in the URL for the OCPP server from localhost to the URL of an actual OCPP server. Should I also be copying or changing other template files? It's not clear.
When I try to npm start after doing that (windows 10), I get the following outputs.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PS D:\hughs\e-mobility-charging-stations-simulator-main> npm start
npm WARN config global --global
, --local
are deprecated. Use --location=global
instead.
[email protected] prestart
npm run build
npm WARN config global --global
, --local
are deprecated. Use --location=global
instead.
[email protected] build
npm run rollup
npm WARN config global --global
, --local
are deprecated. Use --location=global
instead.
[email protected] rollup
rollup --config
'rollup' is not recognized as an internal or external command,
operable program or batch file.
PS D:\hughs\e-mobility-charging-stations-simulator-main>
No response
No response
No response
No response
Make ChargingStationTemplate
and ChargingStationInfo
JsonType
able (see JsonType.ts)
No response
See README.md for the list.
No response
Failed to run command
pnpm start
main branch
v18.12.1
System:
OS: Windows 10 10.0.19043
CPU: (6) x64 Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz
Memory: 3.78 GB / 15.91 GB
start the simulator
start the simulator
λ pnpm start
[email protected] start E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13
pnpm build && cross-env NODE_ENV=production node -r source-map-support/register dist/start.mjs
[email protected] build E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13
pnpm rollup
[email protected] rollup E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13
pnpm build-requirements && rollup --config
[email protected] build-requirements E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13
node --no-warnings build-requirements.mjs
src/start.ts, src/charging-station/ChargingStationWorker.ts → dist...
(!) Circular dependencies
src/charging-station/internal.ts -> src/charging-station/IdTagsCache.ts -> src/charging-station/internal.ts
src/types/internal.ts -> src/types/ocpp/ChargePointErrorCode.ts -> src/types/internal.ts
src/types/internal.ts -> src/types/ocpp/ChargingProfile.ts -> src/types/internal.ts
...and 45 more
(!) Unused external imports
ManyToOne,PrimaryKey,Property,Collection,OneToMany,Configuration,Connection imported from external module "@mikro-orm/core" but never used in "src/performance/storage/MikroOrmStorage.ts", "src/types/orm/entities/PerformanceRecord.ts" and "src/types/orm/entities/PerformanceData.ts".
created dist in 9.1s
5/23/2023, 4:56:40 PM Simulator configuration | configuration file E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json not found: Error: ENOENT: no such file or directory, open 'E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json'
at Object.openSync (node:fs:600:3)
at Object.readFileSync (node:fs:468:35)
at Function.getConfig (file:///E:/Workbench/node/src/utils/Configuration.ts:344:14)
at Function.getLogRotate (file:///E:/Workbench/node/src/utils/Configuration.ts:239:43)
at file:///E:/Workbench/node/src/utils/Logger.ts:11:19
at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
at async Promise.all (index 0)
at ESMLoader.import (node:internal/modules/esm/loader:530:24)
at loadESM (node:internal/process/esm_loader:91:5)
at handleMainPromise (node:internal/modules/run_main:65:12) {
errno: -4058,
syscall: 'open',
code: 'ENOENT',
path: 'E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json'
}
5/23/2023, 4:56:40 PM Simulator configuration | configuration file E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json not found: Error: ENOENT: no such file or directory, watch 'E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json'
at FSWatcher. (node:internal/fs/watchers:244:19)
at Object.watch (node:fs:2315:34)
at Function.getConfigurationFileWatcher (file:///E:/Workbench/node/src/utils/Configuration.ts:364:17)
at Function.getConfig (file:///E:/Workbench/node/src/utils/Configuration.ts:356:64)
at Function.getLogRotate (file:///E:/Workbench/node/src/utils/Configuration.ts:239:43)
at file:///E:/Workbench/node/src/utils/Logger.ts:11:19
at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
at async Promise.all (index 0)
at ESMLoader.import (node:internal/modules/esm/loader:530:24)
at loadESM (node:internal/process/esm_loader:91:5) {
errno: -4058,
syscall: 'watch',
code: 'ENOENT',
path: 'E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json',
filename: 'E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json'
}
5/23/2023, 4:56:40 PM Simulator configuration | configuration file E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json not found: Error: ENOENT: no such file or directory, open 'E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json'
at Object.openSync (node:fs:600:3)
at Object.readFileSync (node:fs:468:35)
at Function.getConfig (file:///E:/Workbench/node/src/utils/Configuration.ts:344:14)
at Function.getLogMaxFiles (file:///E:/Workbench/node/src/utils/Configuration.ts:246:38)
at file:///E:/Workbench/node/src/utils/Logger.ts:12:37
at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
at async Promise.all (index 0)
at ESMLoader.import (node:internal/modules/esm/loader:530:24)
at loadESM (node:internal/process/esm_loader:91:5)
at handleMainPromise (node:internal/modules/run_main:65:12) {
errno: -4058,
syscall: 'open',
code: 'ENOENT',
path: 'E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json'
}
5/23/2023, 4:56:40 PM Simulator configuration | configuration file E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json not found: Error: ENOENT: no such file or directory, watch 'E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json'
at FSWatcher. (node:internal/fs/watchers:244:19)
at Object.watch (node:fs:2315:34)
at Function.getConfigurationFileWatcher (file:///E:/Workbench/node/src/utils/Configuration.ts:364:17)
at Function.getConfig (file:///E:/Workbench/node/src/utils/Configuration.ts:356:64)
at Function.getLogMaxFiles (file:///E:/Workbench/node/src/utils/Configuration.ts:246:38)
at file:///E:/Workbench/node/src/utils/Logger.ts:12:37
at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
at async Promise.all (index 0)
at ESMLoader.import (node:internal/modules/esm/loader:530:24)
at loadESM (node:internal/process/esm_loader:91:5) {
errno: -4058,
syscall: 'watch',
code: 'ENOENT',
path: 'E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json',
filename: 'E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json'
}
5/23/2023, 4:56:40 PM Simulator configuration | configuration file E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json not found: Error: ENOENT: no such file or directory, open 'E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json'
at Object.openSync (node:fs:600:3)
at Object.readFileSync (node:fs:468:35)
at Function.getConfig (file:///E:/Workbench/node/src/utils/Configuration.ts:344:14)
at Function.getLogMaxSize (file:///E:/Workbench/node/src/utils/Configuration.ts:253:38)
at file:///E:/Workbench/node/src/utils/Logger.ts:13:36
at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
at async Promise.all (index 0)
at ESMLoader.import (node:internal/modules/esm/loader:530:24)
at loadESM (node:internal/process/esm_loader:91:5)
at handleMainPromise (node:internal/modules/run_main:65:12) {
errno: -4058,
syscall: 'open',
code: 'ENOENT',
path: 'E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json'
}
5/23/2023, 4:56:40 PM Simulator configuration | configuration file E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json not found: Error: ENOENT: no such file or directory, watch 'E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json'
at FSWatcher. (node:internal/fs/watchers:244:19)
at Object.watch (node:fs:2315:34)
at Function.getConfigurationFileWatcher (file:///E:/Workbench/node/src/utils/Configuration.ts:364:17)
at Function.getConfig (file:///E:/Workbench/node/src/utils/Configuration.ts:356:64)
at Function.getLogMaxSize (file:///E:/Workbench/node/src/utils/Configuration.ts:253:38)
at file:///E:/Workbench/node/src/utils/Logger.ts:13:36
at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
at async Promise.all (index 0)
at ESMLoader.import (node:internal/modules/esm/loader:530:24)
at loadESM (node:internal/process/esm_loader:91:5) {
errno: -4058,
syscall: 'watch',
code: 'ENOENT',
path: 'E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json',
filename: 'E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json'
}
5/23/2023, 4:56:40 PM Simulator configuration | configuration file E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json not found: Error: ENOENT: no such file or directory, open 'E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json'
at Object.openSync (node:fs:600:3)
at Object.readFileSync (node:fs:468:35)
at Function.getConfig (file:///E:/Workbench/node/src/utils/Configuration.ts:344:14)
at Function.warnDeprecatedConfigurationKey (file:///E:/Workbench/node/src/utils/Configuration.ts:330:49)
at Function.getLogErrorFile (file:///E:/Workbench/node/src/utils/Configuration.ts:271:19)
at file:///E:/Workbench/node/src/utils/Logger.ts:17:23
at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
at async Promise.all (index 0)
at ESMLoader.import (node:internal/modules/esm/loader:530:24)
at loadESM (node:internal/process/esm_loader:91:5) {
errno: -4058,
syscall: 'open',
code: 'ENOENT',
path: 'E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json'
}
5/23/2023, 4:56:40 PM Simulator configuration | configuration file E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json not found: Error: ENOENT: no such file or directory, watch 'E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json'
at FSWatcher. (node:internal/fs/watchers:244:19)
at Object.watch (node:fs:2315:34)
at Function.getConfigurationFileWatcher (file:///E:/Workbench/node/src/utils/Configuration.ts:364:17)
at Function.getConfig (file:///E:/Workbench/node/src/utils/Configuration.ts:356:64)
at Function.warnDeprecatedConfigurationKey (file:///E:/Workbench/node/src/utils/Configuration.ts:330:49)
at Function.getLogErrorFile (file:///E:/Workbench/node/src/utils/Configuration.ts:271:19)
at file:///E:/Workbench/node/src/utils/Logger.ts:17:23
at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
at async Promise.all (index 0)
at ESMLoader.import (node:internal/modules/esm/loader:530:24) {
errno: -4058,
syscall: 'watch',
code: 'ENOENT',
path: 'E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json',
filename: 'E:\Workbench\node\e-mobility-charging-stations-simulator-1.2.13\dist\assets\config.json'
}
TypeError: Cannot read properties of null (reading 'errorFile')
at Function.warnDeprecatedConfigurationKey (file:///E:/Workbench/node/src/utils/Configuration.ts:330:49)
at Function.getLogErrorFile (file:///E:/Workbench/node/src/utils/Configuration.ts:271:19)
at file:///E:/Workbench/node/src/utils/Logger.ts:17:23
at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
at async Promise.all (index 0)
at ESMLoader.import (node:internal/modules/esm/loader:530:24)
at loadESM (node:internal/process/esm_loader:91:5)
at handleMainPromise (node:internal/modules/run_main:65:12)
ELIFECYCLE Command failed with exit code 1.
Allow to take decision at charging station level on:
No response
The PDU needs to support array of hashId.
No response
No response
No response
On start, with pnpm start, I get a lot of output, and in the middle there's this message.
SyntaxError: Named export 'Queue' not found. The requested module 'mnemonist' is a CommonJS module, which may not support all module.exports as named exports.
CommonJS modules can always be imported via the default export, for example using:
import pkg from 'mnemonist';
1.2.14
16
System:
OS: Linux 5.10 Debian GNU/Linux 11 (bullseye) 11 (bullseye)
CPU: (2) x64 AMD EPYC 7B12
Memory: 564.53 MB / 975.63 MB
Container: Yes
Shell: 5.1.4 - /bin/bash
The program to start.
Error observed.
No response
No response
No response
when i run pnpm start i get this error
Error: ENOENT: no such file or directory, open '/e-mobility-charging-stations-simulator-main/performance Records.json'
latest
18
No response
No response
No response
No response
No response
No response
Use internal node.js API instead if open coding a similar feature less performant.
No response
strict mode: missing type "object" for keyword "additionalProperties" at "urn:OCPP:1.6:2019:12:BootNotificationResponse#/properties/status" (strictTypes)
keep getting error how do i fix
No response
No response
No response
No response
No response
No response
See README.md for the list.
No response
1.1.88
v16.17.1
OS: macOS 12.5
CPU: (8) arm64 Apple M1
Memory: 91.77 MB / 8.00 GB
Shell: 5.8.1 - /bin/zsh
Expected to start the webSocket connection and able to view the list of charging stations after clicking the start simulator.
Actually it shows the error like WebSocket connection to 'ws://localhost:8080/' failed:
No response
No response
The UI socket server should also handle HTTP protocol via express.
The implementation can use the object factory design pattern to create a stable, type safe API to deal with the two application level protocols: WS and HTTP.
The protocol choice shall be a configuration tunable.
No response
No response
1.0.62
v14.17.6
OS: macOS 11.5.2
CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
Memory: 108.63 MB / 16.00 GB
Shell: 5.8 - /bin/zsh
No response
No response
No response
Include it in the charging station configuration file and use at CS startup
No response
Building a charging station instance from a template leverage a list of fields that can be cached given a hash built from the list of invariants the object expose:
No response
No response
Required for the Mobena project: https://www.vedecom.fr/initiative-mobena/ or https://mobena.org/.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.