[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