home-assistant.io/source/_integrations/switch.modbus.markdown
2020-03-27 11:46:05 +01:00

138 lines
3.2 KiB
Markdown

---
title: "Modbus Switch"
description: "Instructions on how to integrate Modbus switches into Home Assistant."
ha_category:
- Switch
ha_release: pre 0.7
ha_iot_class: Local Push
ha_domain: modbus
---
The `modbus` switch platform allows you to control [Modbus](http://www.modbus.org/) coils or registers.
## Configuration
To use your Modbus switches in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
switch:
platform: modbus
coils:
- name: Switch1
hub: hub1
slave: 1
coil: 13
- name: Switch2
slave: 2
coil: 14
registers:
- name: Register1
hub: hub1
slave: 1
register: 11
command_on: 1
command_off: 0
```
{% configuration %}
coils:
description: A list of relevant coils to read from/write to.
required: false
type: map
keys:
hub:
description: The name of the hub.
required: false
default: default
type: string
slave:
description: The number of the slave (can be omitted for tcp and udp Modbus).
required: true
type: integer
name:
description: Name of the switch.
required: true
type: string
coil:
description: Coil number.
required: true
type: integer
registers:
description: A list of relevant registers to read from/write to.
required: false
type: map
keys:
hub:
description: The hub to use.
required: false
default: default
type: string
slave:
description: The number of the slave (can be omitted for tcp and udp Modbus).
required: true
type: integer
name:
description: Name of the switch.
required: true
type: string
register:
description: Register number.
required: true
type: integer
command_on:
description: Value to write to turn on the switch.
required: true
type: integer
command_off:
description: Value to write to turn off the switch.
required: true
type: integer
verify_state:
description: Define if is possible to readback the status of the switch.
required: false
default: true
type: boolean
verify_register:
description: Register to readback.
required: false
default: same as register
type: string
register_type:
description: Modbus register types are holding or input.
required: false
default: holding
type: string
state_on:
description: Register value when switch is on.
required: false
default: same as command_on
type: integer
state_off:
description: Register value when switch is off.
required: false
default: same as command_off
type: integer
{% endconfiguration %}
It's possible to change the default 30 seconds scan interval for the switch state updates as shown in the [Platform options](/docs/configuration/platform_options/#scan-interval) documentation.
### Full example
Example switches, for which the state is polled from Modbus every 10 seconds.
```yaml
switch:
platform: modbus
scan_interval: 10
coils:
- name: Switch1
hub: hub1
slave: 1
coil: 13
- name: Switch2
hub: hub1
slave: 2
coil: 14
```