xirixiz / dsmr-reader-docker

DSMR Reader in Docker.
https://hub.docker.com/r/xirixiz/dsmr-reader-docker
112 stars 33 forks source link

Docker container in warning status, logs with errors #345

Closed bart1604 closed 4 months ago

bart1604 commented 4 months ago

Support guidelines

I've found an issue and checked that ...

Description

Ik heb al een aantal jaar DSMR reader draaien in een docker container. Ergens in het afgelopen jaar is de container in warning status gegaan. Heb er eigenlijk nooit naar gekeken omdat hij het altijd is blijven doen.

Recent ben ik gemigreerd naar een synology nas, waar nu deze ook draait als docker. Ook hier krijg nu een warning, echter hier is ook makkelijk de logging uit te lezen en deze geeft elke keer de volgende entry:

2024-02-22 22:54:08,783 ERROR apps_on_electricity_consumption_created_signal 94 | publish_day_consumption() failed: No electricity readings found for 2024-02-23

Zoals je ziet aan de timestamp van de warning klaagt hij over dagwaardes van de dag erna? Ik heb gekeken ook in de docker container, de tijd klopt met de huidige tijd. Dus ik snap niet goed waarom hij een error geeft over een dag later.

Expected behaviour

na

Actual behaviour

na

Steps to reproduce

na

Docker info

Client:
 Context:    default
 Debug Mode: false

Server:
 Containers: 12
  Running: 12
  Paused: 0
  Stopped: 0
 Images: 12
 Server Version: 20.10.23
 Storage Driver: btrfs
  Build Version: Btrfs v4.0
  Library Version: 101
 Logging Driver: db
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs db fluentd gcplogs gelf journald json-file local logentries splun                                                                                                                                                             k syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: b23a389d8c181697302d163356e97dec04eb8d88
 runc version: 5af893d
 init version: ed96d00
 Security Options:
  apparmor
 Kernel Version: 4.4.302+
 Operating System: Synology NAS
 (containerized)
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 11.66GiB
 Name: NAS01
 ID: ZSPS:WJ55:DP57:PZQV:TUOC:DOQM:QSEH:3ULQ:46FH:Z2SI:5RZ7:E537
 Docker Root Dir: /volume2/@docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: No kernel memory TCP limit support
WARNING: No cpu cfs quota support
WARNING: No cpu cfs period support
WARNING: No blkio throttle.read_bps_device support
WARNING: No blkio throttle.write_bps_device support
WARNING: No blkio throttle.read_iops_device support

Version

Docker compose

version: '3.3'

services:
  dsmrdb:
    image: postgres:13
    container_name: dsmrdb
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /volume2/docker/DSMRDB:/var/lib/postgresql/data
    environment:
      - TZ=Europe/Amsterdam
      - PG_TZ=Europe/Amsterdam
      - POSTGRES_USER=****
      - POSTGRES_PASSWORD=****
      - POSTGRES_DB=dsmrreader

  dsmr:
#    build: .
    image: xirixiz/dsmr-reader-docker:latest
    container_name: dsmr
    depends_on:
      - dsmrdb
    cap_add:
      - NET_ADMIN
    links:
      - dsmrdb
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /volume2/docker/DSMR/dsmr_backups:/dsmr/backups
    environment:
      - TZ=Europe/Amsterdam
      - VIRTUAL_HOST=localhost
      - SD_AUTOSTART_MQTT=true
      - SD_AUTORESTART_MQTT=true
      - ENABLE_HTTP_AUTH=true
      - HTTP_AUTH_USERNAME=****
      - HTTP_AUTH_PASSWORD=****
      - DSMRREADER_ADMIN_USER=****
      - DSMRREADER_ADMIN_PASSWORD=****
      - DSMRREADER_LOGLEVEL=WARNING
    ports:
      - 7777:80
      - 7779:443
    devices:
      - /dev/ttyUSB1:/dev/ttyUSB0

#volumes:
#   dsmrdb:
#   dsmrdb_backups:

Container logs

2024/02/22 22:25:22,stdout,127.0.0.1 - - [22/Feb/2024:22:25:22 +0100] "GET /about HTTP/1.1" 401 172 "-" "curl/8.5.0" "-"

2024/02/22 22:25:13,stderr,"2024-02-22 22:25:13,015 ERROR apps _on_electricity_consumption_created_signal 94 | publish_day_consumption() failed: No electricity readings found for: 2024-02-23 " 2024/02/22 22:25:07,stdout,127.0.0.1 - - [22/Feb/2024:22:25:07 +0100] "GET /about HTTP/1.1" 401 172 "-" "curl/8.5.0" "-"

2024/02/22 22:25:03,stderr,"2024-02-22 22:25:03,497 ERROR apps _on_electricity_consumption_created_signal 94 | publish_day_consumption() failed: No electricity readings found for: 2024-02-23 " 2024/02/22 22:24:52,stderr,"2024-02-22 22:24:52,950 ERROR apps _on_electricity_consumption_created_signal 94 | publish_day_consumption() failed: No electricity readings found for: 2024-02-23 " 2024/02/22 22:24:52,stdout,127.0.0.1 - - [22/Feb/2024:22:24:52 +0100] "GET /about HTTP/1.1" 401 172 "-" "curl/8.5.0" "-"

2024/02/22 22:24:43,stderr,"2024-02-22 22:24:43,419 ERROR apps _on_electricity_consumption_created_signal 94 | publish_day_consumption() failed: No electricity readings found for: 2024-02-23 " 2024/02/22 22:24:37,stdout,127.0.0.1 - - [22/Feb/2024:22:24:37 +0100] "GET /about HTTP/1.1" 401 172 "-" "curl/8.5.0" "-"

2024/02/22 22:24:32,stderr,"2024-02-22 22:24:32,878 ERROR apps _on_electricity_consumption_created_signal 94 | publish_day_consumption() failed: No electricity readings found for: 2024-02-23 " 2024/02/22 22:24:22,stdout,127.0.0.1 - - [22/Feb/2024:22:24:22 +0100] "GET /about HTTP/1.1" 401 172 "-" "curl/8.5.0" "-"

2024/02/22 22:24:22,stderr,"2024-02-22 22:24:22,314 ERROR apps _on_electricity_consumption_created_signal 94 | publish_day_consumption() failed: No electricity readings found for: 2024-02-23 " 2024/02/22 22:24:12,stderr,"2024-02-22 22:24:12,797 ERROR apps _on_electricity_consumption_created_signal 94 | publish_day_consumption() failed: No electricity readings found for: 2024-02-23

Additional info

No response

xirixiz commented 4 months ago

Hey! Dat kan 2 oorzaken hebben.

Het device verbonden met jou smart reader is niet juist mounted (/dev/ttyUSB)

Een andere optie kan zijn dat je in het admin deel in de ui een andere versie voor je dsmr reader moet gebruiken. Je kan dit vinden in de documentatie van dsmr reader zelf.

Het lijkt iig op een configuratie issue.

Heb je de instructies opgevolgd voor gebruik met synology in de readme in deze repo?

bart1604 commented 4 months ago

Hey Xirixiz,

Bedankt voor je reactie

Ik heb een Kaifa MA304C wat volgens mij inhoud versie 4.2. Ik heb in UI hem staan op Nederlands - DSMR-versie 4/5 (standard) Dus volgens mij staat deze settings goed.

Wat betreft het mounten van het device, volgens mij staat dat ook goed omdat ik binnen de UI gewoon readings krijg elke 10 sec.

xirixiz commented 4 months ago

Misschien dat @dennissiemensma een idee heeft, maar de error lijkt erop dat de readings iig niet binnenkomen op de container. Wellicht kan jet het verifieren of je data op het device in de container ook voorbij ziet komen. Soms is het een rechten issue in de container op het device. Maar aangezien het "/dev/ttyUSB0" is in je container, zou het goed moeten gaan wat rechten betreft. Dat wordt bij het starten van de container netjes gezet.

xirixiz commented 4 months ago

Heb je de container ook al een keer helemaal verwijderd (incl volumes), en opnieuw gestart? Mogelijk zit er "iets" in de weg.

bart1604 commented 4 months ago

Bedankt voor je reacties en het meedenken.

Yes, ik heb de container al meerdere malen opnieuw aangemaakt. Het lijkt ook pas terug te komen na het terugzetten van de backup. Ik gebruik dan Backup and restore mechanism 1 zoals beschreven in je README.md

Wellicht dat Dennis inderdaad nog een optie heeft. Zou het zonde vinden om helemaal vooraan te moeten beginnen. Zit ondertussen voor 5 jaar aan history in.

xirixiz commented 4 months ago

Ah nog een laatste ding. Misschien gebruik je nog oude images van de Docker HUB. Beter kan je switchen naar ghcr.io. Dat zou je nog even kunnen proberen.

ghcr.io/xirixiz/dsmr-reader-docker:latest
dennissiemensma commented 4 months ago

@bart1604 de melding komt van een deel dat MQTT-berichten verstuurt. Heb je al geprobeerd om die databron in de settings uit te schakelen?

Edit: Het kunnen er twee zijn:

Het lost niet de onderliggende fout op, maar voorkomt wel de fout (mits je dat MQTT-deel niet gebruikt)