Seite 1 von 1

(gelöst) updateweatherstation.php verursacht Fehler

Verfasst: 21 Aug 2023 18:12
von Volker S
Hi,

ist jetzt bei mir nicht ganz so wichtig, da ich lokal noch meine alten kleinen Wetterstationen auswerte, da ich aber nur noch sehr selten Windows starte (wo alles zur vollen Zufriedenheit wuppt), wollte ich noch eine Smartanwendung zur Überwachung meiner Außentemperatur.

...so bin ich dann zum Ecowitt GW2000 gekommen (den ich schon seit 6 Monaten betreibe).

Da ich davon gelesen habe, dass man die Ecovitt-Daten für wswin per .csv auch dort implementieren kann, bin ich neugierig geworden.
Und schon hatte ich die updateweatherstation.php auf meinem Webserver (kann auch php) auf dem Raspi Zero WH liegen. Dann noch flux den php-Pfad (192.168.1.2/weatherstation/ecowitt/updateweatherstation.php) eingetragen und: Wie sie sehen, sehen sie nichts (naja, es stand da "bad request").

Habe dann mal das Auskommentierte gelöscht, das man die Fehler sieht und nun wirft er mir Folgendes aus, wenn ich die php mittels Browser aufrufe:

Code: Alles auswählen

Notice: Array to string conversion in /var/www/html/weatherstation/ecowitt/updateweatherstation.php on line 460
bad request
Warning: file_put_contents(_error.log): failed to open stream: Permission denied in /var/www/html/weatherstation/ecowitt/updateweatherstation.php on line 530
Wenn jemand weiß woran das liegt, würde ich mich freuen - wenn Derjenige mir helfend unter die Arme greift - ansonsten ist auch nicht so schlimm.

-volker-

Re: updateweatherstation.php verursacht Fehler

Verfasst: 21 Aug 2023 20:22
von Werner
@Volker,

Du scheinst jetzt PHP 8.x zu verwenden !?.
Im Scipt ist diese Zeile fehlerhaft:
@$wd[xxxxxxxxxxxx] = "xxxxxxxxxxxx";

Richtig muss es sein: (die Anführungszeichen haben gefehlt im Arraynamen).
@$wd['xxxxxxxxxxxx'] = "xxxxxxxxxxxx";

Code: Alles auswählen

@$wd['xxxxxxxxxxxx'] = "xxxxxxxxxxxx";
Was ich überhaupt nicht verstehe, warum PHP 7.x damit kein Problem hat.

Re: updateweatherstation.php verursacht Fehler

Verfasst: 22 Aug 2023 07:51
von Volker S
Hi Werner,

ich habe das jetzt mal geändert, aber an dem Fehlerereignis hat sich nichts verbessert. Immer noch die gleiche Fehlermeldung.

Meine PHP-Version ist: 7.3.31-1~deb10u4.
Ich habe auch mal das ganze Adminverzeichnis vom pi-Hole in das updateweatherstation-Verzeichnis reinkopiert. Der Login vom pi-hole funktioniert auch da fehlerfrei. Im PHP-Scripting bin ich ein absoluter Dau, verstehe auch nicht, warum andere das Problem anscheinend nicht haben.

Bei meinem Homepage-Provider bekomme ich nur einen Fehler angezeigt (liegt wohl in der php.ini, oder der PHP-Version)

Code: Alles auswählen

Notice: Array to string conversion in /var/www/vhosts/hosting113784.a2f57.netcup.net/httpdocs/joomla/sm_forum/updateweatherstation.php on line 460
bad request

Re: updateweatherstation.php verursacht Fehler

Verfasst: 22 Aug 2023 11:52
von Werner
Ich habe gerade die updateweatherstaion.php bzw. updateweatherstation_ecowitt.zip
in geschützten Benutzerbereich aktualisiert und getestet.
Neu ist darin auch, das Script prüft, ob auch die notwendigen Schreibrechte vorhanden sind!

Du kannst Deine Custom-Server-Funktion auch hiermit testen:

Server IP /Hostname:
www.pc-wetterstation.de
Path
/ecowitt/updateweatherstation.php
Port
80

Hier wird aber nur eine Debug-Datei (z.B. soeine 08A6C0EBE247DC33D4495BD7BA419ABC_debug.txt) erzeugt wenn alles i.O. ist!
Wenn direkt aufgerufen (also ohne die Daten von einer Wetterstation) kommt so eine Fehlermeldung:
22.08.2023 12:40:31 99.999.99.99 400 bad request - no passkey nor ID sent Array
Das ist aber ein Zeichen, dass das Script grundsätzlich funktioniert

Re: updateweatherstation.php verursacht Fehler

Verfasst: 22 Aug 2023 15:10
von Volker S
Jupp, jetzt funktioniert es - schönen Dank für die Korrektur :)