Hi Tom,

Very close now (good enough for me) as I'm preparing to upgrade from 3.9.2
to 4.x and just testing on a test rig before committing ;-)

./wee_device --set-interval=5 (works, but did take maybe 20+ seconds before
it gave me the chance to hit 'y' to confirm on first attempt) - 2nd time of
running the command, it fires off in a second or two.

./wee_device --clear-memory (works fine after first run with command above)

BUT (I'm not too concerned with this one, but for completeness).

root@raspberrypi:/home/weewx/bin# ./wee_device --info
Using configuration file /home/weewx/weewx.conf
Using WS23xx driver version 0.41 (weewx.drivers.ws23xx)
Querying the station for the configuration...
Traceback (most recent call last):
  File "./wee_device", line 78, in <module>
    main()
  File "./wee_device", line 74, in main
    device.configure(config_dict)
  File "/home/weewx/bin/weewx/drivers/__init__.py", line 67, in configure
    self.do_options(options, parser, config_dict, not options.noprompt)
  File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 320, in do_options
    self.show_info()
  File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 326, in show_info
    config = self.station.getConfig()
  File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 548, in getConfig
    data = self.station.get_raw_data(list(Measure.IDS.keys()))
  File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 791, in get_raw_data
    data_dict = dict(list(zip(labels, [m.conv.binary2value(d) for m, d in
zip(measures, raw_data)])))
  File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 791, in <listcomp>
    data_dict = dict(list(zip(labels, [m.conv.binary2value(d) for m, d in
zip(measures, raw_data)])))
  File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 1494, in binary2value
    0)) - time.timezone
OverflowError: mktime argument out of range

On Tue, 8 Sep 2020 at 16:03, Tom Keffer <[email protected]> wrote:

> We will eventually get there. This is typical of remote debugging!
>
> Try this version.
>
> -tk
>
> On Tue, Sep 8, 2020 at 12:43 AM Nigel Head <[email protected]> wrote:
>
>> Hi Tom,
>>
>> Sorry, still erroring...
>>
>> root@raspberrypi:/home/weewx/bin# ./wee_device --set-interval=5
>> Using configuration file /home/weewx/weewx.conf
>> Using WS23xx driver version 0.41 (weewx.drivers.ws23xx)
>> Changing the interval will clear the station memory.
>> Interval is 60
>> Set interval to 5 minutes (y/n)? y
>> Traceback (most recent call last):
>>   File "./wee_device", line 78, in <module>
>>     main()
>>   File "./wee_device", line 74, in main
>>     device.configure(config_dict)
>>   File "/home/weewx/bin/weewx/drivers/__init__.py", line 67, in configure
>>     self.do_options(options, parser, config_dict, not options.noprompt)
>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 316, in do_options
>>     self.set_interval(options.interval, prompt)
>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 378, in
>> set_interval
>>     self.station.setArchiveInterval(interval)
>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 540, in
>> setArchiveInterva                                      l
>>     self.station.set_archive_interval(interval)
>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 686, in
>> set_archive_inter                                      val
>>     self.ws.write_safe(m.address, *cmd[1:])
>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 1120, in write_safe
>>     command_data = self.write_data(nybble_address,nybbles,encode_constant)
>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 1104, in write_data
>>     self.write_byte([encoded_data[i]])
>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 1017, in write_byte
>>     self.log("%02x" % ord(data))
>> TypeError: ord() expected string of length 1, but list found
>>
>> Nigel
>>
>> On Tue, 8 Sep 2020 at 00:40, Tom Keffer <[email protected]> wrote:
>>
>>> Let's try that again. How about this version?
>>>
>>>
>>>
>>> On Sun, Sep 6, 2020 at 11:00 AM Devonian <[email protected]> wrote:
>>>
>>>> humpf - I don't like this new fangle google group on-line...
>>>>
>>>> Should be
>>>>
>>>> root@raspberrypi:/home/weewx/bin# ./wee_device --set-interval=5
>>>> Using configuration file /home/weewx/weewx.conf
>>>> Using WS23xx driver version 0.41 (weewx.drivers.ws23xx)
>>>> Changing the interval will clear the station memory.
>>>> Interval is 60
>>>> Set interval to 5 minutes (y/n)? y
>>>> Traceback (most recent call last):
>>>>   File "./wee_device", line 78, in <module>
>>>>     main()
>>>>   File "./wee_device", line 74, in main
>>>>     device.configure(config_dict)
>>>>   File "/home/weewx/bin/weewx/drivers/__init__.py", line 67, in
>>>> configure
>>>>     self.do_options(options, parser, config_dict, not options.noprompt)
>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 316, in
>>>> do_options
>>>>     self.set_interval(options.interval, prompt)
>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 378, in
>>>> set_interval
>>>>     self.station.setArchiveInterval(interval)
>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 540, in
>>>> setArchiveInterval
>>>>     self.station.set_archive_interval(interval)
>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 686, in
>>>> set_archive_interval
>>>>     self.ws.write_safe(m.address, *cmd[1:])
>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 1115, in
>>>> write_safe
>>>>     command_data =
>>>> self.write_data(nybble_address,nybbles,encode_constant)
>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 1099, in
>>>> write_data
>>>>     self.write_byte(encoded_data[i])
>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 1012, in
>>>> write_byte
>>>>     self.log("%02x" % six.byte2int(data))
>>>> TypeError: 'int' object is not subscriptable
>>>>
>>>>
>>>> Nigel
>>>>
>>>> On Sunday, 6 September 2020 at 18:58:20 UTC+1 Devonian wrote:
>>>>
>>>>> ooops, ignore the first couple of lines above, copy/paste error
>>>>>
>>>>> Nigel
>>>>>
>>>>> On Sunday, 6 September 2020 at 18:56:22 UTC+1 Devonian wrote:
>>>>>
>>>>>> Hi Tom,
>>>>>>
>>>>>> Thanks, but...
>>>>>>
>>>>>> root@raspberrypi:/home/weewx/bin# ./wee_device --set-interval=5
>>>>>> Using configuration file /home/weewx/weewx.conf
>>>>>> Using WS23xx driver version 0.41 (weewx.drivers.ws23xx)
>>>>>> Changing the interval will clear the station memory.
>>>>>> Interval is 60
>>>>>> Set interval to 5 minutes (y/n)? y
>>>>>> Traceback (most recent call last):
>>>>>>   File "./wee_device", line 78, in <module>
>>>>>>     main()
>>>>>>   File "./wee_device", line 74, in main
>>>>>>     device.configure(config_dict)
>>>>>>   File "/home/weewx/bin/weewx/drivers/__init__.py", line 67, in
>>>>>> configure
>>>>>>     self.do_options(options, parser, config_dict, not
>>>>>> options.noprompt)
>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 316, in
>>>>>> do_options
>>>>>>     self.set_interval(options.interval, prompt)
>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 378, in
>>>>>> set_interval
>>>>>>     self.station.setArchiveInterval(interval)
>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 540, in
>>>>>> setArchiveInterval
>>>>>>     self.station.set_archive_interval(interval)
>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 686, in
>>>>>> set_archive_interval
>>>>>>     self.ws.write_safe(m.address, *cmd[1:])
>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 1115, in
>>>>>> write_safe
>>>>>>     command_data =
>>>>>> self.write_data(nybble_address,nybbles,encode_constant)
>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 1099, in
>>>>>> write_data
>>>>>>     self.write_byte(encoded_data[i])
>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 1012, in
>>>>>> write_byte
>>>>>>     self.log("%02x" % six.byte2int(data))
>>>>>> TypeError: 'int' object is not subscriptable
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------------------------------------------------------------
>>>>>>
>>>>>> root@raspberrypi:/home/weewx/bin# ./wee_device --info
>>>>>> Using configuration file /home/weewx/weewx.conf
>>>>>> Using WS23xx driver version 0.41 (weewx.drivers.ws23xx)
>>>>>> Querying the station for the configuration...
>>>>>> Traceback (most recent call last):
>>>>>>   File "./wee_device", line 78, in <module>
>>>>>>     main()
>>>>>>   File "./wee_device", line 74, in main
>>>>>>     device.configure(config_dict)
>>>>>>   File "/home/weewx/bin/weewx/drivers/__init__.py", line 67, in
>>>>>> configure
>>>>>>     self.do_options(options, parser, config_dict, not
>>>>>> options.noprompt)
>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 320, in
>>>>>> do_options
>>>>>>     self.show_info()
>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 326, in
>>>>>> show_info
>>>>>>     config = self.station.getConfig()
>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 548, in
>>>>>> getConfig
>>>>>>     data = self.station.get_raw_data(list(Measure.IDS.keys()))
>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 791, in
>>>>>> get_raw_data
>>>>>>     data_dict = dict(list(zip(labels, [m.conv.binary2value(d) for m,
>>>>>> d in zip(measures, raw_data)])))
>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 791, in
>>>>>> <listcomp>
>>>>>>     data_dict = dict(list(zip(labels, [m.conv.binary2value(d) for m,
>>>>>> d in zip(measures, raw_data)])))
>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 1489, in
>>>>>> binary2value
>>>>>>     0)) - time.timezone
>>>>>> OverflowError: mktime argument out of range
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------------------------------------------------------------
>>>>>>
>>>>>> root@raspberrypi:/home/weewx/bin# ./wee_device --clear-memory
>>>>>> Using configuration file /home/weewx/weewx.conf
>>>>>> Using WS23xx driver version 0.41 (weewx.drivers.ws23xx)
>>>>>> Records in memory: 4
>>>>>> Clear console memory (y/n)? y
>>>>>> Traceback (most recent call last):
>>>>>>   File "./wee_device", line 78, in <module>
>>>>>>     main()
>>>>>>   File "./wee_device", line 74, in main
>>>>>>     device.configure(config_dict)
>>>>>>   File "/home/weewx/bin/weewx/drivers/__init__.py", line 67, in
>>>>>> configure
>>>>>>     self.do_options(options, parser, config_dict, not
>>>>>> options.noprompt)
>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 318, in
>>>>>> do_options
>>>>>>     self.clear_history(prompt)
>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 395, in
>>>>>> clear_history
>>>>>>     self.station.clearHistory()
>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 565, in
>>>>>> clearHistory
>>>>>>     self.station.clear_memory()
>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 701, in
>>>>>> clear_memory
>>>>>>     self.ws.write_safe(m.address, *cmd[1:])
>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 1115, in
>>>>>> write_safe
>>>>>>     command_data =
>>>>>> self.write_data(nybble_address,nybbles,encode_constant)
>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 1099, in
>>>>>> write_data
>>>>>>     self.write_byte(encoded_data[i])
>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 1012, in
>>>>>> write_byte
>>>>>>     self.log("%02x" % six.byte2int(data))
>>>>>> TypeError: 'int' object is not subscriptable
>>>>>>
>>>>>> Sorry for the pain !
>>>>>>
>>>>>> Nigel
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Sunday, 6 September 2020 at 16:38:02 UTC+1 [email protected] wrote:
>>>>>>
>>>>>>> Looks like you found a bug when running under Python 3. Try this
>>>>>>> version of ws23xx.py.
>>>>>>>
>>>>>>> -tk
>>>>>>>
>>>>>>> On Sun, Sep 6, 2020 at 8:13 AM Devonian <[email protected]> wrote:
>>>>>>>
>>>>>>>> I have setup a clean install (setup.py) in Debian Buster on a R-Pi
>>>>>>>> as per this
>>>>>>>> http://weewx.com/docs/setup.htm
>>>>>>>> and when trying to:
>>>>>>>> ./wee_device --set-interval=5
>>>>>>>>
>>>>>>>> I get this:
>>>>>>>>
>>>>>>>> Using configuration file /home/weewx/weewx.conf
>>>>>>>> Using WS23xx driver version 0.41 (weewx.drivers.ws23xx)
>>>>>>>> Changing the interval will clear the station memory.
>>>>>>>> Interval is 60
>>>>>>>> Set interval to 5 minutes (y/n)? y
>>>>>>>>
>>>>>>>> Traceback (most recent call last):
>>>>>>>>   File "./wee_device", line 78, in <module>
>>>>>>>>     main()
>>>>>>>>   File "./wee_device", line 74, in main
>>>>>>>>     device.configure(config_dict)
>>>>>>>>   File "/home/weewx/bin/weewx/drivers/__init__.py", line 67, in
>>>>>>>> configure
>>>>>>>>     self.do_options(options, parser, config_dict, not
>>>>>>>> options.noprompt)
>>>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 316, in
>>>>>>>> do_options
>>>>>>>>     self.set_interval(options.interval, prompt)
>>>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 378, in
>>>>>>>> set_interval
>>>>>>>>     self.station.setArchiveInterval(interval)
>>>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 540, in
>>>>>>>> setArchiveInterval
>>>>>>>>     self.station.set_archive_interval(interval)
>>>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 686, in
>>>>>>>> set_archive_interval
>>>>>>>>     self.ws.write_safe(m.address, *cmd[1:])
>>>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 1115, in
>>>>>>>> write_safe
>>>>>>>>     command_data =
>>>>>>>> self.write_data(nybble_address,nybbles,encode_constant)
>>>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 1099, in
>>>>>>>> write_data
>>>>>>>>     self.write_byte(encoded_data[i])
>>>>>>>>   File "/home/weewx/bin/weewx/drivers/ws23xx.py", line 1012, in
>>>>>>>> write_byte
>>>>>>>>     self.log("%02x" % ord(data))
>>>>>>>> TypeError: ord() expected string of length 1, but int found
>>>>>>>>
>>>>>>>> In fact, trying to use any wee_device command throws an error.
>>>>>>>>
>>>>>>>> Weewx does run and produces data/graphs, but I want 5 min intervals.
>>>>>>>>
>>>>>>>> Nigel
>>>>>>>>
>>>>>>>> --
>>>>>>>> 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/77c0d927-a9a0-4bc9-b668-efd285b917e8n%40googlegroups.com
>>>>>>>> <https://groups.google.com/d/msgid/weewx-user/77c0d927-a9a0-4bc9-b668-efd285b917e8n%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/0261e4a4-5421-4495-9358-3a26f74b22e3n%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/weewx-user/0261e4a4-5421-4495-9358-3a26f74b22e3n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "weewx-user" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/weewx-user/_eXfjstpDyM/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to
>>> [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/weewx-user/CAPq0zEBdwX5A5MhbDRYhQ8MVkU8UxHC4Ug3ghUUJ3nY0x-OJ6A%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/weewx-user/CAPq0zEBdwX5A5MhbDRYhQ8MVkU8UxHC4Ug3ghUUJ3nY0x-OJ6A%40mail.gmail.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/CA%2BdVQkMZV3yVgr9%3D18M2n62H%3DMX1mapCbEZ7d_qqXi-RwRYbcw%40mail.gmail.com
>> <https://groups.google.com/d/msgid/weewx-user/CA%2BdVQkMZV3yVgr9%3D18M2n62H%3DMX1mapCbEZ7d_qqXi-RwRYbcw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "weewx-user" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/weewx-user/_eXfjstpDyM/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/weewx-user/CAPq0zEDsYS0tSP5g1SGeVVeZzkMDrs6iuJQqwh2n7M%3Dy_jpbgg%40mail.gmail.com
> <https://groups.google.com/d/msgid/weewx-user/CAPq0zEDsYS0tSP5g1SGeVVeZzkMDrs6iuJQqwh2n7M%3Dy_jpbgg%40mail.gmail.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/CA%2BdVQkN9zx%2Bi0TCq3TJNwcK7nqV0nJjK_aC%3DOSbo2ex_XfcycA%40mail.gmail.com.

Reply via email to