Metainformationen zur Seite

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
modifikationen_hacks:tp-link_hs110_mqtt_mit_docker [2024/12/04 19:43] – [Anleitung: TP-Link HS110 Integration mit MQTT] Philipp Kaysermodifikationen_hacks:tp-link_hs110_mqtt_mit_docker [2024/12/05 09:10] (aktuell) Philipp Kayser
Zeile 1: Zeile 1:
-====== Anleitung: TP-Link HS110 Integration mit MQTT auf Docker Basis ======+====== 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. 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 ===== ===== Voraussetzungen =====
Zeile 15: Zeile 14:
 Führe folgende Befehle aus, um Docker zu installieren: Führe folgende Befehle aus, um Docker zu installieren:
  
-<code>+<code ->
 sudo apt update sudo apt update
 sudo apt install -y docker.io sudo apt install -y docker.io
Zeile 22: Zeile 21:
 Prüfe anschließend, ob Docker korrekt installiert wurde: Prüfe anschließend, ob Docker korrekt installiert wurde:
  
-<code>+<code ->
 docker --version docker --version
 </code> </code>
Zeile 30: Zeile 29:
 Installiere Docker Compose: Installiere Docker Compose:
  
-<code>+<code ->
 sudo apt install -y docker-compose sudo apt install -y docker-compose
 </code> </code>
Zeile 36: Zeile 35:
 Prüfe die Installation mit: Prüfe die Installation mit:
  
-<code>+<code ->
 docker-compose --version docker-compose --version
 </code> </code>
Zeile 48: Zeile 47:
 Erstelle einen Ordner für das Projekt: Erstelle einen Ordner für das Projekt:
  
-<code>+<code ->
 mkdir tplink-mqtt mkdir tplink-mqtt
 cd tplink-mqtt cd tplink-mqtt
Zeile 57: Zeile 56:
 Erstelle eine `docker-compose.yml`-Datei mit folgendem Inhalt: Erstelle eine `docker-compose.yml`-Datei mit folgendem Inhalt:
  
-<file>+<code ->
 version: '3.9' version: '3.9'
  
 services: services:
   tplink-mqtt:   tplink-mqtt:
-    image: philippkayser/tplink-mqtt:latest+    image: nano94/tplink-hs110-mqtt:latest
     container_name: tplink-mqtt     container_name: tplink-mqtt
     environment:     environment:
Zeile 74: Zeile 73:
       INTERVAL: 5 # Intervall für Datenabfragen (Sekunden)       INTERVAL: 5 # Intervall für Datenabfragen (Sekunden)
     restart: always     restart: always
-</file>+</code>
  
 ==== Projekt starten ==== ==== Projekt starten ====
Zeile 80: Zeile 79:
 Führe den folgenden Befehl aus, um das Projekt zu starten: Führe den folgenden Befehl aus, um das Projekt zu starten:
  
-<code>+<code ->
 docker-compose up -d docker-compose up -d
 </code> </code>
Zeile 103: Zeile 102:
   "timestamp": "2024-12-03 12:34:56+0100"   "timestamp": "2024-12-03 12:34:56+0100"
 } }
 +</code>
 +
 +===== 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/<Vergebener Name des Gerätes>
 +
 +Publish Topic: tplink/kasa/<Vergebener Name des Gerätes>/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.
 +
 +<code - Befehlserkennung>
 +\i"relay_state": \i\v
 +</code>
 +
 +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}}
 +
 +<code - Status-Baustein>
 +{"command": "off"}
 +{"command": "on"}
 </code> </code>