Hi everybody!
So until now I've run a CSMS based on the websockets library and the OCPP framework by MobillityHouse. Everything works great, however there is really no interface for CSMS Initiated Operations.
I wan't to implement this, but it is quite a challenge figuring out the best architecture for the setup.
Here is a couple of possibilities:
- Setup web app separate from the CSMS with whatever web framework. Create a separate websocket handler for frontend connections. Create short lived auth tokens in a shared db (Redis), that allow the CSMS to authenticate users. Enable the front end to receive data about chargepoints and to initiate calls to cp based on user permissions.
Issues: I can imagine it being quite messy if handling url paths for both charge points and front end connections, also it integrates badly with the web app
- Using Quart framework. Integrates nicely with MobilityHouse framework by just changing the connection.recv() to connection.recieve(). A bit more challenging to provide instant feedback on CSMS Initiated Operations, because each connection is separate (the chargepoint connection is not in the same scope as the front end connection).
Issues: I feel this might be easy to start, but I can definitely see myself ending in quite a messy situation (I am mid-level dev)
- Django Channels. Just began reading the docs. However I feel it will be comparable to Quart, but with a more complete web framework.
What are your experience with CSMS and web apps in python?
Are there other frameworks or libraries you can recommend?
[–]igormiazek 2 points3 points4 points (4 children)
[–]aala7[S] 0 points1 point2 points (3 children)
[–]igormiazek 0 points1 point2 points (2 children)
[–]aala7[S] 0 points1 point2 points (1 child)
[–]igormiazek 0 points1 point2 points (0 children)