you might want to do this as a standalone driver instead of try to merge the functionality into the wmr9x8 driver.
it probably means quite a bit of code duplication, at least for the first implementation. but there is already a lot of duplication between the wmr drivers (other than wmr300 - it is a different beast altogether).
by any chance have you been able to communicate with the wmr89 via usb? i cannot even get the oregon scientific software to run, let alone sniff whatever it does on the usb.
m
Anyway, with the information found on wxforum, I've managed to modify a linux kernel driver to make the WMR89 show up as a USB serial interface in Linux.
On Wednesday, January 17, 2018 at 5:32:07 PM UTC-5, andr3id wrote:Anyway, with the information found on wxforum, I've managed to modify a linux kernel driver to make the WMR89 show up as a USB serial interface in Linux.welcome! could you post the instructions for what you did to modify the kernel driver? based on conversations with marunio, i wrote a wmr89 driver that *should* properly decode data. unfortunately, all of the hardware i have at hand has serial drivers that refuse to permit the non-standard baud.
It worked with a newer version of Python and a newer pyserial. I've build python 3.6.4 on the RPi and then installed pyserial through the built-in pip tool. To test the weewx driver I have to fix a newer Python 2 on RPi and then I'll spend some time to verify the data.
Apr 04 16:44:06 weatherstation weewx[6069]: **** File "/usr/share/weewx/weewx/engine.py", line 871, in main
Apr 04 16:44:06 weatherstation weewx[6069]: **** engine.run()
Apr 04 16:44:06 weatherstation weewx[6069]: **** File "/usr/share/weewx/weewx/engine.py", line 187, in run
Apr 04 16:44:06 weatherstation weewx[6069]: **** for packet in self.console.genLoopPackets():
Apr 04 16:44:06 weatherstation weewx[6069]: **** File "/usr/share/weewx/user/wmr89mwall.py", line 106, in genLoopPackets
Apr 04 16:44:06 weatherstation weewx[6069]: **** for pkt in self.station.get_data():
Apr 04 16:44:06 weatherstation weewx[6069]: **** File "/usr/share/weewx/user/wmr89mwall.py", line 222, in get_data
Apr 04 16:44:06 weatherstation weewx[6069]: **** (ord(x), _fmt(a[i])))
Apr 04 16:44:06 weatherstation weewx[6069]: **** TypeError: ord() expected a character, but string of length 2 found
Apr 04 16:44:06 weatherstation weewx[6069]: **** Exiting.
I still have some issues with WMR89 driver aka wmr89.py but I think those will be sorted out quite nicely in GitHub.
Best regards,
Kimmo