From 538310bb08278a007f5faa1560c1ba9aed6c2e13 Mon Sep 17 00:00:00 2001 From: Avishay Date: Mon, 24 Oct 2022 19:31:05 +0300 Subject: [PATCH] HVAC mode in Modbus platform (#23231) Co-authored-by: Franck Nijhof --- source/_integrations/modbus.markdown | 68 ++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/source/_integrations/modbus.markdown b/source/_integrations/modbus.markdown index 4cb17bdff84..28407afa11b 100644 --- a/source/_integrations/modbus.markdown +++ b/source/_integrations/modbus.markdown @@ -408,6 +408,18 @@ modbus: target_temp_register: 2782 temp_step: 1 temperature_unit: C + - name: "Bedroom Air Condition" + address: 10 + target_temp_register: 10 + hvac_mode_register: + address: 11 + values: + auto: 0 + cool: 1 + heat: 2 + fan_only: 3 + dry: 4 + hvac_onoff_register: 11 ``` {% configuration %} @@ -454,6 +466,56 @@ climates: required: false type: string default: C + hvac_mode_register: + description: Definition of a register holding and controlling an HVAC mode + required: false + type: [map] + keys: + address: + description: The address of the HVAC mode register. + required: true + type: integer + values: + description: A mapping between the register values and HVAC modes + required: true + type: [map] + keys: + "off": + description: The register value corresponding to HVAC Off mode. + required: false + type: integer + heat: + description: The register value corresponding to HVAC Heat mode. + required: false + type: integer + cool: + description: The register value corresponding to HVAC Cool mode. + required: false + type: integer + auto: + description: The register value corresponding to HVAC Auto mode. + required: false + type: integer + dry: + description: The register value corresponding to HVAC Dry mode. + required: false + type: integer + fan_only: + description: The register value corresponding to HVAC Fan only mode. + required: false + type: integer + heat_cool: + description: The register value corresponding to HVAC Heat/Cool mode. + required: false + type: integer + hvac_onoff_register: + description: Address of a register holding and controlling the On/Off state of the climate device. + When zero is read from this register, the HVAC state is set to Off, otherwise the `hvac_mode_register` + dictates the state of the HVAC. If no such register is defined, it defaults to Auto. + When the HVAC mode is set to Off, the value 0 is written to the register, otherwise the + value 1 is written. + required: false + type: integer unique_id: description: An ID that uniquely identifies this sensor. If two sensors have the same unique ID, Home Assistant will raise an exception. required: false @@ -466,6 +528,12 @@ climates: | ------- | ----------- | | 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` | +### Service `modbus.set_hvac_mode` + +| Service | Description | +| ------- | ----------- | +| set_hvac_mode | Set HVAC mode. Requires `value` to be passed in, which is the desired mode. `value` should be a valid HVAC mode. A mapping between the desired state and the value to be written to the HVAC mode register must exist. Calling this service will also set the On/Off register to an appropriate value, if such a register is defined. | + ## Configuring platform cover The `modbus` cover platform allows you to control covers (such as blinds, a roller shutter, or a garage door).