### OWX

FHEM module to commmunicate with 1-Wire bus devices

- via an active DS2480/DS2482/DS2490/DS9097U bus master interface attached to an USB port or
- via a passive DS9097 interface attached to an USB port or
- via a network-attached CUNO

Internally these interfaces are vastly different, read the corresponding Wiki pages
Example

`define OWio OWX /dev/ttyUSB1`

Define

`define <name> OWX <serial-device>` or
`define <name> OWX <cuno-device>`
Define a 1-Wire interface to communicate with a 1-Wire bus.
- `<serial-device>` The serial device (e.g. USB port) to which the 1-Wire bus is attached.
- `<cuno-device>` The previously defined CUNO to which the 1-Wire bus is attached.

Set

- `set <name> interval <value>`
  sets the time period in seconds for "kicking" the 1-Wire bus (default is 300 seconds). This means:
  - With 1-Wire bus interfaces that do not supply power to the 1-Wire bus (attr buspower parasitic), the 1-Wire bus is reset at these intervals.
  - With 1-Wire bus interfaces that supply power to the 1-Wire bus (attr buspower = real), all temperature measurement devices on the bus receive the command to start a temperature conversion (saves a lot of time when reading)
  - With 1-Wire bus interfaces that contain a busmaster chip, the response to a reset pulse contains information about alarms.
- `set <name> followAlarms on|off`
  instructs the module to start an alarm search in case a reset pulse discovers any 1-Wire device which has the alarm flag set.

Get

- `get <name> alarms`
  performs an "alarm search" for devices on the 1-Wire bus and, if found, generates an event in the log (not with CUNO).
- `get <name> devices`
  redicovers all devices on the 1-Wire bus. If a device found has a previous definition, this is automatically used. If a device is found but has no definition, it is autocreated. If a defined device is not on the 1-Wire bus, it is autodeleted.

Attributes

- `attr <name> buspower real|parasitic`
  tells FHEM whether power is supplied to the 1-Wire bus or not.
- Standard attributes alias, comment, eventMap, logLevel, webCmd

### OWAD

FHEM module to commmunicate with 1-Wire A/D converters
Note:
This 1-Wire module so far works only with the OWX interface module. Please define an OWX device first.
Example

`define OWX_AD OWAD 724610000000 45`
`attr OWX_AD DAlarm high`
`attr OWX_AD DFactor 31.907097`
`attr OWX_AD DHigh 50.0`
`attr OWX_AD DName RelHumidity|humidity`
`attr OWX_AD DOffset -0.8088`
`attr OWX_AD DUnit percent|%`

Define

`define <name> OWAD [<model>] <id> [<interval>]`
Define a 1-Wire A/D converter.
- `[<model>]`
  Defines the A/D converter model (and thus 1-Wire family id), currently the following values are permitted:
  - model DS2450 with family id 20 (default if the model parameter is omitted)
- `<id>`
  12-character unique ROM id of the converter device without family id and CRC code
- `<interval>`
  Measurement interval in seconds. The default is 300 seconds.

Set

- `set <name> interval <int>`
  Measurement interval in seconds. The default is 300 seconds.

Get

- `get <name> id`
  Returns the full 1-Wire device id OW_FAMILY.ROM_ID.CRC
- `get <name> present`
  Returns 1 if this 1-Wire device is present, otherwise 0.
- `get <name> interval`
  Returns measurement interval in seconds.
- `get <name> reading`
  Obtain the measuement values.
- `get <name> alarm`
  Obtain the alarm values.
- `get <name> status`
  Obtain the i/o status values.

Attributes

- `attr <name> stateAL0 <string>`
  character string for denoting low normal condition, default is green down triangle, e.g. the code <span style="color:green">&#x25BE;</span> leading to the sign ▾
- `attr <name> stateAH0 <string>`
  character string for denoting high alarm condition, default is green upward triangle, e.g. the code <span style="color:green">&#x25B4;</span> leading to the sign ▴
- `attr <name> stateAL1 <string>`
  character string for denoting low alarm condition, default is red down triangle, e.g. the code <span style="color:red">&#x25BE;</span> leading to the sign ▾
- `attr <name> stateAH1 <string>`
  character string for denoting high alarm condition, default is red upward triangle, e.g. the code <span style="color:red">&#x25B4;</span> leading to the sign ▴

For each of the following attributes, the channel identification A,B,C,D may be used.

- `attr <name> <channel>Name <string>|<string>`
  name for the channel | a type description for the measured value.
- `attr <name> <channel>Unit <string>|<string>`
  unit of measurement for this channel | its abbreviation.
- `attr <name> <channel>Offset <float>`
  offset added to the reading in this channel.
- `attr <name> <channel>Factor <float>`
  factor multiplied to (reading+offset) in this channel.
