Neues Modul: 58_DaikinCloud.pm zur Einbindung von DAIKIN Geräten über Cloud (ONECTA)

Begonnen von FrankL, 05 April 2023, 20:48:40

Vorheriges Thema - Nächstes Thema

toron_go

Hallo,

also ich hatte auch schon div unschöne Erfahrungen mit der neuen API.

- Innengerät plötzlich "offline" und das auch in der Offiziellen App, Fritz Box steht 5 Meter entfernt. (Ist nicht nur ein mal passiert, kommt dann nach 10 min wieder.)
- Abfragelimit erreicht. (gefühlt an dem tag 3 Geräte 3-4 mal an und aus .... :-/
- Verzögerung in der Onecta App, Klima läuft seit min. und wird immer noch als "aus" angezeigt ..., es geht auch manchmal schnell ca 20-30 sec. Was ich auch schon lange finde

Kann das jemand bestätigen ?

VG 
 

Gisbert

Hallo toron_go,

ich kann das von meiner Seite nicht bestätigen. Meine Single-Split-Anlage läuft reibungslos mit der Steuerung in Fhem.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

FrankL

Hier mal meine bisherigen Erfahrungen:

Ich habe bei mir eine Multisplit mit 3 Innengeräten (Perfera) im Betrieb. Die Steuerung läuft bei mir zuverlässig, d.h. die abgesetzten Befehle kommen innerhalb von ca. 1 Sekunde tatsächlich beim Innengerät an.

Offline
Probleme, dass die Innengeräte offline angezeigt werden, hatte ich bei mir nicht. Wenn die Innengeräte aber offline angezeigt werden (und damit auch in der Onecta-App offline sind), scheint die Verbindung zwischen Innengerät und Cloud gestört zu sein. Das hat dann nicht wirklich was mit der neuen API zu tun. Im Zusammenhang mit einer Fritzbox und einem Mesh hatte ich bei mir zeitweise mal Probleme, dass sich z.B. Tasmota-Geräte mit einem schwächeren Mesh-Access-Point verbunden hatten und nicht von selbst wieder auf den stärksten Mesh-Access-Point zurückgewechselt sind. Das hatte dann auch gewisse Verbindungsprobleme produziert. Das konnte ich aber bei den Daikin-Geräten bislang so nicht feststellen. Wenn die Geräte also offline angezeigt werden, würde ich zuerst im Router/Fritzbox mal schauen, ob die Verbindung der Innengeräte bis dorthin ok ist.

Abfragelimit
Das Thema Abfragelimit ist in der Tat sehr abhängig davon, wieviel Innengeräte damit gesteuert werden sollen. Mit 5 und mehr Innengeräten kommt man da sicherlich schneller an die Grenzen, als wenn nur ein Gerät gesteuert werden muss. Im Zweifel hilft hier nur ein entsprechendes Feedback/Issue an Daikin zu senden (Email: residential.cloud.developer@daikineurope.com) und darum bitten, das Tageslimit zu erhöhen mit der Begründung, dass sonst die zuverlässige Steuerung mehrerer Innengeräte nicht möglich ist.

Vielleicht hilft es aber auch weiter das Reading "RateLimit-Remaining-day" im Master-Device zu loggen, um ein Gefühl zu bekommen, wann Abfragen in der eigenen Automatisierung gehäuft auftreten und ggf. eingespart werden könnten:
define LogLimitDay FileLog ./log/LogLimitDay-%Y.log <NAME MASTER-DEVICE>.*:RateLimit-Remaining-day.*
Verzögerte Anzeige in der Onecta-App
Die Anzeige bzw. die Daten in der Onecta-App lassen sich durch wischen von oben nach unten jeweils aktualsieren. Dann sind auch in der Onecta-App die Daten zu sehen, die der aktuelle Stand in der Cloud sind.


toron_go

Hallo,
ok.

Zitat von: FrankL am 22 Juli 2024, 21:48:47Ich habe bei mir eine Multisplit mit 3 Innengeräten (Perfera) im Betrieb. Die Steuerung läuft bei mir zuverlässig, d.h. die abgesetzten Befehle kommen innerhalb von ca. 1 Sekunde tatsächlich beim Innengerät an.
Ok dann haben wir die gleiche Konfoiguration. 8-)

Zitat von: FrankL am 22 Juli 2024, 21:48:47Verzögerte Anzeige in der Onecta-App
Die Anzeige bzw. die Daten in der Onecta-App lassen sich durch wischen von oben nach unten jeweils aktualsieren. Dann sind auch in der Onecta-App die Daten zu sehen, die der aktuelle Stand in der Cloud sind.
Das war mit bewust, aber es dauert halt manchmal noch gefühlt sehr lange. Werde das noch mal genauer betrachten.

