yes, it works, thanks for the adjustment. Ton http://weerstationnibbixwoud.nl/
Op woensdag 28 oktober 2020 om 18:45:37 UTC+1 schreef [email protected]: > Hallo Arend, > > Yes, it's working! > > Just aligning the new line after #25-10.4 solved the problem, manymany > thanks! > > Best regards, Keimpe > > Op woensdag 28 oktober 2020 om 15:31:29 UTC+1 schreef Arend: > >> Hi Keimpe, >> >> I have a suspicion why it didn't work out for you. Copying your code from >> your previous post into a text editor revealed that the changes you made >> were not properly alligned. The Python language is sensitive to >> indentation. The screenshot below shows a green and red line. The second >> eqmag (#25-10.4) should have been lined up to the green line like the first >> eqmag (#25-10.3). But instead it was lined up to the red line, probably >> causing an exception (error) which would result in displaying that there >> was no earthquake data available. >> >> [image: Toelichting uitlijning code.png] >> >> I have included a new version of belchertown.py that has already been >> modified with the correct changes. Could you be so kind to download this >> file and use it to replace the existing belchertown.py. If this works then >> I will use this file for a pull request. >> >> >> Mvg, Arend >> >> >> Op woensdag 28 oktober 2020 om 11:38:34 UTC+1 schreef [email protected]: >> >>> Hoi Arend, >>> >>> Thanks for your efforts. >>> >>> Now changed back to the original file and (of cours) the EQ data is >>> back, as expected in 'mijl'. >>> In the log there is no related error, the only recursive error is a >>> Failed to publish record .... to WOW. >>> Undermentioned you may find the earthquake section of belchertown.py >>> with the recommended changes. Between empty lines the original lines ar >>> commented out with #25-10.1 (#date and 1 is the line-number as suggested in >>> your GitHub post), following the line copied from GitHub. >>> >>> Regards, Keimpe >>> >>> >>> """ >>> Earthquake Data >>> """ >>> # Only process if Earthquake data is enabled >>> if self.generator.skin_dict['Extras']['earthquake_enabled'] == >>> "1": >>> earthquake_file = html_root + "/json/earthquake.json" >>> earthquake_stale_timer = >>> self.generator.skin_dict['Extras']['earthquake_stale'] >>> latitude = self.generator.config_dict['Station']['latitude'] >>> longitude = >>> self.generator.config_dict['Station']['longitude'] >>> >>> #25-10.1 distance_unit = converter.group_unit_dict["group_distance"] >>> distance_unit = >>> self.generator.converter.group_unit_dict["group_distance"] >>> >>> eq_distance_label = >>> self.generator.skin_dict['Units']['Labels'].get(distance_unit, "") >>> eq_distance_round = >>> self.generator.skin_dict['Units']['StringFormats'].get(distance_unit, >>> "%.1f") >>> earthquake_maxradiuskm = >>> self.generator.skin_dict['Extras']['earthquake_maxradiuskm'] >>> #Sample URL from Belchertown Weather: >>> http://earthquake.usgs.gov/fdsnws/event/1/query?limit=1&lat=42.223&lon=-72.374&maxradiuskm=1000&format=geojson&nodata=204&minmag=2 >>> if self.generator.skin_dict['Extras']['earthquake_server'] >>> == "USGS": >>> earthquake_url = " >>> http://earthquake.usgs.gov/fdsnws/event/1/query?limit=1&lat=%s&lon=%s&maxradiuskm=%s&format=geojson&nodata=204&minmag=2" >>> >>> % ( latitude, longitude, earthquake_maxradiuskm ) >>> elif self.generator.skin_dict['Extras']['earthquake_server'] >>> == "GeoNet": >>> earthquake_url = "https://api.geonet.org.nz/quake?MMI=4" >>> earthquake_is_stale = False >>> >>> # Determine if the file exists and get it's modified time >>> if os.path.isfile( earthquake_file ): >>> if ( int( time.time() ) - int( os.path.getmtime( >>> earthquake_file ) ) ) > int( earthquake_stale_timer ): >>> earthquake_is_stale = True >>> else: >>> # File doesn't exist, download a new copy >>> earthquake_is_stale = True >>> >>> # File is stale, download a new copy >>> if earthquake_is_stale: >>> # Download new earthquake data >>> try: >>> try: >>> # Python 3 >>> from urllib.request import Request, urlopen >>> except ImportError: >>> # Python 2 >>> from urllib2 import Request, urlopen >>> user_agent = 'Mozilla/5.0 (Macintosh; U; Intel Mac >>> OS X 10_6_4; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.63 >>> Safari/534.3' >>> headers = { 'User-Agent' : user_agent } >>> req = Request( earthquake_url, None, headers ) >>> response = urlopen( req ) >>> page = response.read() >>> response.close() >>> if weewx.debug: >>> logdbg( "Downloading earthquake data using >>> urllib2 was successful" ) >>> except Exception as forecast_error: >>> if weewx.debug: >>> logdbg( "Error downloading earthquake data with >>> urllib2, reverting to curl and subprocess. Full error: %s" % forecast_error >>> ) >>> # Nested try - only execute if the urllib2 method >>> fails >>> try: >>> import subprocess >>> command = 'curl -L --silent "%s"' % >>> earthquake_url >>> p = subprocess.Popen(command, shell=True, >>> stdout=subprocess.PIPE, stderr=subprocess.STDOUT) >>> page = p.communicate()[0] >>> if weewx.debug: >>> logdbg( "Downloading earthquake data with >>> curl was successful." ) >>> except Exception as error: >>> raise Warning( "Error downloading earthquake >>> data using urllib2 and subprocess curl. Your software may need to be >>> updated, or the URL is incorrect. You are trying to use URL: %s, and the >>> error is: %s" % ( earthquake_url, error ) ) >>> >>> # Save earthquake data to file. w+ creates the file if >>> it doesn't exist, and truncates the file and re-writes it everytime >>> try: >>> with open( earthquake_file, 'wb+' ) as file: >>> # Python 2/3 >>> try: >>> file.write( page.encode('utf-8') ) >>> except: >>> file.write( page ) >>> if weewx.debug: >>> logdbg( "Earthquake data saved to %s" % >>> earthquake_file ) >>> except IOError as e: >>> raise Warning( "Error writing earthquake data to %s. >>> Reason: %s" % ( earthquake_file, e) ) >>> >>> # Process the earthquake file >>> with open( earthquake_file, "r" ) as read_file: >>> try: >>> eqdata = json.load( read_file ) >>> except: >>> eqdata = "" >>> >>> try: >>> if >>> self.generator.skin_dict['Extras']['earthquake_server'] == "USGS": >>> eqtime = eqdata["features"][0]["properties"]["time"] >>> / 1000 >>> equrl = eqdata["features"][0]["properties"]["url"] >>> eqplace = >>> eqdata["features"][0]["properties"]["place"] >>> >>> #25-10.3 eqmag = eqdata["features"][0]["properties"]["mag"] >>> eqmag = locale.format("%g", >>> float(eqdata["features"][0]["properties"]["mag"]) ) >>> >>> elif >>> self.generator.skin_dict['Extras']['earthquake_server'] == "GeoNet": >>> eqtime = eqdata["features"][0]["properties"]["time"] >>> #convert time to UNIX format >>> eqtime = eqtime.replace("Z","") >>> eqtime = datetime.datetime.fromisoformat(eqtime) >>> eqtime = >>> int(eqtime.replace(tzinfo=datetime.timezone.utc).timestamp()) >>> equrl = ("https://www.geonet.org.nz/earthquake/" + >>> >>> eqdata["features"][0]["properties"]["publicID"]) >>> eqplace = >>> eqdata["features"][0]["properties"]["locality"] >>> >>> #25-10.4 eqmag = >>> round(eqdata["features"][0]["properties"]["magnitude"],1) >>> eqmag = locale.format("%g", >>> float(round(eqdata["features"][0]["properties"]["magnitude"],1)) ) >>> >>> eqlat = str( round( >>> eqdata["features"][0]["geometry"]["coordinates"][1], 4 ) ) >>> eqlon = str( round( >>> eqdata["features"][0]["geometry"]["coordinates"][0], 4 ) ) >>> eqdistance_bearing = >>> self.get_gps_distance((float(latitude), float(longitude)), >>> >>> (float(eqlat), float(eqlon)), >>> >>> distance_unit) >>> >>> #25-10.2 eqdistance = eq_distance_round % eqdistance_bearing[0] >>> eqdistance = locale.format("%g", float(eq_distance_round >>> % eqdistance_bearing[0]) ) >>> >>> eqbearing = eqdistance_bearing[1] >>> eqbearing_raw = eqdistance_bearing[2] >>> except: >>> # No earthquake data >>> eqtime = label_dict["earthquake_no_data"] >>> equrl = "" >>> eqplace = "" >>> eqmag = "" >>> eqlat = "" >>> eqlon = "" >>> eqdistance = "" >>> eqbearing = "" >>> eqbearing_raw = "" >>> >>> else: >>> eqtime = "" >>> equrl = "" >>> eqplace = "" >>> eqmag = "" >>> eqlat = "" >>> eqlon = "" >>> eqdistance = "" >>> eqbearing = "" >>> eqbearing_raw = "" >>> eq_distance_label = "" >>> >>> >>> Op dinsdag 27 oktober 2020 om 22:54:22 UTC+1 schreef Arend: >>> >>>> I am going to make a pull request out of this issue, hopefully Pat will >>>> incorporate this fix into the master. That way you will be able to >>>> download >>>> it from the repository. >>>> In the mean time you could try to replace the modified file with the >>>> original from the repo and see what happens. Did you check your logs for >>>> errors? >>>> >>>> Mvg, Arend >>>> >>>> Op dinsdag 27 oktober 2020 om 21:36:04 UTC+1 schreef [email protected]: >>>> >>>>> Hi Arend, >>>>> >>>>> Thanks for the suggestions. >>>>> >>>>> - The JSON tels me about an eartquake 6 km E of Belle-Plagne in >>>>> France, and lat=53.254&lon=5.895&maxradiuskm=2000 as set in my config, >>>>> seems OK to me. >>>>> - The config is same as yours >>>>> - I checked the changes in belchertown.py, the only difference with >>>>> your fixes is the order of the 4 lines, they do not come across these >>>>> consecutively from top to bottom as you suggested, but first 1 (line >>>>> 1060), >>>>> then 3 (line 1139), then 4 (line 1152) and finally 2 (line 1161). I >>>>> copy/pasted the lines (again) from GitHub in the editor. >>>>> >>>>> And still no data... >>>>> >>>>> Regards, Keimpe >>>>> >>>>> Op dinsdag 27 oktober 2020 om 20:51:31 UTC+1 schreef Arend: >>>>> >>>>>> Goedenavond Keimpe, >>>>>> >>>>>> You can check your earthquake file typing this into your browser: >>>>>> >>>>>> http://oentsjerk.eu/json/earthquake.json >>>>>> >>>>>> It shows the same data as mine which means it is loaded/updated >>>>>> correctly, check the epoch timestamp to verify when it was >>>>>> downloaded/updated. >>>>>> Are you sure you copied the changes the right way (without additional >>>>>> tabs or spaces)? >>>>>> Are there no errors in your logs? >>>>>> My configuration shows this: >>>>>> >>>>>> # Earthquake defaults >>>>>> earthquake_enabled = 1 >>>>>> earthquake_maxradiuskm = 2000 >>>>>> earthquake_stale = 10740 >>>>>> earthquake_server = USGS >>>>>> >>>>>> Does it match yours? >>>>>> >>>>>> Mvg, Arend >>>>>> >>>>>> Op dinsdag 27 oktober 2020 om 19:30:46 UTC+1 schreef >>>>>> [email protected]: >>>>>> >>>>>>> Hi Arend, >>>>>>> >>>>>>> Stil no recent earthquake data avilable (http://oentsjerk.eu). Can >>>>>>> I have your URL to check the actuality? >>>>>>> >>>>>>> Regards, Keimpe >>>>>>> >>>>>>> >>>>>>> Op zondag 25 oktober 2020 om 11:46:06 UTC+1 schreef >>>>>>> [email protected]: >>>>>>> >>>>>>>> Goedemiddag Arend, >>>>>>>> >>>>>>>> Thnx, changes made! >>>>>>>> At this time it says 'no recent data avilabale' so I have to wait >>>>>>>> for een eartqauke data-update. >>>>>>>> Keep you informed. >>>>>>>> >>>>>>>> Regards, Keimpe >>>>>>>> >>>>>>>> Op zaterdag 24 oktober 2020 om 21:46:02 UTC+2 schreef Arend: >>>>>>>> >>>>>>>>> Hi Keimpe, >>>>>>>>> >>>>>>>>> I had the same problem and created an issue about this in the >>>>>>>>> repo. You can use the fix, let me know if it works for you. >>>>>>>>> >>>>>>>>> https://github.com/poblabs/weewx-belchertown/issues/422 >>>>>>>>> >>>>>>>>> Mvg, Arend >>>>>>>>> >>>>>>>>> Op zaterdag 24 oktober 2020 om 21:04:04 UTC+2 schreef >>>>>>>>> [email protected]: >>>>>>>>> >>>>>>>>>> Thnx Vince, Strange, also on mobile, WLAN and 4G network, the >>>>>>>>>> same problem so it can't be a localization issue related to the >>>>>>>>>> network. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Op zaterdag 24 oktober 2020 om 20:49:37 UTC+2 schreef vince: >>>>>>>>>> >>>>>>>>>>> On Saturday, October 24, 2020 at 10:47:03 AM UTC-7, >>>>>>>>>>> [email protected] wrote: >>>>>>>>>>>> >>>>>>>>>>>> I'm facing just a minor issue: in the skin.conf is defined >>>>>>>>>>>> 'earthquake_maxradiuskm = 2000'. Therefore I'm expecting a >>>>>>>>>>>> distance in >>>>>>>>>>>> km's, but the actual distance as well as the units are still in >>>>>>>>>>>> miles (mijl >>>>>>>>>>>> in Dutch). How to resolve this? (http://oentsjerk.eu/) >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> I see km when I look at your page. >>>>>>>>>>> >>>>>>>>>> -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/a4225415-7a3f-4842-9056-c85738b47d0an%40googlegroups.com.
