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

3.3 KiB

layout, title, description, date, sidebar, comments, sharing, footer, logo, ha_category, ha_release, ha_iot_class
layout title description date sidebar comments sharing footer logo ha_category ha_release ha_iot_class
page Modbus Sensor Instructions on how to integrate Modbus sensors into Home Assistant. 2015-08-30 23:38 true false true true modbus.png Sensor pre 0.7 Local Push

The modbus sensor allows you to gather data from Modbus registers.

{% linkable_title Configuration %}

To use your Modbus sensors in your installation, add the following to your configuration.yaml file:

# 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 documentation.

{% linkable_title Full example %}

Example a temperature sensor with a 10 seconds scan interval:

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