
Der Shelly UNI ist ein kompaktes universelles Wi-Fi-I/O-Modul (20 × 33 × 13 mm) aus der Shelly-Gen1-Plattform. Er bietet einen ADC-Spannungseingang, zwei potentialfreie Open-Collector-Ausgänge und zwei digitale Eingänge — gedacht für die Nachrüstung bestehender Geräte ohne Zentrale.
TapHome kommuniziert mit dem Gerät über MQTT. Die Vorlage abonniert den Topic-Baum shellies/<prefix>/... und veröffentlicht Befehle an .../relay/{0,1}/command. Das Modul stellt 5 Geräte bereit: 1 Analogeingang, 2 Schalter und 2 Reed-Kontakte.
Hardware-Anschluss
Stromversorgung
Der Shelly UNI ist ein Niederspannungsmodul und kann nicht direkt aus dem 230-V-Netz versorgt werden. Versorge entweder:
- 12–36 V DC über rote (+) und schwarze (GND) Ader, oder
- 12–24 V AC über rote und schwarze Ader (ohne Polarität)
Ein externes Niederspannungsnetzteil ist erforderlich. Die Leistungsaufnahme liegt unter 1 W.
Schließe die rote/schwarze Ader nicht an Netzspannung an. An den Klemmen IN_1 / IN_2 / OUT1 / OUT2 kann je nach externer Beschaltung weiterhin gefährliche Spannung anliegen — die Installation muss von einer qualifizierten Elektrofachkraft durchgeführt werden.
Pigtail-Kabel — Aderfarben
Das Gerät wird mit einem farbcodierten Pigtail-Kabel geliefert:
| Ader | Klemme | Funktion |
|---|---|---|
| Rot | VCC | 12–36 V DC (oder 12–24 V AC zusammen mit Schwarz) |
| Schwarz | GND | Masse (oder AC-Phase mit Rot) |
| Weiß | ADC_IN | Analogeingang (Bereich 0–12 V oder 0–30 V) |
| Gelb | VCC_SENSOR | 3,3-V-DC-Ausgang für One-Wire-Sensoren |
| Blau | DATA_SENSOR | One-Wire-Daten (DS18B20 / DHT22) |
| Grün | GND_SENSOR | Sensormasse |
| Hellbraun | IN_1 | Digitaler Eingang 1 |
| Dunkelbraun | IN_2 | Digitaler Eingang 2 |
Die beiden potentialfreien Ausgänge sind am Modulgehäuse mit OUT1 und OUT2 gekennzeichnet.
Digitale Eingänge (IN_1, IN_2)
Jeder digitale Eingang ist potentialfrei und kann entweder durch eine DC- oder eine AC-Quelle angesteuert werden:
- DC: HIGH bei ≥ 2,2 V, LOW unter 2,2 V, max. 36 V DC
- AC: HIGH bei ≥ 12 V, LOW unter 12 V, max. 24 V AC
Typische Anwendungen sind Reed-Kontakte (Fenster-/Türsensoren, Schwimmerschalter) und Taster, die den Eingang über eine externe Versorgung gegen GND kurzschließen.




Potentialfreie Ausgänge (OUT1, OUT2)
Jeder Ausgang ist ein potentialfreier Open-Collector-Kontakt mit folgenden absoluten Grenzwerten:
- maximaler Strom 100 mA
- maximale Leistung 300 mW
- maximale Schaltspannung 24 V AC oder 36 V DC
Diese Werte sind zu niedrig für Netzlasten — um reale Lasten (Beleuchtung, Pumpen, Ventile) zu schalten, verbinde die Ausgänge mit einem externen Relais oder Schütz und versorge dessen Spule aus einer passenden Niederspannungsquelle.

Analogeingang (ADC)
Ein einzelner ADC-Kanal an der weißen Ader (ADC_IN) unterstützt zwei Spannungsbereiche, die in der Shelly-Weboberfläche auswählbar sind:
- 0–12 V — höhere Auflösung für Niederspannungssignale
- 0–30 V — größerer Bereich für Batterie-/DC-Link-Überwachung
Der gewählte Bereich wird nur auf dem Gerät gespeichert — die TapHome-Vorlage liest den rohen veröffentlichten Wert und kann nicht erkennen, welcher Bereich aktiv ist. Stelle sicher, dass der Shelly-ADC-Bereich zum Signal passt, das du an die weiße Ader anschließt.

