As far as I understand this is a limitation of the python OW module.

In OWFS, “pages" is not a “file” but a “directory”:

$ owdir /Alias2438/pages
/Alias2438/pages/page.ALL
/Alias2438/pages/page.0
/Alias2438/pages/page.1
/Alias2438/pages/page.2
/Alias2438/pages/page.3
/Alias2438/pages/page.4
/Alias2438/pages/page.5
/Alias2438/pages/page.6
/Alias2438/pages/page.7
$ owread /Alias2438/pages/page.0 | hexdump
0000000 6007 bd22 0701 0000                    
0000008

so '/Alias2438/pages/page.0' should be accessed as ‘spic.pages.page_0’ but this 
syntax for accessing “subdirectories” is not implemented in python-ow.

Other more modern python bindings for OWCAPI exists in PyPi, but I have no 
experience running them:

https://pypi.python.org/pypi/pyowfs/ <https://pypi.python.org/pypi/pyowfs/>
https://pypi.python.org/pypi/onewire/0.2 
<https://pypi.python.org/pypi/onewire/0.2>

If you run owserver on your raspbian (which BTW is the recommended setup) then 
you could try pyownet: http://pyownet.readthedocs.io/en/latest/ 
<http://pyownet.readthedocs.io/en/latest/> (conflict of interest disclaimer: 
I’m the author of pyownet).

Python 3.4.2 (default, Oct 19 2014, 13:31:11) 
[GCC 4.9.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from pyownet.protocol import proxy
>>> owp = proxy('localhost')
>>> owp.read('/Alias2438/pages/page.0')
b'\x07\x80"\xbd\x01\x07\x00\x00'


Bye

Stefano
 
> On 13 Aug 2017, at 22:30, Gary Fariss <g...@gizmology.com> wrote:
> 
> Hello...
> 
> I'm using Peter Kropf's OWFS Python library (python-ow_2.9p8-6_armhf.deb) on 
> my Raspbian Jessie system (sudo apt-get install python-ow).
> 
> ** I'm having trouble accessing the memory of a DS2438 Smart Battery Monitor.
> 
> 
> ** The "entryList function says "pages" is a valid attribute:
> 
> spipc = ow.Sensor("Alias2438")
> print spipc.entryList()
> 
> ['B1-R1-A', 'CA', 'EE', 'HIH3600', 'HIH4000', 'HTM1735', 'IAD', 
> 'MultiSensor', 'S3-R1-A', 'VAD', 'VDD', 'address', 'alias', 'crc8', 'date', 
> 'disconnect', 'endcharge', 'family', 'humidity', 'id', 'locator', 'offset', 
> 'pages', 'r_address', 'r_id', 'r_locator', 'temperature', 'type', 'udate', 
> 'vis']
> 
> 
> ** But __getattr__ doesn't like the name:
> 
> spipc = ow.Sensor("Alias2438")
> print spipc.pages
> 
> Traceback (most recent call last):
>  File "ospi_gc.py", line 278, in <module>
>    main()
>  File "ospi_gc.py", line 241, in main
>    print spipc.pages
>  File "/usr/lib/python2.7/dist-packages/ow/__init__.py", line 349, in 
> __getattr__
>    raise AttributeError, name
> AttributeError: pages
> 
> ** Can you tell me what's wrong?
> 
> 73,
>  Gary
> 
> 
> ---
> This email has been checked for viruses by Avast antivirus software.
> https://www.avast.com/antivirus
> 
> 
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Owfs-developers mailing list
> Owfs-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/owfs-developers

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to