Report your Weather Station Data to Windy
-
@haryana What do you exactly mean? Reported data via station in Windy?
-
@Ondřej-Šutera yes pws data entered manually
-
@haryana and can you tell me when will my data be available for everyone.
-
@haryana When did you connect your station?
-
@Ondřej-Šutera about 6 hours ago
-
@haryana It usually takes a day or two, so please wait for a while.
-
@Ondřej-Šutera thanks for reply ondfej. nice talking to you.
-
@TomSlavkovsky said in Report your Weather Station Data to Windy:
precip - real number [mm]; precipitation over the past hour
How should I interpret this, precipitation added up over the entire hour that passed ? example at 10am the weather station sends the total precipitation between 9 and 10am ? My weather station sends a the observation every 5 minutes. at 10h05, 10h10 etc should then again send the precipitation between 9 and 10h?
-
@TomSlavkovsky
Hi, I'm sending data to Windy station f0ccf7c7 using requests.post(windy_url, data=windy_data) but when I look on www.windy.com/station/pws-f0ccf7c7, I get a message that says:Observation station f0ccf7c7 does not report any date for this period.
(did it mean data instead of date??)
So, why isn't this working?
Thanks for your help! -
@RothwellHeights Hi, I checked the station and it looks like there are no data in the last 7 days to display, so at this moment, there is an issue with sending data to Windy end.
-
@Suty said in Report your Weather Station Data to Windy:
@RothwellHeights Hi, I checked the station and it looks like there are no data in the last 7 days to display, so at this moment, there is an issue with sending data to Windy end.
Thanks for the quick reply. I'm receiving a SUCCESS message (code 200) at the end so I'm not sure why it's not uploading.
-
@Suty Thanks for the quick reply. I'm receiving a SUCCESS message (code 200) at the end so I'm not sure why it's not uploading.
-
Can someone please take a look at this snippet? It runs successfully with a return code 200 however the station is not showing any data on Windy.
Prepare data for Windy.com
windy_data = { "latitude":45.45908, "longitude":-75.61356, "elevation":60, "tempheight":3, "windheight":3, "dewpoint": weatherflow_data['obs'][0]['dew_point'], "uv": weatherflow_data['obs'][0]['uv'], "ts": weatherflow_data['obs'][0]['timestamp'], "winddir": weatherflow_data['obs'][0]['wind_direction'], "wind": weatherflow_data['obs'][0]['wind_avg'], "gust": weatherflow_data['obs'][0]['wind_gust'], "windgustdir": weatherflow_data['obs'][0]['wind_direction'], "winddir_avg2m": weatherflow_data['obs'][0]['wind_direction'], "rh": weatherflow_data['obs'][0]['relative_humidity'], "temp": weatherflow_data['obs'][0]['air_temperature'], "precip": weatherflow_data['obs'][0]['precip_accum_last_1hr'], "mbar": weatherflow_data['obs'][0]['station_pressure']
}
Post data to Windy.com
response_windy = requests.post(windy_url, data=windy_data)
-
@RothwellHeights I discussed this with colleagues, and you probably send these data in the wrong format. One station can be sent with GET method, where setup of the station and measuring are URL parameters.
But if you use POST method, you must send data as a JSON file, where setup of station and measuring has to be separated. More here.
-
-
@Suty Thanks for your help. That worked!
For the record, here is my corrected Python code:
def my_function():
Fetch data from WeatherFlow
response_weatherflow = requests.get(weatherflow_url) weatherflow_data = response_weatherflow.json()
Prepare data for Windy.com
tempheight=3 windheight=3 dewpoint=weatherflow_data['obs'][0]['dew_point'] uv=weatherflow_data['obs'][0]['uv'] ts=weatherflow_data['obs'][0]['timestamp'] winddir=weatherflow_data['obs'][0]['wind_direction'] wind=weatherflow_data['obs'][0]['wind_avg'] gust=weatherflow_data['obs'][0]['wind_gust'] windgustdir=weatherflow_data['obs'][0]['wind_direction'] winddir_avg2m=weatherflow_data['obs'][0]['wind_direction'] rh=weatherflow_data['obs'][0]['relative_humidity'] temp=weatherflow_data['obs'][0]['air_temperature'] precip=weatherflow_data['obs'][0]['precip_accum_last_1hr'] mbar=weatherflow_data['obs'][0]['station_pressure']
URL for Windy.com data
windy_url = f'https://stations.windy.com/pws/update/{windy_personal_access_key}?dewpoint={dewpoint}&uv={uv}&ts={ts}&winddir={winddir}&wind={wind}&gust={gust}&windgustdir={windgustdir}&winddir_avg2m={winddir_avg2m}&rh={rh}&temp={temp}&precip={precip}&mbar={mbar}'
Post data to Windy.com
response_windy = requests.get(url=windy_url)
Check response
if response_windy.status_code == 200: print(current_time,"Data successfully shared with Windy.com") else: print("Error sharing data with Windy.com:", response_windy.text)
while True:
my_function()
time.sleep(300) -
This post is deleted! -
Hi,
I use Ardubridge.com as sender for custom weather station built wit NodeMCU ESP8266, very easy to send data to Windy.com and other weather popular sites. Just configuring minimal credentials from panel.Regards
Enrique -
-
-
@omicron is this still the only solution for connecting WeatherFlow / Tempest hardware? It's not very user friendly for the non technical folks.
-
-
-
It looks like this API expects the weather station to be at a fixed location. My station is on a boat and as such, the data I send is based on my current location which of course can change.
Ideally I would be able to pass longitude and latitude values as query parameters. Is this possible?