---
title: "SmartThings Schalter/Steckdose mit Leistungsmessung"
description: "SmartThings Schalter/Steckdose mit Leistungsmessung über SmartThings Cloud API. Ein-/Ausschalten und Energieverbrauch von TapHome über HTTPS überwachen."
url: "https://taphome.com/de/compatibility/smartthings-switch-plug/"
language: de
lastmod: 2026-03-28
generator: hugo
ai:
  topics: ["http","smart-plug","cloud-api","power-metering","smartthings"]
  questions: ["Wie integriert man einen SmartThings Schalter oder Steckdose mit TapHome?","Was misst die SmartThings-Switch/Plug-TapHome-Vorlage?","Wie generiert man ein SmartThings Personal Access Token für TapHome?","Warum funktioniert die SmartThings-Integration nach 24 Stunden nicht mehr?","Wie findet man die SmartThings Device ID für TapHome?","Kann man mehrere SmartThings-Geräte von TapHome steuern?"]
---

# SmartThings Schalter/Steckdose mit Leistungsmessung

Kommunikation: Packet Parser → HTTP

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

## Integrationsanleitung

Diese Vorlage integriert jeden SmartThings-kompatiblen Schalter oder Steckdose mit Leistungsmessung in TapHome. Die Kommunikation erfolgt über die SmartThings Cloud REST API v1 unter `api.smartthings.com` über HTTPS — die Vorlage kommuniziert nicht direkt mit dem physischen Gerät. Das Gerät kann ZigBee, Z-Wave oder Matter sein — solange es mit einem SmartThings-Konto verbunden ist und die Fähigkeiten switch, powerMeter und energyMeter bereitstellt, funktioniert die Vorlage.

Die Vorlage wurde von Csongor Varga erstellt und mit einem BlitzWolf BW-SHP15 ZigBee-Steckdose demonstriert, ist aber nicht auf dieses Modell beschränkt.

## Konfiguration

Die Vorlage erfordert zwei Variablen, die nach dem Import in TapHome konfiguriert werden:

- **Token** — ein SmartThings Personal Access Token (PAT) für die Bearer-Authentifizierung
- **DeviceId** — die UUID des Zielgeräts in der SmartThings-Plattform

### Personal Access Token generieren

