Thanks for that, I just ran your code on my test system -
pi@pi4B:~/v12_5 $ python3 read_stats.py
temp is 24.625
success 934310
tries.0 470429
tries.1 0
tries.2 0
CRC16_tries 11768
CRC16_errors 11768
pi@pi4B:~/v12_5 $
Time to do some reading of the docs.......
Mick
On 09/08/2020 10:21, Martin Patzak wrote:
here is a quick python code to read some /statistics
and yes, the owserver has been running for a looong time :-D
from pyownet import protocol
import time
op = protocol.proxy()
try:
#x = op.read('/uncached/29.1CBF0E000000/sensed.ALL')
#print 'sensed is',x
x = op.read('/uncached/28.CFB920060000/latesttemp')
print 'temp is',x
x = op.read('/statistics/read/success')
print 'success',x
x = op.read('/statistics/read/tries.0')
print 'tries.0',x
x = op.read('/statistics/read/tries.1')
print 'tries.1',x
x = op.read('/statistics/read/tries.2')
print 'tries.2',x
x = op.read('/statistics/errors/CRC16_tries')
print 'CRC16_tries',x
x = op.read('/statistics/errors/CRC16_errors')
print 'CRC16_errors',x
except Exception as e:
print str(e)
temp is 57.9375
success 219962160 (why is success higher than tries.0? I do
not know...)
tries.0 139228047
tries.1 1077 (one thousand re-tries in a couple
of years reading 25 sensors every 30 seconds)
tries.2 6 (six second re-tries... not
bad ey? ;-)
CRC16_tries 81858524
CRC16_errors 1351 (some CRC16 errors were cause by
writes, hence the discrepancy)
On 09.08.20 10:52, Martin Patzak wrote:
here is some documentation about the values in /statistics:
http://owfs.sourceforge.net/statistics.html
I do not know if there is more about that within the owfs project...
there should be more at Maxim's website about the interface protocol
which owfs is based upon.
On 08.08.20 19:07, Mick Sulley wrote:
I have just run it again, sleep for 3 seconds after the
simultaneous/temperature write and sleep 25 seconds at the end of
the loop. Presence is at 120 and I see a delay every 130 seconds or
so. The delay is on reading whichever parameter is first, so if I
read present first then that is the 0.7 scan, the other parameters
are < 0.1, but If I read type first then that is 0.7 sec, etc
I am also reading CR16_errors and CR16_tries, these are the same and
both increase by 8 each loop. Is that normal? Is there any
documentation on this stuff, I can't find anything.
Mick
On 08/08/2020 08:46, Martin Patzak wrote:
Thanks Mick, great summary.
Let me add to 4), that you only see the 0.7 sec delay, because you
read in a busy loop.
I read only every 30 seconds and I never see a delay.
But timing your reads is a good practice because this way you catch
retries and maybe bus or sensor problems.
Additionally you can have a look in /statistics for retries and errors
On 08.08.20 01:04, Mick Sulley wrote:
Update on test findings. Test setup was 19 - DS18B20 temperature,
2 - DS2413 IO and 1 - DS2437 Voltage, Raspberry Pi4 with Sheepwalk
RPi3 Adapter
1) /simultaneous/temperature does work, best to read latesttemp.
2) /settings/timeout/presence cannot be set or read via the
owhttpd web page, you must use owwrite & owread
3) Reading values (after setting simultaneous) normally takes <
0.1 seconds
4) After the /settings/timeout/presence interval the next read for
every device will take around 0.7 seconds. Note if you read
multiple fields it is only the first one which takes the increased
time.
5) The increased time after /settings/timeout/presence interval
applies to all devices, not just temperature
Mick
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers