Dockerize dazu
Fehlende Daten ignorieren
This commit is contained in:
2026-02-17 20:54:42 +00:00
parent 33273f5877
commit f3f8d2eadb
6 changed files with 47 additions and 4 deletions

10
.dockerignore Normal file
View File

@@ -0,0 +1,10 @@
node_modules
npm-debug.log
.git
.gitignore
README.md
.dockerignore
Dockerfile
docker-compose.yml
.env
.vscode

20
Dockerfile Normal file
View File

@@ -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"]

8
docker-compose.yml Normal file
View File

@@ -0,0 +1,8 @@
services:
app:
build: .
container_name: stromverbrauch-app
network_mode: host
environment:
- NODE_ENV=production
restart: unless-stopped

4
package-lock.json generated
View File

@@ -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",

View File

@@ -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": {

View File

@@ -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;