---
title: "SmartThings Przełącznik/Gniazdko z Pomiarem Mocy"
description: "SmartThings przełącznik/gniazdko z pomiarem mocy przez SmartThings Cloud API. Steruj włączaniem/wyłączaniem i monitoruj zużycie energii z TapHome przez."
url: "https://taphome.com/pl/compatibility/smartthings-switch-plug/"
language: pl
lastmod: 2026-03-28
generator: hugo
ai:
  topics: ["http","smart-plug","cloud-api","power-metering","smartthings"]
  questions: ["Jak zintegrować przełącznik lub gniazdko SmartThings z TapHome?","Co mierzy szablon SmartThings Switch/Plug w TapHome?","Jak wygenerować SmartThings Personal Access Token dla TapHome?","Dlaczego integracja SmartThings przestaje działać po 24 godzinach?","Jak znaleźć SmartThings Device ID dla TapHome?","Czy można sterować wieloma urządzeniami SmartThings z TapHome?"]
---

# SmartThings Przełącznik/Gniazdko z Pomiarem Mocy

Komunikacja: Packet Parser → HTTP

- [Portal SmartThings Developer](https://developer.smartthings.com/)

## Poradnik integracji

Ten szablon integruje dowolny przełącznik lub gniazdko kompatybilne ze SmartThings z pomiarem mocy do TapHome. Komunikacja odbywa się przez SmartThings Cloud REST API v1 pod adresem `api.smartthings.com` przez HTTPS — szablon nie komunikuje się bezpośrednio z urządzeniem fizycznym. Urządzenie może być ZigBee, Z-Wave lub Matter — pod warunkiem, że jest podłączone do konta SmartThings i udostępnia możliwości switch, powerMeter i energyMeter, szablon będzie działać.

Szablon został stworzony przez Csongora Vargę i zademonstrowany na gniazdku ZigBee BlitzWolf BW-SHP15, ale nie jest ograniczony do tego modelu.

## Konfiguracja

Szablon wymaga dwóch zmiennych skonfigurowanych w TapHome po imporcie:

- **Token** — SmartThings Personal Access Token (PAT) używany do uwierzytelnienia Bearer
- **DeviceId** — UUID urządzenia docelowego w platformie SmartThings

### Generowanie Personal Access Tokena

1. Przejdź na [account.smartthings.com/tokens](https://account.smartthings.com/tokens) i zaloguj się kontem Samsung
2. Kliknij **Generate new token** i nadaj nazwę (np. „TapHome Integration")
3. Wybierz uprawnienie **Devices** — jest wymagane do odczytu stanu i wysyłania poleceń
4. Kliknij **Generate Token** i natychmiast skopiuj token — to jedyna okazja do pobrania wartości

> [!WARNING]
> Standardowe Personal Access Tokeny (utworzone po 30 grudnia 2024) są ważne tylko przez **24 godziny**. Token musi zostać wygenerowany ponownie i zaktualizowany w TapHome przed wygaśnięciem, w przeciwnym razie integracja przestanie działać. Starsze tokeny utworzone przed tą datą mogą mieć dłuższy okres ważności.

### Znajdowanie Device ID

1. Zaloguj się na [my.smartthings.com](https://my.smartthings.com/)
2. Znajdź urządzenie docelowe na liście urządzeń
3. Skopiuj **Device ID** ze strony szczegółów urządzenia — to ciąg UUID (np. `47eff6bf-83c9-4374-a367-b254759b486d`)

### Dodawanie wielu urządzeń

Każde urządzenie SmartThings wymaga własnej instancji modułu. Aby dodać kolejne urządzenie, zaimportuj szablon ponownie i skonfiguruj nowe DeviceId. Ten sam Token można wykorzystać we wszystkich modułach.

## Możliwości urządzenia

### Sterowanie przełącznikiem

Szablon udostępnia urządzenie jako przełącznik. Stan jest odczytywany z odpowiedzi statusu SmartThings (`components.main.switch.switch.value` — `"on"` lub `"off"`, mapowane na 1/0). Polecenia przełącznika są wysyłane przez `POST /v1/devices/{DeviceId}/commands` z możliwością `switch`.

Po wysłaniu polecenia przełącznika szablon czeka 500 ms i ponownie odczytuje stan urządzenia, aby zapobiec mieszaniu stanów między poleceniem a następnym cyklem pollingu. Przełącznik jest odpytywany co 2,5 sekundy.

### Pomiar mocy

Wbudowany licznik energii odczytuje dwie wartości z odpowiedzi statusu:

- **Moc w czasie rzeczywistym** — `components.main.powerMeter.power.value` raportowana w watach, konwertowana na kW przez szablon (÷ 1000)
- **Całkowite zużycie** — `components.main.energyMeter.energy.value` raportowane bezpośrednio w kWh

Licznik jest tylko do odczytu i odpytywany co 15 sekund.

### Dodatkowe możliwości

SmartThings API udostępnia również ciągi jednostek mocy i energii, stan zdrowia urządzenia oraz możliwość odświeżenia (refresh) wymuszającą natychmiastową aktualizację stanu. Mogą one zostać dodane w przyszłej aktualizacji szablonu.

## Rozwiązywanie problemów

### Integracja przestaje działać po 24 godzinach

Standardowe tokeny PAT SmartThings wygasają po 24 godzinach. Wygeneruj nowy token na [account.smartthings.com/tokens](https://account.smartthings.com/tokens) i zaktualizuj zmienną Token w module TapHome. Jeśli częste odnawianie tokenu jest niepraktyczne, sprawdź, czy na koncie jest dostępny starszy token z dłuższym okresem ważności.

### Urządzenie nie odpowiada

1. Sprawdź, czy urządzenie SmartThings jest online — sprawdź jego stan w aplikacji SmartThings
2. Potwierdź, że zmienna DeviceId odpowiada prawidłowemu UUID urządzenia
3. Przetestuj API ręcznie: `GET https://api.smartthings.com/v1/devices/{DeviceId}/status` z nagłówkiem `Authorization: Bearer {Token}` — powinno zwrócić odpowiedź JSON ze stanem urządzenia
4. Upewnij się, że Token ma prawidłowe uprawnienie (Devices — odczyt i wykonywanie)

### Odczyty mocy pokazują zero

1. Potwierdź, że urządzenie faktycznie zużywa energię — włącz podłączony odbiornik
2. Sprawdź, czy urządzenie SmartThings obsługuje możliwości `powerMeter` i `energyMeter` — nie wszystkie przełączniki raportują moc
3. Ręcznie odpytaj API statusu i sprawdź, czy `components.main.powerMeter.power.value` zwraca wartość różną od zera

> [!NOTE]
> To jest integracja oparta na chmurze — wymaga aktywnego połączenia internetowego na TapHome CCU. Szablon komunikuje się z serwerami Samsunga, a nie z urządzeniem fizycznym w sieci lokalnej.

## Dostępne urządzenia 2

Te urządzenia pojawią się w TapHome po imporcie.

SmartThings Przełącznik/Gniazdko Moduł

Zmienne niestandardowe

|                                                            |                                                                                                         |
|------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|
| `Token` (string) = 0ead2552-e331-4355-b483-81d3898eb5ba    | SmartThings Personal Access Token do uwierzytelniania API (wygeneruj na account.smartthings.com/tokens) |
| `DeviceId` (string) = 47eff6bf-83c9-4374-a367-b254759b486d | SmartThings UUID urządzenia — identyfikuje docelowy przełącznik lub gniazdko                            |

Odczyt (moduł)

```taphome
VAR response := SENDHTTPREQUEST("/v1/devices/"+DeviceId+"/status", "GET", "", "Authorization: Bearer "+Token);
IF response.IsSuccess
 StatusJson := response.Content;
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
END
```

Licznik energii Licznik energii Tylko do odczytu

Pomiar zużycia energii — moc chwilowa (kW) i energia skumulowana (kWh) przez SmartThings Cloud API

numeric Jednostka: kW / kWh JSON

Zmienna: `DeviceId`

Odczyt całkowitego zużycia

```taphome
VAR value := PARSEJSON(StatusJson, "components.main.energyMeter.energy.value", 1);
IF(ISNULL(value), NaN, value);
```

Odczyt zapotrzebowania

```taphome
VAR value := PARSEJSON(StatusJson, "components.main.powerMeter.power.value", 1);
IF(ISNULL(value), NaN, value / 1000);
```

Przełącznik Przełącznik Odczyt i zapis

boolean JSON

Wartości / Stany: ON · OFF

Odczyt stanu przełącznika

```taphome
VAR value := PARSEJSON(StatusJson, "components.main.switch.switch.value", 1);
IF(ISNULL(value), NaN, if(value="on", 1, 0));
```

Zapis stanu przełącznika

```taphome
# 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
```

**Połączenie:** Packet Parser → HTTP

Możliwe ulepszenia (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

## Źródła

- TapHome Wiki — SmartThings Integration Guide
  
  [github.com](https://github.com/nygma2004/km/wiki/TapHome-Examples#integrating-smartthings-switch-or-plug-with-power-metering) 2026-03-28
- SmartThings API — Quick Start Guide
  
  [developer.smartthings.com](https://developer.smartthings.com/docs/getting-started/quickstart) 2026-03-28
- SmartThings Authorization and Permissions
  
  [developer.smartthings.com](https://developer.smartthings.com/docs/getting-started/authorization-and-permissions) 2026-03-28
- SmartThings Capabilities Reference (switch, powerMeter, energyMeter)
  
  [github.com](https://github.com/erikwilson/SmartThings-Documentation/blob/master/capabilities-reference.rst) 2026-03-28

## Powiązana dokumentacja

- [Integracja Packet Parser](https://taphome.com/pl/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/pl/docs/integration/packet-parser/)
- [Funkcje Packet parser](https://taphome.com/pl/docs/script/packet-parser/)
- [Funkcje parsowania](https://taphome.com/pl/docs/script/parsing-functions/)

