TapHome

Somfy TaHoma – žaluzine i rolete io i RTS (lokalni API)

Packet Parser → HTTP
Autor
Posljednje ažuriranje: 11. 2026

Potreban je vanjski pristupnik (gateway)

Somfy TaHoma with Developer Mode (local API, HTTPS port 8443) — stranica proizvoda

Ovaj uređaj podržava mDNS

Umjesto IP adrese uređaju možete pristupiti na adresi:

gateway-{pin}.local.local

Zamijenite {MAC} MAC adresom svog uređaja (velika slova, bez dvotočaka).

TapHome podržava mDNS. Naziv računala (hostname) pouzdaniji je od statične IP adrese.

Somfy TaHoma – žaluzine i rolete io i RTS (lokalni API)

Predložak Somfy TaHoma povezuje TapHome s pristupnikom Somfy TaHoma (na primjer TaHoma Switch) preko službenog lokalnog API-ja pristupnika, koji Somfy naziva Developer Mode. Motori se s pristupnikom uparuju kao i obično u aplikaciji TaHoma by Somfy; TapHome komunicira samo s pristupnikom, preko HTTPS-a na priključku 8443 u lokalnoj mreži, bez veze s oblakom.

Predložak upravlja položajem roleta i tendi io-homecontrol, položajem i kutom lamela vanjskih žaluzina io-homecontrol, a jednosmjernim RTS motorima šalje naredbe Otvori, My, Stop i Zatvori.

Predložak zajednice — još nije testiran s TapHome. Predložak je izrađen u portalu TapHome iz dokumentacije Somfy za način Developer Mode; nazivi stanja i naredbi uređaja potječu iz izvora zajednice (Somfy ih ne navodi). Testiran je samo sa simulatorom pristupnika na lokalnom TapHome Core 2025.2, ne sa stvarnim pristupnikom TaHoma ni sa stvarnim Somfy motorima, a iskustva s terena su dobrodošla. XML preuzmite na ovoj stranici ili u portalu TapHome: Somfy TaHoma — predložak zajednice, i uvezite ga kao novi modul.

Žičani Somfy motori ne trebaju pristupnik. Somfy motorom na 230 V bez radijskog prijamnika (na primjer Somfy WT, četiri vodiča — PE, N, gore, dolje) TapHome upravlja izravno relejnim modulima kao i svakim drugim motorom zasjenjenja — pogledajte Zahtjevi → Zasjenjenje. Ovaj predložak namijenjen je motorima s radijem (io-homecontrol ili RTS) uparenima s pristupnikom TaHoma.

Podržani pristupnici

Prema Somfyju, Developer Mode radi na velikoj većini pristupnika TaHoma. Nije dostupan na:

  • TaHoma box ili Somfy box 1. generacije (kvadratnog oblika)
  • Connectivity Kit

Hardversko spajanje

Ožičenje nije potrebno. Pristupnik TaHoma i TapHome Core moraju biti u istoj lokalnoj mreži. Pristupnik koristi certifikat potpisan samopotpisanim tijelom Overkiz; predložak se spaja uz zanemarivanje grešaka certifikata, pa nije potrebno instalirati nikakav certifikat.

Konfiguracija

Uključivanje načina Developer Mode i izrada tokena

  1. Otvorite aplikaciju TaHoma by Somfy.
  2. Idite na Configure the installation › Access the parameters svog pristupnika TaHoma.
  3. 7 puta dodirnite PIN pristupnika (na primjer 2001-1234-5678) — uključuje se Developer Mode i pokreće se lokalni API pristupnika.
  4. U izborniku Developer Mode generirajte token.

Token se može pročitati i kopirati samo pri izradi — odmah ga spremite. Može se generirati više tokena; ako se token izgubi, generirajte novi i unesite ga u TapHome.

Pronalaženje adresa uređaja

Svaki motor uparen s pristupnikom ima adresu, deviceURL. Adrese dobivate iz popisa uređaja pristupnika s tokenom — na primjer s računala u istoj mreži:

1
curl -k -H "Authorization: Bearer <token>" https://<gateway-address>:8443/enduser-mobile-web/1/enduserAPI/setup/devices

Motor pronađite po label (naziv iz aplikacije TaHoma) i kopirajte njegov deviceURL točno onako kako je prikazan. Predložak ga za zahtjev kodira sam.

ProtokolFormatPrimjer
io-homecontrolio://{gateway-pin}/{device-id}io://1234-5678-9012/4820485
RTSrts://{gateway-pin}/{device-id}rts://1234-5678-9012/987654321

Isti odgovor pokazuje što svaki motor podržava: definition.states i definition.commands. Predložak očekuje stanje core:ClosureState i naredbu setClosure kod rolete ili tende, core:ClosureState, core:SlateOrientationState i setClosureAndOrientation kod žaluzine te open, my, stop i close kod RTS motora. Motor čija definicija nema te nazive neće raditi s tim uređajem.

Parametri uvoza

Parametar uvozaOpisZamjenska vrijednost
GatewayAddressIP adresa ili naziv hosta pristupnika TaHoma, na primjer gateway-1234-5678-9012.local192.168.1.100
BearerTokenToken iz načina Developer Mode(prazno)
SlideDeviceUrldeviceURL io rolete ili tendeio://1234-5678-9012/12345678
BlindDeviceUrldeviceURL io žaluzineio://1234-5678-9012/12345678
RtsDeviceUrldeviceURL RTS motorarts://1234-5678-9012/12345678

Ako koristite IP adresu, rezervirajte je za pristupnik u usmjerivaču kako se ne bi mijenjala.

Predložak ima po jedan uređaj svake vrste. Uređaje koji vam nisu potrebni izbrišite. Za dodatne motore ponovno uvezite predložak s drugim adresama — svaki uvoz dodaje modul pristupnika s vlastitim uređajima — i izbrišite suvišne uređaje, ili promijenite varijablu DeviceUrl uređaja.

Mogućnosti uređaja

Pristupnik

Modul čita pristupnik svakih 30 s i prikazuje tri servisna atributa: Verzija protokola (verzija lokalnog API-ja), ID pristupnika (PIN pristupnika) i Stanje povezivosti (na primjer OK). Kod pogrešnog tokena modul prikazuje grešku „Check Bearer token in TaHoma By Somfy app → Developer Mode”.

io rolete i tende

  • io roleta / tenda — položaj rolete ili tende io-homecontrol. Pristupnik javlja 0 = potpuno otvoreno i 100 = potpuno zatvoreno; u TapHome je 0 % potpuno gore i 100 % potpuno dolje, isti smjer. Uređaj čita položaj svakih 5 s i pokreće motor naredbom setClosure.

io vanjske žaluzine

  • io vanjska žaluzina — položaj i kut lamela vanjske žaluzine io-homecontrol. Oboje se šalje zajedno jednom naredbom setClosureAndOrientation, pa promjena položaja šalje i trenutačni kut lamela, a promjena lamela trenutačni položaj. Kad TapHome istodobno promijeni položaj i lamele, ista naredba šalje se samo jednom.

RTS motori

RTS motori (Radio Technology Somfy) jednosmjerni su radio: primaju naredbe, ali ne javljaju svoj položaj.

VrijednostNaredbaRadnja
OtvoriopenKretanje gore / potpuno otvori
MymyPrijelaz u omiljeni položaj spremljen u motoru
StopstopZaustavi kretanje
ZatvoricloseKretanje dolje / potpuno zatvori
  • RTS motor — nakon svake naredbe prekidač pokazuje Spremno, pa se ista naredba može poslati ponovno, na primjer Zatvori nakon što je motor pomaknut vlastitim daljinskim upravljačem. Odabir Spremno šalje Stop.

Nijedan uređaj ne pomiče motor pri pokretanju TapHome Core: stanje preuzimaju od pristupnika, a ne od posljednje vrijednosti u TapHome.

Kako predložak komunicira s pristupnikom

Svi pozivi idu na https://<gateway-address>:8443/enduser-mobile-web/1/enduserAPI sa zaglavljem Authorization: Bearer <token>; bez tokena radi samo GET /apiVersion. Svaki io uređaj čita svoja stanja iz /setup/devices/{deviceURL}/states svakih 5 s, a svi uređaji šalju naredbe preko POST /exec/apply. Somfy za lokalni API ne postavlja ograničenje poziva, ali upozorava da prečesti pozivi preopterećuju pristupnik i usporavaju upravljanje motorima — imajte to na umu kad je na jednom pristupniku mnogo motora.

Rješavanje problema

Greška „Check Bearer token in TaHoma By Somfy app → Developer Mode”

Pristupnik je odgovorio s HTTP 401: token je pogrešan ili nije kopiran u cijelosti. Generirajte novi token u aplikaciji TaHoma by Somfy › Developer Mode i unesite ga u TapHome.

Pogreška uređaja „Device unavailable (HTTP …)”

Pristupnik ne poznaje adresu. Provjerite je li deviceURL kopiran točno iz GET /setup/devices — nekodiran, bez razmaka — i pripada li ispravnoj vrsti uređaja.

Pogreška uređaja „Closure state not available”

Pristupnik je odgovorio, ali bez stanja core:ClosureState. Provjerite definition.states motora. Neke tende umjesto toga javljaju stanje core:DeploymentState (0 = uvučena, 100 = izvučena); to predložak ne čita.

Pristupnik prikazuje uređaj kao nedostupan, a radi

Neke verzije firmvera TaHoma javljaju io uređaje kao nedostupne (available: false), iako normalno rade — prijavljeno Somfyju u repozitoriju Developer Mode. Predložak tu oznaku ne koristi i zbog nje ne prikazuje grešku.

RTS motor se ne pomiče

RTS naredbe jednosmjerni su radijski signali bez potvrde isporuke, pa TapHome ne prikazuje grešku kad motor ne reagira. Provjerite je li motor u radijskom dometu pristupnika i pomiče li se iz aplikacije TaHoma by Somfy.

Naziv hosta pristupnika nije dostupan

Ako se gateway-{pin}.local ne razriješi, koristite IP adresu pristupnika — nalazi se u usmjerivaču. Developer Mode mora ostati uključen: upravo on omogućuje lokalni API pristupnika.

Dostupni uređaji

Pristupnik Somfy TaHoma Modul
Servisni atributi
Verzija protokolaVerzija lokalnog API-ja koju javlja pristupnik
ID pristupnikaPIN pristupnika (na primjer 1234-5678-9012), isti PIN koji je dio adrese svakog uređaja
Stanje povezivostiStanje povezivosti koje javlja pristupnik, na primjer OK
Prilagođene varijable
BearerToken (string)Token lokalnog API-ja TaHoma, izrađen u aplikaciji TaHoma by Somfy › Developer Mode; modul i svaki uređaj šalju ga kao 'Authorization: Bearer <token>'
TaHoma by Somfy app → Configure the installation → Access the parameters of your TaHoma box → tap the gateway PIN 7 times → Developer Mode → generate a token. The token can be copied only when it is created; enter it as the import parameter Bearer token.

Somfy TaHoma Gateway

Čitanje (modul)
VAR r := SENDHTTPREQUEST("/enduser-mobile-web/1/enduserAPI/apiVersion");
IF r.IsSuccess
    ApiVersion := r.Content;
END

r := SENDHTTPREQUEST("/enduser-mobile-web/1/enduserAPI/setup/gateways", "GET", "", "Authorization: Bearer " + BearerToken);
IF r.StatusCode = 401
    ADDERROR(0, "Check Bearer token in TaHoma By Somfy app → Developer Mode");
ELSEIF r.IsSuccess
    GatewayData := r.Content;
END
Servisni atributi
Protocol Version
PARSEJSON(ApiVersion, "$.protocolVersion", true)
Gateway ID
PARSEJSON(GatewayData, "[0].gatewayId", true)
Connectivity Status
PARSEJSON(GatewayData, "[0].connectivity.status", true)
io roleta / tenda Roleta

Položaj rolete ili tende io-homecontrol — 0 % potpuno otvoreno, 100 % potpuno zatvoreno, isti smjer kao u pristupniku

numeric (0–100) Jedinica: % json_path
Varijabla: DeviceUrl — Adresa motora u pristupniku TaHoma (deviceURL iz GET /setup/devices), na primjer io://1234-5678-9012/4820485

io roleta / tenda

Čitanje (modul)
VAR encodedUrl := REPLACE(REPLACE(DeviceUrl, ":", "%3A"), "/", "%2F");
VAR r := SENDHTTPREQUEST("/enduser-mobile-web/1/enduserAPI/setup/devices/" + encodedUrl + "/states/core%3AClosureState", "GET", "", "Authorization: Bearer " + BearerToken);
IF r.StatusCode = 401
    ADDERROR(0, "Check Bearer token in TaHoma By Somfy app → Developer Mode");
ELSEIF r.IsSuccess
    StatesJson := r.Content;
ELSE
    ADDERROR(1, "Device unavailable (HTTP " + r.StatusCode + ")");
END
Čitanje položaja žaluzine
VAR closure := PARSEJSON(StatesJson, "$.value", true);
IF ISNULL(closure)
    ADDERROR(0, "Closure state not available");
    RETURN(NaN);
END
RETURN(closure / 100);
Zapis položaja žaluzine
VAR pos := ROUND(Bl * 100);
VAR body := "{\"label\":\"Set roller shutter\",\"actions\":[{\"deviceURL\":\"" + DeviceUrl + "\",\"commands\":[{\"name\":\"setClosure\",\"parameters\":[" + pos + "]}]}]}";
SENDHTTPREQUEST("/enduser-mobile-web/1/enduserAPI/exec/apply", "POST", body, "Authorization: Bearer " + BearerToken, "Content-Type: application/json");
io vanjska žaluzina Žaluzina

Položaj i kut lamela vanjske žaluzine io-homecontrol — oboje se šalje zajedno jednom naredbom

numeric (0–100) Jedinica: % json_path
Varijabla: DeviceUrl — Adresa žaluzine u pristupniku TaHoma (deviceURL), na primjer io://1234-5678-9012/5932104

io vanjska žaluzina

Čitanje (modul)
VAR encodedUrl := REPLACE(REPLACE(DeviceUrl, ":", "%3A"), "/", "%2F");
VAR r := SENDHTTPREQUEST("/enduser-mobile-web/1/enduserAPI/setup/devices/" + encodedUrl + "/states", "GET", "", "Authorization: Bearer " + BearerToken);
IF r.StatusCode = 401
    ADDERROR(0, "Check Bearer token in TaHoma By Somfy app → Developer Mode");
ELSEIF r.IsSuccess
    StatesJson := r.Content;
ELSE
    ADDERROR(1, "Device unavailable (HTTP " + r.StatusCode + ")");
END
Čitanje položaja žaluzine
VAR closure := PARSEJSON(StatesJson, "$[?(@.name=='core:ClosureState')].value", true);
IF ISNULL(closure)
    ADDERROR(0, "Closure state not available");
    RETURN(NaN);
END
RETURN(closure / 100);
Zapis položaja žaluzine
VAR pos := ROUND(Bl * 100);
VAR ori := ROUND(Bs * 100);
VAR body := "{\"label\":\"Set venetian blind\",\"actions\":[{\"deviceURL\":\"" + DeviceUrl + "\",\"commands\":[{\"name\":\"setClosureAndOrientation\",\"parameters\":[" + pos + "," + ori + "]}]}]}";
VAR date := NOW();
IF body != LastBody OR date.UNIXTIME - LastSentAt > 3
    SENDHTTPREQUEST("/enduser-mobile-web/1/enduserAPI/exec/apply", "POST", body, "Authorization: Bearer " + BearerToken, "Content-Type: application/json");
    LastBody := body;
    LastSentAt := date.UNIXTIME;
END
Čitanje kuta lamela
VAR orientation := PARSEJSON(StatesJson, "$[?(@.name=='core:SlateOrientationState')].value", true);
IF ISNULL(orientation)
    RETURN(NaN);
END
RETURN(orientation / 100);
Zapis kuta lamela
VAR pos := ROUND(Bl * 100);
VAR ori := ROUND(Bs * 100);
VAR body := "{\"label\":\"Set venetian blind\",\"actions\":[{\"deviceURL\":\"" + DeviceUrl + "\",\"commands\":[{\"name\":\"setClosureAndOrientation\",\"parameters\":[" + pos + "," + ori + "]}]}]}";
VAR date := NOW();
IF body != LastBody OR date.UNIXTIME - LastSentAt > 3
    SENDHTTPREQUEST("/enduser-mobile-web/1/enduserAPI/exec/apply", "POST", body, "Authorization: Bearer " + BearerToken, "Content-Type: application/json");
    LastBody := body;
    LastSentAt := date.UNIXTIME;
END
RTS motor Prekidač s više vrijednosti

Naredbe za jednosmjerni RTS motor — Otvori, My (omiljeni položaj), Stop ili Zatvori; RTS ne javlja položaj, pa prekidač nakon svake naredbe pokazuje Spremno

enum numeric
Vrijednosti / stanja: Spremno · Otvori · My · Stop · Zatvori
Varijabla: DeviceUrl — Adresa RTS motora u pristupniku TaHoma (deviceURL), na primjer rts://1234-5678-9012/987654321

RTS motor

Čitanje stanja sklopke
RETURN(0);
Zapis stanja sklopke
VAR cmd := SWITCH(Mu, 1, "open", 2, "my", 3, "stop", 4, "close", "stop");
VAR body := "{\"label\":\"RTS command\",\"actions\":[{\"deviceURL\":\"" + DeviceUrl + "\",\"commands\":[{\"name\":\"" + cmd + "\",\"parameters\":[]}]}]}";
SENDHTTPREQUEST("/enduser-mobile-web/1/enduserAPI/exec/apply", "POST", body, "Authorization: Bearer " + BearerToken, "Content-Type: application/json");
Povezivanje: Packet Parser → HTTP • Naziv računala (hostname): gateway-{pin}.local.local
Moguća poboljšanja (6)
  • Event-driven state updates — Somfy recommends reading /setup at start and then fetching events at most once per second; the listener expires after 10 minutes without a fetch. The template polls the states of each device every 5 s instead.
  • Automatic device discovery — The gateway lists every paired device with its deviceURL, label, controllableName and definition. The template does not create devices from it; the installer enters one deviceURL per device.
  • Open / Close / Stop / My on io motors — io roller shutters and venetian blinds accept the same commands as RTS; the template drives them by position only (setClosure / setClosureAndOrientation).
  • Awnings that report the deployment instead of the closure — Awnings of type io:HorizontalAwningIOComponent may report core:DeploymentState (0 = retracted, 100 = deployed) instead of core:ClosureState; the roller shutter device reads ClosureState only.
  • Cancel running executions — Cancels all running commands launched from the local API.
  • Availability of a motor — The device description carries available and the state core:StatusState; some gateway firmware reports io devices as unavailable although they work (reported in the Developer Mode repository), so the template does not use it.

Izvori

  • Somfy TaHoma Developer Mode — README (activation, token, certificate, mDNS, supported gateways)
    github.com 2026-11-04
  • Somfy TaHoma local API — OpenAPI specification

Pronašli ste problem s ovim predloškom uređaja?

Recite nam što ne radi, što nedostaje ili kako bi se predložak trebao ponašati. Vaše povratne informacije pomažu nam da katalog bude točan.

Zajednica · nije provjereno

Želite ovo koristiti u svojoj centralnoj jedinici TapHome Core?

Otvorite ovaj predložak na portalu Customer Portal kako biste ga primijenili na jedan od svojih domova ili predložili poboljšanje i poslali ga natrag u katalog.

Otvorite na portalu