[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