--- title: "Pool’nX: control the pool from KNX (filtration, lighting, pump)" description: "Map pool commands to KNX group addresses in Pool’nX: filtration, lighting, pump, valve, auxiliaries and heating setpoint, with the last event received." canonical: https://wiki.can-nx.com/en/guides/pool-knx-commands/ language: en product: Pool’nX audience: - administrateur - installateur context: "Can’nX Cloud, Pool’nX window: Pool Commands table, KNX group addresses and last event" --- # Pool’nX: control the pool from KNX (filtration, lighting, pump) Context: Can’nX Cloud, Pool’nX window: Pool Commands table, KNX group addresses and last event The **Pool Commands** table of Pool’nX maps each command of the Klereo or PoolCop controller to a KNX group address: filtration, lighting, pump, valve, auxiliaries, heating setpoint. When a write telegram arrives on the address, Pool’nX converts the value and sends the command to the controller. Intended for the installer who controls the pool from a KNX push button, visualization or logic. The accepted values depend on the controller: see [the Klereo table](https://wiki.can-nx.com/en/guides/pool-klereo-knx/) or [the PoolCop table](https://wiki.can-nx.com/en/guides/pool-poolcop-knx/). ## Before you start - The type of pool, the credentials and the pool are chosen: see [open Pool’nX in Can’nX Cloud](https://wiki.can-nx.com/en/guides/pool-access/). - In ETS, the sending KNX object writes to the group address with the DPT of the row, shown in the **DPT** column. ## Map a command 1. In the **Pool'nX** window, next to **Pool Commands**, click the double-arrow button. 2. The table shows **Name**, **Value**, **Last event**, **DPT**, **KNX Group Address** and **Active**. 3. Find the command with **Search by name**. 4. Enter the group address in X/Y/Z format, for example **5/2/0** (example), and tick **Active**. 5. Remove the filters: only the displayed rows are saved. 6. Click **Save**. **Success!** confirms the save. **Auto-fill addresses** and **Clean all addresses** work as in [the status table](https://wiki.can-nx.com/en/guides/pool-knx-status/). Pool’nX executes any command whose row has an address, whether the **Active** box is ticked or not. The box is used by the filter and by [the ETS export](https://wiki.can-nx.com/en/guides/pool-knx-ets-export/). To stop an address from controlling the pool, clear it from the row, then save. Use a different address for each command: if two rows have the same address, only the first one is executed. A read request on the address sends no command. ## Read Value and Last event - **Last event**: date and time of the last telegram received for this command. - **Value**: last value received from the bus. With Klereo, it is shown with its meaning, for example **Manual Mode: On (1)**. When the command did not succeed, **Value** shows a message instead of the value: | Message | Controller | Meaning | | --- | --- | --- | | **invalid** followed by the value | Klereo | Value not accepted for this output: nothing is sent. | | **reserved aux** | PoolCop Cloud | Auxiliary reserved by the PoolCop: on and off are refused. | | **no heating aux configured** | PoolCop Cloud | No auxiliary controls heating. | | **PoolCop refused** followed by a code | PoolCop Cloud | PoolCop Cloud refused the command. | | **PoolCop unreachable** | PoolCop Cloud | PoolCop Cloud did not respond. | | **invalid value or aux id** | PoolCop (legacy) | Unreadable value or no heating auxiliary. | A value displayed without a message means that Pool’nX received it. Some out-of-range values are not passed on and show no message: check the effect in the statuses. ## Check the result 1. Send the command from the visualization, or write the value to the address with the ETS group monitor. 2. Check that **Last event** and **Value** are updated. 3. Open **Pool Status**: the matching state changes once the controller has taken the command into account. With PoolCop Cloud, allow up to about two minutes. 4. Watch the pool equipment. ## Troubleshooting | Symptom | Cause and action | | --- | --- | | **Last event** does not change | No write telegram received on the address. Check the address entered, that the table was saved, and the address used by the KNX sender. | | A command is sent although **Active** is unticked | The row still has an address. Clear it and save. | | Message in **Value** | See the table above and the controller values. | | Status unchanged after the command | The controller has not confirmed yet, or its operating mode takes precedence. Check the state in the controller’s app. | See also [Pool’nX troubleshooting](https://wiki.can-nx.com/en/guides/pool-help/) and, for a non-KNX supervisor, [the TCP client](https://wiki.can-nx.com/en/guides/pool-tcp-client/). French labels: **Commandes vers la piscine**, **Nom**, **Valeur**, **Dernier évènement**, **Adresse de Groupe KNX**, **Active**, **Rechercher par nom**, **Remplissage auto. des adresses**, **Effacer toutes les adresses**, **Enregistrer**, **Mode Manuel: Marche (1)**.