Good to here. Work around or bug fix, I guess that is in the eye of the beholder…. While the docs may need some ‘sprucing up’, if one performs static code analysis; the error is pretty obvious. Here is the lint error I got when I removed it ‘bin/user/MQTTSubscribe.py:2155:4: W0236: Method 'hardware_name' was expected to be 'property', found it instead as 'method' (invalid-overridden-method)‘ rich On Sunday 18 February 2024 at 15:07:53 UTC-5 vince wrote:
> I can confirm that adding @property in the driver and restarting weewx > 'does' work as a workaround, assuming you didn't use example.com as your > host (sigh - another undocumented thing). > > # add the next line here around line 289 in the driver or so... > @property > def hardware_name(self): > return HARDWARE_NAME > > So there's at least one WeatherFlowUDP v5 system registered now. Cool. > > Thanks Rich ! > > On Sunday, February 18, 2024 at 11:03:07 AM UTC-8 [email protected] wrote: > >> Quick look of the code and it looks like ‘example.com’ is rejected. >> Seems the error logging could be improved. I’ll poke around and see if I >> can create a decent pull request. But, I may have to defer to the experts. >> >> On Sunday 18 February 2024 at 13:30:44 UTC-5 vince wrote: >> >>> I tried to do so but am still getting BAD REQUEST trying to register a >>> test pi. Of course now it'll wait a day til trying again. Sigh. >>> >>> I opened https://github.com/weewx/weewx/issues/936 on this one rather >>> than get multiple conversations all cross-intermingled here. >>> >>> >>> On Sunday, February 18, 2024 at 7:16:17 AM UTC-8 [email protected] >>> wrote: >>> >>>> >>>> I’d try adding the missing @property decorator. All signs point to that >>>> being the problem. It can’t hurt and it fixes a bug. >>>> On Sunday 18 February 2024 at 01:01:05 UTC-5 vince wrote: >>>> >>>>> Meaning what for users or devs ? >>>>> >>>>> >>>>> On Saturday, February 17, 2024 at 3:45:38 PM UTC-8 Tom Keffer wrote: >>>>> >>>>>> The difference is that to upload to the station registry, V5 uses an >>>>>> HTTP POST with a serialized JSON payload, while V4 uses an HTTP GET. >>>>>> The >>>>>> GET sent an "unbound method" to the registry as a query parameter. We >>>>>> get a >>>>>> lot of those, so I included a bit of code to salvage the hardware type >>>>>> from >>>>>> the "unbound method" parameter. Hence, no one noticed. >>>>>> >>>>>> >>>>>> >>>>>> On Sat, Feb 17, 2024 at 2:24 PM vince <[email protected]> wrote: >>>>>> >>>>>>> There are 75 currently registered sites using this driver but 'all' >>>>>>> are showing as running 4.x so I'm guessing something changed in v5 >>>>>>> weewx...... >>>>>>> >>>>>>> On Saturday, February 17, 2024 at 1:44:38 PM UTC-8 [email protected] >>>>>>> wrote: >>>>>>> >>>>>>>> Theory: >>>>>>>> Drivers are suppose to implement hardware_name as a property. The >>>>>>>> driver is missing the @property for hardware_name. When WeeWX accesses >>>>>>>> it >>>>>>>> as property, for example, instance.hardware_name it returns the >>>>>>>> function >>>>>>>> definition. >>>>>>>> Try adding the @property decorator to hardware_name in the driver. >>>>>>>> (I did some minor testing by removing it in my driver) >>>>>>>> If this is it, I am stumped why it ever worked…. >>>>>>>> rich >>>>>>>> >>>>>>>> On Saturday 17 February 2024 at 13:49:06 UTC-5 vince wrote: >>>>>>>> >>>>>>>>> Tom - I can duplicate this here with 5.0.2 running vs. my >>>>>>>>> wfudpsimulator tool since I don't have actual hardware any more >>>>>>>>> >>>>>>>>> If registering is enabled, you get that error when the archive >>>>>>>>> period rolls around. >>>>>>>>> >>>>>>>>> I added some debugging to restx that might help. >>>>>>>>> >>>>>>>>> # Delay the registration by a random amount so all >>>>>>>>> stations don't hit the server >>>>>>>>> # at the same time. >>>>>>>>> _registry_dict.setdefault('delay_post', random.randint(0, >>>>>>>>> 45)) >>>>>>>>> >>>>>>>>> log.info("StationRegistry _registry_dict: %s", >>>>>>>>> _registry_dict) >>>>>>>>> >>>>>>>>> Which outputs.... >>>>>>>>> >>>>>>>>> 2024-02-17T10:36:57.489015-08:00 raspberrypi weewxd[1902]: INFO >>>>>>>>> weewx.restx: StationRegistry _registry_dict: {'log_success': True, >>>>>>>>> 'log_failure': True, 'station_url': ' >>>>>>>>> https://www.example.com/no-station-here', 'station_type': >>>>>>>>> 'WeatherFlowUDP', 'description': 'WeatherflowUDP Simulator test >>>>>>>>> station', >>>>>>>>> 'latitude': 47.31, 'longitude': -122.36, 'station_model': <bound >>>>>>>>> method >>>>>>>>> WeatherFlowUDPDriver.hardware_name of >>>>>>>>> <user.weatherflowudp.WeatherFlowUDPDriver object at 0xf6ff9670>>, >>>>>>>>> 'config_path': '/home/pi/weewx-data/weewx.conf', 'entry_path': >>>>>>>>> '/home/pi/weewx-venv/lib/python3.11/site-packages/weewxd.py', >>>>>>>>> 'delay_post': >>>>>>>>> 39} >>>>>>>>> >>>>>>>>> Notice the station_model value. Looks a little odd.... >>>>>>>>> >>>>>>>>> The driver sets the following.... >>>>>>>>> >>>>>>>>> # Default settings... >>>>>>>>> DRIVER_VERSION = "1.10" >>>>>>>>> HARDWARE_NAME = "WeatherFlow" >>>>>>>>> DRIVER_NAME = 'WeatherFlowUDP' >>>>>>>>> >>>>>>>>> Notice the single quotes around DRIVER_NAME there ? >>>>>>>>> Perhaps some obscure single vs. double quote thing going on ? >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>> 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/742f4e63-77e3-41bc-b24d-ed98a37ab343n%40googlegroups.com >>>>>>> >>>>>>> <https://groups.google.com/d/msgid/weewx-user/742f4e63-77e3-41bc-b24d-ed98a37ab343n%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/6d021dc2-f8cd-4aca-8f95-2845eb910477n%40googlegroups.com.
