[vz-users] Probleme mit Docker Installation - Es werden keine Daten (Temperaturwerte) angezeigt
Andreas Finkel
andreas at finkel.de
Di Jan 18 19:56:06 CET 2022
Hi,
leider habe ich dasselbe Problem auf meinem "richtigen" Rechner mit Linux Mint, da tritt dasselbe Problem auf.
Trotzdem ab hier alle Tests mit 1 Worker auf dem Raspi.
Ein weitere Test funktioniert direkt im Browswer:
http://192.168.0.21:8080/data/1f5eeba0-7883-11ec-9104-db4cc0431005.json?operation=add&value=21.62
Dann zeigt das FrontEnd korrekt Min, Max und Durchschnitt mit 21.62 an.
Der VZ protolliert dabei:
volkszaehler_1 | [18/Jan/2022:18:10:09 +0000] 192.168.0.60 - - "GET /middleware.php/data/Temp1.json HTTP/1.1" 400 289
"-"
volkszaehler_1 | [18/Jan/2022:18:10:20 +0000] 192.168.0.60 - - "GET /middleware.php/data/Temp1.json HTTP/1.1" 400 289
"-"
volkszaehler_1 | [18/Jan/2022:18:10:29 +0000] 192.168.0.7 - - "GET /data/1f5eeba0-7883-11ec-9104-db4cc0431005.json
HTTP/1.1" 200 429 "http://192.168.0.21:8080/"
volkszaehler_1 | Script did not return a valid HTTP response. Maybe it has called exit() prematurely?
volkszaehler_1 | [18/Jan/2022:18:10:29 +0000] 192.168.0.60 - - "GET /middleware.php/data/Temp1.json HTTP/1.1" 400 289
"-"
volkszaehler_1 | [18/Jan/2022:18:10:39 +0000] 192.168.0.60 - - "GET /middleware.php/data/Temp1.json HTTP/1.1" 400 289
"-"
In einem anderen Forum steht, dass das "middleware.php" in der URL stört, also habe den "Controller Publish" im esp32
auf
data/%valname%.json?operation=add&value=%value%
gesetzt.
das hilft leider auch nicht, obwohl die URL jetzt korrekt erscheint:
volkszaehler_1 | [18/Jan/2022:18:42:04 +0000] 192.168.0.60 - - "GET /data/Temp1.json HTTP/1.1" 400 663 "-"
...
volkszaehler_1 | [18/Jan/2022:18:44:02 +0000] 192.168.0.7 - - "GET /data/bffb5b80-788b-11ec-9c2c-85ef09c654f8.json
HTTP/1.1" 200 470 "http://192.168.0.21:8080/"
volkszaehler_1 | [18/Jan/2022:18:44:03 +0000] 192.168.0.60 - - "GET /data/Temp1.json HTTP/1.1" 400 663 "-"
volkszaehler_1 | [18/Jan/2022:18:44:04 +0000] 192.168.0.60 - - "GET /data/Temp1.json HTTP/1.1" 400 663 "-"
volkszaehler_1 | [18/Jan/2022:18:44:05 +0000] 192.168.0.60 - - "GET /data/Temp1.json HTTP/1.1" 400 663 "-"
volkszaehler_1 | [18/Jan/2022:18:44:06 +0000] 192.168.0.60 - - "GET /data/Temp1.json HTTP/1.1" 400 663 "-"
volkszaehler_1 | [18/Jan/2022:18:44:07 +0000] 192.168.0.60 - - "GET /data/Temp1.json HTTP/1.1" 400 663 "-"
volkszaehler_1 | [18/Jan/2022:18:44:08 +0000] 192.168.0.7 - - "GET /data/bffb5b80-788b-11ec-9c2c-85ef09c654f8.json
HTTP/1.1" 200 470 "http://192.168.0.21:8080/"
...
Über den Namen "Temp1" in der ESPEasy Konfiguration hatte das bisher (mit dem fertigen Raspi-Image) funktioniert.
(Früher musst man wohl statt einem Namen die UUID des channels eintragen, das lässt die Software (ESPEasy) aber nicht
mehr zu)
Gruß
Andreas
Am Dienstag, dem 18.01.2022 um 17:47 +0100 schrieb Stefan Schoof:
> Hallo,
>
> ich hatte auf einem Arm docker image, dass Problem das ich mit mehr als einem workers Fehler hatte die ich nicht
> verstanden habe. Seit ich die worker Anzahl auf 1 gesetzt habe, läuft es. Bin noch nicht dazu gekommen, die Ursache zu
> finden.
>
> Viele Grüße
> Stefan
>
> Am 18. Januar 2022 17:42:44 MEZ schrieb Andreas Finkel <andreas at finkel.de>:
> > 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