FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: Shadow3561 am 14 Januar 2026, 19:43:26

Titel: Neues Modul LG-ThinQ
Beitrag von: Shadow3561 am 14 Januar 2026, 19:43:26
Moin,
angeregt durch diesen thread (https://forum.fhem.de/index.php?topic=142849.msg1350317#msg1350317) habe ich mich die letzte beiden Abende mit ChatGPT an ein Modul gewagt was Geräte aus der ThinQ App in FHEM abbilden und steuern kann. Dazu wird die offizielle LG-ThinQ-API-v2 benutzt.


Als erstes müssen wir auf diese Seite gehen
HIER (https://connect-pat.lgthinq.com/login)
Hier ändern wir oben die Sprache auf deutsch und melden uns mit unserem LG-Account an.

Dann erstellen wir einen PAT (Personal Access Token). Diesen kopieren.

Als nächstes die Beiden Module im Anhang in euren Modulordner (fhem/FHEM) packen.
fhem Neustarten

Das Connect-Device anlegen mit
defmod <NAME> LGThinQ_Connect <PAT>wenn ihr wollt, dass eure LG_devices automatisch angelegt werden müsst ihr noch das
autocreateDevices Attribut auf 1 setzen (funktioniert natürlich nur wenn das autocreate in fhem aktiv ist). Dies wird nach dem holen der Deviceliste von LG wieder auf 0 gesetzt.

Jetzt einmal
set <NAME> connect ausführen.
Nun sollten eure LG Geräte automatisch angelegt werden.

Im Device Modul ist mapping eingebaut, aber nur für Klimaanlage und Kühlschrank. Weitere Mappings könnt ihr selbst im Modul ab Zeile 404 hinzufügen. Alle benötigten Infos über die, von LG gelieferten, readings bekommt ihr im Device-reading "apiStateRaw".

Die Set-Befehle werden automatisch angelegt, dazu wird das reading "apiProfileRaw" benötigt.

Probiert es einfach mal aus.
Mit freundlichen Grüßen
Daniel
Titel: Aw: Neues Modul LG-ThinQ
Beitrag von: Shadow3561 am 15 Januar 2026, 19:59:26
Neue Version ist Oben angehängt.
stateformat wurde hinzugefügt.
Titel: Aw: Neues Modul LG-ThinQ
Beitrag von: ixsus300 am 20 Januar 2026, 17:26:42
Hi,

konnte es soweit mit meiner WP LG ThermaV verbinden. Kannst du mir einen Tipp geben wie ich nun genau weitere Readings ab Zeile 404 hinzufügen kann?
Folgende Infos im apiStateRaw Reading:

{"timestamp":"2026-01-20T16:22:19.217518","messageId":"o0KwmLctidQ7MtnpZkQ4fw","response":{"roomTemperatureInUnits":[{"waterCoolMinTemperature":5,"airHeatMinTemperature":16,"waterHeatMaxTemperature":65,"unit":"C","inWaterCurrentTemperature":46,"airCoolMinTemperature":16,"airCurrentTemperature":26,"airCoolMaxTemperature":30,"currentTemperature":48,"waterHeatMinTemperature":15,"outWaterCurrentTemperature":48,"waterCoolMaxTemperature":27,"targetTemperature":17,"airHeatMaxTemperature":30},{"waterCoolMaxTemperature":80,"targetTemperature":62,"airHeatMaxTemperature":86,"waterHeatMinTemperature":58,"outWaterCurrentTemperature":118,"currentTemperature":118,"airCoolMaxTemperature":86,"airCurrentTemperature":78,"unit":"F","airCoolMinTemperature":60,"inWaterCurrentTemperature":114,"airHeatMinTemperature":60,"waterHeatMaxTemperature":148,"waterCoolMinTemperature":40}],"temperature":{"targetTemperature":0,"unit":"C","heatMaxTemperature":65,"coolMaxTemperature":27,"currentTemperature":48,"heatMinTemperature":15,"coolMinTemperature":5},"boilerJobMode":{"currentJobMode":"AUTO"},"operation":{"boilerOperationMode":"POWER_ON","roomTempMode":"WATER","hotWaterMode":"ON","roomWaterMode":"OUT_WATER"},"hotWaterTemperatureInUnits":[{"unit":"C","minTemperature":30,"targetTemperature":52,"maxTemperature":80,"currentTemperature":52},{"maxTemperature":176,"currentTemperature":126,"targetTemperature":126,"minTemperature":86,"unit":"F"}]}}
Danke !
Titel: Aw: Neues Modul LG-ThinQ
Beitrag von: Shadow3561 am 20 Januar 2026, 17:54:11
Moin,

so in etwa
Zitat(

    # -------- Raum / Wasser Temperaturen --------
    'temperature.currentTemperature' => {
        name => 'currentTemp',
    },
    'temperature.targetTemperature' => {
        name => 'targetTemp',
    },
    'temperature.coolMinTemperature' => {
        name => 'coolMinTemp',
    },
    'temperature.coolMaxTemperature' => {
        name => 'coolMaxTemp',
    },
    'temperature.heatMinTemperature' => {
        name => 'heatMinTemp',
    },
    'temperature.heatMaxTemperature' => {
        name => 'heatMaxTemp',
    },

    # -------- Raumtemperatur (Celsius) --------
    'roomTemperatureInUnits.0.airCurrentTemperature' => {
        name => 'roomAirTemp',
    },
    'roomTemperatureInUnits.0.currentTemperature' => {
        name => 'roomCurrentTemp',
    },
    'roomTemperatureInUnits.0.targetTemperature' => {
        name => 'roomTargetTemp',
    },

    # -------- Wasser Temperaturen --------
    'roomTemperatureInUnits.0.inWaterCurrentTemperature' => {
        name => 'waterInTemp',
    },
    'roomTemperatureInUnits.0.outWaterCurrentTemperature' => {
        name => 'waterOutTemp',
    },

    # -------- Boiler Job Mode --------
    'boilerJobMode.currentJobMode' => {
        name => 'boilerJobMode',
    },

    # -------- Operation Modes --------
    'operation.boilerOperationMode' => {
        name => 'boilerPower',
    },
    'operation.hotWaterMode' => {
        name => 'hotWaterMode',
    },
    'operation.roomTempMode' => {
        name => 'roomTempMode',
    },
    'operation.roomWaterMode' => {
        name => 'roomWaterMode',
    },

    # -------- Hot Water --------
    'hotWaterTemperatureInUnits.0.currentTemperature' => {
        name => 'hotWaterCurrentTemp',
    },
    'hotWaterTemperatureInUnits.0.targetTemperature' => {
        name => 'hotWaterTargetTemp',
    },
    'hotWaterTemperatureInUnits.0.minTemperature' => {
        name => 'hotWaterMinTemp',
    },
    'hotWaterTemperatureInUnits.0.maxTemperature' => {
        name => 'hotWaterMaxTemp',
    },
Hast du Set-Befehle bekommen um die WP zu steuern?

Mit freundlichen Grüßen

EDIT:
Neue Version mit readings für LG Wärmepumpe oben angehängt.
Titel: Aw: Neues Modul LG-ThinQ
Beitrag von: ixsus300 am 20 Januar 2026, 18:23:04
Hi,

TOP !! Danke !

ja im apiProfileRaw Reading:
Habe allerdings ein Token ohne Set Befehle eingebaut. Möchte nur auslesen.

{"response":{"property":{"boilerJobMode":{"currentJobMode":{"mode":["r","w"],"value":{"r":["HEAT","AUTO","COOL"],"w":["HEAT","AUTO","COOL"]},"type":"enum"}},"hotWaterTemperatureInUnits":[{"minTemperature":{"type":"number","mode":["r"]},"currentTemperature":{"mode":["r"],"type":"number"},"unit":"C","targetTemperature":{"type":"range","value":{"w":{"min":30,"max":80,"step":1},"r":{"min":30,"max":80,"step":1}},"mode":["r","w"]},"maxTemperature":{"mode":["r"],"type":"number"}},{"currentTemperature":{"type":"number","mode":["r"]},"minTemperature":{"mode":["r"],"type":"number"},"maxTemperature":{"mode":["r"],"type":"number"},"unit":"F","targetTemperature":{"value":{"r":{"step":2,"max":176,"min":86},"w":{"step":2,"min":86,"max":176}},"type":"range","mode":["r","w"]}}],"roomTemperatureInUnits":[{"airCoolTargetTemperature":{"mode":["w"],"value":{"w":{"min":18,"max":30,"step":1}},"type":"range"},"airHeatMinTemperature":{"mode":["r"],"type":"number"},"inWaterCurrentTemperature":{"mode":["r"],"type":"number"},"outWaterCurrentTemperature":{"type":"number","mode":["r"]},"airHeatMaxTemperature":{"mode":["r"],"type":"number"},"waterCoolMinTemperature":{"type":"number","mode":["r"]},"waterCoolTargetTemperature":{"mode":["w"],"type":"range","value":{"w":{"max":24,"min":5,"step":1}}},"waterHeatMaxTemperature":{"type":"number","mode":["r"]},"airCoolMinTemperature":{"type":"number","mode":["r"]},"airCurrentTemperature":{"type":"number","mode":["r"]},"airCoolMaxTemperature":{"mode":["r"],"type":"number"},"waterCoolMaxTemperature":{"type":"number","mode":["r"]},"waterHeatTargetTemperature":{"value":{"w":{"max":57,"min":14,"step":1}},"type":"range","mode":["w"]},"currentTemperature":{"type":"number","mode":["r"]},"targetTemperature":{"mode":["r"],"type":"number"},"unit":"C","airHeatTargetTemperature":{"value":{"w":{"step":1,"max":30,"min":16}},"type":"range","mode":["w"]},"waterHeatMinTemperature":{"type":"number","mode":["r"]}},{"waterCoolTargetTemperature":{"mode":["w"],"value":{"w":{"min":40,"max":76,"step":2}},"type":"range"},"waterCoolMinTemperature":{"mode":["r"],"type":"number"},"waterHeatMaxTemperature":{"type":"number","mode":["r"]},"waterCoolMaxTemperature":{"mode":["r"],"type":"number"},"waterHeatTargetTemperature":{"mode":["w"],"type":"range","value":{"w":{"step":2,"max":134,"min":58}}},"currentTemperature":{"mode":["r"],"type":"number"},"waterHeatMinTemperature":{"type":"number","mode":["r"]},"unit":"F","airHeatTargetTemperature":{"mode":["w"],"type":"range","value":{"w":{"step":2,"max":86,"min":60}}},"targetTemperature":{"type":"number","mode":["r"]},"airCurrentTemperature":{"mode":["r"],"type":"number"},"airCoolMinTemperature":{"type":"number","mode":["r"]},"airCoolMaxTemperature":{"mode":["r"],"type":"number"},"inWaterCurrentTemperature":{"type":"number","mode":["r"]},"airHeatMinTemperature":{"type":"number","mode":["r"]},"airHeatMaxTemperature":{"type":"number","mode":["r"]},"outWaterCurrentTemperature":{"type":"number","mode":["r"]},"airCoolTargetTemperature":{"mode":["w"],"type":"range","value":{"w":{"min":64,"max":86,"step":2}}}}],"temperature":{"heatTargetTemperature":{"mode":["w"],"type":"number"},"coolTargetTemperature":{"type":"number","mode":["w"]},"currentTemperature":{"type":"number","mode":["r"]},"coolMinTemperature":{"mode":["r"],"type":"number"},"unit":{"mode":["r"],"value":{"r":["C"]},"type":"enum"},"targetTemperature":{"mode":["r"],"type":"number"},"heatMinTemperature":{"type":"number","mode":["r"]},"coolMaxTemperature":{"mode":["r"],"type":"number"},"heatMaxTemperature":{"type":"number","mode":["r"]}},"operation":{"boilerOperationMode":{"mode":["r","w"],"value":{"w":["POWER_ON","POWER_OFF"],"r":["POWER_ON","POWER_OFF"]},"type":"enum"},"hotWaterMode":{"mode":["r","w"],"value":{"w":["OFF","ON"],"r":["OFF","ON"]},"type":"enum"},"roomTempMode":{"mode":["r"],"value":{"r":["AIR","WATER"]},"type":"enum"},"roomWaterMode":{"mode":["r"],"type":"enum","value":{"r":["OUT_WATER","IN_WATER"]}}}}},"timestamp":"2026-01-20T17:13:01.043307","messageId":"QduesqWEVjr-zEppFOprww"}

mfg
Titel: Aw: Neues Modul LG-ThinQ
Beitrag von: Shadow3561 am 20 Januar 2026, 18:55:54
Zitatja im apiProfileRaw Reading:
das ist klar, die Daten werden vom Mode abgerufen und als reading gespeichert um daraus mögliche Set-Befehle an zu legen.

Was ich meine ist, werden dir die Set-Befehle oben angeboten?

Mit freundlichen Grüßen
Titel: Aw: Neues Modul LG-ThinQ
Beitrag von: ixsus300 am 20 Januar 2026, 19:16:41
nein nur get
Titel: Aw: Neues Modul LG-ThinQ
Beitrag von: Shadow3561 am 20 Januar 2026, 19:38:52
danke
Titel: Aw: Neues Modul LG-ThinQ
Beitrag von: JoWiemann am 21 Januar 2026, 15:30:17
Hallo,

der Connect zu Samsung ist erfolgreich. Allerdings wird meine Samsung "EHS Mono r290 Wärmepumpe" nicht in die deviceMap geladen. Leider hat Dein CoAutor keinerlei Log Informationen eingebaut.

Grüße Jörg
Titel: Aw: Neues Modul LG-ThinQ
Beitrag von: Shadow3561 am 21 Januar 2026, 16:33:14
Moin,
Samsung???
Das Modul ist für LG ThinQ
Titel: Aw: Neues Modul LG-ThinQ
Beitrag von: JoWiemann am 21 Januar 2026, 17:09:26
Zitat von: Shadow3561 am 21 Januar 2026, 16:33:14Moin,
Samsung???
Das Modul ist für LG ThinQ
Puh, nicht mein Tag. Hatte parallel an Samsung gearbeitet.

Sorry und Grüße Jörg