
The Somfy TaHoma template connects TapHome to a Somfy TaHoma gateway (for example TaHoma Switch) over the official local API of the gateway, which Somfy calls Developer Mode. The motors are paired with the gateway in the TaHoma by Somfy app as usual; TapHome talks only to the gateway, over HTTPS on port 8443 in the local network, with no cloud connection.
The template controls io-homecontrol roller shutters and awnings by position, io-homecontrol exterior venetian blinds by position and slat angle, and sends the commands Open, My, Stop and Close to one-way RTS motors.
Community template — not yet tested with TapHome. The template was generated in the TapHome portal from the Somfy Developer Mode documentation, with the names of the device states and commands taken from community sources (Somfy does not list them). It was tested only against a simulated gateway on a local TapHome Core 2025.2, not on a real TaHoma gateway or real Somfy motors, and feedback from the field is welcome. Download the XML on this page, or get it from the TapHome portal: Somfy TaHoma — community template, and import it as a new module.
Wired Somfy motors need no gateway. A 230 V Somfy motor without a radio receiver (for example Somfy WT, four conductors — PE, N, up, down) is controlled by TapHome directly with relay modules, like any other blind motor — see Requirements → Shading. This template is for motors with radio (io-homecontrol or RTS) that are paired with a TaHoma gateway.
Supported gateways
According to Somfy, Developer Mode works on the large majority of TaHoma gateways. It is not available on:
- the TaHoma box or Somfy box of the 1st generation (square shape)
- the Connectivity Kit
Hardware connection
No wiring is needed. The TaHoma gateway and the TapHome Core have to be in the same local network. The gateway uses a certificate signed by the self-signed Overkiz authority; the template connects with certificate errors ignored, so no certificate has to be installed.
Configuration
Turning on Developer Mode and creating a token
- Open the TaHoma by Somfy app.
- Go to Configure the installation › Access the parameters of your TaHoma box.
- Tap the PIN of the gateway (for example 2001-1234-5678) 7 times — Developer Mode turns on and the local API of the gateway starts.
- In the Developer Mode menu, generate a token.
The token can be read and copied only when it is created — save it right away. More tokens can be generated; if a token is lost, generate a new one and enter it in TapHome.
Finding the device addresses
Each motor paired with the gateway has an address, the deviceURL. To read the addresses, call the device list of the gateway with the token — for example from a computer in the same network:
| |
Find the motor by its label (the name from the TaHoma app) and copy its deviceURL exactly as shown. The template encodes it for the request itself.
| Protocol | Format | Example |
|---|---|---|
| io-homecontrol | io://{gateway-pin}/{device-id} | io://1234-5678-9012/4820485 |
| RTS | rts://{gateway-pin}/{device-id} | rts://1234-5678-9012/987654321 |
The same answer shows what each motor supports: definition.states and definition.commands. The template expects the state core:ClosureState and the command setClosure on a roller shutter or awning, core:ClosureState, core:SlateOrientationState and setClosureAndOrientation on a venetian blind, and open, my, stop and close on an RTS motor. A motor whose definition lacks these names will not work with that device.
Import parameters
| Import parameter | Description | Placeholder |
|---|---|---|
GatewayAddress | IP address or host name of the TaHoma gateway, for example gateway-1234-5678-9012.local | 192.168.1.100 |
BearerToken | Token from Developer Mode | (empty) |
SlideDeviceUrl | deviceURL of the io roller shutter or awning | io://1234-5678-9012/12345678 |
BlindDeviceUrl | deviceURL of the io venetian blind | io://1234-5678-9012/12345678 |
RtsDeviceUrl | deviceURL of the RTS motor | rts://1234-5678-9012/12345678 |
If you use the IP address, reserve it for the gateway in the router so that it does not change.
The template has one device of each kind. Delete the devices you do not need. For more motors, import the template again with the other addresses — each import adds a gateway module with its own devices — and delete the extra devices, or change the DeviceUrl variable of a device.
Device capabilities
Gateway
The module reads the gateway every 30 s and shows three service attributes: Protocol Version (the version of the local API), Gateway ID (the gateway PIN) and Connectivity Status (for example OK). When the token is wrong, the module shows the error “Check Bearer token in TaHoma By Somfy app → Developer Mode”.
io roller shutters and awnings
- io Roller Shutter / Awning — position of an io-homecontrol roller shutter or awning. The gateway reports 0 = fully open and 100 = fully closed; in TapHome 0 % is fully raised and 100 % fully lowered, the same direction. The device reads the position every 5 s and moves the motor with the command
setClosure.
io venetian blinds
- io Venetian Blind — position and slat angle of an io-homecontrol exterior venetian blind. Both are sent together in one command
setClosureAndOrientation, so a change of position also sends the current slat angle and a change of the slats the current position. When TapHome changes position and slats at once, the identical command is sent only once.
RTS motors
RTS (Radio Technology Somfy) motors are one-way radio: they receive commands but do not report their position.
| Value | Command | Action |
|---|---|---|
| Open | open | Move up / fully open |
| My | my | Go to the favourite position stored in the motor |
| Stop | stop | Stop the movement |
| Close | close | Move down / fully close |
- RTS Motor — after each command the switch shows Ready, so the same command can be sent again, for example Close after the motor was moved with its own remote. Choosing Ready sends Stop.
None of the devices moves a motor when the TapHome Core starts: they take their state from the gateway, not from the last value in TapHome.
How the template talks to the gateway
All calls go to https://<gateway-address>:8443/enduser-mobile-web/1/enduserAPI with the header Authorization: Bearer <token>; only GET /apiVersion works without the token. Each io device reads its states from /setup/devices/{deviceURL}/states every 5 s, and all devices send commands with POST /exec/apply. Somfy sets no rate limit on the local API but warns that too frequent calls overload the gateway and delay the control of the motors — keep this in mind with many motors on one gateway.
Troubleshooting
Error “Check Bearer token in TaHoma By Somfy app → Developer Mode”
The gateway answered HTTP 401: the token is wrong or was not copied completely. Generate a new token in the TaHoma by Somfy app › Developer Mode and enter it in TapHome.
Device error “Device unavailable (HTTP …)”
The gateway does not know the address. Check that the deviceURL is copied exactly from GET /setup/devices — not encoded, without spaces — and that it belongs to the right device type.
Device error “Closure state not available”
The gateway answered, but without the state core:ClosureState. Check the definition.states of the motor. Some awnings report the state core:DeploymentState (0 = retracted, 100 = deployed) instead; the template does not read it.
Device shown as unavailable in the gateway, but it works
Some TaHoma firmware reports io devices as unavailable (available: false) although they work normally — reported to Somfy in the Developer Mode repository. The template does not use this flag and shows no error because of it.
RTS motor does not move
RTS commands are one-way radio signals without a delivery confirmation, so TapHome shows no error when the motor does not react. Check that the motor is in the radio range of the gateway and that it moves from the TaHoma by Somfy app.
Gateway host name not reachable
If gateway-{pin}.local does not resolve, use the IP address of the gateway — it is in the router. Developer Mode has to stay on: it is what enables the local API of the gateway.