- `attr <name> <channel>Alarm <string>`
  alarm setting in this channel, either both, low, high or none (default).
- `attr <name> <channel>Low <float>`
  measurement value (on the scale determined by offset and factor) for low alarm.
- `attr <name> <channel>High <float>`
  measurement value (on the scale determined by offset and factor) for high alarm.
- Standard attributes alias, comment, eventMap, logLevel, webCmd

### OWCOUNT

FHEM module to commmunicate with 1-Wire Counter/RAM DS2423 #
Note:
This 1-Wire module so far works only with the OWX interface module. Please define an OWX device first.
Example

`define OWX_C OWCOUNT DS2423 CE780F000000 300`
`attr OWX_C AName Water|volume`
`attr OWX_C AUnit liters|l`
`attr OWX_CAMode daily`

Define

`define <name> OWCOUNT [<model>] <id> [<interval>]`
Define a 1-Wire counter.
- `[<model>]`
  Defines the counter model (and thus 1-Wire family id), currently the following values are permitted:
  - model DS2423 with family id 1D (default if the model parameter is omitted)
- `<id>`
  12-character unique ROM id of the converter device without family id and CRC code
- `<interval>`
  Measurement interval in seconds. The default is 300 seconds.

Set

- `set <name> interval <int>`
  Measurement interval in seconds. The default is 300 seconds.
- `set <name> memory <page>`
  Write 32 bytes to memory page 0..13
- `set <name> midnight <channel-name>`
  Write the day's starting value for counter <channel> (A, B or named channel, see below)

Get

- `get <name> id`
  Returns the full 1-Wire device id OW_FAMILY.ROM_ID.CRC
- `get <name> present`
  Returns 1 if this 1-Wire device is present, otherwise 0.
- `get <name> interval`
  Returns measurement interval in seconds.
- `get <name> memory <page>`
  Obtain 32 bytes from memory page 0..13
- `get <name> midnight <channel-name>`
  Obtain the day's starting value for counter <channel> (A, B or named channel, see below)
- `get <name> counter <channel-name>`
  Obtain the current value for counter <channel> (A, B or named channel, see below)
- `get <name> counters`
  Obtain the current value both counters

Attributes

For each of the following attributes, the channel identification A,B may be used.
- `attr <name> <channel>Name <string>|<string>`
  name for the channel | a type description for the measured value.
- `attr <name> <channel>Unit <string>|<string>`
  unit of measurement for this channel | its abbreviation.
- `attr <name> <channel>Offset <float>`
  offset added to the reading in this channel.
- `attr <name> <channel>Factor <float>`
  factor multiplied to (reading+offset) in this channel.
- `attr <name> <channel>Mode daily | normal`
  factor multiplied to (reading+offset) in this channel.
- Standard attributes alias, comment, eventMap, logLevel, webCmd

### OWID

FHEM module for 1-Wire devices that know only their unique ROM ID
Note:
This 1-Wire module so far works only with the OWX interface module. Please define an OWX device first.
Example

`define ROM1 OWX_ID OWCOUNT CE780F000000`

Define

`define <name> OWID <id>`
Define a 1-Wire device.
- `<id>`
  12-character unique ROM id of the converter device without family id and CRC code

Get

- `get <name> id`
  Returns the full 1-Wire device id OW_FAMILY.ROM_ID.CRC
- `get <name> present`
  Returns 1 if this 1-Wire device is present, otherwise 0.

### OWLCD

FHEM module to commmunicate with the 1-Wire LCD controller from Louis Swart (1-Wire family id FF). See also the corresponding Wiki page.
Note:
This 1-Wire module so far works only with the OWX interface module. Please define an OWX device first.
Example

`define OWX_LCD OWLCD 9F0700000100`

Define

`define <name> OWLCD <id>`
Define a 1-Wire LCD device.
- `<id>`
  12-character unique ROM id of the converter device without family id and CRC code

Set

- `set <name> icon <int> on|off|blink`
  Set one of the icons 0..14 on, off or blinking
- `set <name> icon 15 0..6`
  Set icon 15 to one of its values
- `set <name> icon none`
  Set all icons off
- `set <name> line <int> <string>`
  Write LCD line 0..3 with some content
- `set <name> memory <page> <string>`
  Write memory page 0..6
- `set <name> gpio <value>`
  Write state for all three gpio pins (value = 0..7, for each bit 0=ON, 1=OFF)
- `set <name> backlight ON|OFF`
  Switch backlight on or off
- `set <name> lcd ON|OFF`
  Switch LCD power on or off
- `set <name> reset`
  Reset the display
- `set <name> test`
  Test the display

Get

- `get <name> id`
  Returns the full 1-Wire device id OW_FAMILY.ROM_ID.CRC
- `get <name> present`
  Returns 1 if this 1-Wire device is present, otherwise 0.
- `get <name> memory <page>`
  Read memory page 0..6
