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 <vinceska...@gmail.com> 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 bell...@gmail.com
> 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 weewx-user+unsubscr...@googlegroups.com.
> 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 weewx-user+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/CAPq0zEA4WJfBRNFvGLf5sQFFYd740qb9ERvM9cyjAaHcnFcGsA%40mail.gmail.com.

Reply via email to