TapHome

SmartThings sklopka/utičnica s mjerenjem snage

Packet Parser → HTTP
Autor
Posljednje ažuriranje: 03. 2026
SmartThings sklopka/utičnica s mjerenjem snage

Ovaj predložak integrira u TapHome bilo koju sklopku ili utičnicu s mjerenjem snage koja je kompatibilna sa SmartThings. Komunikacija se odvija preko SmartThings Cloud REST API-ja v1 na api.smartthings.com preko HTTPS-a, a predložak ne komunicira izravno s fizičkim uređajem. Uređaj može biti ZigBee, Z-Wave ili Matter: dovoljno je da je povezan s računom SmartThings i da nudi mogućnosti (capabilities) switch, powerMeter i energyMeter, pa će predložak raditi.

Predložak je izradio Csongor Varga i prikazao ga na ZigBee utičnici BlitzWolf BW-SHP15, ali nije ograničen na taj model.

Konfiguracija

Predložak nakon uvoza zahtijeva postavljanje dviju varijabli u sustavu TapHome:

  • Token — SmartThings Personal Access Token (PAT) koji se koristi za Bearer autentifikaciju
  • DeviceId — UUID ciljnog uređaja na platformi SmartThings
Generiranje tokena Personal Access Token
  1. Otvorite account.smartthings.com/tokens i prijavite se Samsung računom
  2. Kliknite Generate new token i dodijelite mu naziv (npr. „TapHome Integration”)
  3. Odaberite opseg dopuštenja Devices, koji je potreban za čitanje stanja i slanje naredbi
  4. Kliknite Generate Token i odmah kopirajte token, jer je to jedina prilika da se vrijednost preuzme

Standardni tokeni Personal Access Token (izrađeni nakon 30. prosinca 2024.) vrijede samo 24 sata. Token treba ponovno generirati i ažurirati u sustavu TapHome prije isteka, inače integracija prestaje raditi. Stariji tokeni izrađeni prije tog datuma mogu vrijediti dulje.

Pronalaženje Device ID-ja
  1. Prijavite se na my.smartthings.com
  2. Pronađite ciljni uređaj na popisu uređaja
  3. Na stranici s pojedinostima uređaja kopirajte Device ID: to je UUID niz (npr. 47eff6bf-83c9-4374-a367-b254759b486d)
Dodavanje više uređaja

Svaki uređaj SmartThings zahtijeva vlastitu instancu modula. Za dodavanje drugog uređaja ponovno uvezite predložak i postavite novi DeviceId. Isti Token može se koristiti u svim modulima.

Mogućnosti uređaja

Upravljanje sklopkom

Predložak prikazuje uređaj kao sklopku. Stanje se čita iz odgovora o stanju SmartThings (components.main.switch.switch.value — "on" ili "off", preslikano na 1/0). Naredbe sklopke šalju se preko POST /v1/devices/{DeviceId}/commands s mogućnošću switch.

Nakon slanja naredbe sklopki predložak čeka 500 ms i ponovno čita stanje uređaja, kako se stanje ne bi izmjenjivalo između naredbe i sljedećeg ciklusa očitavanja. Sklopka se očitava svakih 2,5 sekunde.

Mjerenje snage

Ugrađeno brojilo energije čita dvije vrijednosti iz odgovora o stanju:

  • Trenutačna snaga — components.main.powerMeter.power.value javlja se u vatima, a predložak je pretvara u kW (÷ 1000)
  • Ukupna potrošnja — components.main.energyMeter.energy.value javlja se izravno u kWh

Brojilo je samo za čitanje i očitava se svakih 15 sekundi.

Dodatne mogućnosti

SmartThings API nudi i tekstualne oznake jedinica snage i energije, stanje ispravnosti uređaja te mogućnost refresh za prisilno trenutačno ažuriranje stanja. Mogu se dodati u budućem ažuriranju predloška.

Rješavanje problema

Integracija prestaje raditi nakon 24 sata

Standardni SmartThings PAT tokeni istječu nakon 24 sata. Generirajte novi token na account.smartthings.com/tokens i ažurirajte varijablu Token u modulu TapHome. Ako je često obnavljanje tokena nepraktično, provjerite je li na računu dostupan stariji token s duljom valjanošću.

Uređaj ne odgovara
  1. Provjerite je li uređaj SmartThings na mreži: pogledajte njegovo stanje u aplikaciji SmartThings
  2. Provjerite odgovara li varijabla DeviceId ispravnom UUID-u uređaja
  3. Ručno testirajte API: GET https://api.smartthings.com/v1/devices/{DeviceId}/status sa zaglavljem Authorization: Bearer {Token} treba vratiti JSON odgovor sa stanjem uređaja
  4. Provjerite ima li Token ispravan opseg dopuštenja (Devices — čitanje i izvršavanje)
Očitanja snage pokazuju nulu
  1. Provjerite troši li uređaj stvarno snagu: uključite spojeno trošilo
  2. Provjerite podržava li uređaj SmartThings mogućnosti powerMeter i energyMeter, jer ne javljaju sve sklopke snagu
  3. Ručno pošaljite upit API-ju stanja i provjerite vraća li components.main.powerMeter.power.value vrijednost različitu od nule

Ovo je integracija preko oblaka: centralna jedinica TapHome (CCU) treba aktivnu internetsku vezu. Predložak komunicira sa Samsungovim poslužiteljima, a ne s fizičkim uređajem u lokalnoj mreži.

Dostupni uređaji

SmartThings sklopka/utičnica Modul
Prilagođene varijable
Token (string) = 0ead2552-e331-4355-b483-81d3898eb5baSmartThings Personal Access Token za autentifikaciju prema API-ju (generira se na account.smartthings.com/tokens)
DeviceId (string) = 47eff6bf-83c9-4374-a367-b254759b486dUUID uređaja SmartThings — određuje ciljnu sklopku ili utičnicu

SmartThings Switch/Plug with Power Metering

Čitanje (modul)
VAR response := SENDHTTPREQUEST("/v1/devices/"+DeviceId+"/status", "GET", "", "Authorization: Bearer "+Token);
IF response.IsSuccess
 StatusJson := response.Content;
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
END
Brojilo energije Brojilo električne energije Samo za čitanje

Mjerenje potrošnje snage i energije — trenutačna snaga (kW) i ukupna energija (kWh) preko SmartThings Cloud API-ja

numeric Jedinica: kW / kWh JSON
Varijabla: DeviceId

Brojilo energije

Čitanje ukupne potrošnje
VAR value := PARSEJSON(StatusJson, "components.main.energyMeter.energy.value", 1);
IF(ISNULL(value), NaN, value);
Čitanje zahtjeva
VAR value := PARSEJSON(StatusJson, "components.main.powerMeter.power.value", 1);
IF(ISNULL(value), NaN, value / 1000);
Sklopka Sklopka
boolean JSON
Vrijednosti / stanja: ON · OFF

Sklopka

Čitanje stanja sklopke
VAR value := PARSEJSON(StatusJson, "components.main.switch.switch.value", 1);
IF(ISNULL(value), NaN, if(value="on", 1, 0));
Zapis stanja sklopke
# Set Http request method, body and headers
VAR response := SENDHTTPREQUEST("/v1/devices/"+DeviceId+"/commands", 
"POST", 
"{\"commands\": [ { \"component\": \"main\", \"capability\": \"switch\", \"command\": \""+IF(St=1, "on", "off")+"\", \"arguments\": [] } ] }",
"Authorization: Bearer "+Token);


# Wait a little an read the state again to prevent state shuffle
SLEEP(500);
response := SENDHTTPREQUEST("/v1/devices/"+DeviceId+"/status", "GET", "", "Authorization: Bearer "+Token);
IF response.IsSuccess
 StatusJson := response.Content;
 # ADDINFO("StatusJson refreshed");
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
END
Povezivanje: Packet Parser → HTTP
Moguća poboljšanja (4)
  • Power Unit — Unit string for power reading (W), available in status response
  • Energy Unit — Unit string for energy reading (kWh), available in status response
  • Health Check — Device health/online status, available via SmartThings Health API
  • Refresh — Force refresh device state via SmartThings refresh capability command

Izvori

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.

Provjerio TapHome

Ž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