Stefano,

For me, this is all I need to list all my sensors, and have a similar 
routine to read values:

     import ow
     import pilib
     querylist = []
     ow.init('localhost:4304')
     sensorlist = ow.Sensor('/').sensorList()
     for sensor in sensorlist:
         querylist.append(
             pilib.makesqliteinsert(tablename, [sensor.address, 
sensor.family, sensor.id, sensor.type, sensor.crc8]))
     pilib.sqlitemultquery(database, querylist)

 From what I can see of pyownet, I would have to write significantly 
more code to get the same result. If I'm mistaken, please let me know.

Colin


On 3/28/2014 10:57, Stefano Miccoli wrote:
> Is there a reason for using ow (which is a SWIG binding of the owlib C
> API) and not ownet (which is a pure python implementation of the ownet
> protocol)?
>
> If you do not have to access the bus master directly from python but you
> have an owserver running, I would suggest using instead ownet, or even
> better (shameless self promotion) my own pyownet.
>
> pyownet is on pypi, so to install it you can just
>
> # pip install pyownet
>
> or if you prefer the source you can get it from
>
> https://github.com/miccoli/pyownet/releases/latest
>
> and run
>
> # python setup.py install
>
> If you have an owserver running on localhost minimal instructions are
>
>   >>> from pyownet.protocol import OwnetProxy
>   >>> proxy = OwnetProxy()
>   >>> for i in proxy.dir():
>   ...     print i
>   ...
>   /26.64A340010000/
>   /26.2BA640010000/
>   /01.984087150000/
>   >>> proxy.read('/26.64A340010000/temperature')
>   '     20.6562'
>   >>>
>
> The proxy object acts as (you guess) a proxy for the owserver, with
> methods that implement the following ownet messages:
>
> dir
> ping
> present
> read
> write
>
> Docs are still to be written but
>
>   >>> help(OwnetProxy)
>
> is a good starting point.
>
> Stefano
>
>
> On 28 Mar 2014, at 16:38, Colin Reese <colin.re...@gmail.com
> <mailto:colin.re...@gmail.com>> wrote:
>
>> Hell all,
>>
>> I've run into an interesting error that results in sensors disappearing
>> altogether, resulting in the error:
>>
>>  File "/usr/lib/python2.7/dist-packages/ow/__init__.py", line 271, in
>> __init__
>>     self.useCache( self._useCache )
>>   File "/usr/lib/python2.7/dist-packages/ow/__init__.py", line 417, in
>> useCache
>>     for n in owfs_get( self._usePath ).split( ',' ) ] )
>>   File "/usr/lib/python2.7/dist-packages/ow/__init__.py", line 159, in
>> _get
>>     raise exUnknownSensor(path)
>> ow.exUnknownSensor: '/'
>>
>>
>> Sure enough, my 1Wire directory is empty except the bus. Killing owfs,
>> owserver and owhttpd and attempting to restart using the same commands I
>> do at startup yields:
>>
>> DEFAULT: owlib.c:(56) No valid 1-wire buses found
>>
>> After rebooting, everything is fine again, until I run the questionable
>> script. So the first question is how to reinitialize after fail without
>> rebooting. The next is how to not have it fail in the first place. I see
>> mention here, but no solution:
>> http://owfs-developers.1086194.n5.nabble.com/Bug-in-re-init-ing-Python-ow-module-td4442.html
>>
>>
>> What I'm using in owpython is pretty basic, and trimming out other code
>> is really:
>>
>> import ow
>> ow.init('localhost:4304')
>> for sensor in ow.Sensor('/').sensorList():
>> # do stuff
>>
>> Interestingly, if I have this in a function like:
>>
>> def myowfsfun(args):
>>    ow.init('localhost:4304')
>>    for sensor in ow.Sensor('/').sensorList():
>> #do stuff
>>
>> if __name__ == "__main__":
>>     myowfsfun(args)
>>
>>
>> I can run the function via the script file until the cows come home. If
>> I import it into another script, e.g.:
>>
>> import owfslib
>>
>> owfslib.myowfsfun(args)
>>
>> and then run that script, it barfs immediately.
>>
>> Ideas?
>>
>> Thanks,
>> Colin
>>
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> 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
>

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

Reply via email to