1. Gehe zu [account.smartthings.com/tokens](https://account.smartthings.com/tokens) und melde dich mit einem Samsung-Konto an
2. Klicke auf **Generate new token** und benenne ihn (z. B. „TapHome Integration")
3. Wähle die Berechtigung **Devices** — diese ist erforderlich zum Lesen des Status und Senden von Befehlen
4. Klicke auf **Generate Token** und kopiere den Token sofort — dies ist die einzige Möglichkeit, den Wert abzurufen

> [!WARNING]
> Standard Personal Access Tokens (erstellt nach dem 30. Dezember 2024) sind nur **24 Stunden** gültig. Der Token muss vor Ablauf neu generiert und in TapHome aktualisiert werden, andernfalls funktioniert die Integration nicht mehr. Ältere Tokens, die vor diesem Datum erstellt wurden, können eine längere Gültigkeit haben.

### Device ID finden

1. Melde dich bei [my.smartthings.com](https://my.smartthings.com/) an
2. Finde das Zielgerät in der Geräteliste
3. Kopiere die **Device ID** von der Gerätedetailseite — es handelt sich um einen UUID-String (z. B. `47eff6bf-83c9-4374-a367-b254759b486d`)

### Mehrere Geräte hinzufügen

Jedes SmartThings-Gerät benötigt eine eigene Modulinstanz. Um ein weiteres Gerät hinzuzufügen, importiere die Vorlage erneut und konfiguriere eine neue DeviceId. Derselbe Token kann für alle Module wiederverwendet werden.

## Gerätefähigkeiten

### Schaltersteuerung

Die Vorlage stellt das Gerät als Schalter bereit. Der Zustand wird aus der SmartThings-Statusantwort gelesen (`components.main.switch.switch.value` — `"on"` oder `"off"`, zugeordnet zu 1/0). Schaltbefehle werden über `POST /v1/devices/{DeviceId}/commands` mit der Fähigkeit `switch` gesendet.

Nach dem Senden eines Schaltbefehls wartet die Vorlage 500 ms und liest den Gerätestatus erneut, um Zustandsvermischungen zwischen dem Befehl und dem nächsten Polling-Zyklus zu verhindern. Der Schalter wird alle 2,5 Sekunden abgefragt.

### Leistungsmessung

Der integrierte Energiezähler liest zwei Werte aus der Statusantwort:

- **Echtzeitleistung** — `components.main.powerMeter.power.value` in Watt gemeldet, von der Vorlage in kW umgerechnet (÷ 1000)
- **Gesamtverbrauch** — `components.main.energyMeter.energy.value` direkt in kWh gemeldet

Der Zähler ist schreibgeschützt und wird alle 15 Sekunden abgefragt.

### Weitere Fähigkeiten

Die SmartThings API stellt auch Einheitenstrings für Leistung und Energie, den Gerätezustand (Health) und eine Aktualisierungsfähigkeit (Refresh) zum Erzwingen einer sofortigen Statusaktualisierung bereit. Diese können in einem zukünftigen Vorlagen-Update hinzugefügt werden.

## Fehlerbehebung

### Integration funktioniert nach 24 Stunden nicht mehr

Standard SmartThings PAT-Tokens laufen nach 24 Stunden ab. Generiere einen neuen Token unter [account.smartthings.com/tokens](https://account.smartthings.com/tokens) und aktualisiere die Token-Variable im TapHome-Modul. Wenn häufige Token-Erneuerung unpraktisch ist, prüfe, ob ein älterer Token mit längerer Gültigkeit auf dem Konto verfügbar ist.

### Gerät antwortet nicht

1. Überprüfe, ob das SmartThings-Gerät online ist — kontrolliere den Status in der SmartThings-App
2. Bestätige, dass die DeviceId-Variable mit der korrekten Geräte-UUID übereinstimmt
3. Teste die API manuell: `GET https://api.smartthings.com/v1/devices/{DeviceId}/status` mit dem Header `Authorization: Bearer {Token}` — es sollte eine JSON-Antwort mit dem Gerätezustand zurückgeben
4. Stelle sicher, dass der Token die korrekte Berechtigung hat (Devices — Lesen und Ausführen)

### Leistungswerte zeigen Null an

1. Bestätige, dass das Gerät tatsächlich Strom verbraucht — schalte eine angeschlossene Last ein
2. Überprüfe, ob das SmartThings-Gerät die Fähigkeiten `powerMeter` und `energyMeter` unterstützt — nicht alle Schalter melden Leistungsdaten
3. Frage die Status-API manuell ab und überprüfe, ob `components.main.powerMeter.power.value` einen Wert ungleich Null zurückgibt

> [!NOTE]
> Dies ist eine Cloud-basierte Integration — sie erfordert eine aktive Internetverbindung am TapHome CCU. Die Vorlage kommuniziert mit Samsungs Servern, nicht mit dem physischen Gerät im lokalen Netzwerk.

## Verfügbare Geräte 2

Diese Geräte erscheinen nach dem Import in TapHome.

SmartThings Schalter/Steckdose Modul

Benutzerdefinierte Variablen

|                                                            |                                                                                                                 |
|------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|
| `Token` (string) = 0ead2552-e331-4355-b483-81d3898eb5ba    | SmartThings Personal Access Token für die API-Authentifizierung (generieren auf account.smartthings.com/tokens) |
| `DeviceId` (string) = 47eff6bf-83c9-4374-a367-b254759b486d | SmartThings Geräte-UUID — identifiziert den Zielschalter oder die Zielsteckdose                                 |

Lesen (Modul)

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

Stromzähler Stromzähler Nur lesen

Leistungs- und Energiemessung — Momentanleistung (kW) und kumulativer Energieverbrauch (kWh) über SmartThings Cloud API

numeric Einheit: kW / kWh JSON

Variable: `DeviceId`

Gesamtverbrauch lesen

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

Bedarf lesen

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

Schalter Schalter Lesen und Schreiben

boolean JSON

Werte / Zustände: ON · OFF

Schaltzustand lesen

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

Schaltzustand schreiben

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

**Verbindung:** Packet Parser → HTTP

Mögliche Verbesserungen (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

## Quellen

- 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

## Verwandte Dokumentation

- [Packet-Parser-Integration](https://taphome.com/de/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/de/docs/integration/packet-parser/)
- [Packet-Parser-Funktionen](https://taphome.com/de/docs/script/packet-parser/)
- [Parsing-Funktionen](https://taphome.com/de/docs/script/parsing-functions/)

