NEWS
Test Adapter LG ThinQ
-
@merlin123 sagte in Test Adapter LG ThinQ v0.0.1:
@lucky_esa Hast ne Nachricht....
Bist du sicher das es nicht geht? Verwende mal bitte den DP für an und aus.
Aus = Aus
Rechts an = An
lg-thinq.0.xxx.snapshot.OperationGruß//Lucky
-
@lucky_esa
Hallo in die Runde,
ich hänge mich hier mal an, da es mir ähnlich geht wie @Merlin123.
Ich habe drei LG-Geräte, zwei funktionieren perfekt mit dem Adapter. Eines ist aber eine andere Type und leider ein thinq1 Gerät.Vielleicht hilft es ja weiter:
Nachstehend der Inhalt vom Datenpunkt lg-thinq.xxx.modelJsonUri diese Gerätes:https://eic.lgthinq.com:46030/api/webContents/modelJSON?modelName=modelJSON_401&countryCode=KR&contentsId=d27d1380-7149-11d3-80b8-2c2bf9760c6d&authKey=thinq
Die Datenpunkte unter Snapshot sind bei diesem Gerät bei mir Read-only; schalte ich Writable ein und versuche dann mit dem Datenpunkt lg-thinq.0.xxx.snapshot.Operation einzuschalten, kommt folgende Meldung im Log:
2023-06-04 10:46:49.042 - error: lg-thinq.0 (1505252) Send failed 2023-06-04 10:46:49.043 - error: lg-thinq.0 (1505252) AxiosError: Request failed with status code 400
Beste Grüße
-
@lucky_esa sagte in Test Adapter LG ThinQ v0.0.1:
@merlin123 sagte in Test Adapter LG ThinQ v0.0.1:
Bist du sicher das es nicht geht? Verwende mal bitte den DP für an und aus.
Aus = Aus
Rechts an = An
lg-thinq.0.xxx.snapshot.OperationAlso zum einen wird der DP als schreibgeschützt angezeigt. Egal was ich einstelle passiert nichts.
Ändere in den DP auf write true und probiere das durch passiert auch nix...Fehlermeldung im Log:
lg-thinq.0 2023-06-04 15:34:22.605 error AxiosError: Request failed with status code 400 lg-thinq.0 2023-06-04 15:34:22.605 error Send failed
-
Kann ich leider bestätigen. Daher wird das jetzt ein etwas größerer Eingriff in dem Adapter.
Wenn ich fertig bin melde ich mich und dann könnt ihr mal vom GIT laden. Wird aber ein paar Tage dauern. Muss den kompletten remote Ordner anpassen.Gruß//Lucky
-
@lucky_esa OK. kein Thema.... Vielen Dank für Deine Mühe!
-
Hallo zusammen,
auf dem GIT ist nun die AC 401 für thinq1 hinzugefügt allerdings ohne Zeitplan. Für den Zeitplan müsste @tombox schauen was da versendet wird.Leider werden bei einigen Befehle 2 Parameter versendet, sodass ich das wie bei der Waschmaschine aufbauen musste.
Installation:
- Instanz stoppen
- Bei allen Geräte den Ordner xxx.remote komplett löschen
- Unter Adapter vom GIT neu installieren
- Instanz wieder starten
Erklärung:
Es wird nun ein neuer .remote Ordner mit vielen DP erstellt die mit set.. anfangen. Als Name könnt ihr sehen welcher DP vorher unter -remote.settings angepasst werden muss.Beispiel einschalten;
lg-thinq.0.xxx.remote.SetOperation hat den Namen {Operation}. Hier müsst ihr zum einschalten erst den DP lg-thinq.0.xxx.remote.settings.Operation auf 1 setzen und dann lg-thinq.0.xxx.remote.SetOperation auf true. Für ausschalten den DP lg-thinq.0.xxx.remote.settings.Operation auf 0 setzen und dann lg-thinq.0.xxx.remote.SetOperation auf true.Andere Beispiel;
lg-thinq.0.xxx.remote.SetWDirLeftRight hat den Namen "{"WDirLeftRight":"{{WDirLeftRight}}","WDirUpDown":"0"}". Hier den DP lg-thinq.0.xxx.remote.settings.WDirUpDown auf 0 setzen und lg-thinq.0.xxx.remote.settings.WDirLeftRight auf deine Wahl setzen. Dann lg-thinq.0.xxx.remote.SetWDirLeftRight auf true.lg-thinq.0.xxx.remote.SetTempCfg hat den Namen "{"TempCfg":"{{TempCfg}}"}". Hier im DP lg-thinq.0.xxx.remote.settings.TempCfg die gewüschte Temperatur auswählen und danach lg-thinq.0.xxx.remote.SetTempCfg auf true.
Der Ordner xxx.remote.settings wird nicht aktualisiert daher diese Datenpunkte nicht als Ansicht in VIS verwenden.
Sorry für diese Umstände aber in der APP sehe ich nur an/aus und Temperatur Einstellung. So wie ich es umgesetzt habe, kann eventuell noch was anderes geändert werden...oder vielleicht auch nicht...Müsste ihr nun testen.
Gruß//Lucky
-
@lucky_esa
Ich bin gerade im Urlaub und kann es daher erst kommende Woche testen, aber vorab schon einmal herzlichen Dank für deine Bemühungen und deine schnelle Umsetzung. -
@lucky_esa Danke für die Arbeit!
Haben es ja schon getestet, klappt soweit.Hab es dir schon per PN geschrieben:
wenn man über den Adapter die (in meinem Fall) Klimaanlage steuert steht in der App "Wird von einem anderen Benutzer verwendet" und man kann sie nicht mehr via App steuern. Mal schauen, ob die wieder freigegeben wird...Edit: nach 30 Minuten war die wieder freigeben. Hab zwischendurch aber nicht kontrolliert
-
Edit: nach 30 Minuten war die wieder freigeben. Hab zwischendurch aber nicht kontrolliert
Diese Problem hatte ich bei der 401 thinq2 auch. Da hatte ich einen fehlerhaften JSON versendet.
Versuche mal folgendes:
Suche dir eine Klimaanlage zum testen aus und editiere das Object vom folgenden Datenpunkt:
lg-thinq.0.xxx.remote.settings.Operation
Ändere das:"name": "Operation", "type": "number", "role": "state", "write": true, "read": true, "def": 0, "states": { "0": "AUS", "1": "On right", "256": "On left", "257": "on all" }
In das hier:
"name": "Operation", "type": "string", "role": "state", "write": true, "read": true, "def": "Stop", "states": { "Stop": "stoppen", "Start": "starten" }
Gruß//Lucky
-
Hab es angepasst, ist aber noch das gleiche Verhalten.
Müsste das unter Snapshot nicht auch geändert werden? -
Hmmm...
Wollte jetzt mal die restlichen 3 Klimaanlagen einbinden, da gibt es aber ein Problem:
Die mit der ich getestet habe, ist die erste in der Objects Liste und da geht alles.
Die anderen 3 bekommen keine Daten bei Snapshot und auch die Steuerung funktioniert nicht wirklich. Ein/Aus geht nicht, ich konnte eine einschalten, indem ich die Temperatur geändert habe.Irgendwas ist da noch seltsam.
Unterschied:
Die, mit der es geht, ist zwar quasi das gleiche Modell, aber eine Nummer größer, weil die mehr kühlen muss. Aber so von den Daten in den Objects her sollte die sich gleich verhalten. -
@merlin123 Lade mal bitte vom GIT.
Snapshot sollte nun gesetzt werden
Fix max .snapshot.AirPolution
Fix on/off (hoffentlich)Achte bitte mal auf diese Art von Meldungen wenn deine Anlagen laufen.
2023-06-11 20:46:03.736 - [33mwarn[39m: lg-thinq.0 (381810) State value to set for "lg-thinq.0.xxx.snapshot.AirPolution" has value "1769918" greater than max "1000"
Gruß//Lucky
-
@lucky_esa Ich hab jetzt die Instanz gestoppt, alle Objekte gelöscht, von Git aktualisiert (immer noch die gleiche Versionssnummer, oder?)
Wenn ich jetzt die Klima, die bisher ging, einschalten will kommt:
lg-thinq.0 2023-06-12 10:26:40.169 error {"lgedmRoot":{"returnCd":"0111","returnMsg":"제품 응답 지연","deviceId":"d27b17b0-7149-11d3-80ab-2c2bf9735b14","stateCode":"P","workId":"n-d20f77c7-99c1-4cc8-b02e-625e9e67f6","deviceState":"E","timestamp":0}} lg-thinq.0 2023-06-12 10:26:40.169 error Command not succesful lg-thinq.0 2023-06-12 10:26:40.169 debug {"lgedmRoot":{"returnCd":"0111","returnMsg":"제품 응답 지연","deviceId":"d27b17b0-7149-11d3-80ab-2c2bf9735b14","stateCode":"P","workId":"n-d20f77c7-99c1-4cc8-b02e-625e9e67f6","deviceState":"E","timestamp":0}} lg-thinq.0 2023-06-12 10:26:29.476 debug sendCommandToDevice: {"lgedmRoot":{"deviceId":"d27b17b0-7149-11d3-80ab-2c2bf9735b14","workId":"d20f77c7-99c1-4cc8-b02e-625e9e67f63d","cmd":"Control","cmdOpt":"Set","value":"Start"}} lg-thinq.0 2023-06-12 10:26:29.476 debug {"lgedmRoot":{"deviceId":"d27b17b0-7149-11d3-80ab-2c2bf9735b14","workId":"d20f77c7-99c1-4cc8-b02e-625e9e67f63d","cmd":"Control","cmdOpt":"Set","value":"Start"}} lg-thinq.0 2023-06-12 10:26:29.476 debug rawData: {"cmd":"Control","cmdOpt":"Operation","value":1} lg-thinq.0 2023-06-12 10:26:29.476 debug {"cmd":"Control","cmdOpt":"Operation","value":1} lg-thinq.0 2023-06-12 10:26:29.475 debug rawDataFunc: {"_comment":"운전시작","cmd":"Control","cmdOpt":"Operation","value":1} lg-thinq.0 2023-06-12 10:26:29.475 debug Val: {"val":1,"ack":true,"ts":1686558389473,"q":0,"from":"system.adapter.lg-thinq.0","user":"system.user.admin","lc":1686558286780}
Was mit aufgefallen ist:
Remote.settings.operation sieht jetzt wieder so aus:"name": "Operation", "type": "number", "role": "state", "write": true, "read": true, "def": 0, "states": { "0": "AUS", "1": "Rechts an", "256": "Links an", "257": "Alle an" } },
Also nichts mit Start/Stopp"
Aber auch wenn ich es wieder auf
"name": "Operation", "type": "string", "role": "state", "write": true, "read": true, "def": "Stop", "states": { "Stop": "stoppen", "Start": "starten" }
ändere sieht es dann so aus:
lg-thinq.0 2023-06-12 10:32:50.107 error {"lgedmRoot":{"returnCd":"0111","returnMsg":"제품 응답 지연","deviceId":"d27b17b0-7149-11d3-80ab-2c2bf9735b14","stateCode":"P","workId":"n-fb3ac807-33e4-4ee0-98f0-9e7c00378a","deviceState":"E","timestamp":0}} lg-thinq.0 2023-06-12 10:32:50.107 error Command not succesful lg-thinq.0 2023-06-12 10:32:50.106 debug {"lgedmRoot":{"returnCd":"0111","returnMsg":"제품 응답 지연","deviceId":"d27b17b0-7149-11d3-80ab-2c2bf9735b14","stateCode":"P","workId":"n-fb3ac807-33e4-4ee0-98f0-9e7c00378a","deviceState":"E","timestamp":0}} lg-thinq.0 2023-06-12 10:32:40.069 error {"lgedmRoot":{"returnCd":"0111","returnMsg":"제품 응답 지연","deviceId":"d27b17b0-7149-11d3-80ab-2c2bf9735b14","stateCode":"P","workId":"n-731714a9-5c60-48d5-974c-669e1eb0a4","deviceState":"E","timestamp":0}} lg-thinq.0 2023-06-12 10:32:40.069 error Command not succesful lg-thinq.0 2023-06-12 10:32:40.068 debug {"lgedmRoot":{"returnCd":"0111","returnMsg":"제품 응답 지연","deviceId":"d27b17b0-7149-11d3-80ab-2c2bf9735b14","stateCode":"P","workId":"n-731714a9-5c60-48d5-974c-669e1eb0a4","deviceState":"E","timestamp":0}} lg-thinq.0 2023-06-12 10:32:38.886 debug sendCommandToDevice: {"lgedmRoot":{"deviceId":"d27b17b0-7149-11d3-80ab-2c2bf9735b14","workId":"fb3ac807-33e4-4ee0-98f0-9e7c00378aa3","cmd":"Control","cmdOpt":"Set","value":"Start"}} lg-thinq.0 2023-06-12 10:32:38.886 debug {"lgedmRoot":{"deviceId":"d27b17b0-7149-11d3-80ab-2c2bf9735b14","workId":"fb3ac807-33e4-4ee0-98f0-9e7c00378aa3","cmd":"Control","cmdOpt":"Set","value":"Start"}} lg-thinq.0 2023-06-12 10:32:38.885 debug rawData: {"cmd":"Control","cmdOpt":"Operation","value":"Start"} lg-thinq.0 2023-06-12 10:32:38.885 debug {"cmd":"Control","cmdOpt":"Operation","value":"Start"}
Er hat das Kommando übrigens erst geschickt, als ich SetOperation erstmal auf false und dann wieder auf true gesetzt habe. Bisher hatte Aktualisieren mit true gereicht
-
Hallo,
ich habe nun auch meine LG ThinQ Klimaanlage eingebunden und möchte Sie mit Skripten steuern.
Welche "Schalter" ist denn nun zum einschalten richtig?
Es gibt unter remote.basicCtrl einen "Operation" und unter snapshot.airState einen "Operation", ich habe irgendwie das Gefühl das mal der eine und mal andere reagiert.
Freue mich auf Unterstützung.
Gruß
Peter -
@paul-kersey Das klappt aktuell leider noch nicht. Hab mit Lucky, der den entwickelt, einige Tests gemacht, aber es läuft nicht zuverlässig.
Grundsätzlich musst Du erst
Remote.settings.operation auf 1
und dann
remote.SetOperation auf trueKannst ja mal probieren. Nimm die neuste Version von Github
-
@merlin123 Danke ich werde mal testen.
Beim Ausschalten dann:
Remote.settings.operation auf 0
und dann
remote.SetOperation auf false?
Gruß
Peter -
@paul-kersey fast Set Operation wieder auf true.... Das ist nur der Trigger, den Wert von Operations zu übernehmen.
Berichte bitte mal, ob das bei Dir klappt. Schau auch mal in der App, ob nach der Steuerung via ioBroker die Bedienung ein paar Minuten gesperrt ist (Gerät wird von einem anderen Benutzer genutzt oder so ähnlich steht dann da). Dauert so 5 Minuten, bis das wieder frei gegeben wird.
-
@merlin123 Super danke.
Also erstmal scheint alles zu klappen. Wenn ich das Fenster auf machen, geht die Klimaanlage aus und umgekehrt.
Ich werde aber gerne weiter testen und berichten
Gruß
Peter -
@lucky_esa
Hallo Lucky,
ich habe es jetzt auch endlich zum Testen geschafft, scheitere aber leider schon bei der Installation.
Ich habe zwei thinq2 Geräte, die problemlos mit dem Adapter funktionieren und ein drittes thinq1.
Habe nach deiner Anleitung von GIT jetzt installiert (insgesamt jetzt dreimal ausprobiert, das Ergebnis ist immer das Gleiche) und es werden auch die von dir beschriebenen DP's beim thinq1-Gerät angelegt. Danach geht es zu den thinq2 Geräten und da steigt der Adapter aus.Sieht im Log inkl. der Installation so aus:
d27d1380-7149-11d3-80b8-2c2bf9760c6d ist das thinq1 Gerät
dfbdfc44-8efb-148a-acc9-44cb8b32f2ea ist das erste thinq2 Geräte, wo er dann aussteigt2023-06-24 17:27:35.538 - info: host.raspberrypi iobroker url TA2k/ioBroker.lg-thinq --host raspberrypi --debug 2023-06-24 17:27:37.658 - info: host.raspberrypi iobroker install TA2k/ioBroker.lg-thinq 2023-06-24 17:27:39.153 - info: host.raspberrypi iobroker NPM version: 9.5.1 2023-06-24 17:27:39.156 - info: host.raspberrypi iobroker Installing TA2k/ioBroker.lg-thinq... (System call) 2023-06-24 17:27:50.581 - info: host.raspberrypi iobroker changed 1 package in 10s 2023-06-24 17:27:50.584 - info: host.raspberrypi iobroker 110 packages are looking for funding run `npm fund` for details 2023-06-24 17:27:50.676 - info: host.raspberrypi iobroker upload [2] lg-thinq.admin /opt/iobroker/node_modules/iobroker.lg-thinq/admin/index_m.html index_m.html text/html 2023-06-24 17:27:50.769 - info: host.raspberrypi iobroker upload [1] lg-thinq.admin /opt/iobroker/node_modules/iobroker.lg-thinq/admin/jsonConfig.json jsonConfig.json application/json 2023-06-24 17:27:50.791 - info: host.raspberrypi iobroker upload [0] lg-thinq.admin /opt/iobroker/node_modules/iobroker.lg-thinq/admin/lg-thinq.png lg-thinq.png image/png 2023-06-24 17:27:50.871 - info: host.raspberrypi iobroker Update "system.adapter.lg-thinq.0" 2023-06-24 17:27:51.929 - info: host.raspberrypi iobroker exit 0 2023-06-24 17:28:13.350 - info: host.raspberrypi "system.adapter.lg-thinq.0" enabled 2023-06-24 17:28:13.588 - info: host.raspberrypi instance system.adapter.lg-thinq.0 started with pid 824011 2023-06-24 17:28:16.363 - info: lg-thinq.0 (824011) starting. Version 0.1.4 (non-npm: TA2k/ioBroker.lg-thinq) in /opt/iobroker/node_modules/iobroker.lg-thinq, node: v18.16.0, js-controller: 4.0.24 2023-06-24 17:28:21.950 - info: lg-thinq.0 (824011) Done with cleaning 2023-06-24 17:28:24.443 - info: lg-thinq.0 (824011) Login successful 2023-06-24 17:28:27.123 - info: lg-thinq.0 (824011) Found: 3 devices 2023-06-24 17:28:27.125 - info: lg-thinq.0 (824011) Create or update datapoints for d27d1380-7149-11d3-80b8-2c2bf9760c6d 2023-06-24 17:28:31.519 - info: lg-thinq.0 (824011) deviceModel.type: JSON 2023-06-24 17:28:44.528 - info: lg-thinq.0 (824011) Update raw datapoints for d27d1380-7149-11d3-80b8-2c2bf9760c6d 2023-06-24 17:28:45.196 - info: lg-thinq.0 (824011) Create or update datapoints for dfbdfc44-8efb-148a-acc9-44cb8b32f2ea 2023-06-24 17:28:50.909 - error: lg-thinq.0 (824011) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2023-06-24 17:28:50.910 - error: lg-thinq.0 (824011) unhandled promise rejection: Cannot read properties of undefined (reading 'type') 2023-06-24 17:28:50.916 - error: lg-thinq.0 (824011) TypeError: Cannot read properties of undefined (reading 'type') at LgThinq.getDeviceModelInfo (/opt/iobroker/node_modules/iobroker.lg-thinq/main.js:827:81) at LgThinq.onReady (/opt/iobroker/node_modules/iobroker.lg-thinq/main.js:201:57) 2023-06-24 17:28:50.917 - error: lg-thinq.0 (824011) Cannot read properties of undefined (reading 'type') 2023-06-24 17:28:50.936 - info: lg-thinq.0 (824011) terminating 2023-06-24 17:28:50.937 - warn: lg-thinq.0 (824011) Terminated (UNCAUGHT_EXCEPTION): Without reason 2023-06-24 17:28:51.528 - error: host.raspberrypi Caught by controller[0]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason: 2023-06-24 17:28:51.528 - error: host.raspberrypi Caught by controller[1]: TypeError: Cannot read properties of undefined (reading 'type') 2023-06-24 17:28:51.529 - error: host.raspberrypi Caught by controller[1]: at LgThinq.getDeviceModelInfo (/opt/iobroker/node_modules/iobroker.lg-thinq/main.js:827:81) 2023-06-24 17:28:51.529 - error: host.raspberrypi Caught by controller[1]: at LgThinq.onReady (/opt/iobroker/node_modules/iobroker.lg-thinq/main.js:201:57) 2023-06-24 17:28:51.529 - error: host.raspberrypi instance system.adapter.lg-thinq.0 terminated with code 6 (UNCAUGHT_EXCEPTION) 2023-06-24 17:28:51.529 - info: host.raspberrypi Restart adapter system.adapter.lg-thinq.0 because enabled
Grüße Oliver
-
@paul-kersey Kannst Du bei Dir bitte mal unter
.modelJsonUri
schauen?
Steht da sowas wie:
https://eic.lgthinq.com:46030/api/webContents/modelJSON?modelName=modelJSON_401&countryCode=KR&contentsId=xxxxx&authKey=thinqWas für ein modeJSON hast Du da?
Und bei
platformType?
Ich hab da thinq1Würde gern mal wissen, wieso es bei dir geht und bei mir immer wieder Probleme macht.
Wird bei Dir die Klima in der App gesperrt?