Zitat von: FrankL am 22 Juli 2024, 21:48:47Abfragelimit
Das Thema Abfragelimit ist in der Tat sehr abhängig davon, wieviel Innengeräte damit gesteuert werden sollen.
Ich fahre nach dem Kühlen immer ein "Lüften/Ventilator Programm", damit sich keine Feuchtigkeit bilden kann .... Das sind dann halt immer ein paar befahlen mehr nicht nur einfach AUS.

Zitat von: FrankL am 22 Juli 2024, 21:48:47Offline
 Wenn die Geräte also offline angezeigt werden, würde ich zuerst im Router/Fritzbox mal schauen, ob die Verbindung der Innengeräte bis dorthin ok ist.

Ok, war auch meine erster verdacht. Aber hatte das auch mit dem Innengerät wo die Fritzbox im gleichen Raum steht mit einer Entfernung ca 3-5 Meter. :-/

VG

Gisbert

Hallo Frank,

ich hab ein schwerwiegendes Problem. Ich schalte die Klimaanlage immer stromlos, wenn ich sie nicht benötige. Das war bisher kein größeres Problem. Gelegentlich musste die Authentifizierung erneut durchgeführt werden, was aber kein großes Ding war.

Am Wochenende hatte ich Home Assistant installiert, zumindest hab ich damit begonnen. Und jetzt funktioniert der Authentifizierungsprozess überhaupt nicht mehr, siehe angehängte Screenshots.

Hast du eine Idee, wie ich das wieder zum Laufen bringen, notfalls in Home Assistant?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

FrankL

Hallo Gisbert,

ich selbst habe bei mir kein Home Assistant installiert, sondern hatte lediglich deren allgemeine Redirect-Url mitbenutzt. Beim Start des Authentifizerungsprozesses wird in FHEM aus Sicherheitsgründen ein Secret-State erzeugt. In dem Moment, wo du Home Assistant installierst und nutzt, versucht die Redirect-Url, die entsprechenden Parameter an Home Assistant zu übergeben. Da Home Assistant das Secret-State nicht kennt, scheitert der weitere Prozess (Fehlermeldung: Invalid State). Als Lösung bleibt da nur, eine andere Redirect-Url im Daikin-Developer-Portal zu definieren und in FHEM zu verwenden:

Variante A:
Da als Redirect-Url nur eine sichere Verbindung akzeptiert wird (https), kannst du, wenn dein FHEMWEB mit SSL abgesichert ist und mit https aufgerufen wird, den AuthCode direkt an FHEM übergeben, indem du eine individuelle Redirect-Url verwendest:

https://<ip-fhem-server>:8083/fhem?cmd=set%20<Master-Device-Name>%20AuthCode%20

IP-FHEM-Server und Master-Device-Name sind durch die entsprechende IP deines FHEM-Servers und den Device-Namen des DaikinCloud-Master-Devices zu ersetzen. Ggf. ist die Port-Nummer (8083) anzupassen, falls du nicht den Standard-Port verwendest.

Ferner ist zu beachten, dass bei Nutzung des csrfToken in FHEM (Standard ab FHEM-Version 5.8 ) noch ein &fwcsrf=<dein CSRF-Token> angehangen wird (vgl. INTERNAL CSRFTOKEN im Device FHEMWEB). In diesem Fall empfiehlt sich, ein statisches CSRFTOKEN zu definieren, damit die Redirect-Url auch nach einem Neustart weiterhin verwendbar ist (ATTR <dein-FHEMWEB-Device-Name> csrfToken csrf_123456789 ). In diesem Fall lautet die Redirect-Url dann:

https://<ip-fhem-server>:8083/fhem?cmd=set%20<Master-Device-Name>%20AuthCode%20&fwcsrf=csrf_123456789

Das ganze ist ab Modulversion 2.1.13 vollständig implementiert. Also bitte checken, ob die verwendete Modulversion aktuell ist.

Variante B:
Falls Variante A nicht in Betracht kommt (weil z.B. dein FHEMWEB nicht über SSL / https aufgerufen wird) oder aus irgendwelchen Gründen nicht funktioniert, könntest du als Redirect-Url z.B. auch folgende nutzen:

https://oskar.pw/

Es handelt sich hierbei um eine Seite, die vom Programmierer des Moduls 37_Spotify.pm betrieben bzw. zur Verfügung gestellt wird, und bei der Authentifizerung beim Spotify-Modul verwendet werden kann. In diesem Fall wird der AuthCode -- wie bei Verwendung der Redirect-Url von Home Assistant -- im Link vom Browser angezeigt und muss in die Zwischenablage kopiert werden und im Anschluss manuell per "set Daikin_Master AuthCode <kompletter Link der Rückgabe-URL>" an FHEM übergeben werden.

