Error while deploying OpenEms Edge on an Odriod (Ubuntu 20.0.4)

Hi Stefan

So first method didnt worked for me , the webpage never loaded, for the second one I copied the conf folder from c:/openems/config to the folder to the directory where the openems.jar file is located and then run the

this time when I ran Execute systemctl restart openems --no-block; journalctl -lfu openems , it does open like it was in the deployment guide but as you mentioned earlier with sudo systemctl restart openems. journalctl -lfu openems , this dosent run command gives errror on “-u , command not found”.
However even after copying the config folder , I see the same errors like " there are no schedulers configured" , " Uable to start modbus/tcp api on port [502] : cannot start listner " etc …
I am stuck in the same issue :frowning: and also how can I see the GUI like I was seeing on my windows.

Yours sincerely
Bilal

Thanks for posting here. For reference: this discussion started as Github Issue:

I did not have time yet to come back to you yet, sorry. Will try as soon as I can. Till then, please read through the existing posts here in the forum. Any other member of the Community is also welcome to reply if they can.

Hello Stefan,

so I am stuck in the process of configuring the Ui on my rasberry pi. here’s what I did :
I copied the ui folder from the openems / ui from my windows computer and pasted to my raspi direc . from there I ran the ng serve command from the terminal. and after fixing some errors I was able to see the UI page running on the localhost:4200 .
I have three questions to ask:
1- in the building of openems ui outside of IDE as stated in getting started guide , what should I do with those two openems edge and backend build artifacts that are created in the directory ui/target/backend and ‘ui/target/edge’. I copied them to my raspi direc but i dont know how to proceed with them .
2- Is my way of copying the whole ui folder from my windows machine direc onto my raspi correct? Is this how the Openems UI will be run for deployment on to a host machine like raspi in my case ? as I dont see any detailed documention for it. I also want to integrate openems backend which is step 6 in getting started guide but as soon I run the jar files of both edge and backend simulatenously on my raspi terminals and then try to serve the Ui app on another terminal ,my whole system hangs up until I hardreset it. Can I know what mistake am I doing ? Do I need to copy the whole Ui folder or just some of them.
3- Lastly, can you please explain the steps that one should follow for the right Ui conf setting on a rasberry pi. I went through a similar issue in a german version where you mentioned that one should use for eg nginx webserver for deployment. Can you please help me in the steps involved in it . where do I need to paste those settings for the nginx webserver that you have mentioned there as I have very little knowledge in this area.

thank you for reading my issue and your constant support.

yours sincerely,
Bilal

Hi Bilal,

one fundamental question from my side. Why do you want to have Edge and Backend on your Raspi?
As you can see in this picture, you only need the edge and ui running on a local computer.

Greetings
Christian

Hi Christian,

alright thanks for sharing this , its clear now, I thought i need both edge and backend to be running on my rpi. ok now how about the Ui config setting on my rpi ? I have basically copied the whole ui directory to me pi and after installing nodejs and npm etc , I ran ng serve from the terminal in which I was able to see the openems Ui on a local host but is this the correct way which I dont think it is after seeing the picture above. Can you guide me on how to set a webproxy for eg nginx and which files do I need to copy from the ui directory on my windows machine. I think I have just implemented this the wrong way.

Hi Bilal,

you are close to run the ui! No need to run ng on the raspi, this will do nginx/apache.

Save following code to a file in /etc/nginx/sites-available with ending .conf (e.g. openems.conf) and enable the config as described here

You have to check/change the server_name (openems.example.com), the root-path ( /var/www/openems) and the port (8085) with your config. The root path and all files and folder inside must be owner www-data.

server {

listen 80;
listen [::]:80;

server_name openems.example.com;

# Authentication with htpasswd (username and password) if needed
#auth_basic           "Administrator Bereich";
#auth_basic_user_file /etc/nginx/.htpasswd;

# OpenEMS Web-Interface
location / {
	root /var/www/openems;
	index    index.html index.htm;
    error_page    404    /index.html;
}

# Proxy for OpenEMS Websocket
location /websocket {
	proxy_pass		http://127.0.0.1:8085;
	proxy_http_version	1.1;
	proxy_set_header	Upgrade $http_upgrade;
	proxy_set_header	Connection "upgrade";
}
}

Start the edge as described here

After that you should see the UI with your browser and the server_name.

Hope this works for you.
Christian

Hi Christian,

thanks for the detailed steps . just a quick question do I need to copy the file contents of the direc ui/target/edge into the root /var/www/openems path which was from the building Ui guide as mentioned here https://openems.github.io/openems.io/openems/latest/ui/build.html ?
or is it from the folder openems which I got created in my windows machine in C: /openems/www

As in both of these folders I can find the index.html file . as the port 8085 is concerned , is this the one in the apache conf page where under ‘Configure Edge.Websocket’ ? as found in the getting started guide , step 3b

thanks alot
Bilal

Yes, copy the content to the root path. Check the owner of the path, should be www-data:www-data.

The port is set in Apache Felix Console, standard value is 8085
image

Hi Christian,

thanks, it works perfectly also can you tell what is to be done with the ui folder created in the dire ui/target/backend . where does this www-data for backend needs to be in and also to integrate now the ui , edge and backend as mentioned in the guide , how will it all work? as seen from the pic above , the backend is shown along with the Ui in the left blue box of the image. how can one setup such an implementation as I am now running the ui and edge on my raspi but I am unclear on the otherside . for A real time application the backend and edge should both be running and integrated with the ui right ? again thank you for your easy-to-understand steps :slight_smile:

Hello Bilal,
the main thing is:
Do you really need a backend? You can have complete control over one system (household) although with time-series database. What do you want to do with the backend?