Konfiguration
Shelly-ID und MQTT-Präfix
Jeder Shelly UNI hat eine eindeutige Shelly-ID, die den letzten 6 Zeichen seiner MAC-Adresse entspricht (z. B. 35FA58). Das resultierende MQTT-Topic-Präfix ist shellyuni-<Shelly-ID> (z. B. shellyuni-35fa58).
Die Shelly-ID findest du:
- Auf dem Geräteaufkleber (MAC-Adresse)
- In der Shelly-Weboberfläche: Settings → Device Info
- Über die API:
GET http://<device-ip>/settings→ Felddevice.hostname
Shelly-Gen1-Geräte melden sich per mDNS als
shellyuni-<Shelly-ID>.local. Du kannst diesen Hostnamen anstelle einer festen IP-Adresse verwenden, um auf die Weboberfläche zuzugreifen.
MQTT aktivieren
Auf einem frischen Gerät ist MQTT deaktiviert. Aktiviere es vor dem Import der TapHome-Vorlage:
- Verbinde dich mit dem Access Point des Geräts
shellyuni-XXXXXX(Passwort steht auf dem Gerät) oder erreiche es im LAN - Öffne die Weboberfläche unter
http://192.168.33.1/(AP-Modus) oder unter der LAN-IP - Gehe zu Internet & Security → Advanced — Developer Settings
- Setze den Haken bei Enable action execution via MQTT
- Setze IP und Port des Brokers (Standard
1883), Benutzername und Passwort bleiben leer — TapHome unterstützt keine MQTT-Authentifizierung auf Gen1 - Speichere und starte das Gerät neu
Die Aktivierung von MQTT deaktiviert die Shelly-Cloud-Verbindung auf Gen1-Geräten. Das ist gewollt — das Gerät kann nicht beide Verbindungen gleichzeitig aufrechterhalten. Die Shelly-Mobil-App kann das Gerät nicht mehr über die Cloud steuern; verwende stattdessen MQTT oder die lokale Weboberfläche.
Shelly-Gen1-Geräte unterstützen kein MQTT über TLS. Die Kommunikation zwischen Gerät und Broker ist unverschlüsselt (reines MQTT, Port 1883). Halte den Broker in einem vertrauenswürdigen lokalen Netzwerk.
Vorlage einrichten
Beim Import der Vorlage in TapHome gib an:
- IpAddress — IP des MQTT-Brokers
- Port — Broker-Port (Standard
1883) - DeviceID — die 6-stellige Shelly-ID des jeweiligen UNI (z. B.
35fa58)
Der Importparameter DeviceID wird zum Aufbau der Custom-Variable MQTTprefix verwendet (Standard shellyuni-$[DeviceID]). Falls du auf dem Shelly-Gerät eine eigene mqtt_id (abweichend vom Standard) gesetzt hast, passe nach dem Import die Variable MQTTprefix am Modul entsprechend an.
Deaktiviere die HTTP-Authentifizierung am Shelly-Gerät (Internet & Security → Restrict Login). TapHome nutzt in dieser Vorlage kein HTTP, aber eine aktive Authentifizierung kann Fehlersuche und Firmware-Updates erschweren.
Gerätefunktionen
Analoge Spannungsmessung
Das Gerät Analog Input liest die ADC-Spannung von shellies/<prefix>/adc/0 und stellt sie als numerischen Wert in Volt bereit. Das Skript parst die eingehende Nachricht mit TODOUBLE(TOSTRING(PAYLOAD)) — ohne Skalierung.
Der tatsächliche Messbereich (0–12 V oder 0–30 V) wird direkt am Shelly-Gerät konfiguriert und nicht über MQTT gemeldet. Die TapHome-Vorlage kann nicht prüfen, welcher Bereich aktiv ist.
Schaltausgänge
Beide Open-Collector-Ausgänge werden als standardmäßige TapHome-Switch-Geräte bereitgestellt:
- Switch 1 — OUT_1, Topic
shellies/<prefix>/relay/0, Command-Topic.../relay/0/command - Switch 2 — OUT_2, Topic
shellies/<prefix>/relay/1, Command-Topic.../relay/1/command
Der Listener bildet Payload on → ON (St=1) und off → OFF (St=0) ab. Befehle aus TapHome werden als on / off am jeweiligen Command-Topic veröffentlicht.
Die Ausgänge sind potentialfrei und auf 100 mA / 300 mW begrenzt. Schließe keine Netzlasten direkt an — verwende für alles, was über schwachen Signalverbraucher hinausgeht, ein externes Relais oder Schütz.
Digitale Eingänge (Reed-Kontakte)
Beide digitalen Eingänge werden als Reed-Contact-Geräte mit invertierter Logik bereitgestellt:
- Reed Contact 1 — IN_1, Topic
shellies/<prefix>/input/0 - Reed Contact 2 — IN_2, Topic
shellies/<prefix>/input/1
Die Shelly-Firmware veröffentlicht 1, wenn der Eingang eine Spannung oberhalb seiner Schwelle sieht, und 0, wenn der Eingang gegen GND gezogen wird. Da Reed-Kontakte und Taster den Eingang im geschlossenen / aktiven Zustand typischerweise gegen GND kurzschließen, invertiert das TapHome-Skript den Payload:
| |
Das bedeutet: Rc=1 in TapHome = Kontakt geschlossen (aktiv, Fensteröffnungssensor ausgelöst, Taster gedrückt), Rc=0 = Kontakt offen (inaktiv).
Weitere Funktionen
Die Shelly-UNI-Hardware unterstützt außerdem bis zu 3 × DS18B20-Temperatursensoren am One-Wire-Bus und — alternativ — 1 × DHT22-Feuchte-/Temperatursensor. Diese Sensoren veröffentlichen auf shellies/<prefix>/ext_temperature/{0,1,2} und shellies/<prefix>/ext_humidity/0. Die aktuelle MQTT-Vorlage bindet diese Topics nicht in TapHome-Geräte ein; sie können in einer zukünftigen Vorlagenaktualisierung ergänzt werden.
Ebenso stellt das Gerät ein Online-/Offline-LWT-Topic und Eingabeereignisse (input events) für kurzen/langen Tastendruck auf input_event/{0,1} bereit, die von dieser Vorlage nicht verarbeitet werden.
Für Szenen-Trigger auf Basis von Tastenereignissen (kurzer, langer Druck) kann das Topic
input_eventheute von einem separaten MQTT-Client abonniert werden — die TapHome-Vorlage verfolgt nur den rohen Eingangszustand.
Fehlerbehebung
Gerät reagiert nicht
- Prüfe, dass der Shelly UNI versorgt ist (Rot/Schwarz an 12–36 V DC oder 12–24 V AC) und mit dem Wi-Fi verbunden
- Öffne die Shelly-Weboberfläche über den mDNS-Hostnamen
shellyuni-<Shelly-ID>.localoder die DHCP-IP - Stelle sicher, dass MQTT aktiviert ist (Internet & Security → Advanced) und Broker-IP/-Port den TapHome-Importparametern entsprechen
- Abonniere mit einem MQTT-Client (z. B. MQTT Explorer)
shellies/#und prüfe, dass das Gerät Nachrichten veröffentlicht
Schalter schalten nicht
- Prüfe den Pfad des Command-Topics — er muss
shellies/<prefix>/relay/0/commandsein (nicht.../relay/0/set) - Stelle sicher, dass die Variable
MQTTprefixdes TapHome-Moduls dem Topic-Präfix entspricht, auf dem das Gerät tatsächlich veröffentlicht - Denke daran: die Ausgänge sind potentialfrei — ohne eine externe Schaltung, die Spannung liefert, ändert sich der Ausgangszustand, aber es wird keine Last geschaltet
Reed-Kontakt-Zustand ist invertiert
Die Vorlage geht davon aus, dass payload=0 „Kontakt geschlossen" bedeutet. Wenn deine externe Verdrahtung den Eingang im aktiven Zustand auf HIGH zieht (umgekehrte Verdrahtung), erscheint der Zustand in TapHome invertiert. Verdrahte so um, dass der Kontakt IN_1 / IN_2 im aktiven Zustand gegen GND kurzschließt, oder passe die Logik in einem eigenen Skript an.
ADC-Wert außerhalb des erwarteten Bereichs
Der ADC-Bereich (0–12 V oder 0–30 V) wird am Gerät eingestellt und kann nicht über MQTT zurückgelesen werden. Wenn der numerische Wert in TapHome falsch aussieht (z. B. 2× höher oder niedriger als erwartet), öffne die Shelly-Weboberfläche und prüfe Settings → ADC range. Die Vorlage geht davon aus, dass das Gerät die Spannung direkt veröffentlicht und führt keine Umrechnung durch.