... actually I checked my current code and I saw, that I do not read
/latesttemp, but read from /uncached/id/temperature
so reading from /uncached does not trigger a new conversion. Only when
you read a second time without triggering /simultaneous
I also saw that I increased the wait after issuing /simulataneous
command to 2 seconds, so I must have had issues at the time...
On 05.08.20 09:23, Martin Patzak wrote:
> 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
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/owfs-developers
>
>
>
> _______________________________________________
> Owfs-developers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/owfs-developers
_______________________________________________
Owfs-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/owfs-developers