From ce7d691779c8a733c8bb4756c8ee55d3208d2a6b Mon Sep 17 00:00:00 2001 From: Stefan Rado <628587+kroimon@users.noreply.github.com> Date: Thu, 22 Feb 2024 04:03:17 +0100 Subject: [PATCH] Add documentation for uponor_smatrix component (#3381) --- components/uponor_smatrix.rst | 138 ++++++++++++++++++++++++++++++++++ images/uponor.svg | 4 + index.rst | 1 + 3 files changed, 143 insertions(+) create mode 100644 components/uponor_smatrix.rst create mode 100644 images/uponor.svg diff --git a/components/uponor_smatrix.rst b/components/uponor_smatrix.rst new file mode 100644 index 000000000..8da3617b8 --- /dev/null +++ b/components/uponor_smatrix.rst @@ -0,0 +1,138 @@ +Uponor Smatrix Base Pulse Underfloor Heating +============================================ + +.. seo:: + :description: Instructions for setting up an Uponor Smatrix Base Pulse underfloor heating control system in ESPHome. + :keywords: Uponor Smatrix, HCS, Thermostat + +The Uponor Smatrix component allows you to integrate an Uponor Smatrix Base Pulse underfloor heating control system in ESPHome without the need for an Smatrix Pulse Com R-208 communication module. +It directly communicates with the controller and thermostats via the RS485 thermostat bus. + +Connecting to the bus +--------------------- + +This component is able to communicate directly with the RS485 thermostat bus. For that, you will need to connect an RS485 to TTL converter to a UART bus of your ESPHome device. + +The RS485 side of the converter can either be connected to one of the A/B terminals on the controller or on one of the thermostats. +The +/- terminals provide 5 volts and can be used to power your ESPHome device. + +The :ref:`UART Component ` must be configured with a baud rate of 19200, 8 data bits, no parity, 1 stop bit. + +.. _uponor-gettingstarted: + +Getting started +--------------- + +The controller and the thermostats have unique addresses used for communication that are not displayed anywhere but can only be found when scanning the bus. +Start with a basic configuration that just contains the UART and Uponor hub components. Make sure that the UART pins are configured according to your wiring and the baud rate is set to 19200. + +.. code-block:: yaml + + uponor_smatrix: + +When you upload this configuration to your ESPHome device and connect it to the Uponor Smatrix bus, it will print a list of detected addresses to the log output. + +.. code-block:: text + + [00:00:00][C][uponor_smatrix:019]: Uponor Smatrix + [00:00:00][C][uponor_smatrix:020]: System address: 0x110B + [00:00:00][C][uponor_smatrix:031]: Detected unknown device addresses: + [00:00:00][C][uponor_smatrix:033]: 0xDE62 + [00:00:00][C][uponor_smatrix:033]: 0xDDFF + [00:00:00][C][uponor_smatrix:033]: 0xDE72 + [00:00:00][C][uponor_smatrix:033]: 0xDE4A + [00:00:00][C][uponor_smatrix:033]: 0xDE13 + +With that you can then add ``climate`` or ``sensor`` components for the detected devices. Optionally, you can also statically add the detected system address to your ``uponor_smatrix`` configuration. + +.. code-block:: yaml + + uponor_smatrix: + address: 0x110B + + climate: + - platform: uponor_smatrix + address: 0xDE13 + name: Thermostat Living Room + + +Controller/Hub component +------------------------ + +The main ``uponor_smatrix`` component is responsible for the communication with the controller and thermostats and distributes data to the climate and sensor components described below. + +It is also able to synchronize the date and time of the thermostats with a time source in case your system has thermostats that can be programmed with a time schedule. + +.. code-block:: yaml + + uponor_smatrix: + address: 0x110B + uart_id: my_uart + time_id: my_time + +Configuration variables: +~~~~~~~~~~~~~~~~~~~~~~~~ + +- **address** (*Optional*, int): The 16 bit system/controller address. This will be automatically detected from the bus if not specified. See :ref:`uponor-gettingstarted` on how to find the address. +- **uart_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the :ref:`UART Component ` if you want to use multiple UART buses. +- **time_id** (*Optional*, :ref:`config-id`): Specify the ID of the :doc:`Time Component