home-assistant.io/source/_components/sensor.modbus.markdown
Klaas Schoute 7b4305c7ee Update Modbus component configuration variable (#6603)
* Update Modbus component configuration variable

Update style of Modbus component (all the 4 files) documentation to follow new configuration variables description.

* Update modbus.markdown

* Update binary_sensor.modbus.markdown

* Tweak fix

* Tweak round 2 😛

* ✏️ Tweak round 3
2018-10-11 21:39:07 +02:00

131 lines
3.3 KiB
Markdown

---
layout: page
title: Modbus Sensor
description: "Instructions on how to integrate Modbus sensors into Home Assistant."
date: 2015-08-30 23:38
sidebar: true
comments: false
sharing: true
footer: true
logo: modbus.png
ha_category: Sensor
ha_release: pre 0.7
ha_iot_class: "Local Push"
---
The `modbus` sensor allows you to gather data from [Modbus](http://www.modbus.org/) registers.
## {% linkable_title Configuration %}
To use your Modbus sensors in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
platform: modbus
registers:
- name: Sensor1
unit_of_measurement: °C
slave: 1
register: 100
- name: Sensor2
unit_of_measurement: mg
slave: 1
register: 110
count: 2
- name: Sensor3
unit_of_measurement: °C
slave: 1
register: 120
register_type: input
data_type: float
scale: 0.01
offset: -273.16
precision: 2
```
{% configuration %}
registers:
description: The array contains a list of relevant registers to read from.
required: true
type: map
keys:
name:
description: Name of the sensor.
required: true
type: string
slave:
description: The number of the slave (Optional for tcp and upd Modbus).
required: true
type: integer
register:
description: Register number.
required: true
type: integer
register_type:
description: Modbus register type (holding, input), default holding.
required: false
type: string
unit_of_measurement:
description: Unit to attach to value.
required: false
type: integer
count:
description: Number of registers to read.
required: integer
type: integer
reverse_order:
description: Reverse the order of registers when count >1.
required: false
default: False
type: boolean
scale:
description: Scale factor (output = scale * value + offset).
required: false
default: 1
type: float
offset:
description: Final offset (output = scale * value + offset).
required: false
default: 0
type: float
precision:
description: Number of valid decimals.
required: false
default: 0
type: integer
data_type:
description: Response representation (int, uint, float, custom). If float selected, value will be converted to IEEE 754 floating point format.
required: false
default: int
type: string
structure:
description: "If data_type is custom specify here a double quoted python struct format string to unpack the value. See python documentation for details. Ex: >i."
required: false
type: string
{% endconfiguration %}
It's possible to change the default 30 seconds scan interval for the sensor updates as shown in the [Platform options](/docs/configuration/platform_options/#scan-interval) documentation.
### {% linkable_title Full example %}
Example a temperature sensor with a 10 seconds scan interval:
```yaml
sensor:
- platform: modbus
scan_interval: 10
registers:
- name: Room_1
slave: 10
register: 0
register_type: holding
unit_of_measurement: °C
count: 1
scale: 0.1
offset: 0
precision: 1
data_type: integer
```