Arend

Great call sir! In fact even though I use all metric units with my station
that unit was not set at all. Added group_distance = km to the Belchertown
skin and that has solved the problem

Many thanks!

Regards and best to you.
Colin

On Sun, 27 Dec 2020 at 01:07, Arend <[email protected]> wrote:

> Hi Colin,
>
> Could you please check in weewx.conf if your setting for group_distance is
> set to km? Like this:
>
>     [[Defaults]]
>         [[[Units]]]
>             # The following section sets what unit to use for each unit
> group.
>             # NB: The unit is always in the singular. I.e.,
> 'mile_per_hour',
>             # NOT 'miles_per_hour'
>             [[[[Groups]]]]
>                 group_altitude = meter    # Options are 'foot' or 'meter'
>                 group_degree_day = degree_C_day    # Options are
> 'degree_F_day' or 'degree_C_day'
>                 *group_distance = km    # Options are 'mile' or 'km'*
>                 group_pressure = hPa    # Options are 'inHg', 'mmHg',
> 'mbar', or 'hPa'
>                 group_rain = mm    # Options are 'inch', 'cm', or 'mm'
>                 group_rainrate = mm_per_hour    # Options are
> 'inch_per_hour', 'cm_per_hour', or 'mm_per_hour'
>                 group_speed = km_per_hour    # Options are
> 'mile_per_hour', 'km_per_hour', 'knot', or 'meter_per_second'
>                 group_speed2 = km_per_hour2    # Options are
> 'mile_per_hour2', 'km_per_hour2', 'knot2', or 'meter_per_second2'
>                 group_temperature = degree_C    # Options are 'degree_F'
> or 'degree_C'
>
> Regards, Arend
> Op vrijdag 25 december 2020 om 19:40:31 UTC+1 schreef [email protected]:
>
>> With the GeoNet problem I had now fixed I am also getting distances to
>> earthquake locations in miles, when the rest of my site is km
>>
>> Thanks
>> Colin
>>
>> On Fri, 25 Dec 2020, 23:35 [email protected], <[email protected]> wrote:
>>
>>> 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
>>> <https://groups.google.com/d/msgid/weewx-user/a4225415-7a3f-4842-9056-c85738b47d0an%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
> 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/ff274b89-295d-4de5-b899-8c1551c40e94n%40googlegroups.com
> <https://groups.google.com/d/msgid/weewx-user/ff274b89-295d-4de5-b899-8c1551c40e94n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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/CACjxfUvsM_7_KvVYeaDW2os6erw6AJREGDMKj4SYDeheeCLcEQ%40mail.gmail.com.

Reply via email to