From 7c6d24cd51d1e5ba805a9bf456e29df99d8754f0 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Thu, 23 Sep 2021 12:22:42 +0200 Subject: [PATCH 1/3] Start development of version 2021.17.0-SNAPSHOT --- doc/modules/ROOT/pages/single_document.adoc | 2 +- io.openems.common/src/io/openems/common/OpenemsConstants.java | 4 ++-- ui/package-lock.json | 2 +- ui/package.json | 2 +- ui/src/app/user/user.component.html | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/modules/ROOT/pages/single_document.adoc b/doc/modules/ROOT/pages/single_document.adoc index f0846576bae..538bcf76a48 100644 --- a/doc/modules/ROOT/pages/single_document.adoc +++ b/doc/modules/ROOT/pages/single_document.adoc @@ -1,7 +1,7 @@ = OpenEMS - Open Energy Management System ifndef::toc[] (c) 2020 OpenEMS Association e.V. -Version 2021.16.0 +Version 2021.17.0-SNAPSHOT :sectnums: :sectnumlevels: 4 :toc: diff --git a/io.openems.common/src/io/openems/common/OpenemsConstants.java b/io.openems.common/src/io/openems/common/OpenemsConstants.java index cfe099b7083..44909035e96 100644 --- a/io.openems.common/src/io/openems/common/OpenemsConstants.java +++ b/io.openems.common/src/io/openems/common/OpenemsConstants.java @@ -20,7 +20,7 @@ public class OpenemsConstants { * * This is usually the number of the sprint within the year */ - public final static short VERSION_MINOR = 16; + public final static short VERSION_MINOR = 17; /** * The patch version of OpenEMS. @@ -32,7 +32,7 @@ public class OpenemsConstants { /** * The additional version string */ - public final static String VERSION_STRING = ""; + public final static String VERSION_STRING = "SNAPSHOT"; /** * The complete version as a SemanticVersion. diff --git a/ui/package-lock.json b/ui/package-lock.json index 2f46a4ddf0a..3c2474b5fc6 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -1,6 +1,6 @@ { "name": "openems-ui", - "version": "2021.16.0", + "version": "2021.17.0-SNAPSHOT", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/ui/package.json b/ui/package.json index 6ee3447545a..f54e30920f3 100644 --- a/ui/package.json +++ b/ui/package.json @@ -1,6 +1,6 @@ { "name": "openems-ui", - "version": "2021.16.0", + "version": "2021.17.0-SNAPSHOT", "license": "AGPL-3.0", "private": true, "dependencies": { diff --git a/ui/src/app/user/user.component.html b/ui/src/app/user/user.component.html index e4d5a601914..298fd2aab66 100644 --- a/ui/src/app/user/user.component.html +++ b/ui/src/app/user/user.component.html @@ -95,8 +95,8 @@ About.openEMS
  • - - About.build: 2021.16.0 (2021-09-23) + + About.build: 2021.17.0-SNAPSHOT
  • From 68e32ccf38039a9f36a571bd90301035f09118b8 Mon Sep 17 00:00:00 2001 From: Maximilian Lang <35968713+mlang97@users.noreply.github.com> Date: Wed, 6 Oct 2021 20:58:53 +0200 Subject: [PATCH 2/3] Add Odoo to Gitpod (#1636) --- .gitpod.Dockerfile | 18 +++++- .gitpod.yml | 17 ++++- .../assets/images/gitpod-docker-build.png | Bin 0 -> 11993 bytes .../assets/images/gitpod-openems-edges.png | Bin 0 -> 14148 bytes .../assets/images/gitpod-openems-login.png | Bin 0 -> 12797 bytes .../assets/images/gitpod-vscode-ports.png | Bin 0 -> 15134 bytes .../assets/images/gitpod-vscode-redirect.png | Bin 0 -> 82782 bytes .../assets/images/gitpod-vscode-services.png | Bin 0 -> 24873 bytes doc/modules/ROOT/nav.adoc | 1 + doc/modules/ROOT/pages/backend/gitpod.adoc | 61 ++++++++++++++++++ .../edge/controller.adoc.d/_include.adoc | 24 +++++-- .../edge/device_service.adoc.d/_include.adoc | 26 ++++++-- doc/modules/ROOT/pages/gettingstarted.adoc | 4 ++ .../openems/backend/metadata/odoo/Field.java | 22 +++---- .../config.d/Metadata/Dummy.config | 2 - .../config.d/Metadata/Odoo.config | 4 ++ ...8628d01-a978-4328-9a8f-b9c7751ed2d2.config | 1 + 17 files changed, 151 insertions(+), 29 deletions(-) create mode 100644 doc/modules/ROOT/assets/images/gitpod-docker-build.png create mode 100644 doc/modules/ROOT/assets/images/gitpod-openems-edges.png create mode 100644 doc/modules/ROOT/assets/images/gitpod-openems-login.png create mode 100644 doc/modules/ROOT/assets/images/gitpod-vscode-ports.png create mode 100644 doc/modules/ROOT/assets/images/gitpod-vscode-redirect.png create mode 100644 doc/modules/ROOT/assets/images/gitpod-vscode-services.png create mode 100644 doc/modules/ROOT/pages/backend/gitpod.adoc delete mode 100644 tools/docker/openems-backend/config.d/Metadata/Dummy.config create mode 100644 tools/docker/openems-backend/config.d/Metadata/Odoo.config diff --git a/.gitpod.Dockerfile b/.gitpod.Dockerfile index e83d1c81679..5de342dfec2 100644 --- a/.gitpod.Dockerfile +++ b/.gitpod.Dockerfile @@ -1,4 +1,4 @@ -FROM gitpod/workspace-full +FROM gitpod/workspace-postgres RUN bash -c ". /home/gitpod/.sdkman/bin/sdkman-init.sh \ && sdk install java 8.0.265-open" @@ -10,3 +10,19 @@ ENV NG_CLI_ANALYTICS=false ENV TRIGGER_REBUILD 3 RUN npm install -g @angular/cli + +# Install odoo +ENV ODOO_VERSION 12.0 +ENV ODOO_RELEASE latest +RUN curl -o odoo.deb -sSL http://nightly.odoo.com/${ODOO_VERSION}/nightly/deb/odoo_${ODOO_VERSION}.${ODOO_RELEASE}_all.deb \ + && sudo apt-get update \ + && sudo apt-get -y install --no-install-recommends ./odoo.deb \ + && sudo rm -rf /var/lib/apt/lists/* odoo.deb + +# Install wkhtmltopdf +ENV WKHTMLTOPDF_VERSION 0.12.6-1 +ENV WKHTMLTOPDF_RELEASE focal_amd64 +RUN curl -o wkhtmltox.deb -sSL https://github.com/wkhtmltopdf/packaging/releases/download/${WKHTMLTOPDF_VERSION}/wkhtmltox_${WKHTMLTOPDF_VERSION}.${WKHTMLTOPDF_RELEASE}.deb \ + && sudo apt-get update \ + && sudo apt-get install -y ./wkhtmltox.deb \ + && sudo rm -rf /var/lib/apt/lists/* wkhtmltox.deb diff --git a/.gitpod.yml b/.gitpod.yml index 04a5a769016..0bed4b38f53 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -18,9 +18,17 @@ tasks: -jar build/openems-edge.jar - init: cd ui && npm install command: ng serve - -c gitpod + -c openems-gitpod --host 0.0.0.0 --disable-host-check + - init: | + mkdir /workspace/odoo && cd /workspace/odoo + git clone --depth=1 -b feature/gitpod https://github.com/OpenEMS/odoo-openems.git openems + git clone --depth=1 -b 12.0 https://github.com/OCA/partner-contact + git clone --depth=1 -b 12.0 https://github.com/OCA/web.git + ln -s ./partner-contact/partner_firstname ./partner_firstname + ln -s ./web/web_m2x_options ./web_m2x_options + command: odoo -d v12 --addons-path=/workspace/odoo -i base,partner_firstname,web_m2x_options,stock,openems ports: # Backend @@ -43,4 +51,9 @@ ports: onOpen: ignore # UI - port: 4200 - onOpen: open-browser \ No newline at end of file + onOpen: open-browser + # Odoo + - port: 8069 + onOpen: open-browser + - port: 5432 + onOpen: ignore \ No newline at end of file diff --git a/doc/modules/ROOT/assets/images/gitpod-docker-build.png b/doc/modules/ROOT/assets/images/gitpod-docker-build.png new file mode 100644 index 0000000000000000000000000000000000000000..ca79acb5a4e1ab2e588db6c6d059a6c1c91dc70f GIT binary patch literal 11993 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 Zb0un2+4*H-ZsPUuuh;sp-ZqAv3q@?2 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 literal 0 HcmV?d00001 diff --git a/doc/modules/ROOT/assets/images/gitpod-vscode-redirect.png b/doc/modules/ROOT/assets/images/gitpod-vscode-redirect.png new file mode 100644 index 0000000000000000000000000000000000000000..a99035da391b24283790a6a7bc1c7b886a0f3b7c GIT binary patch literal 82782 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

  • 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 literal 0 HcmV?d00001 diff --git a/doc/modules/ROOT/nav.adoc b/doc/modules/ROOT/nav.adoc index 4e8e281810a..716182cd748 100644 --- a/doc/modules/ROOT/nav.adoc +++ b/doc/modules/ROOT/nav.adoc @@ -18,6 +18,7 @@ * OpenEMS Backend ** xref:backend/architecture.adoc[Architecture] ** xref:backend/backend-to-backend.adoc[Backend-to-Backend] +** xref:backend/gitpod.adoc[Gitpod Workspace] ** xref:backend/build.adoc[Build OpenEMS Backend] ** xref:backend/deploy.adoc[Deploy OpenEMS Backend] * xref:component-communication/index.adoc[Component Communication] diff --git a/doc/modules/ROOT/pages/backend/gitpod.adoc b/doc/modules/ROOT/pages/backend/gitpod.adoc new file mode 100644 index 00000000000..1592d724fda --- /dev/null +++ b/doc/modules/ROOT/pages/backend/gitpod.adoc @@ -0,0 +1,61 @@ += Gitpod Workspace +:sectnums: +:sectnumlevels: 4 +:toc: +:toclevels: 4 +:experimental: +:keywords: AsciiDoc +:source-highlighter: highlight.js +:icons: font +:imagesdir: ../../assets/images + +link:https://gitpod.io/[Gitpod] is used to startup the complete OpenEMS System using Docker images. The container contains the following services: + +* OpenEMS UI +* OpenEMS Backend +* OpenEMS Edge +* Odoo (with link:https://github.com/OpenEMS/openems[OpenEMS Module]) +* PostgreSQL + +== Start Gitpod Workspace + +. Open in a browser link:https://gitpod.io/#https://github.com/OpenEMS/openems/tree/develop[Gitpod Workspace] to start the Gitpod workspace on develop branch +. Gitpod starts a build based on the local Docker image (see `.gitpod.Dockerfile`) ++ +.Docker Build +image::gitpod-docker-build.png[Docker Build] +. After the build you were redirected to a Visual Studio Code instance in your browser ++ +.Gitpod Redirect +image::gitpod-vscode-redirect.png[Gitpod Redirect] + +== Running Visual Studio Code instance in browser + +. Inside your online editor Gitpod execute everything you defined in the `.gitpod.yml` tasks section ++ +.Services started in Visual Studio Code +image::gitpod-vscode-services.png[Services started in Visual Studio Code] +. You can see all opened ports in Visual Studio Code that started from your services. Here you can open the ports by clicking on it. ++ +.All opened Ports in Visual Studio Code +image::gitpod-vscode-ports.png[All opened Ports in Visual Studio Code] +. After to configured port (`.gitpod.yml`) for the OpenEMS UI is reachable, it will automatically open that in a new tab + +=== Troubleshooting + +After odoo started restart backend and edge (current timing problem) + +== OpenEMS + +. After the OpenEMS UI is opened you can login +.. Username *max@mustermann.de* and password *mustermann* +.. To user will be authenticated against the running Odoo server ++ +.OpenEMS Login via Odoo authentication +image::gitpod-openems-login.png[OpenEMS Login via Odoo authentication] +. List of Edges from Odoo +.. The first Edge (Edge 1) is your local started OpenEMS Edge service +.. It is connected via API-Key ++ +.OpenEMS List of Edges +image::gitpod-openems-edges.png[OpenEMS List of Edges] diff --git a/doc/modules/ROOT/pages/edge/controller.adoc.d/_include.adoc b/doc/modules/ROOT/pages/edge/controller.adoc.d/_include.adoc index 95a64c30750..d734ebbc94d 100644 --- a/doc/modules/ROOT/pages/edge/controller.adoc.d/_include.adoc +++ b/doc/modules/ROOT/pages/edge/controller.adoc.d/_include.adoc @@ -3,6 +3,8 @@ include::io.openems.edge.controller.api.backend.adoc[leveloffset=+1] include::io.openems.edge.controller.api.modbus.adoc[leveloffset=+1] +include::io.openems.edge.controller.api.mqtt.adoc[leveloffset=+1] + include::io.openems.edge.controller.api.rest.adoc[leveloffset=+1] include::io.openems.edge.controller.api.websocket.adoc[leveloffset=+1] @@ -27,20 +29,34 @@ include::io.openems.edge.controller.debug.log.adoc[leveloffset=+1] include::io.openems.edge.controller.ess.acisland.adoc[leveloffset=+1] +include::io.openems.edge.controller.ess.activepowervoltagecharacteristic.adoc[leveloffset=+1] + include::io.openems.edge.controller.ess.delaycharge.adoc[leveloffset=+1] +include::io.openems.edge.controller.ess.delayedselltogrid.adoc[leveloffset=+1] + +include::io.openems.edge.controller.ess.fixactivepower.adoc[leveloffset=+1] + +include::io.openems.edge.controller.ess.gridoptimizedcharge.adoc[leveloffset=+1] + include::io.openems.edge.controller.ess.hybrid.surplusfeedtogrid.adoc[leveloffset=+1] include::io.openems.edge.controller.ess.limittotaldischarge.adoc[leveloffset=+1] +include::io.openems.edge.controller.ess.linearpowerband.adoc[leveloffset=+1] + include::io.openems.edge.controller.ess.mindischargeperiod.adoc[leveloffset=+1] include::io.openems.edge.controller.ess.onefullcycle.adoc[leveloffset=+1] include::io.openems.edge.controller.ess.predictivedelaycharge.adoc[leveloffset=+1] +include::io.openems.edge.controller.ess.reactivepowervoltagecharacteristic.adoc[leveloffset=+1] + include::io.openems.edge.controller.ess.selltogridlimit.adoc[leveloffset=+1] +include::io.openems.edge.controller.ess.standby.adoc[leveloffset=+1] + include::io.openems.edge.controller.evcs.adoc[leveloffset=+1] include::io.openems.edge.controller.evcs.fixactivepower.adoc[leveloffset=+1] @@ -57,6 +73,8 @@ include::io.openems.edge.controller.io.fixdigitaloutput.adoc[leveloffset=+1] include::io.openems.edge.controller.io.heatingelement.adoc[leveloffset=+1] +include::io.openems.edge.controller.io.heatpump.sgready.adoc[leveloffset=+1] + include::io.openems.edge.controller.pvinverter.fixpowerlimit.adoc[leveloffset=+1] include::io.openems.edge.controller.pvinverter.selltogridlimit.adoc[leveloffset=+1] @@ -65,18 +83,12 @@ include::io.openems.edge.controller.symmetric.balancing.adoc[leveloffset=+1] include::io.openems.edge.controller.symmetric.balancingschedule.adoc[leveloffset=+1] -include::io.openems.edge.controller.symmetric.fixactivepower.adoc[leveloffset=+1] - include::io.openems.edge.controller.symmetric.fixreactivepower.adoc[leveloffset=+1] include::io.openems.edge.controller.symmetric.limitactivepower.adoc[leveloffset=+1] -include::io.openems.edge.controller.symmetric.linearpowerband.adoc[leveloffset=+1] - include::io.openems.edge.controller.symmetric.peakshaving.adoc[leveloffset=+1] include::io.openems.edge.controller.symmetric.randompower.adoc[leveloffset=+1] -include::io.openems.edge.controller.symmetric.reactivepowervoltagecharacteristic.adoc[leveloffset=+1] - include::io.openems.edge.controller.symmetric.timeslotpeakshaving.adoc[leveloffset=+1] diff --git a/doc/modules/ROOT/pages/edge/device_service.adoc.d/_include.adoc b/doc/modules/ROOT/pages/edge/device_service.adoc.d/_include.adoc index ac27f5145a8..196e7a6dfeb 100644 --- a/doc/modules/ROOT/pages/edge/device_service.adoc.d/_include.adoc +++ b/doc/modules/ROOT/pages/edge/device_service.adoc.d/_include.adoc @@ -1,14 +1,22 @@ include::io.openems.edge.battery.bydcommercial.adoc[leveloffset=+1] +include::io.openems.edge.battery.fenecon.home.adoc[leveloffset=+1] + include::io.openems.edge.battery.soltaro.adoc[leveloffset=+1] include::io.openems.edge.batteryinverter.kaco.blueplanetgridsave.adoc[leveloffset=+1] +include::io.openems.edge.batteryinverter.refu88k.adoc[leveloffset=+1] + include::io.openems.edge.batteryinverter.sunspec.adoc[leveloffset=+1] +include::io.openems.edge.bosch.bpts5hybrid.adoc[leveloffset=+1] + include::io.openems.edge.core.adoc[leveloffset=+1] +include::io.openems.edge.ess.adstec.storaxe.adoc[leveloffset=+1] + include::io.openems.edge.ess.byd.container.adoc[leveloffset=+1] include::io.openems.edge.ess.cluster.adoc[leveloffset=+1] @@ -17,20 +25,20 @@ include::io.openems.edge.ess.fenecon.commercial40.adoc[leveloffset=+1] include::io.openems.edge.ess.generic.adoc[leveloffset=+1] -include::io.openems.edge.ess.kaco.blueplanet.gridsave50.adoc[leveloffset=+1] - include::io.openems.edge.ess.mr.gridcon.adoc[leveloffset=+1] -include::io.openems.edge.ess.refu.adoc[leveloffset=+1] - -include::io.openems.edge.ess.refu88k.adoc[leveloffset=+1] - include::io.openems.edge.ess.sinexcel.adoc[leveloffset=+1] include::io.openems.edge.ess.sma.adoc[leveloffset=+1] include::io.openems.edge.evcs.cluster.adoc[leveloffset=+1] +include::io.openems.edge.evcs.core.adoc[leveloffset=+1] + +include::io.openems.edge.evcs.goe.chargerhome.adoc[leveloffset=+1] + +include::io.openems.edge.evcs.hardybarth.adoc[leveloffset=+1] + include::io.openems.edge.evcs.keba.kecontact.adoc[leveloffset=+1] include::io.openems.edge.evcs.ocpp.abl.adoc[leveloffset=+1] @@ -47,7 +55,7 @@ include::io.openems.edge.fenecon.mini.adoc[leveloffset=+1] include::io.openems.edge.fenecon.pro.adoc[leveloffset=+1] -include::io.openems.edge.goodwe.et.adoc[leveloffset=+1] +include::io.openems.edge.goodwe.adoc[leveloffset=+1] include::io.openems.edge.io.kmtronic.adoc[leveloffset=+1] @@ -77,6 +85,8 @@ include::io.openems.edge.meter.pqplus.umd97.adoc[leveloffset=+1] include::io.openems.edge.meter.schneider.acti9.smartlink.adoc[leveloffset=+1] +include::io.openems.edge.meter.sma.shm20.adoc[leveloffset=+1] + include::io.openems.edge.meter.socomec.adoc[leveloffset=+1] include::io.openems.edge.meter.sunspec.adoc[leveloffset=+1] @@ -89,6 +99,8 @@ include::io.openems.edge.onewire.thermometer.adoc[leveloffset=+1] include::io.openems.edge.predictor.persistencemodel.adoc[leveloffset=+1] +include::io.openems.edge.predictor.similardaymodel.adoc[leveloffset=+1] + include::io.openems.edge.pvinverter.cluster.adoc[leveloffset=+1] include::io.openems.edge.pvinverter.kaco.blueplanet.adoc[leveloffset=+1] diff --git a/doc/modules/ROOT/pages/gettingstarted.adoc b/doc/modules/ROOT/pages/gettingstarted.adoc index cea8fd20535..c21435ca0b9 100644 --- a/doc/modules/ROOT/pages/gettingstarted.adoc +++ b/doc/modules/ROOT/pages/gettingstarted.adoc @@ -352,6 +352,10 @@ It is again noteworthy here, that: .UI via Backend image::ui-via-backend.png[UI via Backend] +=== Connect OpenEMS Backend with Odoo (Optional) + +How mentioned above in production system you want to use the *Metadata.Odoo* service. For that the OpenEMS GitHub repository provides a Gitpod container. To start the Gitpod workspace open https://gitpod.io/#https://github.com/OpenEMS/openems/tree/master in a browser. For more information see → xref:backend/gitpod.adoc[Gitpod Workspace] + ## Next steps Now that you setup a complete development environment and have a working instance of OpenEMS Edge, OpenEMS Backend an OpenEMS UI, you can continue implementing your first device driver in OpenEMS. We provide a tutorial that explains the steps to implement an electric meter in OpenEMS Edge that is connected via Modbus/TCP. The meter itself is simulated using a small Modbus slave application, so no external hardware is required for this guide. → xref:edge/implement.adoc[Implementing a Device] diff --git a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Field.java b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Field.java index 04581fa4e6e..4531271f58b 100644 --- a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Field.java +++ b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Field.java @@ -44,7 +44,7 @@ public enum EdgeDevice implements Field { OPENEMS_SUM_STATE("openems_sum_state_level", true), // OPENEMS_IS_CONNECTED("openems_is_connected", false); - public static final String ODOO_MODEL = "edge.device"; + public static final String ODOO_MODEL = "openems.edge"; public static final String ODOO_TABLE = ODOO_MODEL.replace(".", "_"); private static final class StaticFields { @@ -86,7 +86,7 @@ public boolean isQuery() { * The EdgeDeviceStatus-Model. */ public enum EdgeDeviceStatus implements Field { - DEVICE_ID("device_id", false), // + DEVICE_ID("edge_id", false), // CHANNEL_ADDRESS("channel_address", false), // LEVEL("level", true), // COMPONENT_ID("component_id", true), // @@ -95,7 +95,7 @@ public enum EdgeDeviceStatus implements Field { LAST_ACKNOWLEDGE("last_acknowledge", false), // ACKNOWLEDGE_DAYS("acknowledge_days", false); - public static final String ODOO_MODEL = "edge.device_status"; + public static final String ODOO_MODEL = "openems.edge_status"; public static final String ODOO_TABLE = ODOO_MODEL.replace(".", "_"); private static final class StaticFields { @@ -138,11 +138,11 @@ public boolean isQuery() { * The EdgeConfigUpdate-Model. */ public enum EdgeConfigUpdate implements Field { - DEVICE_ID("device_id", false), // + DEVICE_ID("edge_id", false), // TEASER("teaser", false), // DETAILS("details", false); - public static final String ODOO_MODEL = "edge.openemsconfigupdate"; + public static final String ODOO_MODEL = "openems.openemsconfigupdate"; public static final String ODOO_TABLE = ODOO_MODEL.replace(".", "_"); private static final class StaticFields { @@ -185,11 +185,11 @@ public boolean isQuery() { * The EdgeDeviceUserRole-Model. */ public enum EdgeDeviceUserRole implements Field { - DEVICE_ID("device_id", false), // + DEVICE_ID("edge_id", false), // USER_ID("user_id", false), // ROLE("role", false); - public static final String ODOO_MODEL = "edge.device_user_role"; + public static final String ODOO_MODEL = "openems.edge_user_role"; public static final String ODOO_TABLE = ODOO_MODEL.replace(".", "_"); private static final class StaticFields { @@ -392,9 +392,9 @@ public enum SetupProtocol implements Field { CUSTOMER("customer_id", true), // DIFFERENT_LOCATION("different_location_id", true), // INSTALLER("installer_id", true), // - EDGE("edge_device_id", true); + EDGE("edge_id", true); - public static final String ODOO_MODEL = "edge.setup_protocol"; + public static final String ODOO_MODEL = "openems.setup_protocol"; public static final String ODOO_TABLE = ODOO_MODEL.replace(".", "_"); private static final class StaticFields { @@ -441,7 +441,7 @@ public enum SetupProtocolProductionLot implements Field { SEQUENCE("sequence", true), // LOT("lot_id", true); - public static final String ODOO_MODEL = "edge.setup_protocol_production_lot"; + public static final String ODOO_MODEL = "openems.setup_protocol_production_lot"; public static final String ODOO_TABLE = ODOO_MODEL.replace(".", "_"); private static final class StaticFields { @@ -487,7 +487,7 @@ public enum SetupProtocolItem implements Field { SETUP_PROTOCOL("setup_protocol_id", true), // SEQUENCE("sequence", true); - public static final String ODOO_MODEL = "edge.setup_protocol_item"; + public static final String ODOO_MODEL = "openems.setup_protocol_item"; public static final String ODOO_TABLE = ODOO_MODEL.replace(".", "_"); private static final class StaticFields { diff --git a/tools/docker/openems-backend/config.d/Metadata/Dummy.config b/tools/docker/openems-backend/config.d/Metadata/Dummy.config deleted file mode 100644 index d4e71ed21c6..00000000000 --- a/tools/docker/openems-backend/config.d/Metadata/Dummy.config +++ /dev/null @@ -1,2 +0,0 @@ -:org.apache.felix.configadmin.revision:=L"1" -service.pid="Metadata.Dummy" diff --git a/tools/docker/openems-backend/config.d/Metadata/Odoo.config b/tools/docker/openems-backend/config.d/Metadata/Odoo.config new file mode 100644 index 00000000000..ba35b7d4caf --- /dev/null +++ b/tools/docker/openems-backend/config.d/Metadata/Odoo.config @@ -0,0 +1,4 @@ +:org.apache.felix.configadmin.revision:=L"1" +database="v12" +pgUser="gitpod" +service.pid="Metadata.Odoo" diff --git a/tools/docker/openems-edge/config.d/Controller/Api/Backend/28628d01-a978-4328-9a8f-b9c7751ed2d2.config b/tools/docker/openems-edge/config.d/Controller/Api/Backend/28628d01-a978-4328-9a8f-b9c7751ed2d2.config index 84d6741c4cd..5631be35c59 100644 --- a/tools/docker/openems-edge/config.d/Controller/Api/Backend/28628d01-a978-4328-9a8f-b9c7751ed2d2.config +++ b/tools/docker/openems-edge/config.d/Controller/Api/Backend/28628d01-a978-4328-9a8f-b9c7751ed2d2.config @@ -1,6 +1,7 @@ :org.apache.felix.configadmin.revision:=L"1" alias="" apiTimeout=I"60" +apikey="WZZyzpPSMM5fE6aQ667Z" debug=B"false" enabled=B"true" id="ctrlBackend0" From 66f7a5ef7dedf813f1ed3e75b45938208bc7ddff Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Fri, 8 Oct 2021 01:33:33 +0200 Subject: [PATCH 3/3] Push version to 2021.17.0 --- doc/modules/ROOT/pages/single_document.adoc | 2 +- io.openems.common/src/io/openems/common/OpenemsConstants.java | 2 +- ui/package-lock.json | 2 +- ui/package.json | 2 +- ui/src/app/user/user.component.html | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/modules/ROOT/pages/single_document.adoc b/doc/modules/ROOT/pages/single_document.adoc index 538bcf76a48..b99151dfc6e 100644 --- a/doc/modules/ROOT/pages/single_document.adoc +++ b/doc/modules/ROOT/pages/single_document.adoc @@ -1,7 +1,7 @@ = OpenEMS - Open Energy Management System ifndef::toc[] (c) 2020 OpenEMS Association e.V. -Version 2021.17.0-SNAPSHOT +Version 2021.17.0 :sectnums: :sectnumlevels: 4 :toc: diff --git a/io.openems.common/src/io/openems/common/OpenemsConstants.java b/io.openems.common/src/io/openems/common/OpenemsConstants.java index 44909035e96..cad52966f24 100644 --- a/io.openems.common/src/io/openems/common/OpenemsConstants.java +++ b/io.openems.common/src/io/openems/common/OpenemsConstants.java @@ -32,7 +32,7 @@ public class OpenemsConstants { /** * The additional version string */ - public final static String VERSION_STRING = "SNAPSHOT"; + public final static String VERSION_STRING = ""; /** * The complete version as a SemanticVersion. diff --git a/ui/package-lock.json b/ui/package-lock.json index 3c2474b5fc6..b933799c760 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -1,6 +1,6 @@ { "name": "openems-ui", - "version": "2021.17.0-SNAPSHOT", + "version": "2021.17.0", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/ui/package.json b/ui/package.json index f54e30920f3..3e319380b76 100644 --- a/ui/package.json +++ b/ui/package.json @@ -1,6 +1,6 @@ { "name": "openems-ui", - "version": "2021.17.0-SNAPSHOT", + "version": "2021.17.0", "license": "AGPL-3.0", "private": true, "dependencies": { diff --git a/ui/src/app/user/user.component.html b/ui/src/app/user/user.component.html index 298fd2aab66..8f6b76b0604 100644 --- a/ui/src/app/user/user.component.html +++ b/ui/src/app/user/user.component.html @@ -95,8 +95,8 @@ About.openEMS
  • - - About.build: 2021.17.0-SNAPSHOT + + About.build: 2021.17.0 (2021-10-08)