Hi Mick,

by reading the /uncached value, you are causing a new conversion.
Read only /latesttemp and it should work fine.

here is my test program, when I first tested simultaneous and pyownet:

> import time
> from pyownet import protocol
>
> op = protocol.proxy("razmaban",port=4304)
> error = 0
> error_old = None
>
>
> while True:
>
>     op.write('/simultaneous/temperature', '1')
>
>     time.sleep(1)   # give the sensors time to convert their temps
>
>     print '...'
>
>     sensed = op.read('/28.676A20060000/latesttemp')
>     print sensed
>
>     sensed = op.read('/28.DD5915020000/latesttemp')
>     print sensed


Marty

On 05.08.20 00:39, Mick Sulley wrote:
> Running v3.2p3 on Raspberry Pi,  I have set up some DS18B20 sensors on
> a test system, all of them are powered, but simultaneous does not seem
> to be working
>
> The code is below, when I run it the first loop takes 16 seconds then
> it loops at 3 seconds for a while, then a 16 second etc. so it looks
> like it does slow individual conversions, then uses cached values
> until they expire, then another slow individual conversion, etc.  Have
> I got something wrong here?
>
> Thanks
>
> Mick
>
> #!/usr/bin/python3
>
> # sensor_read.py
>
> import pyownet
> import time
>
> def main():
>     owp = pyownet.protocol.proxy()
>     while True:
>         start = time.time()
>         owp.write('/simultaneous/temperature', b'1')
>         time.sleep(1)
>         print('start of sensor_read.py')
>         sen_lst = ['Solar_Pnl_1A', 'Solar_Pnl_2A','Solar_Pnl_1B',
> 'Pool_Sol_X', 'Pool_CH_X', 'DHW_Mid_Top', 'DHW_Mid_Btm',
> 'DHW_Top','Temp5', 'Temp19', 'Temp20','Temp21', 'Temp22', 'Temp23',
> 'Temp25', 'Temp26', 'Temp27', 'Temp29',  'Temp30']
>         prop_lst =  ['/type', '/power', '/latesttemp']
>         for p in prop_lst:
>             print('%s  ' %p,  end = '')
>         print('')
>         for sen in sen_lst:
>             print('\n%s ' %sen, end = '')
>             for prop in prop_lst:
>                 try:
>                     print('%s  ' %(owp.read('/uncached/' + sen +
> prop).decode()),  end = '')
>                 except:
>                     print('failed! ',    end = '')
>         endt = time.time() - start
>         print('\nTime = %f' %endt)
>
> if __name__ == "__main__":
>     main()
>
>
>
> _______________________________________________
> Owfs-developers mailing list
> Owfs-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/owfs-developers

_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to