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/c4e33077-73f2-4506-864e-7d43bb328682n%40googlegroups.com.

Reply via email to