John,
Let me clarify. I did exactly what Glen said and replaced the double
quotes in the line. I then restarted weewx and got a similar error
message. It looked to me as though it was pointing to the single quotes,
which I replaced. I then restarted weewx and got the error in the previous
message.
Next, I tried just retyping the line entirely and get the following error
along with the output from the log.info. It seems to point to the line
following the log.info line,which I did not touch!
INFO user.rtgd: ts: 1763588923 (1763588923), self.cache[obs]['ts']:
1763588923 (1763588923), max_age: 600 (600)
CRITICAL user.rtgd: Unexpected exception of type <class 'TypeError'>
DEBUG user.rtgd: rtgdthread: **** Traceback (most recent call last):
DEBUG user.rtgd: rtgdthread: **** File "/etc/weewx/bin/user/rtgd.py",
line 1825, in run
DEBUG user.rtgd: rtgdthread: ****
self.process_packet(_package['payload'])
DEBUG user.rtgd: rtgdthread: ****
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
DEBUG user.rtgd: rtgdthread: **** File "/etc/weewx/bin/user/rtgd.py",
line 1880, in process_packet
DEBUG user.rtgd: rtgdthread: **** cached_packet =
self.packet_cache.get_packet(_conv_packet['dateTime'],
DEBUG user.rtgd: rtgdthread: ****
self.max_cache_age)
DEBUG user.rtgd: rtgdthread: **** File "/etc/weewx/bin/user/rtgd.py",
line 2908, in get_packet
DEBUG user.rtgd: rtgdthread: **** packet[obs] = self.get_value(obs, ts,
max_age)
DEBUG user.rtgd: rtgdthread: ****
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
DEBUG user.rtgd: rtgdthread: **** File "/etc/weewx/bin/user/rtgd.py",
line 2894, in get_value
DEBUG user.rtgd: rtgdthread: **** if obs in self.cache and ts -
self.cache[obs]['ts'] <= max_age:
DEBUG user.rtgd: rtgdthread: ****
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
DEBUG user.rtgd: rtgdthread: **** TypeError: '<=' not supported between
instances of 'int' and 'str'
CRITICAL user.rtgd: Thread exiting. Reason: '<=' not supported between
instances of 'int' and 'str'
The line referenced in the error:
if obs in self.cache and ts - self.cache[obs]['ts'] <= max_age:
On Wednesday, November 19, 2025 at 4:20:43 PM UTC-5 John Kline wrote:
> Hey can’t be single quotes because there are single quotes inside the
> string. Replace the things that look like double quotes with actual double
> quotes.
>
> On Nov 19, 2025, at 1:18 PM, 'Ron Walker' via weewx-user <
> [email protected]> wrote:
>
> Glen, John,
>
>
> I deleted and replaced the double and single quotes in the code. It turns
> out that single quotes threw the same error when I restarted weewx. Here
> the log output from the restart:
>
> DEBUG weewx.engine: Loading service user.rtgd.RealtimeGaugeData
> INFO user.rtgd: version is 0.5.5
> DEBUG weewx.manager: Daily summary version is 4.0
> INFO user.rtgd: Unknown block specified for scroller_text
> INFO user.rtgd: gauge-data.txt will not be exported.
> INFO user.rtgd: '/var/www/html/weewx/steelseries/gauge-data.txt' will be
> generated. min_interval is 2 seconds
> DEBUG weewx.engine: Finished loading service user.rtgd.RealtimeGaugeData
> INFO __main__: Starting up weewx version 5.2.0
> DEBUG weewx.engine: Station does not support reading the time
> INFO weewx.engine: Using binding 'wx_binding' to database 'weewx.sdb'
> INFO weewx.manager: Starting backfill of daily summaries
> INFO weewx.manager: Empty database
> INFO weewx.engine: Starting main packet loop.
> DEBUG weewx.manager: Daily summary version is 4.0
> DEBUG weewx.manager: Daily summary version is 4.0
> CRITICAL user.rtgd: Unexpected exception of type <class 'KeyError'>
> DEBUG user.rtgd: rtgdthread: **** Traceback (most recent call last):
> DEBUG user.rtgd: rtgdthread: **** File "/etc/weewx/bin/user/rtgd.py",
> line 1825, in run
> DEBUG user.rtgd: rtgdthread: ****
> self.process_packet(_package['payload'])
> DEBUG user.rtgd: rtgdthread: ****
> ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
> DEBUG user.rtgd: rtgdthread: **** File "/etc/weewx/bin/user/rtgd.py",
> line 1870, in process_packet
> DEBUG user.rtgd: rtgdthread: **** _conv_packet =
> weewx.units.to_std_system(packet,
> DEBUG user.rtgd: rtgdthread: ****
> self.stats_unit_system)
> DEBUG user.rtgd: rtgdthread: **** File
> "/usr/share/weewx/weewx/units.py", line 1613, in to_std_system
> DEBUG user.rtgd: rtgdthread: **** _datadict_target =
> StdUnitConverters[unit_system].convertDict(datadict)
> DEBUG user.rtgd: rtgdthread: ****
> ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
> DEBUG user.rtgd: rtgdthread: **** KeyError: None
> CRITICAL user.rtgd: Thread exiting. Reason: None
>
> Thanks for staying with me on this!
>
> On Wednesday, November 19, 2025 at 2:25:37 PM UTC-5 Glenn McKechnie wrote:
>
>> On Thu, 20 Nov 2025 at 05:34, 'Ron Walker' via weewx-user <
>> [email protected]> wrote:
>>
>>> John,
>>>
>>> I deleted the max_cache_age line and retyped it, in case there was any
>>> text I couldn't see.
>>>
>>> Here is the line you requested:
>>> File "/etc/weewx/bin/user/rtgd.py", line 2893
>>> log.info(\u201cts: %s (%s), self.cache[obs][\u2018ts\u2019]: %s
>>> (%s), max_age: %s (%s)\u201d % (ts, ts, self.cache[obs][\u2018ts\u2019],
>>> self.cache[obs][\u2018ts\u2019], max_age, max_age))
>>> ^
>>> SyntaxError: invalid character '\u201c' (U+201C)
>>>
>>
>> That syntax error is the result of non-ascii characters in your log.info
>> string. Specifically - smart quotes. They are showing up as \u201c and
>> \201d instead.
>>
>> Where you see *" or **”* ie :- 'double quotes' delete them and replace
>> them with the plain* " *character from your keyboard. Use a plain text
>> editor to do it and it will have no choice but to insert the correct
>> character. Use nano, vim or whatever is your favourite editor
>>
>> There is a subtle difference in their appearance and while they appear
>> the same, they are most definitely not.
>>
>>
>> Cheers
>> Glenn (VK3GLN)
>>
>> Various WeeWx addons at
>> https://github.com/glennmckechnie
>>
> --
>
> 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 visit
> https://groups.google.com/d/msgid/weewx-user/449edf27-cfd2-4050-8700-a368880e9e6fn%40googlegroups.com
>
> <https://groups.google.com/d/msgid/weewx-user/449edf27-cfd2-4050-8700-a368880e9e6fn%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 visit
https://groups.google.com/d/msgid/weewx-user/5fabfcb7-59e5-46ce-aed8-ff212d348b53n%40googlegroups.com.