NEWS
Test Adapter Daikin-Cloud 0.4.0
-
Schritte 1-7 nach Neuinstallation des Adapters und loglevel = debug:
2024-07-16 10:59:13.139 - debug: daikin-cloud.0 (952) Plugin sentry Initialize Plugin (enabled=true) 2024-07-16 10:59:13.616 - info: daikin-cloud.0 (952) starting. Version 0.4.8 in /opt/iobroker/node_modules/iobroker.daikin-cloud, node: v18.19.0, js-controller: 5.0.19 2024-07-16 10:59:13.665 - warn: daikin-cloud.0 (952) No tokens existing, please enter client id and secret of your Daikin Developer Account in Adapter settings and Authenticate via Admin Interface! 2024-07-16 10:59:28.133 - warn: admin.0 (152) daikin-cloud has an invalid jsonConfig: [{"instancePath":"/items/_authenticate","schemaPath":"#/definitions/sendToProps/additionalProperties","keyword":"additionalProperties","params":{"additionalProperty":"window"},"message":"must NOT have additional properties"},{"instancePath":"","schemaPath":"#/if","keyword":"if","params":{"failingKeyword":"else"},"message":"must match \"else\" schema"}] 2024-07-16 10:59:39.874 - debug: daikin-cloud.0 (952) Message received: {"command":"getRedirectBaseUrl","message":{"clientId":"F_dUfZ0SHwKk5GyblI7v2U2D","clientSecret":"Pyt-xxxCA","redirectUriBase":"https://192.168.178.8:8081/"},"from":"system.adapter.admin.0","callback":{"message":{"clientId":"F_dUfZ0SHwKk5GyblI7v2U2D","clientSecret":"Pyt-xxxCA","redirectUriBase":"https://192.168.178.8:8081/"},"id":55,"ack":false,"time":1721120379871},"_id":56009789} 2024-07-16 10:59:39.876 - debug: daikin-cloud.0 (952) Received OAuth start message: {"clientId":"F_dUfZ0SHwKk5GyblI7v2U2D","clientSecret":"Pyt-xxxCA","redirectUriBase":"https://192.168.178.8:8081/"} 2024-07-16 10:59:39.876 - debug: daikin-cloud.0 (952) Get OAuth start link data: {"clientId":"F_dUfZ0SHwKk5GyblI7v2U2D","clientSecret":"Pyt-xxxCA","redirectUriBase":"https://192.168.178.8:8081/oauth2_callbacks/daikin-cloud.0/"} 2024-07-16 10:59:44.334 - debug: daikin-cloud.0 (952) Message received: {"command":"getOAuthStartLink","message":{"clientId":"F_dUfZ0SHwKk5GyblI7v2U2D","clientSecret":"Pyt-xxxCA","redirectUriBase":"https://192.168.178.8:8081/"},"from":"system.adapter.admin.0","callback":{"message":{"clientId":"F_dUfZ0SHwKk5GyblI7v2U2D","clientSecret":"Pyt-xxxCA","redirectUriBase":"https://192.168.178.8:8081/"},"id":56,"ack":false,"time":1721120384330},"_id":56009790} 2024-07-16 10:59:44.335 - debug: daikin-cloud.0 (952) Received OAuth start message: {"clientId":"F_dUfZ0SHwKk5GyblI7v2U2D","clientSecret":"Pyt-xxxCA","redirectUriBase":"https://192.168.178.8:8081/"} 2024-07-16 10:59:44.336 - debug: daikin-cloud.0 (952) Get OAuth start link data: {"clientId":"F_dUfZ0SHwKk5GyblI7v2U2D","clientSecret":"Pyt-xxxCA","redirectUriBase":"https://192.168.178.8:8081/oauth2_callbacks/daikin-cloud.0/"} 2024-07-16 10:59:44.346 - debug: daikin-cloud.0 (952) Get OAuth start link: https://idp.onecta.daikineurope.com/v1/oidc/authorize?client_id=F_dUfZ0SHwKk5GyblI7v2U2D&scope=openid%20onecta%3Abasic.integration&response_type=code&redirect_uri=https%3A%2F%2F192.168.178.8%3A8081%2Foauth2_callbacks%2Fdaikin-cloud.0%2F&state=71db947747086b4424799cdf7b797726a29a77951b363ed91f3881386e5a0e95 / reqState: 71db947747086b4424799cdf7b797726a29a77951b363ed91f3881386e5a0e95 2024-07-16 10:59:49.073 - debug: daikin-cloud.0 (952) Message received: {"command":"oauth2Callback","message":{"code":"st2.s.AtLtlwO45w.kSC6Kkfp2J9fhMUecPSIwUtuJ3pufurc0pHm9-UpKGFqutF8AbcOgUdQjNQC5YDgwaPnwjgj66kk4DhMRbTuZm_pntHMmqeEjaTZoi7v6gdGk16qKdBiHC4Msq6yidlH.rZ0oD4k6av1PZAgBK7_NDxpdly8DFTOtjKq_GNaNixBIdePlMtf7yHz2SaoiOB8GZLdug8eMcCarF-Xq1H7j8A.sc3","state":"71db947747086b4424799cdf7b797726a29a77951b363ed91f3881386e5a0e95"},"from":"system.adapter.admin.0","callback":{"message":{"code":"st2.s.AtLtlwO45w.kSC6Kkfp2J9fhMUecPSIwUtuJ3pufurc0pHm9-UpKGFqutF8AbcOgUdQjNQC5YDgwaPnwjgj66kk4DhMRbTuZm_pntHMmqeEjaTZoi7v6gdGk16qKdBiHC4Msq6yidlH.rZ0oD4k6av1PZAgBK7_NDxpdly8DFTOtjKq_GNaNixBIdePlMtf7yHz2SaoiOB8GZLdug8eMcCarF-Xq1H7j8A.sc3","state":"71db947747086b4424799cdf7b797726a29a77951b363ed91f3881386e5a0e95"},"id":57,"ack":false,"time":1721120389071},"_id":56009791} 2024-07-16 10:59:49.074 - debug: daikin-cloud.0 (952) OAuthRedirectReceived: {"code":"st2.s.AtLtlwO45w.kSC6Kkfp2J9fhMUecPSIwUtuJ3pufurc0pHm9-UpKGFqutF8AbcOgUdQjNQC5YDgwaPnwjgj66kk4DhMRbTuZm_pntHMmqeEjaTZoi7v6gdGk16qKdBiHC4Msq6yidlH.rZ0oD4k6av1PZAgBK7_NDxpdly8DFTOtjKq_GNaNixBIdePlMtf7yHz2SaoiOB8GZLdug8eMcCarF-Xq1H7j8A.sc3","state":"71db947747086b4424799cdf7b797726a29a77951b363ed91f3881386e5a0e95"} 2024-07-16 10:59:52.657 - error: daikin-cloud.0 (952) 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(). 2024-07-16 10:59:52.657 - error: daikin-cloud.0 (952) unhandled promise rejection: outgoing request timed out after 3500ms 2024-07-16 10:59:52.686 - error: daikin-cloud.0 (952) RPError: outgoing request timed out after 3500ms at /opt/iobroker/node_modules/openid-client/lib/helpers/request.js:140:13 at Client.grant (/opt/iobroker/node_modules/openid-client/lib/client.js:1343:22) at OnectaClient.#authorize (/opt/iobroker/node_modules/daikin-controller-cloud/src/onecta/oidc-client.ts:80:16) at OnectaClient.#getTokenSet (/opt/iobroker/node_modules/daikin-controller-cloud/src/onecta/oidc-client.ts:130:24) 2024-07-16 10:59:52.686 - error: daikin-cloud.0 (952) outgoing request timed out after 3500ms 2024-07-16 10:59:52.704 - info: daikin-cloud.0 (952) terminating 2024-07-16 10:59:52.705 - debug: daikin-cloud.0 (952) Plugin sentry destroyed 2024-07-16 10:59:52.706 - warn: daikin-cloud.0 (952) Terminated (UNCAUGHT_EXCEPTION): Without reason 2024-07-16 10:59:53.207 - info: daikin-cloud.0 (952) terminating 2024-07-16 10:59:54.582 - info: host.a5c3602f2617 stopInstance system.adapter.daikin-cloud.0 (force=false, process=true) 2024-07-16 10:59:54.689 - info: host.a5c3602f2617 stopInstance system.adapter.daikin-cloud.0 send kill signal 2024-07-16 10:59:55.690 - info: host.a5c3602f2617 stopInstance system.adapter.daikin-cloud.0 killing pid 952 2024-07-16 10:59:57.264 - error: host.a5c3602f2617 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: 2024-07-16 10:59:57.265 - error: host.a5c3602f2617 Caught by controller[1]: RPError: outgoing request timed out after 3500ms 2024-07-16 10:59:57.265 - error: host.a5c3602f2617 Caught by controller[1]: at /opt/iobroker/node_modules/openid-client/lib/helpers/request.js:140:13 2024-07-16 10:59:57.265 - error: host.a5c3602f2617 Caught by controller[1]: at Client.grant (/opt/iobroker/node_modules/openid-client/lib/client.js:1343:22) 2024-07-16 10:59:57.265 - error: host.a5c3602f2617 Caught by controller[1]: at OnectaClient.#authorize (/opt/iobroker/node_modules/daikin-controller-cloud/src/onecta/oidc-client.ts:80:16) 2024-07-16 10:59:57.265 - error: host.a5c3602f2617 Caught by controller[1]: at OnectaClient.#getTokenSet (/opt/iobroker/node_modules/daikin-controller-cloud/src/onecta/oidc-client.ts:130:24) 2024-07-16 10:59:57.265 - info: host.a5c3602f2617 instance system.adapter.daikin-cloud.0 terminated with code 6 (UNCAUGHT_EXCEPTION) 2024-07-16 10:59:57.774 - info: host.a5c3602f2617 instance system.adapter.daikin-cloud.0 started with pid 967 2024-07-16 10:59:59.306 - debug: daikin-cloud.0 (967) Redis Objects: Use Redis connection: 127.0.0.1:9001 2024-07-16 10:59:59.354 - debug: daikin-cloud.0 (967) Objects client ready ... initialize now 2024-07-16 10:59:59.356 - debug: daikin-cloud.0 (967) Objects create System PubSub Client 2024-07-16 10:59:59.358 - debug: daikin-cloud.0 (967) Objects create User PubSub Client 2024-07-16 10:59:59.427 - debug: daikin-cloud.0 (967) Objects client initialize lua scripts 2024-07-16 10:59:59.434 - debug: daikin-cloud.0 (967) Objects connected to redis: 127.0.0.1:9001 2024-07-16 10:59:59.485 - debug: daikin-cloud.0 (967) Redis States: Use Redis connection: 127.0.0.1:9000 2024-07-16 10:59:59.505 - debug: daikin-cloud.0 (967) States create System PubSub Client 2024-07-16 10:59:59.506 - debug: daikin-cloud.0 (967) States create User PubSub Client 2024-07-16 10:59:59.580 - debug: daikin-cloud.0 (967) States connected to redis: 127.0.0.1:9000 2024-07-16 10:59:59.627 - debug: daikin-cloud.0 (967) Plugin sentry Initialize Plugin (enabled=true) 2024-07-16 11:00:00.076 - info: daikin-cloud.0 (967) starting. Version 0.4.8 in /opt/iobroker/node_modules/iobroker.daikin-cloud, node: v18.19.0, js-controller: 5.0.19 2024-07-16 11:00:00.127 - warn: daikin-cloud.0 (967) No tokens existing, please enter client id and secret of your Daikin Developer Account in Adapter settings and Authenticate via Admin Interface!
-
@derda-0 Okj, is there any network block on your host or any other Firewall or such? Because it seems that your iobroekr hpost can not contact the daikin server to finish the token exchange. "outgoing request timed out after 3500ms" ... maybe pihole or other things?
-
Not that I am aware of. The iobroker container is running on a Synology NAS connected to a Fritz cable box. No pihole or adblocker involved.
A curl from the NAS produces:
Chef@diskstation918:~$ sudo curl -v "https://idp.onecta.daikineurope.com/v1/oidc/authorize?client_id=F_dUfZ0SHwKk5GyblI7v2U2D&scope=openid%20onecta%3Abasic.integration&response_type=code&redirect_uri=https%3A%2F%2F192.168.178.8%3A8081%2Foauth2_callbacks%2Fdaikin-cloud.0%2F&state=71db947747086b4424799cdf7b797726a29a77951b363ed91f3881386e5a0e95" * TLSv1.0 (OUT), TLS header, Certificate Status (22): * TLSv1.3 (OUT), TLS handshake, Client hello (1): * TLSv1.2 (IN), TLS header, Certificate Status (22): * TLSv1.3 (IN), TLS handshake, Server hello (2): * TLSv1.2 (IN), TLS header, Finished (20): * TLSv1.2 (IN), TLS header, Supplemental data (23): * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): * TLSv1.2 (IN), TLS header, Supplemental data (23): * TLSv1.3 (IN), TLS handshake, Certificate (11): * TLSv1.2 (IN), TLS header, Supplemental data (23): * TLSv1.3 (IN), TLS handshake, CERT verify (15): * TLSv1.2 (IN), TLS header, Supplemental data (23): * TLSv1.3 (IN), TLS handshake, Finished (20): * TLSv1.2 (OUT), TLS header, Finished (20): * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): * TLSv1.2 (OUT), TLS header, Supplemental data (23): * TLSv1.3 (OUT), TLS handshake, Finished (20): * TLSv1.2 (OUT), TLS header, Supplemental data (23): * TLSv1.2 (OUT), TLS header, Supplemental data (23): * TLSv1.2 (OUT), TLS header, Supplemental data (23): * TLSv1.2 (OUT), TLS header, Supplemental data (23): > GET /v1/oidc/authorize?client_id=F_dUfZ0SHwKk5GyblI7v2U2D&scope=openid%20onecta%3Abasic.integration&response_type=code&redirect_uri=https%3A%2F%2F192.168.178.8%3A8081%2Foauth2_callbacks%2Fdaikin-cloud.0%2F&state=71db947747086b4424799cdf7b797726a29a77951b363ed91f3881386e5a0e95 HTTP/2 > Host: idp.onecta.daikineurope.com > user-agent: curl/7.86.0 > accept: */* > * TLSv1.2 (IN), TLS header, Supplemental data (23): * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): * TLSv1.2 (IN), TLS header, Supplemental data (23): * TLSv1.2 (OUT), TLS header, Supplemental data (23): * TLSv1.2 (IN), TLS header, Supplemental data (23): < HTTP/2 302 < content-length: 0 < location: https://id.daikin.eu/cdc/onecta/oidc/proxy.html?context=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ik1FVkdRa0l5TXprNE0wRTRNVFkzTnpJM1FUYzBNek16T0RRd05FRkVRVUpCTTBFd1EwRkZRZyJ9.eyJpc3MiOiJodHRwczovL2NkYy5kYWlraW4uZXUvb2lkYy9vcC92MS4wLzNfeFJCM2phUTYyYlZqcVhVMW9tYUVzUERWWUMwVHdpMXpmcTF6SFB1XzVIRlQweldrRHZaSlM5N1l3MWxvSm5UbS8iLCJjdHhfZGMiOiJldTEiLCJpYXQiOjE3MjExMjUyMzAsImV4cCI6MTcyMTEyNTgzMCwiY2xpZW50X2lkIjoiRl9kVWZaMFNId0trNUd5YmxJN3YyVTJEIiwiY3R4X2lkIjoiMWJlYmVjODA5NjdhNDFlMjlkNGQxOTc3NjAwNGYzY2IiLCJyZWRpcmVjdF91cmwiOiJodHRwczovLzE5Mi4xNjguMTc4Ljg6ODA4MS9vYXV0aDJfY2FsbGJhY2tzL2RhaWtpbi1jbG91ZC4wLyJ9.mfD48Q3hgyi0PyYOytH1bjhbGdCU-SKXDy1hkBmZcKgBHHFk1wBEB0QOyEE0kd9JrIO98_HPYxYgmeRMQtNwrcdon05a0XU2b3ouzNVjSJCo4DlFLZhcKxgTeDvugQcZE9BspnXAaW3L2Is5NrHnBnJBnT-hvaGnZx1QrTDzPVlkgLa6UD7p9uKaGnJG_WBnUZ2ZXOjr2N-diQ_om81b8a3l7oSfQgazcv0JGa4V3o3sp4yfQwfl4ltwRsw-wOGOn0Ysa3kAD6Lrcbdq752PeK7tFfqgv7f8HlZB7Zwhnt2k6XK1jWqAt9p2Ifkxf3uGRP8AcCRaqhta8GvglnHdsg&client_id=F_dUfZ0SHwKk5GyblI7v2U2D&mode=login&scope=openid+onecta%3abasic.integration < date: Tue, 16 Jul 2024 10:20:30 GMT < cache-control: private < p3p: CP="IDC COR PSA DEV ADM OUR IND ONL" < x-error-code: 0 < x-soa: true, Gator < x-server: eu1a-nomad-t16 < x-callid: 05517d865459040b6783699fa7303568 < x-robots-tag: none < x-amz-cf-pop: DUB56-P1 < via: 1.1 145b7e87a6273078e52d178985ceaa5e.cloudfront.net (CloudFront), 1.1 51b32b366d2fc0baf4c02123f643c37c.cloudfront.net (CloudFront) < x-cache: Miss from cloudfront < x-amz-cf-pop: FRA60-P9 < x-amz-cf-id: Yi2z57NDRNzJM7bualMd0O5nNStRkr4VErvmZ9Yrjvk9n5QDxHP7pg== <
-
Mir gelingt es einfach nicht bei Daikin eine neue APP anzulegen. Ganz unabhänging vom ioBroker:
Create New Application
unable to create DCR from HTTP. HTTP ERROR. error:Application Limit Exceeded. error_description:You have reached the maximum limit of one application per developer.Wer kann helfen ?
-
You have reached the maximum limit of one application per developer.
Nun ja - da steht, dass du bereits eine App angelegt hast. Da du nur eine App im Deleloper-Portal von Daikin haben kannst, solltest du die andere vorher löschen...
-
@armilar Perfekt. Da wäre ich nie drauf gekommen das ich nur eine App haben darf.
Der Adapter läuft. Danke. -
Moin Leude..
nachdem ich mich ab Datum 2017 durch fast alle Posts betreffs Daikin durchgewühlt habe, eine Frage an das geballte Schwarmwissen..Der Kauf einer Daikin ATXC35B/ARXC35B (12000BTU) steht an. Ist dieses Möbel auch über den iobroker steuerbar / anzeigbar? Ich möchte mir ungerne eine blutige Nase wegen Fehlkauf holen..
Sollte das nicht möglich sein - ich möchte im Wohnzimmer eine Split-Version installieren.. welche kann man mit ruhigem Gewissen empfehlen? Raumgröße ist ca. 25qm...
-
@joachim-knape Wenn Du sie mit der Daikin Onecta App steuern kannst geht der Cloud Adapte rmit den limitierungen die es da halt gibt ...
-
Ein herzliches Danke @apollon77 für die schnelle Entwicklung des neuen Adapters!!
Ich hatte die letzten Tage ein kleines Problem mit der Einbindung und will die Auflösung hier lassen - vielleicht passiert das ja noch jemandem...
Ich hatte das Problem, dass zwar alles super laut Anleitung funktioniert hat, aber dann im Objektbaum einfrach kein Gerät angezeigt wurde. (Ich hab ja gelesen, dass es da zwischendurch im Adapter auch wirklich Probleme gegeben hat und gedacht es habe damit zu tun...)
Da sich dieses Problem auch mit der neuesten Adapterversion nicht geändert hat, musste das Problem wohl bei mir liegen. Ich hab mich gefragt, wie genau überhaupt der Zusammenhang zwischen dem Developer-Account und dem Gerät ist, denn unter https://developer.cloud.daikineurope.com finde ich ja überhaupt keinen Hinweis darauf, welche Geräte hier nun angesprochen werden. (Das sieht man nur in Onecta, die Verbindung ist die Mailadresse)
Tatsächlich habe ich im selben Browser beim Developer-Account vor Wochen mal "mit Google anmelden" gewählt und dabei einen anderen Account erzeugt - das war schon mal der Hauptfehler...
Diese Account hat ja tatsächlich keine Geräte zugeordnet (sieht man aber im developer-Portal nicht!)
Auch wenn ich hier nun auf "Abmelden" klicke und später im IOBroker Client ID und Client Secret vom richtigen Developer-Account eingebe und im Anschluss auf "Bei Daikin Cloud anmelden" klicke und den Zugriff auf der Daikin-Seite bestätige, passiert immer wieder das selbe: Scheinbarer Erfolg, aber "Initialize 0 Daikin devices" im Log.Und zwar weil ich ungefragt und ohne es zu merken immer wieder in diesen Google-Account komme! (Kein User und Passwort nötig) Ich verstehe nicht, wieso man nun mit einem ganz anderen Account die ID und das Secret von jemand anderen ohne Fehlermeldung bestätigen kann...
Jedenfalls war die Lösung nun einfach, in einem anderen Browser sich nochmal mit dem richtigen User einzuloggen und im IOBroker die Daten nochmal mit "Bei Daikin Cloud anmelden" zu bestätigen.
Nun wurde das Geräte neu initialisiert:
Die Warnungen darüber bedeuten nur, dass die fehlenden Datenpunkte nun angelegt werden und kommen entsprechend nur einmal.
Zwischendurch den Browsercache zu löschen, hätte das Problem womöglich auch behoben
-
@fritzthecat Die Meldungen darüber sollten aber auxch nicht auftreten. Also bitte mal GitHub issue anlegen am besten mit debug log vom Start. Danke
-
Wie kann man die Daikin Variable:
daikin-cloud.0.09....climateControl.onOffMode
über einen http get oder post commando ein-, ausschalten?
Ich verwende Grafana und nur über http commands kann man Geräte bedienen.
Im akkudoktor forum habe ich zwar etwas gefunden, doch nicht genau den Befehl zum Ein-, ausschalten.
Ausprobiert habe ich http://192.168.198.x/aircon/get_demand_control?lpw=
Es kommt der Fehler "Page not found" zurück.https://www.akkudoktor.net/forum/heizungssysteme/daikin-aenderungen-cloud-api/
-
Um die Sache abzuschließen: in der resolv.conf des Synology stand als erster Eintrag 192.168.1.1 von einem Router, der schon lange nicht mehr im Betrieb ist. Der korrekte Eintrag für den aktuellen Router stand an zweiter Stelle. Deshalb dauerte die DNS-Auflösung länger als 3,5s und der timeout schlug zu.
Falscher Eintrag raus und alles läuft.
Danke noch einmal für alle, die geholfen haben.
...Bodo
-
@werner2000x Hm ... Daikin.cloud ist für Geräte die man nur per Cloud und nicht lokal steuern kann, also geht lokal nicht... Dein HTTP ist für ein Gerät mit lokaler API.
-
@apollon77 Danke
-
Hallo @apollon77
Ich kann es mit der bestehenden Konfig nicht reproduzieren. Diese Warnung kam nur beim ersten Start. (wobei bei mir eventuell noch Fragmente von der alten Einbindung da waren - Leerer Eintrag für das Gerät mit nichts darunter.)
Jetzt:
Soll ich das Gerät löschen und es neu einbinden um eventuell nochmal die Warnung zu provzieren?
-
@apollon77 Habe seit heute morgen eine Fehlermeldung:
Error on update (11): invalid_grant (The provided authorization code or refresh token is revoked.)Nach Neustart des Adapters:
Gibt es da generelle Probleme mit der Daikin Verbindung, oder nur bei mir?
-
Ich habe meine APP in der Daikin-Cloud gelöscht und neu angelegt.
Jetzt geht es wieder.
Ich hoffe, dass ich das nicht alle 20 Tage wiederholen muß. -
@apollon77 Diese Fehlermeldung habe ich noch:
Der Adapter funktioniert aber trotzdem.
-
@hofmann-iobrf anbei mal meine Auswertung der Verbrauches über einen Bar chart
mit dem JS Script von Volker88.
-
@hofmann-iobrf Ja ist ein false positiv, da muss das Schema im admin erweitert werden, ignore for now