TapHome

Samsung WindFree Klimatizácia

Packet Parser → HTTP
Pridal
Posledná aktualizácia: 04. 2026
Samsung WindFree Klimatizácia

Šablóna Samsung WindFree klimatizácia prepojí TapHome so split klimatizačnými jednotkami Samsung prostredníctvom Samsung SmartThings cloud API. Celá komunikácia prebieha cez HTTPS na api.smartthings.com — nie je potrebná žiadna lokálna kabeláž ani protokolové adaptéry. Jediné požiadavky sú Samsung účet so SmartThings, Personal Access Token (PAT) a Device ID klimatizačnej jednotky.

Šablóna poskytuje 8 zariadení pokrývajúcich kompletné ovládanie klimatizácie: zapnutie/vypnutie, výber režimu HVAC, rýchlosť ventilátora, smer prúdenia vzduchu, nastavenie cieľovej teploty, spätné čítanie teploty a vlhkosti miestnosti a exkluzívne Samsung predvoľby vrátane WindFree a WindFree Sleep.

Konfigurácia

Nastavenie prístupu k SmartThings API
  1. Prihláste sa do Samsung SmartThings developer portálu na account.smartthings.com/tokens pomocou Samsung účtu prepojeného s klimatizačnou jednotkou
  2. Kliknite na Generate new token
  3. Pomenujte token (napr. “TapHome”) a vyberte scope Devices (read + execute)
  4. Kliknite na Generate Token a skopírujte reťazec tokenu — nebude znova zobrazený
Zistenie Device ID

Device ID je GUID (napr. a1b2c3d4-e5f6-7890-abcd-ef1234567890), ktorý identifikuje konkrétnu klimatizačnú jednotku v SmartThings.

  1. Otvorte prehliadač alebo API nástroj a pošlite GET request na:
    1
    
    https://api.smartthings.com/v1/devices
    
    s hlavičkou Authorization: Bearer <váš-token>
  2. Nájdite Samsung WindFree klimatizáciu v odpovedi — pole deviceId obsahuje požadovaný GUID
  3. Alternatívne použite SmartThings CLI alebo Samsung SmartThings mobilnú aplikáciu (sekcia Device Info)
Importovacie parametre

Pri importe šablóny v TapHome zadajte:

ParameterPopisFormát
TokenSmartThings Personal Access TokenDlhý alfanumerický reťazec
DeviceIdSmartThings identifikátor zariadeniaUUID / GUID formát

SmartThings Personal Access Tokeny (PAT) sú určené na testovanie a osobné použitie. Môžu expirovať alebo byť zrušené. Ak sa token stane neplatným, vygenerujte nový na account.smartthings.com/tokens a aktualizujte premennú modulu v TapHome.

Závislosť na internete

Toto je čisto cloudová integrácia. Všetky dáta prechádzajú cez Samsung SmartThings servery (api.smartthings.com:443). Šablóna vyžaduje aktívne internetové pripojenie na TapHome Core. Klimatizačná jednotka musí byť zaregistrovaná a online v SmartThings aplikácii.

Schopnosti zariadení

Napájanie a režim HVAC

Spínač Power zapína a vypína klimatizačnú jednotku cez SmartThings capability switch.

Prepínač HVAC Mode ponúka päť prevádzkových režimov: Heat, Cool, Cool+Heat (auto), Dry a Fan Only. Názvy režimov v TapHome zodpovedajú hodnotám SmartThings API heat, cool, auto, dry a wind.

Ventilátor a prúdenie vzduchu

Prepínač Fan Mode ponúka päť rýchlostí: Auto, Low, Medium, High a Turbo.

Prepínač Swing Mode ovláda osciláciu vzduchových lamiel so štyrmi možnosťami: Fixed (bez pohybu), All (obe osi), Vertical a Horizontal.

Predvolené režimy (WindFree)

Prepínač Preset Mode ovláda Samsung-špecifické voliteľné režimy cez capability custom.airConditionerOptionalMode. K dispozícii je sedem predvolieb:

HodnotaRežimPopis
0OffŽiadny predvolený režim nie je aktívny
1SleepPostupná úprava teploty pre nočný komfort
2QuietPrevádzka so zníženým hlukom
3SmartOptimalizácia na báze AI
4SpeedRýchle chladenie alebo kúrenie
5WindFreeVzduch rozptýlený cez tisíce mikro-otvorov — bez priameho prúdenia
6WindFree SleepKombinácia WindFree rozptylu vzduchu s režimom spánku

WindFree je proprietárna funkcia Samsung unikátna pre sériu WindFree. Eliminuje priame prúdenie vzduchu rozptýlením klimatizovaného vzduchu cez mikro-perforácie v prednom paneli.

Zariadenie Preset Mode číta stav z dedikovaného capability endpointu (/v1/devices/{DeviceId}/components/main/capabilities/custom.airConditionerOptionalMode/status) namiesto z plného endpointu stavu zariadenia, čím zabezpečuje spoľahlivé spätné čítanie aktívnej predvoľby.

Ovládanie a monitorovanie teploty

Zariadenie Thermostat nastavuje cieľovú teplotu chladenia pomocou 10 diskrétnych krokov od 18 °C do 27 °C. Každý krok zodpovedá indexu prepínača (0 = 18 °C, 9 = 27 °C). SmartThings API podporuje širší rozsah (16–30 °C), ale šablóna používa podmnožinu 18–27 °C.

Zariadenie Cooling Setpoint (Readback) je teplotný senzor len na čítanie, ktorý zrkadlí aktuálny nastavený bod teploty hlásený klimatizačnou jednotkou. Poskytuje vizuálnu spätnú väzbu v TapHome bez možnosti zápisu — na zmenu teploty použite zariadenie Thermostat.

Senzor Temperature + Humidity číta izbovú teplotu (°C) a relatívnu vlhkosť zo vstavaných senzorov klimatizačnej jednotky. Vlhkosť je vrátená ako celé číslo 0–100 z API a konvertovaná na pomer 0–1 pre analógový vstup TapHome (napr. 55 % sa stáva 0.55). Toto zariadenie polluje v 15-sekundových intervaloch (pomalšie ako 2,5-sekundový interval ovládacích zariadení).

Ďalšie schopnosti

Niektoré modely WindFree tiež sprístupňujú senzory úrovne prachu (PM2.5/PM10), úrovne zápachu a kombinovanej kvality vzduchu, ako aj riadenie záťaže podľa dopytu a automatický samočistiaci režim. Tieto schopnosti sú dostupné cez SmartThings API, ale zatiaľ nie sú implementované v šablóne. Môžu byť pridané v budúcej aktualizácii šablóny.

Riešenie problémov

Chyby autentifikácie (HTTP 401)
  1. Overte, či je Personal Access Token stále platný — PAT tokeny môžu expirovať alebo byť manuálne zrušené
  2. Vygenerujte nový token na account.smartthings.com/tokens a aktualizujte premennú Token v nastaveniach modulu TapHome
  3. Uistite sa, že token má povolený scope Devices
Zariadenie nenájdené (HTTP 404)
  1. Potvrďte, že DeviceId je správny — pošlite dotaz GET /v1/devices s tokenom a overte GUID
  2. Overte, že klimatizačná jednotka je online v SmartThings aplikácii
  3. Skontrolujte, či je AC jednotka zaregistrovaná pod rovnakým Samsung účtom ako token
Zariadenie nereaguje
  1. Overte internetové pripojenie na TapHome Core
  2. Skontrolujte, či Samsung SmartThings cloud služba funguje (stav na status.smartthings.com)
  3. Reštartujte klimatizačnú jednotku a počkajte, kým sa znova objaví v SmartThings aplikácii
Obmedzenie počtu požiadaviek (HTTP 429)

SmartThings API vynucuje limity počtu požiadaviek. Šablóna polluje ovládacie zariadenia každých 2,5 sekundy a senzory každých 15 sekúnd. Ak ďalšie integrácie (Home Assistant, SmartThings automatizácie) zdieľajú rovnaký účet, kombinovaná frekvencia požiadaviek môže prekročiť limit. V prípade throttlingu zvážte zvýšenie intervalov pollovania v TapHome šablóne.

Toto je čisto cloudová integrácia závislá na dostupnosti Samsung SmartThings serverov a aktívnom internetovom pripojení. Počas výpadkov cloudu alebo prerušenia internetu šablóna nemôže čítať ani ovládať klimatizačnú jednotku. Neexistuje žiadna lokálna záložná komunikačná cesta.

Dostupné zariadenia

SmartThings — Samsung WindFree AC Modul
Vlastné premenné
Token (string)SmartThings Personal Access Token — vygenerujte na account.smartthings.com/tokens
DeviceId (string)SmartThings Device ID klimatizačnej jednotky Samsung (GUID formát)
Režim ventilátora Viacstavový prepínač

Ovládanie rýchlosti ventilátora — Auto, Low, Medium, High, Turbo

enum JSON PARSEJSON()
Hodnoty / Stavy: AUTO · LOW · MEDIUM · HIGH · TURBO

Režim ventilátora

Čítanie stavu prepínača
VAR response := SENDHTTPREQUEST("/v1/devices/"+DeviceId+"/status", "GET", "", "Authorization:Bearer " + Token);
IF(response.IsSuccess = 1)
    VAR state := PARSEJSON(response.Content, "components.main.airConditionerFanMode.fanMode.value");
    if state = "auto"
    return(0);
        elseif state = "low"
        return(1);
        elseif state = "medium"
        return(2);
        elseif state = "high"
        return(3);
        elseif state = "turbo"
        return(4);
        end    
END
Zápis stavu prepínača
VAR localfan := SWITCH(Mu, 0, "auto", 1, "low", 2, "medium", 3, "high", 4, "turbo", "");

SENDHTTPREQUEST("/v1/devices/"+DeviceId+"/commands", "POST", "{\"commands\":[{\"component\": \"main\", \"capability\": \"airConditionerFanMode\", \"command\": \"setFanMode\", \"arguments\": [\""+localfan+"\"]}]}", "Authorization:Bearer " + Token);
Režim HVAC Viacstavový prepínač

Prevádzkový režim — Heat, Cool, Cool+Heat (auto), Dry, Fan Only

enum JSON PARSEJSON()
Hodnoty / Stavy: OFF · HEAT · COOL · COOL + HEAT · DRY · FAN ONLY

Režim HVAC

Čítanie stavu prepínača
VAR response := SENDHTTPREQUEST("/v1/devices/"+DeviceId+"/status", "GET", "", "Authorization:Bearer " + Token);
IF(response.IsSuccess = 1)
    VAR state := PARSEJSON(response.Content, "components.main.airConditionerMode.airConditionerMode.value");        
        if state = "heat"
        return(1);
        elseif state = "cool"
        return(2);
        elseif state = "auto"
        return(3);
        elseif state = "dry"
        return(4);
        elseif state = "wind"
        return(5);             
        end    
END
Zápis stavu prepínača
VAR localhvac := SWITCH(Mu, 1, "heat", 2, "cool", 3, "auto", 4, "dry", 5, "wind", "");

SENDHTTPREQUEST("/v1/devices/"+DeviceId+"/commands", "POST", "{\"commands\":[{\"component\": \"main\", \"capability\": \"airConditionerMode\", \"command\": \"setAirConditionerMode\", \"arguments\": [\""+localhvac+"\"]}]}", "Authorization:Bearer " + Token);
Napájanie Prepínač
boolean JSON PARSEJSON()
Hodnoty / Stavy: ON · OFF

Napájanie

Čítanie stavu prepínača
VAR response := SENDHTTPREQUEST("/v1/devices/"+DeviceId+"/status", "GET", "", "Authorization:Bearer " + Token);
IF(response.IsSuccess = 1)
    VAR state := PARSEJSON(response.Content, "components.main.switch.switch.value");
    if state = "off"
    return(0);
    elseif state = "on"
        return(1);
        end    
END
Zápis stavu prepínača
VAR localpower := SWITCH(St, 0, "off", 1, "on", "");

SENDHTTPREQUEST("/v1/devices/"+DeviceId+"/commands", "POST", "{\"commands\":[{\"component\": \"main\", \"capability\": \"switch\", \"command\": \""+localpower+"\"}]}", "Authorization:Bearer " + Token);
Predvolený režim Viacstavový prepínač

Voliteľné režimy Samsung — Off, Sleep, Quiet, Smart, Speed, WindFree, WindFree Sleep

enum JSON PARSEJSON()
Hodnoty / Stavy: OFF · SLEEP · QUIET · SMART · SPEED · WindFree · WindFreeSleep

Predvolený režim

Čítanie stavu prepínača
VAR response := SENDHTTPREQUEST("/v1/devices/"+DeviceId+"/components/main/capabilities/custom.airConditionerOptionalMode/status", "GET", "", "Authorization:Bearer " + Token);
IF(response.IsSuccess = 1)
    VAR state := PARSEJSON(response.Content, "acOptionalMode.value");
    if state = "sleep"
        return(1);
        elseif state = "off"
        return(0);
        elseif state = "quiet"
        return(2);
        elseif state = "smart"
        return(3);
        elseif state = "speed"
        return(4);
        elseif state = "windFree"
        return(5);         
        elseif state = "windFreeSleep"
        return(6);        
        end
end
Zápis stavu prepínača
VAR localpreset := SWITCH(Mu, 0, "off", 1, "sleep", 2, "quiet", 3, "smart", 4, "speed", 5, "windFree", 6, "windFreeSleep", "");

SENDHTTPREQUEST("/v1/devices/"+DeviceId+"/commands", "POST", "{\"commands\":[{\"component\": \"main\", \"capability\": \"custom.airConditionerOptionalMode\", \"command\": \"setAcOptionalMode\", \"arguments\": [\""+localpreset+"\"]}]}", "Authorization:Bearer " + Token);
Režim lamiel Viacstavový prepínač

Oscilácia vzduchových lamiel — Fixed, All, Vertical, Horizontal

enum JSON PARSEJSON()
Hodnoty / Stavy: FIXED · ALL · VERTICAL · HORIZONTAL
Premenná: swing

Režim lamiel

Čítanie stavu prepínača
VAR response := SENDHTTPREQUEST("/v1/devices/"+DeviceId+"/status", "GET", "", "Authorization:Bearer " + Token);
IF(response.IsSuccess = 1)
    VAR state := PARSEJSON(response.Content, "components.main.fanOscillationMode.fanOscillationMode.value");
    if state = "fixed"
    return(0);
    elseif state = "all"
        return(1);
        elseif state = "vertical"
        return(2);
        elseif state = "horizontal"
        return(3);
        end    
END
Zápis stavu prepínača
VAR localswing := SWITCH(Mu, 0, "fixed", 1, "all", 2, "vertical", 3, "horizontal", "");

SENDHTTPREQUEST("/v1/devices/"+DeviceId+"/commands", "POST", "{\"commands\":[{\"component\": \"main\", \"capability\": \"fanOscillationMode\", \"command\": \"setFanOscillationMode\", \"arguments\": [\""+localswing+"\"]}]}", "Authorization:Bearer " + Token);
Teplota + Vlhkosť Teplotný senzor Len na čítanie

