Zum Hauptinhalt springen

LG ThinQ Smart-Home-Integration, kostenlos und Open Source

LG ThinQ-Integration für Gladys Assistant

Entdecke und steuere die LG-Geräte deines ThinQ-Kontos über die offizielle LG-API.

Diese Integration verbindet Gladys Assistant mit den Geräten, die in deinem LG-Konto registriert sind — Klimaanlage, Waschmaschine, Trockner, Geschirrspüler, Kühlschrank, Backofen, Luftreiniger, Saugroboter… — über die offizielle ThinQ Connect API von LG.

Es ist eine Cloud-Integration: Gladys spricht mit den Servern von LG, und LG spricht mit deinen Geräten. Nichts ist per Reverse Engineering nachgebaut, und es wird kein Passwort gespeichert: Die einzige Zugangsberechtigung ist ein Token, das du selbst erstellst und jederzeit widerrufen kannst.

Bevor du beginnst​

Du benötigst:

  • Gladys 5.2 oder neuer;
  • ein LG ThinQ-Konto, in dem deine Geräte bereits in der mobilen LG ThinQ App hinzugefügt sind (diese Integration entdeckt Geräte, sie koppelt sie nicht);
  • Geräte, die in der App online sind;
  • das Land, in dem dein LG-Konto erstellt wurde — LG speichert die Konten auf regionalen Servern, und die falsche Region antwortet einfach mit „unbekannter Benutzer“.

Schritt 1 — Ein Personal Access Token erstellen​

  1. Öffne https://connect-pat.lgthinq.com und melde dich mit dem gleichen LG-Konto an, das du in der ThinQ App verwendest.
  2. Klicke auf Create New Token.
  3. Gib dem Token einen Namen (zum Beispiel Gladys).
  4. Hake die Berechtigungen (Scopes) der Geräte an, die du in Gladys verwenden möchtest. Fehlt eine Berechtigung, ist das Gerät für die Integration unsichtbar — hake im Zweifel alles an.
  5. Klicke auf Create Token und kopiere das Token — LG zeigt es nur ein einziges Mal an.

Die Dokumentation von LG zu dieser Seite: https://thinq.developer.lge.com/en/cloud/docs/thinq-connect/PAT-en/

Schritt 2 — Die Integration in Gladys konfigurieren​

  1. Öffne die Integration LG ThinQ in Gladys, Tab Konfiguration.
  2. Füge das Token in Personal Access Token ein.
  3. Wähle das Land des LG-Kontos.
  4. Klicke auf Konfiguration speichern.
  5. Klicke auf Verbindung testen: Gladys antwortet mit der erreichten Region und der Liste der gefundenen Geräte. Wenn das klappt, erscheinen deine Geräte innerhalb weniger Sekunden im Tab Geräte.

Die übrigen Einstellungen sind optional:

  • Aktualisierungsintervall — wie oft jedes Gerät abgefragt wird (Standard 5 Minuten, höchstens einmal pro Minute). LG begrenzt die API-Aufrufe pro Client, und jedes Gerät kostet einen Aufruf pro Aktualisierung: Senke den Wert nur, wenn du wenige Geräte besitzt.
  • Temperatureinheit — LG veröffentlicht jede Temperatur doppelt, in Celsius und in Fahrenheit. Nur die gewählte Einheit wird zu einer Gladys-Funktion.
  • Alle numerischen Eigenschaften bereitstellen — standardmäßig aus. Schalte es ein, um auch die Zeitplan-Verschiebungen und Zähler zu erhalten, die LG bereitstellt; nützlich, um zu erkunden, was ein bestimmtes Gerät meldet.

Was du erhältst​

Die Integration liest das Profil jedes Geräts — die Beschreibung von LG, was genau dieses Modell melden und annehmen kann — und baut daraus die Gladys-Funktionen. Was du siehst, hängt also von deiner Hardware ab, nicht von einer fest einprogrammierten Liste:

Was LG bereitstelltWas du in Gladys erhältst
Ein/Aus und andere Ein/Aus-OptionenEin Schalter, steuerbar und in Szenen verwendbar
ZieltemperaturEin Sollwert, mit den Grenzen deines Modells
Aktuelle Temperatur, Luftfeuchtigkeit, PM2.5, PM10, CO2Sensoren, mit Verlauf und Diagrammen
Filterlebensdauer, AkkuSensoren, in Prozent
Restzeit eines ZyklusEine Dauer, in Stunden und Minuten
Tür offen/geschlossenEin Öffnungssensor
Betriebsmodus, Betriebszustand, ProgrammnameEine Textfunktion, als Szenen-Auslöser verwendbar

Ein Gerät wird abgefragt, sobald du es hinzufügst, sodass seine Funktionen sofort einen Wert haben; danach wird alles im konfigurierten Intervall aktualisiert. Gladys zeigt an jedem Gerät ein Abzeichen: cloud, wenn LG antwortet, unreachable (orange), wenn das Gerät ausgesteckt oder nicht im Netzwerk ist.

Etwas steuern, wofür Gladys keine Funktion hat​

Die Modi von LG sind modellspezifisch: Deine Klimaanlage akzeptiert vielleicht COOL, HEAT, AIR_DRY, während eine andere auch ENERGY_SAVING akzeptiert. Die Gladys-Funktionen decken das Universelle ab (Ein/Aus, Temperatur, Sensoren); alles andere ist über zwei Schaltflächen im Tab Konfiguration erreichbar:

  1. Eigenschaften auflisten — wähle ein Gerät, und Gladys zeigt jede Eigenschaft, die es akzeptiert, mit den genau zulässigen Werten, zum Beispiel:

    airConJobMode.currentJobMode = COOL | HEAT | AIR_DRY
    temperatureInUnits.targetTemperatureC = 18..30, step 1
    airFlow.windStrength = LOW | MID | HIGH
  2. Befehl senden — wähle das Gerät, füge den Namen der Eigenschaft und den Wert ein. Der Befehl wird vor dem Senden mit dem Profil abgeglichen, sodass ein Tippfehler mit der Liste der zulässigen Werte abgelehnt wird, statt stillschweigend zu scheitern.

Dashboard-Widgets​

Dashboard → Bearbeiten → Neues Widget, Bereich Integrations-Widgets:

  • LG-Gerät — ein Gerät, in den Widget-Einstellungen gewählt: seine Live-Werte (Temperaturen, Luftfeuchtigkeit, Restzeit…), was es gerade tut (Zustand, Modus), seine Verbindung zur LG-Cloud sowie die Schaltflächen Ein / Aus, Aktualisieren und Befehl senden;
  • LG-Geräte — alle LG-Geräte auf einer Karte, jedes mit seinem Zustand („Läuft“, „Beendet“, „Nicht erreichbar“…) und einer Schaltfläche Aktualisieren.

Die Werte folgen dem Aktualisierungsintervall; Aktualisieren fragt LG sofort ab, außer bei einem Gerät, das in den letzten 2 Minuten bereits abgefragt wurde: Dann wird seine letzte Abfrage angezeigt (jeder LG-Aufruf zählt gegen dein Kontingent). Nur die zu Gladys hinzugefügten Geräte werden angezeigt.

Befehl senden öffnet ein kleines Formular in der Karte: Wähle eine der Eigenschaften, die das Gerät akzeptiert (seine änderbaren Eigenschaften, nach Namen aufgelistet), und gib den Wert ein — COOL, 22, true… Es macht genau dasselbe wie die Schaltfläche Befehl senden im Tab Konfiguration: Der Wert wird mit dem abgeglichen, was das Gerät akzeptiert, bevor irgendetwas gesendet wird, und Eigenschaften auflisten zeigt die akzeptierten Werte. Bei einem Gerät ohne änderbare Eigenschaft fehlt die Schaltfläche.

Szenen​

Auslöser​

In einer Szene Auslöser hinzufügen → Integrationen:

AuslöserWann
LG-Gerät: Zyklus beendetEine Waschmaschine, ein Trockner, Geschirrspüler oder Backofen ist fertig
LG-Gerät: Zustand geändertDer Betriebszustand ändert sich (RUNNING, RINSING, END…)
LG-Gerät: Verbindung verloren / wieder daDas Gerät verlässt die LG-Cloud oder kehrt zurück

Ein leer gelassener Filter bedeutet „beliebig“. Der Filter Neuer Zustand erwartet den genauen LG-Wert, in Großbuchstaben (END, RUNNING…): Eigenschaften auflisten zeigt die Werte jedes Geräts.

Die nächsten Aktionen der Szene können den Gerätenamen, das Teilgerät (Waschmaschine oder Trockner eines WashTower), den neuen und den vorherigen Zustand wiederverwenden. Beispiel: „Zyklus beendet“ → eine Nachricht senden „{{triggerEvent.data.device_name}} ist fertig“.

Gut zu wissen:

  • Änderungen werden bei der nächsten Abfrage des Geräts erkannt: Ein Zyklus, der endet, wird höchstens ein Aktualisierungsintervall später gemeldet;
  • beim Start der Integration wird nichts ausgelöst: Eine Änderung braucht ein „Vorher“ und ein „Nachher“;
  • eine durch eine Aktion verursachte Abfrage (Schaltfläche, Szene, Befehl) löst nicht sofort etwas aus — das erledigt die nächste reguläre Abfrage. So kann sich eine Szene nicht selbst in einer Schleife erneut auslösen.

Aktionen​

In einer Szene Neue Aktion → Integrationen:

AktionWas sie tut
LG-Gerät: Befehl sendenWie die Schaltfläche Befehl senden: jede Eigenschaft, vor dem Senden geprüft
LG-Gerät: Zustand lesenFragt das Gerät sofort ab und übergibt den nächsten Aktionen: verbunden (ja/nein), Betriebszustand, Restzeit (min)

Beispiel: jeden Abend um 22 Uhr „Zustand lesen“ der Waschmaschine → Bedingung „Betriebszustand = END“ → Benachrichtigung „Waschmaschine ausräumen“.

„Zustand lesen“ ruft LG höchstens einmal alle 2 Minuten pro Gerät auf: innerhalb dieses Abstands erhält die Szene die letzte Abfrage.

Fehlerbehebung​

„LG hat die Zugangsdaten abgelehnt“ — das Token oder das Land ist falsch. Tokens sind an das Konto gebunden, das sie erstellt hat: Prüfe, dass du dasselbe LG-Konto wie in der ThinQ App verwendet hast, und wähle das Land, in dem das Konto erstellt wurde.

Ein Gerät fehlt — entweder wurde seine Berechtigung beim Erstellen des Tokens nicht angehakt (erstelle ein neues Token mit den richtigen Berechtigungen), oder es wurde der LG-App hinzugefügt, nachdem Gladys zuletzt nachgesehen hat. Klicke auf Geräteliste aktualisieren.

Ein Gerät zeigt ein oranges Abzeichen unreachable — LG meldet es als nicht verbunden. Prüfe in der LG ThinQ App, dass es mit Strom versorgt und mit dem WLAN verbunden ist; das Abzeichen verschwindet bei der nächsten Aktualisierung von selbst.

Ein gerade hinzugefügtes Gerät zeigt „Kein aktueller Wert“ — das Gerät wird in dem Moment abgefragt, in dem du es hinzufügst; das bedeutet also, dass LG in diesem Augenblick nichts zu melden hatte: Das Gerät ist meist nicht im Netzwerk (achte auf das orange Abzeichen). Die nächste Aktualisierung füllt die Funktionen, sobald LG wieder antwortet.

Das Widget LG-Gerät zeigt „settings.device: must be at most 100 characters“ — das Gerät wurde mit Version 2.0.0 oder älter hinzugefügt, deren Kennung für ein Widget zu lang war. Lösche nach dem Update das Gerät in Gladys, füge es über den Tab Entdecken erneut hinzu und wähle es dann in den Widget-Einstellungen neu aus. Der Verlauf des alten Geräts und die Szenen, die es verwenden, müssen neu angelegt werden.

„Aufrufkontingent überschritten“ — erhöhe das Aktualisierungsintervall. LG zählt die Aufrufe jedes Clients, und eine Aktualisierung kostet einen Aufruf pro Gerät.

Ein Befehl wird abgelehnt — LG lehnt Befehle ab, die ein Gerät in seinem aktuellen Zustand nicht ausführen kann (eine Waschmaschine mit offener Tür starten, den Modus ändern, während sie aus ist). Der Grund wird unter der Schaltfläche und in den Protokollen der Integration angezeigt.

Datenschutz​

Das Personal Access Token wird von Gladys verschlüsselt gespeichert und nie an deinen Browser zurückgesendet. Es kann jederzeit unter https://connect-pat.lgthinq.com widerrufen werden, was den Zugriff dieser Integration sofort unterbindet, ohne dein LG-Konto zu berühren.

Konfigurationseinstellungen​

Diese Einstellungen fragt LG ThinQ in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Verbinde dein LG-KontosectionNeinDiese Integration nutzt die offizielle LG ThinQ Connect API. Melde dich auf der unten verlinkten LG-Seite mit dem LG-Konto an, auf dem deine Geräte registriert sind, erstelle ein Personal Access Token (PAT), hake die Berechtigungen der gewünschten Geräte an und füge das Token dann hier ein.
Personal Access TokensecretJaDas auf der LG-Seite oben erstellte Token. Es wird verschlüsselt gespeichert und nie an den Browser zurückgesendet.
Land des LG-KontosselectJaLG speichert die Konten auf regionalen Servern: Wähle das Land, in dem dein LG-Konto erstellt wurde, nicht das, in dem du heute wohnst.
VerhaltensectionNeinLG begrenzt die Anzahl der API-Aufrufe pro Client. Jedes Gerät kostet einen Aufruf pro Aktualisierung: Wähle ein großzügiges Intervall, wenn du viele Geräte besitzt.
Aktualisierungsintervall (s)numberNeinWie oft jedes Gerät abgefragt wird, in Sekunden.
TemperatureinheitselectNeinLG veröffentlicht jede Temperatur doppelt, in Celsius und in Fahrenheit. Nur die gewählte Einheit wird zu einer Gladys-Funktion.
Alle numerischen Eigenschaften bereitstellenbooleanNeinAuch Funktionen für numerische Eigenschaften ohne offensichtliche Bedeutung anlegen (Zeitplan-Verschiebungen, Zähler). Nützlich, um zu erkunden, was ein Gerät meldet.

So installierst du LG ThinQ in Gladys​

  1. Öffne in Gladys Integrationen: LG ThinQ erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/prohand/gladys-lg-thinq:2.4.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/prohand/gladys-lg-thinq.

LG ThinQ benötigt Gladys >=5.2.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.

Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.

Über externe Integrationen​

LG ThinQ ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von prohand veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