Erik,

I'm taking a stab in the dark here. But you probably have to tell the WXT5 
to provide output in the format you want which I assume is ASCII and it's 
currently set to NMEA 0183. 
Check the 
manual 
https://www.vaisala.com/sites/default/files/documents/WXT530-User-Guide-in-English-M211840EN-E.pdf
Page 157.

   - Problem
   Data messages are not
   in expected format.
   - Possible causes
   The communication protocol may not be the one you want.
   - Action(s)
   Check the communication
   protocol of the device by using the
   Vaisala Configuration Tool or any
   terminal with command aXU,M!
   (SDI-12) aXU,M<cr><lf> (ASCII/
   NMEA) and change it if needed
   
Hope this helps you. I used to these issues when I was surveying cable.
On Tuesday, October 13, 2020 at 5:47:08 AM UTC-4 Erik Finskas wrote:

> Thanks Tom, that driver seems to work OK.
>
> Though now I faced another issue, it looks like the WXT510 is emitting 
> NMEA strings which the driver is not capable of yet ;(
>
> Oct 13 12:38:49 PusulaServer weewx[1561] DEBUG user.wxt5x0-python3: raw: 
> 24 57 49 58 44 52 2C 41 2C 32 34 32 2C 44 2C 31 2C 41 2C 32 39 33 2C 44 2C 
> 32 2C 53 2C 33 2E 30 2C 53 2C
>  31 2C 53 2C 35 2E 32 2C 53 2C 32 2C 43 2C 34 38 2E 39 2C 46 2C 30 2C 48 
> 2C 37 39 2E 37 2C 50 2C 30 2C 50 2C 32 39 2E 37 37 2C 49 2C 30 2C 56 2C 34 
> 2E 30 31 30 2C 49 2C 30 2C 5A
>  2C 31 34 36 30 38 2C 73 2C 30 2C 52 2C 30 2E 30 30 2C 49 2C 30 2C 56 2C 
> 30 2C 49 2C 31 2C 5A 2C 30 2C 73 2C 31 2C 52 2C 30 2C 49 2C 31 2C 52 2C 32 
> 2E 37 37 2C 49 2C 32 2C 52 2C
>  30 2C 49 2C 33 2C 43 2C 34 38 2E 35 2C 46 2C 32 2C 55 2C 31 33 2E 30 2C 
> 4E 2C 30 2C 55 2C 31 33 2E 35 2C 56 2C 31 2C 55 2C 33 2E 35 32 33 2C 56 2C 
> 32 2A 37 33 0D 0A
> Oct 13 12:38:49 PusulaServer weewx[1561] DEBUG user.wxt5x0-python3: 
> parsed: {}
> Oct 13 12:38:49 PusulaServer weewx[1561] DEBUG user.wxt5x0-python3: 
> mapped: {}
>
> The hex string decodes to an apparent NMEA message of 
> $WIXDR,A,247,D,1,A,295,D,2,S,3.7,S,1,S,6.5,S,2,C,48.9,F,0,H,79.5,P,0,P,29.77,I,0,V,4.010,I,0,Z,14608,s,0,R,0.00,I,0,V,0,I,1,Z,0,s,1,R,0,I,1,R,2.77,I,2,R,0,I,3,C,48.2,F,2,U,13.9,N,0,U,13.5,V,1,U,3.525,V,2*79
>
> When reconfiguring weewx for NMEA, I get this;
> Oct 13 12:39:50 PusulaServer weewx[1691] ERROR weewx.engine: Import of 
> driver failed: NMEA support not implemented (<class 'NotImplementedError'>)
> Oct 13 12:39:50 PusulaServer weewx[1691] CRITICAL weewx.engine:     **** 
>  Traceback (most recent call last):
> Oct 13 12:39:50 PusulaServer weewx[1691] CRITICAL weewx.engine:     ****   
>  File "/usr/share/weewx/weewx/engine.py", line 103, in setupStation
> Oct 13 12:39:50 PusulaServer weewx[1691] CRITICAL weewx.engine:     ****   
>    self.console = loader_function(config_dict, self)
> Oct 13 12:39:50 PusulaServer weewx[1691] CRITICAL weewx.engine:     ****   
>  File "/usr/share/weewx/user/wxt5x0-python3.py", line 108, in loader
> Oct 13 12:39:50 PusulaServer weewx[1691] CRITICAL weewx.engine:     ****   
>    return WXT5x0Driver(**config_dict[DRIVER_NAME])
> Oct 13 12:39:50 PusulaServer weewx[1691] CRITICAL weewx.engine:     ****   
>  File "/usr/share/weewx/user/wxt5x0-python3.py", line 483, in __init__
> Oct 13 12:39:50 PusulaServer weewx[1691] CRITICAL weewx.engine:     ****   
>    self._station = WXT5x0Driver.STATION.get(protocol)(address, port, baud)
> Oct 13 12:39:50 PusulaServer weewx[1691] CRITICAL weewx.engine:     ****   
>  File "/usr/share/weewx/user/wxt5x0-python3.py", line 392, in __init__
> Oct 13 12:39:50 PusulaServer weewx[1691] CRITICAL weewx.engine:     ****   
>    raise NotImplementedError("NMEA support not implemented")
> Oct 13 12:39:50 PusulaServer weewx[1691] CRITICAL weewx.engine:     **** 
>  NotImplementedError: NMEA support not implemented
> Oct 13 12:39:50 PusulaServer weewx[1691] CRITICAL __main__: Unable to load 
> driver: NMEA support not implemented
> Oct 13 12:39:50 PusulaServer weewx[1691] CRITICAL __main__:     **** 
>  Exiting...
>
> So I think I need to take the WXT510 down from the roof and reconfigure it 
> for serial data using the service port. It does need cleaning anyway :)
>
> ..
> Erik
>
>
>
> On Mon, 12 Oct 2020 at 16:57, Tom Keffer <[email protected]> wrote:
>
>> Try this version of wxt5x0.py
>>
>>
>>
>> On Mon, Oct 12, 2020 at 6:01 AM Tom Keffer <[email protected]> wrote:
>>
>>> It's definitely the driver. It looks like Matthew never finished the 
>>> port to Python 3.
>>>
>>> On Mon, Oct 12, 2020 at 2:36 AM Erik Finskas <[email protected]> wrote:
>>>
>>>> Hi all.
>>>>
>>>> Followed up this thread to fix the WXT5x0 driver from GitHub and got 
>>>> bit forward but got jammed to another issue, apparently something to do 
>>>> with python3 (?)
>>>> Running Ubuntu server 20.04.1 LTS
>>>>
>>>> Startup log looks like this;
>>>> Oct 12 12:30:51 PusulaServer systemd[1]: Starting LSB: weewx weather 
>>>> system...
>>>> Oct 12 12:30:51 PusulaServer weewx[4672]:  * Starting weewx weather 
>>>> system weewx
>>>> Oct 12 12:30:51 PusulaServer weewx[4684] INFO __main__: Initializing 
>>>> weewx version 4.1.1
>>>> Oct 12 12:30:51 PusulaServer weewx[4684] INFO __main__: Using Python 
>>>> 3.8.5 (default, Jul 28 2020, 12:59:40) #012[GCC 9.3.0]
>>>> Oct 12 12:30:51 PusulaServer weewx[4684] INFO __main__: Platform 
>>>> Linux-5.4.0-48-generic-x86_64-with-glibc2.29
>>>> Oct 12 12:30:51 PusulaServer weewx[4684] INFO __main__: Locale is 
>>>> 'en_US.UTF-8'
>>>> Oct 12 12:30:51 PusulaServer weewx[4684] INFO __main__: PID file is 
>>>> /var/run/weewx.pid
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] INFO __main__: Using 
>>>> configuration file /etc/weewx/weewx.conf
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] INFO __main__: Debug is 0
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] INFO weewx.engine: Loading 
>>>> station type WXT5x0 (user.wxt5x0)
>>>> Oct 12 12:30:51 PusulaServer weewx[4672]:    ...done.
>>>> Oct 12 12:30:51 PusulaServer systemd[1]: Started LSB: weewx weather 
>>>> system.
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] INFO user.wxt5x0: driver 
>>>> version is 0.5
>>>> ...
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] INFO weewx.engine: Starting 
>>>> main packet loop.
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] INFO weewx.engine: Main loop 
>>>> exiting. Shutting engine down.
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] CRITICAL __main__: Caught 
>>>> unrecoverable exception:
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] CRITICAL __main__:     ****  
>>>> unicode strings are not supported, please encode to bytes: '0R0\r\n'
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] CRITICAL __main__:     ****  
>>>> Traceback (most recent call last):
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] CRITICAL __main__:     ****    
>>>> File "/usr/share/weewx/weewxd", line 154, in main
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] CRITICAL __main__:     ****    
>>>>   engine.run()
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] CRITICAL __main__:     ****    
>>>> File "/usr/share/weewx/weewx/engine.py", line 188, in run
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] CRITICAL __main__:     ****    
>>>>   for packet in self.console.genLoopPackets():
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] CRITICAL __main__:     ****    
>>>> File "/usr/share/weewx/user/wxt5x0.py", line 483, in genLoopPackets
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] CRITICAL __main__:     ****    
>>>>   raw = self._station.get_composite()
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] CRITICAL __main__:     ****    
>>>> File "/usr/share/weewx/user/wxt5x0.py", line 202, in get_composite
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] CRITICAL __main__:     ****    
>>>>   return self.get_data('R0')
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] CRITICAL __main__:     ****    
>>>> File "/usr/share/weewx/user/wxt5x0.py", line 155, in get_data
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] CRITICAL __main__:     ****    
>>>>   self.send_cmd(cmd)
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] CRITICAL __main__:     ****    
>>>> File "/usr/share/weewx/user/wxt5x0.py", line 149, in send_cmd
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] CRITICAL __main__:     ****    
>>>>   self.device.write(cmd)
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] CRITICAL __main__:     ****    
>>>> File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 532, in 
>>>> write
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] CRITICAL __main__:     ****    
>>>>   d = to_bytes(data)
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] CRITICAL __main__:     ****    
>>>> File "/usr/lib/python3/dist-packages/serial/serialutil.py", line 63, in 
>>>> to_bytes
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] CRITICAL __main__:     ****    
>>>>   raise TypeError('unicode strings are not supported, please encode to 
>>>> bytes: {!r}'.format(seq))
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] CRITICAL __main__:     ****  
>>>> TypeError: unicode strings are not supported, please encode to bytes: 
>>>> '0R0\r\n'
>>>> Oct 12 12:30:51 PusulaServer weewx[4687] CRITICAL __main__:     ****  
>>>> Exiting.
>>>>
>>>> Any clues how to get forward? The system works OK with the simulation 
>>>> driver so this might be still to do with the WXT5x0 driver.
>>>>
>>>> ..
>>>> Erik
>>>>
>>>> On Monday, 17 August 2020 at 14:13:21 UTC+3 [email protected] wrote:
>>>>
>>>>>
>>>>> Thanks!
>>>>> That got the driver running.
>>>>>
>>>>> I have another hurdle.
>>>>> I am seeing data from the device but it is in NMEA format.
>>>>> The driver is set up for serial format.  So my data is not being 
>>>>> parsed.
>>>>>  
>>>>> I see a command/method defined which would
>>>>> put it in serial mode as a side effect:   set_automatic_mode()
>>>>> but I don't see that method being called anywhere.
>>>>> (there is also set_polled_mode() but it has an error and I also don't 
>>>>> see it being used either.)
>>>>>
>>>>> I can mangle this up myself... but I thought I should ask: is
>>>>> it generally considered kosher to do a re-config on the hardware when
>>>>> weewx starts up?  Or does the user have to sort that out
>>>>> himself using whatever config tools available to him?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Thursday, August 13, 2020 at 11:52:56 PM UTC-5, Glenn McKechnie 
>>>>> wrote:
>>>>>>
>>>>>> Ah. Thanks Gary, that makes more sense. 
>>>>>>
>>>>>> @Chris 
>>>>>> Gary's correction has been applied to this attachment 
>>>>>> wxt5x0-trimmed2.py 
>>>>>> and has the following diff... 
>>>>>>
>>>>>> -- 
>>>> 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/fdd27793-8376-40cd-90f0-5cc327cdd307n%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/weewx-user/fdd27793-8376-40cd-90f0-5cc327cdd307n%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/t8pTnYHcS68/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/CAPq0zEAjRaRMzqaC1FO0B4ZrPW1ieePTwGR3UXWt4S1t4R%2Bidw%40mail.gmail.com
>>  
>> <https://groups.google.com/d/msgid/weewx-user/CAPq0zEAjRaRMzqaC1FO0B4ZrPW1ieePTwGR3UXWt4S1t4R%2Bidw%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/7b7b24b6-21e3-48e7-852a-1b21a9e80b6an%40googlegroups.com.

Reply via email to