[vz-users] Probleme mit Docker Installation - Es werden keine Daten (Temperaturwerte) angezeigt
Andreas Finkel
andreas at finkel.de
Di Jan 18 17:42:44 CET 2022
Hi,
nach erfolgreicher Installation mit dem VZ-Image auf einem Raspi habe ich es endlich geschafft, eine Docker-Lösung zum
Laufen zu bringen:
CONTAINER
ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
76d58a961ccb vz-test-armv7 "docker-php-entrypoi…" 3 hours ago Up 4 minutes 0.0.0.0:5582->5582/tcp,
:::5582->5582/tcp, 0.0.0.0:8082->8082/tcp, :::8082->8082/tcp, 8080/tcp vz-test_push-server_1
57759accfb48 vz-test-armv7 "docker-php-entrypoi…" 3 hours ago Up 4 minutes 5582/tcp, 8082/tcp,
0.0.0.0:8080->8080/tcp, :::8080->8080/tcp vz-test_volkszaehler_1
f7f5812204cd hypriot/rpi-mysql "/entrypoint.sh mysq…" 3 hours ago Up 4
minutes 3306/tcp vz-
test_database_1
Ein 1. Test, der Temperaturwerte von einem esp32 (nodemcu) liefern sollen scheitert.
Auf dem Raspi mit der Installation aus dem Image werden die übertragenen Werte im log File des Apache so angezeigt:
192.168.0.60 - - [17/Jan/2022:19:29:34 +0100] "GET /middleware.php/data/Temp1.json?operation=add&value=21.62 HTTP/1.1"
200 239 "-" "ESP Easy/20116/Nov 5 2021 11:21:36"
mit ESPEasy wurde ein Controller (generic http) auf Port 80 eingerichtet.
Die Docker Installation (noch ohne vzlogger), die auch keinen Apache beinhaltet, liefert beim Start des VZ folgendes:
docker-compose up
...
...
volkszaehler_1 | +---------------------------+-----------------------------------------+
volkszaehler_1 | | host | 0.0.0.0 |
volkszaehler_1 | | port | 8080 |
volkszaehler_1 | | workers | 8 |
volkszaehler_1 | | static-directory | /vz/htdocs |
volkszaehler_1 | | logging | 5 |
volkszaehler_1 | | max-requests | 1000 |
volkszaehler_1 | | bridge | HttpKernel |
volkszaehler_1 | | bootstrap | Volkszaehler\Server\PPMBootstrapAdapter |
volkszaehler_1 | | app-env | dev |
volkszaehler_1 | | debug | 0 |
volkszaehler_1 | | max-execution-time | 30 |
volkszaehler_1 | | memory-limit | -1 |
volkszaehler_1 | | limit-concurrent-requests | |
volkszaehler_1 | | request-body-buffer | |
volkszaehler_1 | | ttl | 0 |
volkszaehler_1 | | populate-server-var | 1 |
volkszaehler_1 | | socket-path | .ppm/run/ |
volkszaehler_1 | | pidfile | .ppm/ppm.pid |
volkszaehler_1 | | reload-timeout | 30 |
volkszaehler_1 | | cgi-path | /usr/local/bin/php |
volkszaehler_1 | +---------------------------+-----------------------------------------+
volkszaehler_1 | Starting PHP-PM with 8 workers, using StreamSelectLoop ...
volkszaehler_1 | 8 workers (starting at 5501) up and ready. Application is ready at http://0.0.0.0:8080/
volkszaehler_1 | Script did not return a valid HTTP response. Maybe it has called exit() prematurely?
volkszaehler_1 | [18/Jan/2022:16:17:57 +0000] 192.168.0.60 - - "GET /middleware.php/data/Temp1.json HTTP/1.1" 400 289
"-"
volkszaehler_1 | Script did not return a valid HTTP response. Maybe it has called exit() prematurely?
Den Fehler "Script did not return a valid HTTP response. Maybe it has called exit() prematurely?" kann durch eine
Einstellung von ESPEasy verhindert werden (Check Acknowledgement), das ändert aber nichts an der Tatsache, dass keine
Temperaturwerte ankommen.
Der einzige Unterschied in ESPEasy ist der andere Port 8080 (im Vergleich zur Image-Variante) und natürlcih die IP-
Adresse.
Kann das an der im log des VZ angezeigten falschen Uhrzeit liegen? Ein "date" Test des Images zeigt das korrekte
Datum/Zeit? Ausserdem wurde zusätzlich in der docker-compose.yml Datei (wegen Problemen mit der korrekten Zeit mit dem
Alpine/armv7 Image)
security_opt:
- seccomp=unconfined
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
gesetzt.
Benötige ich doch einen Apache (also Proxy)?
Vielen Dank für die Hilfe
Andreas
Mehr Informationen über die Mailingliste volkszaehler-users