Izbová teplota (°C) a relatívna vlhkosť zo vstavaných senzorov klimatizačnej jednotky

numeric Jednotka: °C / % JSON PARSEJSON()

Teplota + Vlhkosť

Čítanie vlhkosti
VAR response := SENDHTTPREQUEST("/v1/devices/"+DeviceId+"/status", "GET", "", "Authorization:Bearer " + Token);
IF(response.IsSuccess = 1)
    VAR state := PARSEJSON(response.Content, "components.main.relativeHumidityMeasurement.humidity.value");
    return(ToDouble(state / 100));
END
Čítanie teploty
VAR response := SENDHTTPREQUEST("/v1/devices/"+DeviceId+"/status", "GET", "", "Authorization:Bearer " + Token);
IF(response.IsSuccess = 1)
    VAR state := PARSEJSON(response.Content, "components.main.temperatureMeasurement.temperature.value");
    return(ToDouble(state));
END
Nastavená teplota (spätné čítanie) Teplotný senzor Len na čítanie

Spätné čítanie aktuálnej cieľovej teploty hlásenej klimatizačnou jednotkou (len na čítanie)

numeric Jednotka: °C JSON PARSEJSON()

Nastavená teplota (spätné čítanie)

Čítanie teploty
VAR response := SENDHTTPREQUEST("/v1/devices/"+DeviceId+"/status", "GET", "", "Authorization:Bearer " + Token);
IF(response.IsSuccess = 1)
    VAR state := PARSEJSON(response.Content, "components.main.thermostatCoolingSetpoint.coolingSetpoint.value");
    return(ToDouble(state));
END
Termostat Viacstavový prepínač

Cieľová teplota chladenia — 10 krokov od 18 °C do 27 °C

integer Jednotka: °C JSON PARSEJSON()
Hodnoty / Stavy: 18°C · 19°C · 20°C · 21°C · 22°C · 23°C · 24°C · 25°C · 26°C · 27°C

Termostat

Čítanie stavu prepínača
VAR response := SENDHTTPREQUEST("/v1/devices/"+DeviceId+"/status", "GET", "", "Authorization:Bearer " + Token);
IF(response.IsSuccess = 1)
    VAR state := PARSEJSON(response.Content, "components.main.thermostatCoolingSetpoint.coolingSetpoint.value");        
    if state = 18
    return(0);
        elseif state = 19
        return(1);
        elseif state = 20
        return(2);
        elseif state = 21
        return(3);
        elseif state = 22
        return(4);
        elseif state = 23
        return(5);
        elseif state = 24
        return(6);
        elseif state = 25
        return(7);
        elseif state = 26
        return(8);
        elseif state = 27
        return(9);            
        end    
END
Zápis stavu prepínača
VAR localtemperature := SWITCH(Mu, 0, "18", 1, "19", 2, "20", 3, "21", 4, "22", 5, "23", 6, "24", 7, "25", 8, "26", 9, "27", "");

SENDHTTPREQUEST("/v1/devices/"+DeviceId+"/commands", "POST", "{\"commands\":[{\"component\": \"main\", \"capability\": \"thermostatCoolingSetpoint\", \"command\": \"setCoolingSetpoint\", \"arguments\": ["+localtemperature+"]}]}", "Authorization:Bearer " + Token);
Pripojenie: Packet Parser → HTTP
Možné vylepšenia (5)
  • Dust Level — PM2.5/PM10 dust sensor available on some WindFree models. Not all models support this capability
  • Odor Level — Air quality odor level sensor. Available on select WindFree models with air purification
  • Air Quality — Combined air quality index. Available on WindFree models with built-in air quality sensors
  • Demand Response Load Control — Energy demand response capability for smart grid integration. Allows utility-driven load shedding
  • Auto Cleaning Mode — Automatic self-cleaning function. Available on most WindFree models — enables/disables auto-clean cycle

Zdroje