Outside WiFi weather station "WS3500" and local customized upload (no cloud needed)

OK - I’ll answer myself! :wink:
After a while, the updates came in. So now you don’t have to update WeatherUnderground (or similar cloud services) and re-import your own data, but you can send the data to a server of your liking.

So, first, the configuration above needed a bit of tweaking:

  • ServerIP/Hostname: fill in your local Webserver
  • Path: Chose the path to your Webserver-Import script and add a “?” at the end
  • Station ID: if you’d like you can fill in some ID
  • Station Ke: if you’d like you can fill in some Code/Key/Password
  • Port: obviously the port of your webserver is running
  • Upload Interval: minimum 16 secs, maximum some five minutes or so

Now, the WS3500 will call the webserver script in your given interval and put the values via GET into your script.

in my case, I use my Synology Webserver running PHP, so the PHP script looks like this:

<?
// prefix for your OH2-items
$weatherprefix = "WeatherStation_";

// all GETs get redirected to the OH2 API
foreach ($_GET as $key => $value) {
	sendOH2Command($weatherprefix.$key, $value);	
}

// function to POST the item's value to OH2 API (fill in your OH2-IP)
function sendOH2Command($item, $data) {
  $url = "http://192.168.xxx.xxx:8080/rest/items/".$item;

  $options = array(
	'http' => array(
		'header'  => "Content-type: text/plain\r\n",
		'method'  => 'POST',
		'content' => $data  //http_build_query($data),
	),
  );

  $context  = stream_context_create($options);
  $result = file_get_contents($url, false, $context);
  return $result;
}
?> 

That’s it, now, everytime your PHP script is called, the GET-values get send to your OH2 API with the prefix.

For me, my .items looks like this:

String WeatherBinder_ID				"ID"		
String WeatherBinder_PASSWORD		"PWD"		
Number WeatherBinder_indoortempf	"Innen Temperature [%.1f °F]"			<temperature>	(gWeatherTemp, Wetterstation)	
Number WeatherBinder_tempf			"Aussen Temperature [%.1f °F]"			<temperature>	(gWeatherTemp, Wetterstation)	
Number WeatherBinder_dewptf			"Taupunkt [%.1f °F]"					<temperature>	(gWeatherTemp, Wetterstation)	
Number WeatherBinder_windchillf		"Windchill [%.1f °F]"					<temperature>	(gWeatherTemp, Wetterstation)
Number WeatherBinder_indoorhumidity	"Innen Feuchtigkeit [%.1f %]"			<temperature>	(gWeatherTemp, Wetterstation)	
Number WeatherBinder_humidity		"Außen Feuchtigkeit [%.1f %]"			<temperature>	(gWeatherTemp, Wetterstation)	
Number WeatherBinder_windspeedmph	"Windgeschwindigkeit [%.1f mph]"		<temperature>	(gWeatherTemp, Wetterstation)	
Number WeatherBinder_windgustmph	"Windböen [%.1f mph]"					<temperature>	(gWeatherTemp, Wetterstation)	
String WeatherBinder_winddir		"Windrichtung"							<temperature>	(gWeatherTemp, Wetterstation)	
Number WeatherBinder_absbaromin		"Abs. Luftdruck min [%.1f hP]"			<temperature>	(gWeatherTemp, Wetterstation)	
Number WeatherBinder_baromin		"Luftdruck min [%.1f hP]"				<temperature>	(gWeatherTemp, Wetterstation)	
Number WeatherBinder_rainin			"Niederschlag [%.1f inch]"				<temperature>	(gWeatherTemp, Wetterstation)	
Number WeatherBinder_dailyrainin	"Niederschlag/Tag [%.1f inch]"			<temperature>	(gWeatherTemp, Wetterstation)	
Number WeatherBinder_weeklyrainin	"Niederschlag/Woche %.1f inch]"			<temperature>	(gWeatherTemp, Wetterstation)	
Number WeatherBinder_monthlyrainin	"Niederschlag/Monata [%.1f inch]"		<temperature>	(gWeatherTemp, Wetterstation)	
Number WeatherBinder_solarradiation	"Solareintrag [%.1f]"					<temperature>	(gWeatherTemp, Wetterstation)	
Number WeatherBinder_UV				"UV-Index [%.1f]"						<temperature>	(gWeatherTemp, Wetterstation)	
String WeatherBinder_dateutc		"Uhrzeit"								<temperature>	(gWeatherTemp, Wetterstation)	
String WeatherBinder_softwaretype	"Software"								<temperature>	(gWeatherTemp, Wetterstation)	
String WeatherBinder_action			"Wetteraktion"							<temperature>	(gWeatherTemp, Wetterstation)	
String WeatherBinder_realtime		"Abs. Luftdruck min [%.1f hP]"			<temperature>	(gWeatherTemp, Wetterstation)	
String WeatherBinder_rtfreq			"Updatefrequenz"						<temperature>	(gWeatherTemp, Wetterstation)	

so, for me, the temperature is in the wrong format (°F) and the wind speed also (mph), I need the correct formats like °C and kmh, so I have to figure out, if I can either tell the WS3500 to send the correct ones or I can tell OH2 to automatically convert them…