Hello! This is a follow up now that we are able to build the backend JAR from here:
I have configured the Odoo module to connect to a Postgres instance and I believe it’s connecting properly. However, I don’t see in the code where database migrations are being run to create the tables it uses. My logs are showing the following:
[Metadata.Odoo] Unable to mark Edges offline. PSQLException: ERROR: relation "openems_device" does not exist
Position: 8
org.postgresql.util.PSQLException: ERROR: relation "openems_device" does not exist
Position: 8
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2712)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2400)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:367)
at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:498)
at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:415)
at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:190)
at org.postgresql.jdbc.PgPreparedStatement.execute(PgPreparedStatement.java:177)
at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44)
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java)
at io.openems.backend.metadata.odoo.postgres.InitializeEdgesWorker.markAllEdgesAsOffline(InitializeEdgesWorker.java:64)
at io.openems.backend.metadata.odoo.postgres.InitializeEdgesWorker.lambda$start$0(InitializeEdgesWorker.java:43)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
I’m unsure how to proceed as I don’t see anything that stands out in the Getting Started guide about this.
what you are looking for is the postgresDB - for this you need the Odoo OpenEMS Implementation which is currently under construction to work properly with openems on GitHub
Remember to publish your Code as in the Licenses of the Repository
Sorry I should have asked… we are happy to contribute. Is there a way for us to discuss the requirements. It sounds like some design work has been completed. I would just want to make sure we are building what everyone needs and could use.
OpenEMS does not directly manage the database schema in Postgres. This is done by Odoos Object Relational Mapping (ORM). Once you install the Odoo OpenEMS module, it should automatically create the database table openems_device.
You can see the expected result also in our Gitpod Live-Demo: Dashboard
The part that is currently missing in the public repository is an extension to the OpenEMS Odoo module that handles the App-Center, e.g. creating a shipping note, invoice etc. for OpenEMS Apps or validating keys via Odoo. We plan to share this module as well, but need some time cleaning it up.
Everything outside of App-Center should work with whats available as open source.