mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-05-31 07:16:47 +00:00
117 lines
2.9 KiB
Markdown
117 lines
2.9 KiB
Markdown
---
|
|
title: "Modbus Climate"
|
|
description: "Instructions how to integrate a Modbus thermostat within Home Assistant."
|
|
ha_category:
|
|
- Climate
|
|
ha_release: 0.68
|
|
ha_iot_class: Local Polling
|
|
ha_domain: modbus
|
|
---
|
|
|
|
|
|
The `modbus` thermostat allows you to use a sensor value (current temperature) and target value (target temperature) from [Modbus](http://www.modbus.org/) registers.
|
|
|
|
## Configuration
|
|
|
|
To use your Modbus thermostat in your installation, add the following to your `configuration.yaml` file:
|
|
|
|
```yaml
|
|
# Example configuration.yaml entry
|
|
climate:
|
|
- platform: modbus
|
|
name: Watlow F4T
|
|
hub: hub1
|
|
slave: 1
|
|
data_type: uint
|
|
data_count: 1
|
|
scale: 0.1
|
|
offset: 0
|
|
precision: 1
|
|
max_temp: 30
|
|
min_temp: 15
|
|
temp_step: 1
|
|
target_temp_register: 2782
|
|
current_temp_register: 27586
|
|
```
|
|
|
|
{% configuration %}
|
|
name:
|
|
description: Name of the device
|
|
required: true
|
|
type: string
|
|
hub:
|
|
description: The name of the hub.
|
|
required: false
|
|
default: default
|
|
type: string
|
|
slave:
|
|
description: The number of the slave (Optional for tcp and upd Modbus, use 1).
|
|
required: true
|
|
type: integer
|
|
target_temp_register:
|
|
description: Register number for target temperature (Setpoint).
|
|
required: true
|
|
type: integer
|
|
current_temp_register:
|
|
description: Register number for current temperature (Process value).
|
|
required: true
|
|
type: integer
|
|
current_temp_register_type:
|
|
description: Modbus register type (holding, input) for current temperature, default holding.
|
|
required: false
|
|
type: string
|
|
default: holding
|
|
data_type:
|
|
description: Response representation (int, uint, float, custom). If float selected, value will converted to IEEE 754 floating point format.
|
|
required: false
|
|
type: string
|
|
default: float
|
|
data_count:
|
|
description: Number of registers to read.
|
|
required: false
|
|
type: integer
|
|
default: 2
|
|
precision:
|
|
description: Number of valid decimals.
|
|
required: false
|
|
type: integer
|
|
default: 1
|
|
scale:
|
|
description: Scale factor (output = scale * value + offset).
|
|
required: false
|
|
type: float
|
|
default: 1
|
|
offset:
|
|
description: Final offset (output = scale * value + offset).
|
|
required: false
|
|
type: float
|
|
default: 0
|
|
max_temp:
|
|
description: Maximum setpoint temperature.
|
|
required: false
|
|
type: integer
|
|
default: 35
|
|
min_temp:
|
|
description: Maximum setpoint temperature.
|
|
required: false
|
|
type: integer
|
|
default: 5
|
|
temp_step:
|
|
description: The supported step size a target temperature can be increased/decreased.
|
|
required: false
|
|
type: float
|
|
default: 0.5
|
|
temperature_unit:
|
|
description: Temperature unit reported by the current_temp_register. C or F
|
|
required: false
|
|
type: string
|
|
default: C
|
|
{% endconfiguration %}
|
|
|
|
|
|
### Services
|
|
|
|
| Service | Description |
|
|
| ------- | ----------- |
|
|
| set_temperature | Set Temperature. Requires `value` to be passed in, which is the desired target temperature. `value` should be in the same type as `data_type` |
|