Eleganter und komfortabler ist natürlich Variante A ;-) So habe ich es zumindest bei mir eingerichtet.

Egal für welche Variante du dich entscheidest: Wichtig ist, dass die Redirect-Url sowohl im Daikin-Developer-Portal als auch im DaikinCloud-Master-Device geändert werden muss und zu 100% exakt überein stimmen müssen.

Gibt Bescheid, ob es funktioniert hat.

PS: Home Assistant und FHEM mit derselben App aus dem Daikin-Developer-Portal zu benutzen wird nicht funktionieren. Du müsstest für Home Assistant eine weitere App im Daikin-Developer-Portal anlegen, wenn du auch mit Home Assistant die Daten von Daikin empfangen möchtest.

MfG Frank

Gisbert

Hallo Frank,

vielen Dank für deine Erklärung.

Ich hab versucht die obige Methode A) umzusetzen. Dazu wollte ich im Daikin Developer Portal eine neue Applikation (zusätzlich zur vorhandenen mit Home Assistent Redirect) mit der Redirect-URL für Fhem anlegen, bekomme aber folgende Fehlermeldung (in rot hinterlegt):
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.Googlen ergibt als wahrscheinlichen Grund, dass man insgesamt nur 1 Applikation haben darf.

Ich hab also die vorherige Applikation gelöscht und eine neue entsprechend Methode A) angelegt und die Definitionen im DaikinCloud-Master-Device entsprechend geändert. Es läuft jetzt wieder. Vielen lieben Dank.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

FrankL

Hallo Gisbert,

im Daikin-Developer-Portal kann pro Account aktuell nur eine App angelegt werden. Es besteht aber die Möglichkeit, mit einer anderen Email-Adresse einen weiteren Account im Daikin-Developer-Portal zu registrieren und damit eine weitere App anzulegen.

Das Registrieren / Login mit einer anderen Email-Adresse im Daikin-Developer-Portal funktioniert ggf. nur, wenn du die bisher von Daikin gespeicherten Cookies in deinem Browser löschst, da das Login im Daikin-Developer-Portal mit SSO (Single Sign-on) funktioniert. Alternativ kannst du für das Registrieren / Login mit einer anderen Email-Adresse den Inkognito-Modus deines Browers oder einen anderen Browser verwenden. Dann stellt sich die Problematik mit den Cookies für das SSO nicht.

Auf diese Weise könntest du sowohl für FHEM als auch für Home Assistant eine App anlegen und bei beiden eine entsprechende Verbindung zur Daikin-Cloud herstellen.

MfG Frank

artjom83

Hallo Frank,

wie bekomme ich meine Geräte mit dem 2ten Dev Account verknüpft? Da stehe ich gerade auf dem Schlauch.

FrankL

Eine Verknüpfung mit deinen Geräten erfolgt im Daikin-Developer-Portal nicht bzw. ist nicht erforderlich. In dem zweiten 2ten Dev Account legst du einfach "nur" die 2te App an (nicht vergessen die Credentials [Client-ID & Client-Secret] abzuspeichern). Wenn du dann die Credentials der 2ten App im Master-Device verwendest und im Anschluss den AUTHORIZATION_LINK klickst, meldest du dich mit deiner regulären Email-Adresse an, die du in der Onecta-App verwendet hast.

PS: Das Anlegen einer 2ten App macht eigentlich nur Sinn, wenn du die Cloud-Anbindung in zwei verschiedenen Smart-Home-Systemen benutzen oder testen möchtest. Zwei mal in FHEM benutzen (d.h. zwei Master-Device in FHEM definieren) funktioniert nicht bzw. ist ausgeschlossen.

MfG Frank

artjom83

Alles klar danke für die Aufklärung. Dann schau ich mal...
Mir geht es, neben FHEM, um die Anbindung in Homebridge.

Take-Off

Zitat von: FrankL am 06 Juli 2024, 14:11:00Das einzige was jeder einzelne machen kann, ist entsprechendes Feedback/Issues an Daikin zu senden (Email: residential.cloud.developer@daikineurope.com) und darum bitten, die weiteren Datenpunkte wie Bedarfssteuerung zur Verfügung zu stellen (siehe auch Issue zur Home Assistant Integration für Daikin).



Ich habe nun nach zwei Wochen Antwort von Daikin erhalten. Viel Hoffnung habe ich nicht, aber je mehr Leute schreiben umso eher wird sich da etwas tun.
Für meinen Teil werde ich jetzt mit Faikin experimentieren.

