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

    Report your Weather Station Data to Windy

    Scheduled Pinned Locked Moved Windy Stations
    404 Posts 157 Posters 846.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.
    • SutyS Offline
      Suty Administrator @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 Administrator @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 Developers @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
                                          • David Ryzec 3D Offline
                                            David Ryzec 3 Developers @jmunkki
                                            last edited by

                                            @jmunkki I lowered the limit a little so you should see no errors now

                                            1 Reply Last reply Reply Quote 2
                                            • First post
                                              Last post
                                            Windy Community  |  Powered by excellent NodeBB
                                            Terms of Use     Privacy Policy     Windy.com