Problems to read data from WMR928NX with weewx (Newbie)

42 views
Skip to first unread message

westwind

unread,
May 6, 2020, 5:21:51 AM5/6/20
to weewx-user
Hi all,

found weewx yesterday and decided to try it with my old WMR928NX on a debian buster server.

This is the section I modified in the .conf-File:

    # Set to type of station hardware. There must be a corresponding stanza
    # in this file with a 'driver' parameter indicating the driver to be used.
    station_type = WMR9x8

    # If you have a website, you may specify an URL
    #station_url = http://www.example.com

    # The start of the rain year (1=January; 10=October, etc.). This is
    # downloaded from the station if the hardware supports it.
    rain_year_start = 1

    # Start of week (0=Monday, 6=Sunday)
    week_start = 6

##############################################################################

[WMR9x8]
    # This section is for the Oregon Scientific WMR918/968

    # Connection type. For now, 'serial' is the only option.
    type = serial

    # Serial port such as /dev/ttyS0, /dev/ttyUSB0, or /dev/cuaU0
       port = /dev/ttyS1

    # The station model, e.g., WMR918, Radio Shack 63-1016
    model = WMR928NX

    # The driver to use:
    driver = weewx.drivers.wmr9x8



But when I start weexd for the first time, I get (after about 10 sec):

Traceback (most recent call last):
  File "/usr/share/weewx/weewxd", line 261, in <module>
    main()
  File "/usr/share/weewx/weewxd", line 154, in main
    engine.run()
  File "/usr/share/weewx/weewx/engine.py", line 188, in run
    for packet in self.console.genLoopPackets():
  File "/usr/share/weewx/weewx/drivers/wmr9x8.py", line 243, in genLoopPackets
    buf.extend(list(map(ord, self.port.read(preBufferSize - len(buf)))))
TypeError: ord() expected string of length 1, but int found


I think, I managed everything correctly. I checked the serial port by:

stty -F /dev/ttyS1 9600 cs8 -cstopb -parenb

stty -F /dev/ttyS1 raw

cat /dev/ttyS1

and I get some data like that:

�� "M�� 2�� ��� ' E��@ @ ���@ ��� $�� P ���� f �


I don't know, what I'm doing wrong. Is this a problem of my setting or is it the code (what I don't think at all)?

Would by nice, if someone could help...

Thanks,
Westwind

Tom Keffer

unread,
May 6, 2020, 8:24:04 AM5/6/20
to weewx-user
You're not doing anything wrong. It's a bug: the driver was not completely ported to Python 3.

replace your copy of /usr/share/weewx/weewx/drivers/wmr9x8.py with the attached. 

There may other bugs in there, but we'll figure them out.

-tk

--
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+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/37d08df2-12be-4432-a949-e746f71be450%40googlegroups.com.
wmr9x8.py

westwind

unread,
May 6, 2020, 9:06:15 AM5/6/20
to weewx-user
Oh, thanks!

It seems to work!!!

Tom Keffer

unread,
May 6, 2020, 10:50:56 AM5/6/20
to weewx-user
Commit 9844b6b

-tk

--
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+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages