the reason is that ds18b20 internally store alarming temperatures values
(temphigh & templow) in 8bit eeprom registers. this is sufficient to hold
only integer but no decimals.
OWFS accepts the input as decimal values and cache theses for 15min
(default) while on the device the stored value has already been trimmed to
interger. when owfs read back the temphigh from the device, you get the
integer part only. see datasheet ds18b20 on bottom of page4 for register
formats.
Pascal
2010/8/4 Alex Shepherd <list...@ajsystems.co.nz>
> Hi Guys,
>
> Something that has got me a bit puzzled is I am using the "temphigh"
> storage
> of a sensor to store a thermostat set point. I have a python script that I
> periodically execute each minute from cron that checks the temperature
> against the temphigh and take appropriate action which is to write a 0 or 3
> to the PIO.BYTE to control pumps/valves etc. This works fine if the value
> of
> temphigh is a whole number. However if it is say 21.5 it works for a while
> and then mysteriously the temphigh value gets changed somewhere to 21 and
> stays there. It seems to happen within 10-15 mins of me changing the value.
>
> Is there a way to get owserver to log all the actual values read/written
> for
> each node to make it easier to figure out how this is happening?
>
> I start owserver using the following command script:
>
> #!/bin/sh
> /usr/local/bin/owserver --LINK /dev/ttyUSB0 --LINK /dev/ttyUSB1
> --error_level 3 --error_print 2 --foreground 2>&1 | /usr/sbin/rotatelogs
> -f
> -l /tmp/owserver.log 3600
>
> This creates heaps of log files with lines like:
>
> CALL: data.c:DataHandler(105) DataHandler: parse
> path=/42.3CF502000000/temphigh
> CALL: ow_parsename.c:FS_ParsedName_anywhere(115)
> path=[/42.3CF502000000/temphigh]
> CALL: data.c:DataHandler(128) Read message
> CALL: data.c:DataHandler(105) DataHandler: parse
> path=/42.3CF502000000/PIO.BYTE
> CALL: ow_parsename.c:FS_ParsedName_anywhere(115)
> path=[/42.3CF502000000/PIO.BYTE]
> CALL: data.c:DataHandler(128) Read message
> CALL: ow_parsename.c:FS_ParsedName_anywhere(115)
> path=[/42.3CF502000000/piostate]
> CALL: handler.c:SingleHandler(273) sem_timedwait timeout time=0.100
> (timeout=100 ms)
>
> However there is no actual values output anywhere. Are there any other
> debug
> flags that might help?
>
> Any other suggestions?
>
> Alex
>
>
>
> ------------------------------------------------------------------------------
> The Palm PDK Hot Apps Program offers developers who use the
> Plug-In Development Kit to bring their C/C++ apps to Palm for a share
> of $1 Million in cash or HP Products. Visit us here for more details:
> http://p.sf.net/sfu/dev2dev-palm
> _______________________________________________
> Owfs-developers mailing list
> Owfs-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/owfs-developers
>
--
Pascal
www.brain4home.eu
to subscribe, send a mail to <list-subscr...@brain4home.eu>
------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers