Tuya MQTT Integration

Tuya MQTT
Tuya MQTT Integration

Tuya MQTT Integration ist ein gutes Beispiel wie Sie Tuya Produktpalette leicht in verschiedene Smart Home Systeme integrieren und lokal betreiben, ohne Cloud Zwang. Die chinesische Firma stellt smarte Geräte wie Lampen, Sensoren, Schalter und Steckdosen her. Die Steuerung erfolgt normalerweise über die Tuya Cloud. Die Tuya Geräte finden Sie auch unter anderen Namen weil Tuya bietet anderen Firmen an, die Geräte als eigene Marke zu verkaufen. Bei vielen Tuya Geräten lässt sich Firmware austauschen und alternative Firmware flashen, z.B. Tasmota mit tuya-convert.

Die einfasste Weg ist natürlich mit Tuya MQTT Integration. Die Kommunikation erfolgt direkt vom lokalen Smart Home System über WLAN zum Tuya Gerät, die Tuya Cloud ist dann nicht mehr beteiligt, alles wird lokal abgewickelt.

>> ZUR INFO: Tuya MQTT Lösung ist universal und kann gleichzeitig auf mehreren Smart Home Systemen zum Einsatz kommen. Ist völlig egal ob Home Assistant, Node Red oder FHEM ist, die Tuya Geräte sind dann über die jeweilige Tuya MQTT Integration eingebunden.

Tuya MQTT – Tuya App, Cloud, IDs und Keys

Zuerst kommen wir von Tuya oder SmartLife App und Cloud nicht weg, aber das ist nur am Anfang so. Per Tuya App verbinden Sie sich mit Geräten in Heimnetzwerk, danach besuchen Sie iot.tuya.com (Development Platform) Seite. Dort müssen sie sich registrieren und bekommen Sie ein Entwickler Konto. !!! Zugangsdaten sind nicht gleich mit Tuya App Account. Wie Sie genau vorgehen, habe ich hier beschrieben (Tuya Home Assistant Integration). !!! Nicht vergessen !!! Access ID/Client ID, Access Secret und Device ID notieren für spätere Verwendung.

Tuya Cloud und Geräte ID
Tuya Cloud – Device ID für Tuya Geräte

Tuya MQTT – Software Installation

Sie haben Tuya Development Konto erfolgreich geöffnet und die Geräte integriert, weiter geht mit Software Installation. Die Software kann auf einem beliebigen Linux Gerät installiert werden, zum Beispiel Raspberry Pi, auf dem sich auch MQTT befindet. Wenn Sie keinen MQTT Server installiert haben, dann müssen Sie folgendes tun:

sudo apt install mosquitto
sudo apt install mosquitto-clients
sudo systemctl enable mosquitto # Autostart aktivieren

Jetzt holen wir Software von einen git Repository (TheAgentK), wenn keine git vorhanden ist, einfach mit “sudo apt install git” nachinstallieren.

cd /opt 
sudo git clone https://github.com/TheAgentK/tuya-mqtt 
cd tuya-mqtt 
sudo apt install npm # Node js (npm) Installation
sudo npm install

Weiter geht mit MQTT Server Daten, kopieren Sie config.json.sample zu config.json.

sudo cp config.json.sample config.json

Die Datei config.json müssen Sie noch bearbeiten und gemäß MQTT Server anpassen.

sudo nano /opt/tuya-mqtt/config.json
Tuya MQTT - config.json
Tuya MQTT – config.json Datei gemäß eigenen MQTT Server anpassen

Für die Berechnung der Local IDs wird das Programm tuya-cli benutzt, und muss installiert werden:

cd /opt/tuya-mqtt
sudo npm i @tuyapi/cli -g # Installation
tuya-cli wizard # tuya cli starten
tuya cli wizard
tuya-cli erstellt uns benötigte Local ID für Tuya MQTT

Am Ende tuya cli erstellt conf Datei, die müssen Sie in devices.conf eintragen.

sudo nano /opt/tuya-mqtt/devices.conf

Datei devices.conf sehen dann ungefähr so aus:

[ 
{ name: 'Kinderzimmer Licht',
    id: '81550705d8bfxxxxx',
    key: '73f52dea761xxxxx' },
  { name: 'Tischlampe ',
    id: '81550705d8bfcxxxxxx',
    key: 'c042953a5xxxxxxx' } 
]

Um Funktion zu prüfen, starten wir Debug Ausgabe von tuya-mqtt.js

cd /opt/tuya-mqtt
DEBUG=tuya-mqtt:* node tuya-mqtt.js
tuya.js
Ausgabe tuya mqtt js

Die Software verbindet sich mit MQTT Server, ließt dann jede Device in devices.conf und listet schließlich die verfügbaren Topics auf. Testen Sie die Funktion mit Hilfe von MQTT-Explorer, Nachrichten die neue Geräte schicken an MQTT Server.

Wenn alles ordnungsgemäß funktioniert, dann wird tuya-mqtt noch als Service installiert.

sudo nano /etc/systemd/system/tuya-mqtt.service

Mit folgende Inhalt eintragen:

[Unit] 
Description=tuya-mqtt 
[Service] 
ExecStart=/opt/tuya-mqtt/tuya-mqtt.js 
Restart=always 
User=pi 
Group=pi 
Environment=PATH=/usr/bin:/usr/local/bin 
Environment=NODE_ENV=production 
WorkingDirectory=/opt/tuya-mqtt 
[Install] 
WantedBy=multi-user.target

Service starten Sie mit “sudo service tuya-mqtt start” und Status prüfen mit: “sudo service tuya-mqtt status“. Wenn alles ordnungsgemäß funktioniert, aktivieren Sie Service mit “sudo systemctl enable tuya-mqtt“.

Tuya Integration in FHEM

Wie die Tuya Integration in Smart Home aussieht, zeige ich an Beispiel von FHEM.

defmod Tischlampe MQTT_DEVICE
attr Tischlampe devStateIcon on:light_light_dim_100@red off:light_light_dim_100@green
attr Tischlampe eventMap true:on false:off
attr Tischlampe group Licht
attr Tischlampe icon light_pendant_light
attr Tischlampe publishSet true false tuya/tischlampe_/dps/20/command
attr Tischlampe room Beleuchtung
attr Tischlampe sortby 3B
attr Tischlampe subscribeReading_state tuya/tischlampe_/dps/20/state
attr Tischlampe webCmd on:off

Die chinesische Cloud ist jetzt mit Tuya MQTT Methode umgegangen, aber die Firmware ist weiterhin ein potentielles Einfallstor in ihre Heimnetzwerk. Tuya meldet weiter jede Statusänderung an die Cloud. Wenn Sie sich von Cloud komplett lösen wollen, dann nur alternative Firmware oder Firewall welche Cloud DNS Abfragen blockiert.

Kommentar hinterlassen

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.