====== TP-Link HS110 Integration mit MQTT auf Docker Basis ====== Mit dieser Anleitung richtest du ein Docker-basiertes Setup ein, um Echtzeitdaten von deinem TP-Link HS110 Smart Plug abzurufen und über MQTT zu veröffentlichen. ===== Voraussetzungen ===== * **Docker**: Ein Containerdienst, der das Skript in einer isolierten Umgebung ausführt. * **Docker Compose**: Ein Tool, das die Konfiguration und Verwaltung des Containers vereinfacht. ===== Schritt 1: Docker installieren ===== ==== Installation unter Linux ==== Führe folgende Befehle aus, um Docker zu installieren: sudo apt update sudo apt install -y docker.io Prüfe anschließend, ob Docker korrekt installiert wurde: docker --version ==== Installation von Docker Compose ==== Installiere Docker Compose: sudo apt install -y docker-compose Prüfe die Installation mit: docker-compose --version > **Hinweis:** Auf anderen Systemen wie Windows oder macOS kannst du Docker Desktop installieren, das Docker und Docker Compose kombiniert. ===== Schritt 2: Projekt bereitstellen ===== ==== Ordner erstellen ==== Erstelle einen Ordner für das Projekt: mkdir tplink-mqtt cd tplink-mqtt ==== `docker-compose.yml` erstellen ==== Erstelle eine `docker-compose.yml`-Datei mit folgendem Inhalt: version: '3.9' services: tplink-mqtt: image: nano94/tplink-hs110-mqtt:latest container_name: tplink-mqtt environment: MQTT_SERVER: "xxx.xxx.xxx.xxx" # MQTT-Broker-Adresse MQTT_PORT: 1883 # MQTT-Broker-Port MQTT_USER: "loxberry" # Benutzername für den MQTT-Broker MQTT_PASSWORD: "XXXXXXX" # Passwort für den MQTT-Broker MQTT_TOPIC: "tplink/kasa/" # MQTT-Topic für Sensordaten MQTT_CONTROL_TOPIC: "tplink/kasa//control" # MQTT-Topic für Steuerung TARGET_IP: "xxx.xxx.xxx.xxx" # Ziel-IP des TP-Link-Geräts INTERVAL: 5 # Intervall für Datenabfragen (Sekunden) restart: always ==== Projekt starten ==== Führe den folgenden Befehl aus, um das Projekt zu starten: docker-compose up -d ===== Schritt 3: MQTT-Daten überprüfen ===== Wenn das Setup erfolgreich ist, werden die Daten deines TP-Link HS110 über das angegebene MQTT-Topic veröffentlicht. Du kannst diese Daten mit einem MQTT-Client wie **MQTT Explorer** oder **mosquitto_sub** überprüfen. Beispiel für die ausgegebenen Daten: { "voltage_mv": 231500, "current_ma": 500, "power_mw": 115000, "total_wh": 150, "err_code": 0, "voltage_v": 231.5, "current_a": 0.5, "power_w": 115.0, "relay_state": 1, "timestamp": "2024-12-03 12:34:56+0100" } ===== Schritt 4: MQTT-Einbindung in Loxone Config ===== Wenn die vorherigen Schritte erfolgreich sind kann nun MQTT im Miniserver konfiguriert werden. Die Anleitung basiert auf einem Release Stand > 15.3.0. Hierfür muss MQTT unter "Miniserver"->"Netzwerkperipherie" eigerichtet werden. {{modifikationen_hacks:pasted:20241205-090402.png}} {{modifikationen_hacks:pasted:20241205-090311.png}} Anschließend kann die Subscription und Publish angelegt werden. Subscription Topic: tplink/kasa/ Publish Topic: tplink/kasa//control ===== Schritt 5: Befehl per Loxone senden ===== Im finalen Schritt kann man nun über einen EIB-Taster den HS-110 ansteuern, sowie den aktuellen Status abgreifen. {{modifikationen_hacks:pasted:20241205-090713.png}} Hierfür bindet man die MQTT Subscription an einen "Befehlserkennung"-Baustein an. \i"relay_state": \i\v Am Ausgang des EIB-Tasters fügt man einen "Status"-Baustein am Input "I1" an, dessen "Txt" Output an den MQTT Publish geht. Status-Baustein Konfiguration: {{modifikationen_hacks:pasted:20241205-090938.png}} {"command": "off"} {"command": "on"} --- Viel Erfolg beim Einrichten! Falls du Fragen hast, melde dich gern!