We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hi, I made a similar script which puts the data into InfluxDB and then shows them in Grafana.
Php script:
<?php # forward data to weatherunderground $url = 'http://rtupdate.wunderground.com/weatherstation/updateweatherstation.php?' . http_build_query($_GET); $result = file_get_contents($url); # no need to save to file, but I like to see that the script works file_put_contents('update', json_encode([$_GET, $result])); # utility functions for unit conversion function f2c($f) { return 5 / 9 * ($f - 32); } function in2hpa($in) { return $in * 33.86389; } function p2dec($p) { return $p / 100; } function mph2kmph($mph) { return $mph * 1.609344; } function in2mm($in) { return $in * 25.4; } function toInflux() { $barometric_pressure_hpa = in2hpa($_GET['baromin']); $temperature_c = f2c($_GET['tempf']); $humidity = $_GET['humidity']; $dew_point_c = f2c($_GET['dewptf']); $wind_speed_kmph = mph2kmph($_GET['windspeedmph']); $wind_gust_kmph = mph2kmph($_GET['windgustmph']); $wind_direction = $_GET['winddir']; $rain_mm = in2mm($_GET['rainin']); $daily_rain_mm = in2mm($_GET['dailyrainin']); $indoor_temperature_c = f2c($_GET['indoortempf']); $indoor_humidity = $_GET['indoorhumidity']; $content = [ 'barometric_pressure_hpa' => $barometric_pressure_hpa, 'temperature_c' => $temperature_c, 'humidity' => $humidity, 'dew_point_c' => $dew_point_c, 'wind_speed_kmph' => $wind_speed_kmph, 'wind_gust_kmph' => $wind_gust_kmph, 'wind_direction' => $wind_direction, 'rain_mm' => $rain_mm, 'daily_rain_mm' => $daily_rain_mm, 'indoor_temperature_c' => $indoor_temperature_c, 'indoor_humidity' => $indoor_humidity ]; $opts = [ 'http' => [ 'method' => "POST", 'content' => "weather " . http_build_query($content, '', ','), ] ]; $params = [ "db" => "meteo" ]; # no need to store to file file_put_contents('influx', json_encode($opts)); file_get_contents( 'http://localhost:8086/write?' . http_build_query($params), false, stream_context_create($opts) ); } toInflux();
docker-compose.yml:
version: '3' services: influxdb: image: influxdb:1.8 ports: - 8086:8086 volumes: - /srv/influxdvb:/var/lib/influxdb chronograf: image: chronograf:1.8 ports: - 8888:8888 environment: INFLUXDB_URL: http://influxdb:8086 grafana: image: grafana/grafana:7.0.0 ports: - 3000:3000 volumes: - /srv/grafana:/var/lib/grafana
It would be easy to add php to the docker setup, I haven't done it yet.
The result can then look like this (grafana dashboard):
My setup does not include UV as my UV sensor is faulty and always reports 0. It would be very easy to add.
The text was updated successfully, but these errors were encountered:
Nice work!
Sorry, something went wrong.
No branches or pull requests
Hi, I made a similar script which puts the data into InfluxDB and then shows them in Grafana.
Php script:
docker-compose.yml:
It would be easy to add php to the docker setup, I haven't done it yet.
The result can then look like this (grafana dashboard):
My setup does not include UV as my UV sensor is faulty and always reports 0. It would be very easy to add.
The text was updated successfully, but these errors were encountered: