From f3f8d2eadb83004f2c8fda8b0a4141b57f643fb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reinhard=20X=2E=20F=C3=BCrst?= Date: Tue, 17 Feb 2026 20:54:42 +0000 Subject: [PATCH] V 1.0.2: Dockerize dazu Fehlende Daten ignorieren --- .dockerignore | 10 ++++++++++ Dockerfile | 20 ++++++++++++++++++++ docker-compose.yml | 8 ++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- server.js | 5 +++++ 6 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..f441e28 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,10 @@ +node_modules +npm-debug.log +.git +.gitignore +README.md +.dockerignore +Dockerfile +docker-compose.yml +.env +.vscode diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..fe25ed5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +# Node.js Basis-Image verwenden +FROM node:20-alpine + +# Arbeitsverzeichnis im Container setzen +WORKDIR /usr/src/app + +# Package.json und package-lock.json kopieren +COPY package*.json ./ + +# Abhängigkeiten installieren +RUN npm ci --only=production + +# Anwendungscode kopieren +COPY . . + +# Port exponieren +EXPOSE 3000 + +# Anwendung starten +CMD ["node", "server.js"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..c108704 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,8 @@ +services: + app: + build: . + container_name: stromverbrauch-app + network_mode: host + environment: + - NODE_ENV=production + restart: unless-stopped diff --git a/package-lock.json b/package-lock.json index ea1cb3b..eb84d4c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "stromverbrauch", - "version": "1.0.0", + "version": "1.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "stromverbrauch", - "version": "1.0.0", + "version": "1.0.1", "license": "ISC", "dependencies": { "express": "^4.18.2", diff --git a/package.json b/package.json index 9d11311..e2f2636 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "stromverbrauch", - "version": "1.0.1", - "versiondate": "2026-01-30 19:30 UTC", + "version": "1.0.2", + "versiondate": "2026-02-17 20:30 UTC", "description": "Stromverbrauch Monitor mit MongoDB", "main": "server.js", "scripts": { diff --git a/server.js b/server.js index 5e72393..a49da26 100644 --- a/server.js +++ b/server.js @@ -141,6 +141,11 @@ async function fetchCollectionData(collectionName, start, end) { faktor = config.verbraucherFaktoren[verbraucher]; } + // Prüfen ob Daten vorhanden sind + if (!ersterWert[0] || !letzterWert[0]) { + return null; // Keine Daten für diesen Verbraucher im Zeitraum + } + const anfangsWert = (ersterWert[0][config.arbeitsFeld] || 0) * faktor; const endWert = (letzterWert[0][config.arbeitsFeld] || 0) * faktor; const verbrauch = endWert - anfangsWert;