Zitatvielen Dank für Ihre Anfrage und entschuldigen Sie die späte Rückmeldung. Ich stimme Ihnen zwar zu, dass die Aktivierung der lokalen API eine enorme Erleichterung mit sich bringen würde, leider haben wir in Deutschland keine Berechtigung dieses zu tun. Unser Mutterkonzern Daikin Europe übernimmt vollumfänglich die Entwicklung und Administration der Onecta App und ist auch für die Schließung der lokalen API verantwortlich. Auch ich habe schon erfolglos diverse Anfragen/Aufforderungen diesbezüglich gestellt.

Die Cloud API befindet sich jedoch noch in der Entwicklungsphase. Ich kann es Ihnen zwar nicht zusichern ob und wann die Zusatzfunktionen wie Bedarfsteuerung etc. implementiert werden, jedoch bin ich zuversichtlich, dass dies kommen wird. Zum jetzigen Zeitpunkt habe ich aber keine Möglichkeiten am aktuellen Zustand etwas zu ändern. Ich bitte um Ihr Verständnis.
FHEM auf Raspberry Pi4
CUL868, CUL433, HM-CFG-USB2, HMW-LGW

Gisbert

Hallo Frank,

mein folgendes Anliegen hat nicht direkt etwas mit deinem Modul zu tun, aber ich frage mal hier, da ich für mein Device gerne diese Funktion hätte, und vielleicht hast du schon anderweitig eine Lösung gefunden.

Ich hab folgende eventmaps, die auch als anklickbare Icon (Attribut cmdIcon) vorhanden sind. Ich finde das praktisch, dass ich ohne ins Device gehen zu müssen, das Daikin-Gerät aus- und anzuschalten, sowie im Winter für mein Truhen-Innengerät die warme Luft von unten ausströmen zu lassen:

attr DaikinCloud_DaikinAPxxx cmdIcon _on:sani_heating_heatpump@darkred _off:sani_heating_heatpump@grey _vertical:vent_ventilation_level_manual_m@grey Leer2:rc_BLANK
attr DaikinCloud_DaikinAPxxx eventMap /onOffMode on:_on/onOffMode off:_off/vertical floorHeatingAirflow:_vertical
attr DaikinCloud_DaikinAPxxx webCmd _on:_off:_vertical:Leer2

Was ich gerne ergänzen möchte, sind 2 Icons, die die Soll/setpoint um 0,5°C höher oder runterstellen sollen.
Das Attribut cmdIcon und webCmd sind wohl keine Schwierigkeiten für mich, aber wie müsste das Attribut eventMap dafür aussehen? Ich hab zu wenig Erfahrung mit eventMap. Ich bin auf diesen Thread gestoßen, komme aber mit den Informationen nicht zurecht: https://forum.fhem.de/index.php?topic=43023.0

Mir ist noch aufgefallen, dass vertical nicht mehr die Option [floorHeatingAirflow] hat sondern nur vertical [ stop | swing | windNice ]. Ist diese Option mit der ganzen Umstellung bei Daikin verloren gegangen oder ist sie nur verfügbar, wenn operationMode heating ist?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

FrankL

Hallo Gisbert,

um den setpoint in FHEMWEB um 0,5 Grad zu erhöhen oder zu senken, könntest du folgende zusätzliche webCmds mit den eventMap verwenden:
attr DaikinCloud_DaikinAPxxx eventMap {usr=>{ '^plus' => 'setpoint ".(ReadingsNum($dev,"setpoint",20)+0.5)."', '^minus' => 'setpoint ".(ReadingsNum($dev,"setpoint",20)-0.5)."' }}
attr DaikinCloud_DaikinAPxxx webCmd plus:minus

"floorHeatingAirflow" dürfte nach meinem Verständnis nur im Modus Heating zur Verfügung stehen. Sagt ja eigentlich der Name schon. Ich kann das bei mir aber nicht testen, weil meine Geräte die Funktion nicht haben. Das dürfte nur bei Truhengeräten als Funktion vorhanden sein. Wenn du auf Heating stellst und die Option nicht mehr zur Verfügung steht, kannst du mal im Master-Device das Attribut saveRawData setzen:
attr DaikinMaster saveRawData 1und dann
get DaikinMaster forceUpdateIm Reading jsonRawData stehen jetzt die kompletten Daten bzw. kann man die möglichen Einstellungen herauslesen. Wenn du mit STRG+F nach "floorHeatingAirflow" suchst und findest, kannst du mir das komplette Reading jsonRawData mal als Nachricht schicken. Dann müsste ich mal schauen, wo der Fehler liegt.

MfG Frank

Gisbert

Hallo Frank,

ich hab das eventMap wie oben umgesetzt und es läuft!

Ich hab wieder etwas dazugelernt und ich denke, dass andere diese Definition auch gut gebrauchen können.
Ich war auf dem richtigen Weg mit der Definition, nur an "^plus" und "$def" bin ich gescheitert (nur "plus" oder "minus" reicht nicht).

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome