Seite 1 von 4

per PHP an Wunderground senden - gibt Server eine Rückmeldung?

Verfasst: 01 Feb 2021, 15:18
von Wetterfrosch
Hallo,

ich sende meine Messwerte alle 5 Minuten von meinem Server per PHP an WU und Awekas.

Code: Alles auswählen

$url = fopen("http://weatherstation.wunderground.com/weatherstation/updateweatherstation.php?ID=$ID&PASSWORD=$PASSWORD&action=$action&dateutc=$dateutc&tempf=$tempf&dewptf=$dewptf&humidity=$humidity&winddir=$winddir&windspeedmph=$windspeedmph&windgustmph=$windgustmph&UV=$UV&solarradiation=$solarradiation&baromin=$baromin&rainin=$rainin&dailyrainin=$dailyrainin&realtime=$realtime", "r");
fclose($url);
Jetzt fiel mir auf, dass hin und wieder augenscheinlich das Paket beim Zielserver nicht angekommen ist und ich in diesem Fall gerne das Senden noch mal wiederholen würde.

Gibt der Zielserver bei erfolgreicher Übertragung bzw. bei fehlerhaften Übertragung irgendeine Rückmeldung, die ich dann über mein PHP-Script verarbeiten könnte um ggf. eine Wiederholung des Sendens zu steuern?

Danke für die Infos.
Gruß Frank

Re: per PHP an Wunderground senden - gibt Server eine Rückmeldung?

Verfasst: 01 Feb 2021, 16:43
von olicat
Hi!

Zumindest einen Returncode 200.203 sollte WU zurückgeben. Womöglich sogar per Text ein OK.
Ich kann gerade nicht nachschauen, bin nicht vorm Rechner.

Oliver

Re: per PHP an Wunderground senden - gibt Server eine Rückmeldung?

Verfasst: 01 Feb 2021, 16:49
von Wetterfrosch
Hi,

kann ich irgendwie den Returncode über mein PHP-Script ausgeben um nachzusehen was der Server da zurückgibt?
Und wenn er was zurückgibt, kann ich das irgendwie in eine if/else Bedingung mit einbauen, damit das Paket nochmals ausgesendet wird falls der Returncode nicht ankommt?

Re: per PHP an Wunderground senden - gibt Server eine Rückmeldung?

Verfasst: 01 Feb 2021, 17:54
von Tex
WG mit success
AWEKAS mit OK

Re: per PHP an Wunderground senden - gibt Server eine Rückmeldung?

Verfasst: 01 Feb 2021, 18:30
von Wetterfrosch
Kann ich dieses "success" bzw. "ok" irgendwie mit meinem PHP Script abrufen, d.h. kann ich irgendwie die Rückmeldung abrufen und damit dann eine eventuelle Wiederholung des Aussendens der Daten steueren, so in der Art:

if Rückmeldung == success (bzw. ok) mache nix, else sende Paket noch mal.

doch wie komme ich an das "success" (bzw. "ok") ran um es dann in die if/else Bedingung einzubauen?

Re: per PHP an Wunderground senden - gibt Server eine Rückmeldung?

Verfasst: 01 Feb 2021, 19:34
von rodolfo
Sollte so funktionieren (ungetestet)

Code: Alles auswählen

$url = 'https://......................';
$ch = curl_init($url);

curl_setopt($ch, CURLOPT_HEADER, 0);
$returncode = curl_exec($ch);

// returncode enthält  Serverantwort
echo $returncode;

curl_close($ch);

Re: per PHP an Wunderground senden - gibt Server eine Rückmeldung?

Verfasst: 01 Feb 2021, 19:44
von Wetterfrosch
Hallo Rolf,

als $url habe ich in meinen Script ja dies drin:

Code: Alles auswählen

$url = fopen("http://weatherstation.wunderground.com/weatherstation/updateweatherstation.php?ID=$ID&PASSWORD=$PASSWORD&action=$action&dateutc=$dateutc&tempf=$tempf&dewptf=$dewptf&humidity=$humidity&winddir=$winddir&windspeedmph=$windspeedmph&windgustmph=$windgustmph&UV=$UV&solarradiation=$solarradiation&baromin=$baromin&rainin=$rainin&dailyrainin=$dailyrainin&realtime=$realtime", "r");
und möchte auf diese Aktion wissen, ob der Upload der Daten erfolgreich war oder nicht.
Falls erfolgreich meldet wohl der WU Server "success" zurück und dieses würde ich gerne abgreifen.

Kann ich nun diese $url für dein Script 1:1 übernehmen oder muss ich eine andere $url definieren?

Gruß Frank

Re: per PHP an Wunderground senden - gibt Server eine Rückmeldung?

Verfasst: 01 Feb 2021, 20:03
von rodolfo
Ja, kannst du übernehmen.

Re: per PHP an Wunderground senden - gibt Server eine Rückmeldung?

Verfasst: 01 Feb 2021, 20:09
von Wetterfrosch
also dann so:

Code: Alles auswählen

$url = fopen("http://weatherstation.wunderground.com/weatherstation/updateweatherstation.php?ID=$ID&PASSWORD=$PASSWORD&action=$action&dateutc=$dateutc&tempf=$tempf&dewptf=$dewptf&humidity=$humidity&winddir=$winddir&windspeedmph=$windspeedmph&windgustmph=$windgustmph&UV=$UV&solarradiation=$solarradiation&baromin=$baromin&rainin=$rainin&dailyrainin=$dailyrainin&realtime=$realtime", "r");

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_HEADER, 0);
$returncode = curl_exec($ch);

// returncode enthält  Serverantwort
echo $returncode;

curl_close($ch);
so funktioniert es leider nicht $returncode ist da dann leer.
oder muss ich als $url nur einen Teil des Linkes zu WU eingeben? Falls ja, welchen teil muss ich für die Abfrage eingeben?

Re: per PHP an Wunderground senden - gibt Server eine Rückmeldung?

Verfasst: 01 Feb 2021, 20:13
von rodolfo
Die URL muss nur in die doppelten Anführungsstriche, ohne fopen().