OWSHELL(1) One-Wire File System OWSHELL(1)

# [NAME](#NAME)

owdir, owread, owwrite, owget, owexist, owpresent - lightweight owserver access

# [SYNOPSIS](#SYNOPSIS)

## [Minimal options](#Minimal_options)

**owdir** *-s* \[host:]port \[directory]  
**owread** *-s* \[host:]port filepath  
**owwrite** *-s* \[host:]port filepath value  
**owget** *-s* \[host:]port \[directory] | filepath

## [Server discovery](#Server_discovery)

**owdir** *--autoserver* \[directory]  
**owread** *--autoserver* filepath  
**owwrite** *--autoserver* filepath value  
**owget** *--autoserver* \[directory] | filepath

## [Full options](#Full_options)

**owdir** *-q --quiet* *-f --format* f\[.]i\[\[.]c] ] \[ *--dir* ] *-s* \[host:]port \[directory] \[directory2 ...]

**owread** *-q --quiet* *-C --celsius* *-K --kelvin* *-F --fahrenheit* *-R --rankine* \[ *--hex* ] \[ *--start=* offset ] \[ *--size=* bytes ] *-s* \[host:]port filepath \[filepath2 ...]

**owwrite** *-q --quiet* *-C --celsius* *-K --kelvin* *-F --fahrenheit* *-R --rankine* \[ *--hex* ] \[ *--start=* offset ] *-s* \[host:]port filepath value \[filepath2 value2 ...]

**owget** *-q --quiet* *-f --format* f\[.]i\[\[.]c] *-C --celsius* *-K --kelvin* *-F --fahrenheit* *-R --rankine* \[ *--hex* ] \[ *--start=* offset ] \[ *--size=* bytes ] \[ *--dir* ] *-s* \[host:]port \[directory] | filepath

## [Version](#Version)

**owdir** *-V --version*  
**owread** *-V --version*  
**owwrite** *-V --version*  
**owget** *-V --version*

## [Help](#Help)

**owdir** *-h | --help*  
**owread** *-h | --help*  
**owwrite** *-h | --help*  
**owget** *-h | --help*

# [DESCRIPTION](#DESCRIPTION)

See the file man1/description.1so.

## [OWSHELL programs](#OWSHELL_programs)

**owdir owread owwrite** and **owget** are collectively called the **owshell** programs. They allow lightweight access to an [**owserver (1)**](/man/os/owfs/owserver.1) for use in command line scripts.

Unlike **[owserver (1)](/man/os/owfs/owserver.1) [owhttpd (1)](/man/os/owfs/owhttpd.1) [owftpd (1)](/man/os/owfs/owftpd.1) [owhttpd (1)](/man/os/owfs/owhttpd.1)** there is not persistent connection with the 1-wire bus, no caching and no multithreading. Instead, each program connects to a running **owserver (1)** and performs a quick set of queries.

[**owserver (1)**](/man/os/owfs/owserver.1) performs the actual 1-wire connection (to physical 1-wire buses or other **owserver** programs), performs concurrency locking, caching, and error collection.

**owshell** programs are intended for use in command line scripts. An alternative approach is to mount an [**owfs (1)**](/man/os/owfs/owfs.1) filesystem and perform direct file lists, reads and writes.

## [owdir](#owdir)

**owdir** performs a *directory* listing. With no argument, all the devices on the main 1-wire bus will be listed. Given the name of a 1-wire device, the available properties will be listed. It is the equivalent of

*ls directory*

in the [**owfs (1)**](/man/os/owfs/owfs.1) filesystem.

## [owread](#owread)

**owread** obtains for value of a 1-wire device property. e.g. 28.0080BE21AA00/temperature gives the DS18B20 temperature. It is the equivalent of

*cat filepath*

in the [**owfs (1)**](/man/os/owfs/owfs.1) filesystem.

## [owwrite](#owwrite)

**owwrite** performs a change of a property, changing a 1-wire device setting or writing to memory. It is the equivalent of

*echo value &gt; filepath*

in the [**owfs (1)**](/man/os/owfs/owfs.1) filesystem.

## [owget](#owget)

[**owget (1)**](/man/os/owfs/owget.1) is a convenience program, combining the function of [**owdir (1)**](/man/os/owfs/owdir.1) and [**owread (1)**](/man/os/owfs/owread.1) by first trying to read the argument as a directory, and if that fails as a 1-wire property.

# [STANDARD OPTIONS](#STANDARD_OPTIONS)

## --autoserver

Find an *owserver* using the Service Discovery protocol. Essentially Apple's Bonjour (aka zeroconf). Only the first *owserver* will be used, and that choice is probably arbitrary.

## -s \[host:]port

Connect via tcp (network) to an *owserver* process that is connected to a physical 1-wire bus. This allows multiple processes to share the same bus. The *owserver* process can be local or remote.

If the server option is not specified, the default is the local machine and the IANA allocated default port of 4304. Thus "-s localhost:4304" is the equivalent.

# [DATA OPTIONS](#DATA_OPTIONS)

# --hex

Hexadecimal mode. For reading data, each byte of character will be displayed as two characrters 0-9ABCDEF. Most useful for reading memory locations. No spaces between data.

Writing data in hexadecimal mode just means that the data should be given as one long hexadecimal string.

# --start=offset

Read or write memory locations starting at the offset byte rather than the beginning. An offset of 0 means the beginning (and is the default).

# --size=bytes

Read up to the specified number of bytes of a memory location.

# [HELP OPTIONS](#HELP_OPTIONS)

## -h --help

Shows (this) basic summary of options.

## -V --version

*Version* of this program.

# [DISPLAY OPTIONS](#DISPLAY_OPTIONS)

## --dir

Modify the display of directories to indicate which entries are also directories. A directory member will have a trailing '/' if it is a directory itself. This aids recursive searches.

## -f --format f\[.]i\[\[.]c]

Display format for the 1-wire devices. Each device has a 8 byte address, consisting of:

[*f*](#f)

family code, 1 byte

[*i*](#i)

ID number, 6 bytes

[*c*](#c)

CRC checksum, 1 byte

Possible formats are *f.i* (default, 01.A1B2C3D4E5F6), *fi fic f.ic f.i.c* and *fi.c*

All formats are accepted as input, but the output will be in the specified format.

# [EXAMPLE](#EXAMPLE)

owdir -s 3000 --format fic

Get the device listing (full 16 hex digits, no dots) from the local *owserver* at port 3000

owread -F --autoserver 51.125499A32000/typeK/temperature

Read temperature from the DS2751-based thermocouple on an auto-discovered *owserver* Temperature in fahrenheit.

owwrite -s 10.0.1.2:3001 32.000800AD23110/pages/page.1 "Passed"

Connect to a OWFS server process ( *owserver* ) that was started on another machine at tcp port 3001 and write to the memory of a DS2780

# [SEE ALSO](#SEE_ALSO)

See the file man1/seealso.1so.

# [AVAILABILITY](#AVAILABILITY)

http://www.owfs.org

# [AUTHOR](#AUTHOR)

Paul Alfille (paul.alfille@gmail.com)

2004 OWSHELL Manpage

---

Document: owwrite(1) from owfs 3.2.4-r9 (Chainguard OS)
Source: https://github.com/owfs/owfs
