Yes I changed delay to 1000 on both read & write. Didn't increase it now,
let's see if I get a debig log if it crashes again.
Regarding values of 6500C from WS3000 driver. Please check these two reads
from below. I took my outside unit inside for a while - worked OK - and
then put it to freezer for a while and this is what happened when values
changed from 0.1C to sub-zero (below 0C). Main unit works without issues.
Oct 28 22:20:55 ripapi weewx[17385]: ws3000: sending request for
sensor_values
Oct 28 22:20:55 ripapi weewx[17385]: ws3000: write: 7b 03 40 7d (len=4)
Oct 28 22:20:56 ripapi weewx[17385]: ws3000: reading results...
Oct 28 22:20:56 ripapi weewx[17385]: ws3000: reading 64 bytes
Oct 28 22:20:56 ripapi weewx[17385]: ws3000: read: 7b *00 01* 10 00 dc 1f
00 ce 23 00 d1 23 00 d9 22 00 b0 20 00 dd 1e 7f ff ff 40 7d 00 40 7d 2c 00
64 40 7d 00 4e 14 2f 2c d1 d7 e7 70 9c 7b e5 e1 3e 17 5f 4e 19 72 97 5e 02
1a 0e 52 33 f6 80 ce (len=64)
Oct 28 22:20:56 ripapi weewx[17385]: ws3000: extracting values for
sensor_values
Oct 28 22:20:56 ripapi weewx[17385]: ws3000: raw: array('B', [123, *0, 1*,
16, 0, 220, 31, 0, 206, 35, 0, 209, 35, 0, 217, 34, 0, 176, 32, 0, 221, 30,
127, 255, 255, 64, 125])
Oct 28 22:20:56 ripapi weewx[17385]: ws3000: data: {'h_6': 32, 'h_7': 30,
'h_4': 35, 'h_5': 34, 'h_2': 31, 'h_3': 35, 'h_1': 16, 't_6': 17.6, 't_2':
22.0, 't_3': 20.6, '*t_1': 0.1*, 'type': 'sensor_values', 't_7': 22.1,
't_4': 20.9, 't_5': 21.7}
Oct 28 22:20:56 ripapi weewx[17385]: ws3000: packet: {'dateTime':
1540758056, 'extraHumid6': 32, 'extraHumid7': 30, 'extraHumid4': 35,
'extraHumid5': 34, 'extraHumid2': 31, 'extraHumid3': 35, 'extraHumid1': 16,
'extraTemp6': 17.6, 'extraTemp7': 22.1, 'extraTemp4': 20.9, 'extraTemp5':
21.7, 'extraTemp2': 22.0, 'extraTemp3': 20.6, 'usUnits': 17,* 'extraTemp1':
0.1*}
Oct 28 22:21:26 ripapi weewx[17385]: ws3000: sending request for
sensor_values
Oct 28 22:21:26 ripapi weewx[17385]: ws3000: write: 7b 03 40 7d (len=4)
Oct 28 22:21:27 ripapi weewx[17385]: ws3000: reading results...
Oct 28 22:21:27 ripapi weewx[17385]: ws3000: reading 64 bytes
Oct 28 22:21:27 ripapi weewx[17385]: ws3000: read: 7b *ff e6* 10 00 dc 1f
00 cc 23 00 d1 23 00 d9 22 00 b0 20 00 dd 1e 7f ff ff 40 7d 00 40 7d 2c 00
64 40 7d 00 4e 14 2f 2c d1 d7 e7 70 9c 7b e5 e1 3e 17 5f 4e 19 72 97 5e 02
1a 0e 52 33 f6 80 ce (len=64)
Oct 28 22:21:27 ripapi weewx[17385]: ws3000: extracting values for
sensor_values
Oct 28 22:21:27 ripapi weewx[17385]: ws3000: raw: array('B', [123, *255,
230*, 16, 0, 220, 31, 0, 204, 35, 0, 209, 35, 0, 217, 34, 0, 176, 32, 0,
221, 30, 127, 255, 255, 64, 125])
Oct 28 22:21:27 ripapi weewx[17385]: ws3000: data: {'h_6': 32, 'h_7': 30,
'h_4': 35, 'h_5': 34, 'h_2': 31, 'h_3': 35, 'h_1': 16, 't_6': 17.6, 't_2':
22.0, 't_3': 20.4,* 't_1': 6551.0,* 'type': 'sensor_values', 't_7': 22.1,
't_4': 20.9, 't_5': 21.7}
Oct 28 22:21:27 ripapi weewx[17385]: ws3000: packet: {'dateTime':
1540758087, 'extraHumid6': 32, 'extraHumid7': 30, 'extraHumid4': 35,
'extraHumid5': 34, 'extraHumid2': 31, 'extraHumid3': 35, 'extraHumid1': 16,
'extraTemp6': 17.6, 'extraTemp7': 22.1, 'extraTemp4': 20.9, 'extraTemp5':
21.7, 'extraTemp2': 22.0, 'extraTemp3': 20.4, 'usUnits': 17, *'extraTemp1':
6551.0*}
Oct 28 22:21:27 ripapi weewx[17385]: engine: 2018-10-28 22:21:27 EET
(1540758087) LOOP value 'extraTemp1' 6551.0 outside limits (-40.0, 40.0)
Spending a while trying to understand the read HEX values raw array, to me
it looks like that as soon as temperature (in C) goes below 0, the variable
flips back to max, being propably 6553(.).5 - being FF FF in HEX as can be
seen above.
*Has WS3000 unit's exported values and/or WS3000 driver been earlier
confirmed to work on sub-zero temperatures?*By a quick look I didn't find
and indicator telling this is a sub-zero temperature except the fact that
6500C is a bit hot for these sensors :D
*Would it be possible in to implement a 'sanity check' in the driver to
convert values of let's say over 6000C back to negative range, something
like*
IF
Temperature over 6000C
THEN
Temperature = Temperature-6553,5
*Olivier, do you see this as a doable & reasonable solution? Do you already
know where would be the good place in the driver to implement it? (and have
you thought of putting the code to github or similar service ;)*
--
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].
For more options, visit https://groups.google.com/d/optout.