Closed da-bernie closed 2 years ago
Hallo,
danke für die Meldung. Das liegt vermutlich daran dass die Bibliothek die wir zum Auslesen verwenden ihre Dependencies nicht korrekt erklärt hat. Ich habe ein neues Release gemacht (1.2.1): https://github.com/unverbraucht/hanazeder_python/commit/a241e48271785cb8b99cf149fbc844908a936029
Jetzt müssen wir allerdings noch warten bis pypi die neue Version im Index hat, das kann bei poetry durchaus mal einen Tag dauern. Dann werde ich ein neues Release machen.
Sollte mit Release 1.1.0 vom Server behoben sein, bitte testen.
Ist getestet und funktioniert. Vielen Dank.
Dockerfile
FROM python:3.10-alpine3.16
RUN apk update && \
apk add usbutils bash wget
RUN pip3 install --no-cache-dir --upgrade pip && \
pip3 install --no-cache-dir hanazeder_server
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
entrypoint.sh
#!/bin/sh
python -m hanazeder_server.mqtt --serial-port /dev/serial/by-id/<Serialdevice-ID> --mqtt-server <IP-Adress>
Top, danke für die Rückmeldung. Das Dockerfile nehme ich mit ins Repo auf und wenn ich etwas Zeit am Wochenende finde würde ich die Images vom CI-System automatisch bauen und pushen lassen.
Bitte gerne. So ist das Dockerimage aber sehr "persönlich", die Parameter über ein docker-compose rein zu reichen ist einfach, aber ein entrypoint Skript das das auch verarbeiten kann, kann ich nicht aus dem Ärmel schütteln. Mein docker-compose.yml für den Container sieht aktuell so aus:
version: '3'
services:
hanazeder:
build: ./hanazeder
restart: unless-stopped
environment:
- MQTT_BROKER=
- SERIAL_DEVICE=
devices:
- /dev/serial/by-id/usb-FTDI_FT231X_USB_UART_DN028GKE-if00-port0
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
Hallo Herr Read,
ich habe versucht den Server in einen docker container zu stecken, scheitere aber an einer Fehlermeldung.
Dockerfile:
Das bauen des Containers bringt keine Fehlermeldung.
Ich verbinde mich dann mit dem Container und sehe folgende Punkte in der Shell: Das Serial-Device ist vorhanden mit root.dailout rw-Rechten.
Wenn ich aber entweder den Server starte, oder auch nur versuche die Heizungssteuerung abzufragen bekommen ich immer die Fehlermeldung:
Das notwendige Paket pyserial wird aber bei der Containererstellung mit eingebaut.
Ein Quercheck ohne Docker-Container auf einem Ubuntu Server bringt den gleichen Fehler.