- `get <name> gpio`
  Obtain state of all four input channels (15 = all off, 0 = all on)
- `get <name> gpio`
  Obtain state of all four input counters (4 x 16 Bit)
- `get <name> version`
  Obtain firmware version of the controller

Attributes

- Standard attributes alias, comment, eventMap, logLevel, webCmd

### OWSWITCH

FHEM module to commmunicate with 1-Wire Programmable Switches
Note:
This 1-Wire module so far works only with the OWX interface module. Please define an OWX device first.
Example

`define OWX_S OWSWITCH DS2413 B5D502000000 60`
`attr OWX_S AName Lampe|light`
`attr OWX_S AUnit AN|AUS`

Define

`define <name> OWSWITCH [<model>] <id> [<interval>]`
Define a 1-Wire switch.
- `[<model>]`
  Defines the switch model (and thus 1-Wire family id), currently the following values are permitted:
  - model DS2413 with family id 3A (default if the model parameter is omitted)
- `<id>`
  12-character unique ROM id of the converter device without family id and CRC code
- `<interval>`
  Measurement interval in seconds. The default is 300 seconds.

Set

- `set <name> interval <int>`
  Measurement interval in seconds. The default is 300 seconds.
- `set <name> output <channel-name> ON | OFF`
  Switch channel on/off (A, B or named channel, see below)
- `set <name> gpio <value>`
  Write state for all channels (for each bit 0=ON, 1=OFF)

Get

- `get <name> id`
  Returns the full 1-Wire device id OW_FAMILY.ROM_ID.CRC
- `get <name> present`
  Returns 1 if this 1-Wire device is present, otherwise 0.
- `get <name> interval`
  Returns measurement interval in seconds.
- `get <name> INPUT <channel-name>`
  Obtain state of channel (A, B or named channel, see below)
- `get <name> gpio`
  Obtain state of all channels

Attributes For each of the following attributes, the channel identification A,B may be used.

- `attr <name> <channel>Name <string>|<string>`
  name for the channel | a type description for the measured value.
- `attr <name> <channel>Unit <string>|<string>`
  display for on | off condition
- Standard attributes alias, comment, eventMap, logLevel, webCmd

### OWTHERM

FHEM module to commmunicate with 1-Wire bus digital thermometer devices
Note:
This is the only 1-Wire module which so far works with both the OWFS and the OWX interface module. Please define an OWFS device or an OWX device first.
Example

`define OWX_T OWTHERM DS18B20 E8D09B030000 300`
`attr OWX_T tempUnit Kelvin`

Define

`define <name> OWTHERM [<model>] <id> [<interval>]`
Define a 1-Wire digital thermometer device.
- `[<model>]`
  Defines the thermometer model (and thus 1-Wire family id) currently the following values are permitted:
  - model DS1820 with family id 10 (default if the model parameter is omitted)
  - model DS1822 with family id 22
  - model DS18B20 with family id 28
- `<id>`
  12-character unique ROM id of the thermometer device without family id and CRC code
- `<interval>`
  Temperature measurement interval in seconds. The default is 300 seconds.
Example:
`define Temp1 OWTHERM 14B598010800 300`

Set

- `set <name> interval <int>`
  Temperature measurement intervall in seconds. The default is 300 seconds.
- `set <name> tempHigh <float>`
  The high alarm temperature (on the temperature scale chosen by the attribute value)
- `set <name> tempLow <float>`
  The low alarm temperature (on the temperature scale chosen by the attribute value)

Get

- `get <name> id`
  Returns the full 1-Wire device id OW_FAMILY.ROM_ID.CRC
- `get <name> present`
  Returns 1 if this 1-Wire device is present, otherwise 0.
- `get <name> interval`
  Returns temperature measurement interval in seconds.
- `get <name> temperature`
  Obtain the temperature.
- `get <name> alarm`
  Obtain the alarm temperature values.

Attributes

- `attr <name> stateAL <string>`
  character string for denoting low alarm condition, default is red down triangle, e.g. the code <span style="color:red">&#x25BE;</span> leading to the sign ▾
- `attr <name> stateAH <string>`
  character string for denoting high alarm condition, default is red upward triangle, e.g. the code <span style="color:red">&#x25B4;</span> leading to the sign ▴
- `attr <name> tempOffset <float>`
  temperature offset in °C added to the raw temperature reading.
- `attr <name> tempUnit Celsius|Kelvin|Fahrenheit|C|K|F`
  unit of measurement (temperature scale), default is Celsius = °C
- `attr <name> tempHigh <float>`
  high alarm temperature (on the temperature scale chosen by the attribute value).
- `attr <name> tempLow <float>`
  low alarm temperature (on the temperature scale chosen by the attribute value).
- Standard attributes alias, comment, eventMap, logLevel, webCmd