Windy Community
    • Unread
    • Categories
    • Groups
    • Go to windy.com
    • Register
    • Login

    Report your Weather Station Data to Windy

    Scheduled Pinned Locked Moved Windy Stations
    406 Posts 149 Posters 954.2k Views 35 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • RothwellHeightsR Offline
      RothwellHeights @marekd | Premium
      last edited by

      @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!

      SutyS 1 Reply Last reply Reply Quote 0
      • SutyS Offline
        Suty Windy Staff @RothwellHeights
        last edited by

        @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.

        RothwellHeightsR 2 Replies Last reply Reply Quote 0
        • RothwellHeightsR Offline
          RothwellHeights @Suty | Premium
          last edited by

          @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.

          1 Reply Last reply Reply Quote 0
          • RothwellHeightsR Offline
            RothwellHeights @Suty | Premium
            last edited by

            @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.

            1 Reply Last reply Reply Quote 0
            • RothwellHeightsR Offline
              RothwellHeights | Premium
              last edited by

              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)
              
              SutyS 1 Reply Last reply Reply Quote 0
              • SutyS Offline
                Suty Windy Staff @RothwellHeights
                last edited by

                @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.

                RothwellHeightsR 1 Reply Last reply Reply Quote 0
                • SutyS Suty referenced this topic on
                • RothwellHeightsR Offline
                  RothwellHeights @Suty | Premium
                  last edited by

                  @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)

                  1 Reply Last reply Reply Quote 0
                  • Enrique Alvarez JativaE Offline
                    Enrique Alvarez Jativa
                    last edited by

                    This post is deleted!
                    1 Reply Last reply Reply Quote 0
                    • Enrique Alvarez JativaE Offline
                      Enrique Alvarez Jativa
                      last edited by

                      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

                      ? 1 Reply Last reply Reply Quote 0
                      • SutyS Suty referenced this topic on
                      • M Offline
                        marinatin @markdj | Premium
                        last edited by

                        @markdj @Korina Have you all added support for Tempest yet?

                        1 Reply Last reply Reply Quote 0
                        • M Offline
                          marinatin @omicron | Premium
                          last edited by

                          @omicron is this still the only solution for connecting WeatherFlow / Tempest hardware? It's not very user friendly for the non technical folks.

                          1 Reply Last reply Reply Quote 0
                          • SutyS Suty referenced this topic on
                          • idefix37I idefix37 referenced this topic on
                          • B Offline
                            bobeasterday
                            last edited by

                            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?

                            B 1 Reply Last reply Reply Quote 0
                            • B Offline
                              bobeast @bobeasterday | Premium
                              last edited by

                              @bobeasterday said in Report your Weather Station Data to Windy:

                              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?

                              Edit: I figured it out but for the edification of others;

                              You need to use the POST method (as opposed to GET). That way you can send updated server info (including lat and Lon).

                              1 Reply Last reply Reply Quote 1
                              • jf_moreiraJ Offline
                                jf_moreira
                                last edited by jf_moreira

                                Hello all.

                                Again, nothing changed on my side and Windy stopped receiving my data last Monday, April 29th. Does anyone know what changed here?

                                My PWS is regularly reporting to Wunderground, PWSweather and ThinkSpeak and everything is published.

                                https://node.windy.com/pws/stats/f052cfed

                                Others:
                                https://www.wunderground.com/dashboard/pws/ISOJOS39
                                https://www.pwsweather.com/station/pws/ISOJOS39

                                Please help.
                                Jeffo.

                                jf_moreiraJ 2 Replies Last reply Reply Quote 0
                                • jf_moreiraJ Offline
                                  jf_moreira @jf_moreira
                                  last edited by

                                  This post is deleted!
                                  jf_moreiraJ 1 Reply Last reply Reply Quote 0
                                  • jf_moreiraJ Offline
                                    jf_moreira @jf_moreira
                                    last edited by

                                    This post is deleted!
                                    1 Reply Last reply Reply Quote 0
                                    • jf_moreiraJ Offline
                                      jf_moreira @jf_moreira
                                      last edited by jf_moreira

                                      @jf_moreira

                                      This is what solved it for me. I used a script from a guy in Github:

                                      https://community.windy.com/post/183560

                                      Thanks, @Gkikas-LGPZ

                                      1 Reply Last reply Reply Quote 0
                                      • J Offline
                                        jmunkki
                                        last edited by

                                        I'm getting relatively frequent errors when I try to send data every 5 minutes. I could extend the period to 6 minutes to fix the issue, but I think it's weird that you say that 5 minutes is OK, but then even a slight amount of jitter in the period will cause error messages.

                                        "Measurement sent too soon, update interval is 5 minutes"

                                        Here are some samples of the measured interval in seconds that show the the variations are around 60 milliseconds and we're still getting errors:

                                        300.001
                                        300.037
                                        299.953
                                        300.035
                                        299.992
                                        300.036
                                        299.943

                                        As an experiment, I'll add a static delay before sending the data. It will not affect the interval in any way, but it might help if the problem is in fact a clock sync issue. I could of course track the interval and add a variable delay, but our station is on a strict one minute clock, so the Windy data would start to drift relative to that clock since there's no way to claw back the added milliseconds.

                                        David Ryzec 3D 1 Reply Last reply Reply Quote 0
                                        • David Ryzec 3D Offline
                                          David Ryzec 3 Windy Staff @jmunkki
                                          last edited by

                                          @jmunkki Hi, how are you measuring those intervals? You should count 5 minutes since you receive response from us. Those issues you are describing are probably caused by network delay. I can maybe lower the interval little bit so we are not so strict about this limit.

                                          J 1 Reply Last reply Reply Quote 0
                                          • J Offline
                                            jmunkki @David Ryzec 3
                                            last edited by

                                            @David-Ryzec-3 I placed the timer code just before the HTTP request. Looking at the log, there haven't been any errors in the past 7 hours, so maybe it's fixed, but it could just be luck. We get data every minute, but I'm not in control of that and can not let Windy drive the sample rate. I can of course change the code to send to Windy only every 6 minutes instead of 5 and that will eliminate the issue. I'll switch to a 6 minute send period, if the problem returns.

                                            David Ryzec 3D 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Windy Community  |  Powered by excellent NodeBB
                                            Terms of Use     Privacy Policy     Windy.com