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

FrankL

Nach dem "reload 58_DaikinCloud.pm" wäre noch ein
get <Device-Name> forceUpdateerforderlich, damit die möglichen Set-Befehle für das Innendevice neu ausgewertet/zusammengestellt werden können.

MfG Frank

artjom83

Zitat von: FrankL am 26 Juni 2024, 21:38:43Ich sehe bei deinem Problem aktuell nur zwei Möglichkeiten, an denen das liegen könnte:
  • Entweder ist der Zugang noch nicht richtig auf deine eigene App umgestellt worden.
  • Oder du setzt (ggf. automatisiert) zu oft Steuerbefehle ab. Ich erwähne dass, weil manche z.B. mit der alten API eine temperaturgeführte Steuerung automatisiert hatten und so aller paar Minuten eine neue Setpoint-Temperatur an Daikin übermittelt hatten. Sowas wäre mit der neuen API nicht realisierbar bzw. würde ggf. zu solchen Problemen/Sperrungen führen.

Hallo Frank, bei Punkt 2 ist es mir dann klar geworden... ich setze zum steuern beider Innengeräte jeweils ein DOIF ein, welches je nach Status meiner PV-Anlage die Geräte einschaltet bzw. ausschaltet. Dazu frage ich im DOIF auch ständig den State der Geräte (on/off) ab.
Habe beide DOIF's deaktiviert und nun scheint es stabil zu laufen für den Moment.

Danke für deine Hilfe und Arbeit!

Grüße
Artjom

FrankL

Es ist natürlich eine Möglichkeit, die Klima gerade dann anzuschalten, wenn PV-Erträge im Überschuss vorhanden sind. Wenn du aber auf die aktuelle Leistung der PV-Anlage oder eines Balkonkraftwerkes (BKW) triggerst, solltest du beachten, dass dieser Wert auch in kurzen Abständen stark schwanken kann (allein davon wenn gerade mal ne Wolke vorbeizieht). Wenn dann ein solcher Trigger bereits die Klima wieder ausschaltet, wäre das sehr ungünstig für das Request-Limit, für die Effizienz der Klima und auch für die Lebensdauer des Kompressors. Meine Überlegung für diese Situation wäre, das DOIF mit dem Attribut "wait" zu kombinieren. Als ganz einfache Form z.B. so:

define AutoKlima DOIF ([BKW:P_AC]>200) (set Daikin-Gerät onOffMode on) DOELSEIF ([BKW:P_AC]<100) (set Daikin-Gerät onOffMode off)
attr AutoKlima wait 1800:1800

Das Ergebnis (ungetestet) wäre: Wenn der PV-Ertrag über 200W liegt und auch 30 Minuten lang über 200W bleibt, wird nach diesen 30 Minuten die Klima eingeschaltet. Wenn der PV-Ertrag dann wieder unter 100W geht und auch 30 Minuten lang unter 100W bleibt, wird die Klima wieder ausgeschaltet. Die Hysterese und die zeitliche Verzögerung kann man natürlich individuell definieren. Mit dieser Definition wäre schon mal sichergestellt, dass höchstens aller 30 Minuten ein Schaltbefehl abgesetzt wird. Man kann das ganze noch optimieren, dass auch nur dann ein "set <Daikin-Device> on" abgesetzt wird, wenn die Anlage nicht ohnehin schon "on" ist, und umgekehrt natürlich auch für "off".

MfG Frank

artjom83

Ja, auch eine Möglichkeit. Ich arbeite mit Durchschnittswerten die ich über eine Zeit X (ist mir gerade entfallen wie lange der Zeitraum ist) bilde. Hat seit über einem Jahr super funktioniert, ohne ständiges ein- und ausschalten.

Burny4600

Ich habe mit der Erläuterung des Punkt 5 auf Github Probleme.
Eingabe https://my.home-assistant.io/redirect/oauth => home-assistant.io "Invalid paramaters given".
Bei mir ist im Browser nur dieser Link ersichtlich => https://my.home-assistant.io/redirect/oauth/
Bestätige ich dieses mit OK komme ich auf diesen Link https://my.home-assistant.io/create-link/?redirect=oauth der Rest des links wird nicht angezeigt (/?code......)

Was muss ich ändern? Ist beim Home Assistant etwas noch vorzubereiten?
Mfg Chris

Raspberry Pi 2-5, Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: FS20, IT, Homematic, MQTT, TEK603, WMR200, YouLess, S.USV, APC-USV, PV-Deye, PV-Fronius, Resol VBUS & DL2

FrankL

Nachdem du in FHEM im Master-DEvice auf den AUTHORIZATION_LINK geklickt hast, wirst du ja auf die Seite von Daikin geleitet und stimmst dort den Nutzungsbedingungen zu und erlaubst du Zugriff für deine App. Im Anschluss wirst du von Daikin auf die REDIRECT_URI weitergeleitet. D.h. du rufst nicht selbst die Internetseite "https://my.home-assistant.io/redirect/oauth" auf, sondern kopierst die komplette Adresse, auf die dich Daikin geleitet hat.

Sag Bescheid, wenn du weitere Hilfe brauchst.

MfG Frank

Burny4600

Die Erklärung in Github betreffend AUTHORIZATION_LINK hatte ich nicht verstanden. Wahrscheinlich liegt es an der Hitze.
Gut, nun bin ich einen Schritt weiter, siehe Anhang, aber komme trotzdem nicht weiter.
Bei mir scheint der Login auf Daikin nicht auf!

Wenn ich den aufscheinenden Link (https://my.home-assistant.io/redirect/oauth/?code=xxxxxxxxxxxx) verwende, bekomme ich den
token_status   
DaikinCloud (CallbackGetToken) failed: HTTP-Status-Code=403 Response: {"error":"invalid_client","error_description":"Client authentication failed."}
Mfg Chris

Raspberry Pi 2-5, Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: FS20, IT, Homematic, MQTT, TEK603, WMR200, YouLess, S.USV, APC-USV, PV-Deye, PV-Fronius, Resol VBUS & DL2

FrankL

Lies dir mal bitte die Schritt-für-Schritt-Anleitung im Post #146 durch und achte darauf, ob wirklich alle Schritte richtig und vollständig durchgeführt worden sind. Insbesondere, ob bei Schritt 5 (also auf der Zustimmungsseite von Daikin) der von dir vergebenene Name für deine App erscheint.

MfG Frank

Burny4600

Da ist schon ein Fehler auf der My Apps auf der Daikin Seite vorhanden.
Wenn ich dort unter Authentication ein Refresch Token ausführe bekomme ich schon eine Fehlermeldung.

Ich denke das das mit der Errichtung schon zusammenhängt wo ich keine Loginaufforderung bekommen habe.
Ich werde wieder alles löschen. Hoffentlich bleiben da keine Fragmente übrig die eine Neuerrichtung stören.

Was ich noch festgestellt habe, ist das auf der Daikin-Login-Webseite schon ein Fehler auftritt bevor ich zum Login komme.
Das muss ich erst mit Daikin klären. Ich denke das alles zusammenhängt.
Mfg Chris

Raspberry Pi 2-5, Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: FS20, IT, Homematic, MQTT, TEK603, WMR200, YouLess, S.USV, APC-USV, PV-Deye, PV-Fronius, Resol VBUS & DL2

FrankL

Bei der ersten Anmeldung zum Daikin-Developer-Portal speichert dein Browser ein Cookie ab, so dass du dich beim nächsten Mal nicht nochmals anmelden musst, sondern dich anhand des Cookies identifiziert. Von daher ist es normal, dass du nicht nochmal die Login-Aufforderung bekommst.

Unter der Daikin-Seite bei MyApps/deine konkrete App/Authentication gibt es zwar den Button "Refresh-Token". Der bringt bei mir aber genau die selbe Fehlermeldung. Für was der Button an dieser Stelle genau gut sein soll, kann dir nicht sagen. Auf jeden Fall brauchst du den auch nicht. Im Endeffekt musst du im Daikin-Developer-Portal nur die App anlegen und dir deine individuelle Client-Id und Client-Secret speichern sowie die Redirect-Url hinterlegen. Günstig ist, wenn du für die App auch einen indvidivuellen Name vergibst, den du bei der späteren Freigabe auch eindeutig identifizieren kannst bzw. wiedererkennst (siehe Schritt der 5 der Anleitung aus Post #146). Mehr musst du dort an dieser Stelle nicht machen.

Bei dem dritten Anhang "LoginFehler.png" kann ich dir nicht wirklich weiter helfen. In welchem Zusammenhang wurde der genau angezeigt? Du hattest dich ja schon erfolgreich angemeldet und auf der Daikin-Seite unter MyApps deine App angelegt. Hast du mehrere Onecta-Zugänge, also mit mehreren Email-Adressen bei Daikin angemeldet? Ggf. lag auf der Daikin-Seite auch "nur" ein temporäres Problem vor.

Spontan würden mir folgende Lösungsmöglichkeiten einfallen:

  • Cookies im Browser löschen, so dass du dich nochmal auf der Daikin-Seite mit Email+Passwort anmelden musst.
  • Alternativ anderen Browser verwenden oder privaten Tab (Inkognito-Modus) verwenden.
  • Die im Daikin-Developer-Portal angelegte App nochmals löschen und eine neue anlegen (und neue Client-Id und Client-Secret merken/speichern).
  • Danach die im Post #146 genannte Schritt-für-Schritt-Anleitung durchführen und mitteilen, bei welcher Nummer in der Anleitung es zu Abweichungen kam bzw. an welcher Stelle welcher Fehler auftrat.

MfG Frank

WD

Hallo Frank,

das Problem mit der Altherma ist behoben.
Danke

MfG
Wolfgang

FrankL

Hallo Wolfgang,

schön zu hören, dass es funktioniert. Danke für das Feedback.

Daikin hat Wort gehalten und am 03.07.2024 um 10:11 Uhr den alten Api-Key deaktiviert. :( In der Folge dürfte bei allen, die noch die Modulversion v1.x.x im Einsatz haben, entsprechende Fehlermeldungen (HTTP-Status-Code 401 oder 403) im Logfile auflaufen. Damit besteht nun zwingend die Notwendigkeit, auf die Modulversion v2.x.x umzustellen und die erforderlichen Schritte (siehe Anleitung im Post #1) durchzuführen, um das Modul weiterhin nutzen zu können.

MfG Frank

Take-Off

Hallo Frank,

Ich habe zwei Daikin Emura3 Geräte im Einsatz (2x Innengerät, 1 Außengerät)
Die Emura hat eine Streamer Funktion die dein Modul laut Anleitung auch unterstützt. Leider ist sie bei mir in FHEM nicht verfügbar.
Hast du da einen Hinweis ob ich evtl. etwas falsch konfiguriert habe?


Desweiteren hat die Emura3 noch folgende Einstellmöglichkeiten:
- Außeneinheit Geräuscharm (Ein/Aus)
- Intelligentes Sensorauge (Ein/Aus)
- Bedarfssteuerung (Leistung des Außengeräts: 40% - 100%/Auto/Zeitplan) EDIT: Habe gerade gesehen dass du das auch schon integriert hast. Wird bei mir aber leider nicht angezeigt.

Ist sowas für dich einfach integrierbar? Dann könnte man fast komplett auf die App verzichten.

An dieser Stelle nochmal vielen Dank für deine Bemühungen dieses Modul zu entwickeln. :)

Mfg
FHEM auf Raspberry Pi4
CUL868, CUL433, HM-CFG-USB2, HMW-LGW

FrankL

In der alten Api (also mit Modulversion v1.x.x) war die Bedarfssteuerung, Streamermode, etc auch alles verfügbar und steuerbar. Diese Sachen hat Daikin jedoch mit der neuen Open-Api (also Modulversion v2.x.x) beschränkt, d.h. diese Datenpunkte sind in den gelieferten Clouddaten nicht mehr vorhanden. Damit sind die Befehle demandControl, demandValue, econoMode, streamerMode, etc aktuell nicht mehr verfügbar.

Sobald sich Daikin entscheiden sollte, diese Datenpunkte auch über die Open-Api (wieder) zur Verfügung zu stellen und (wieder) steuerbar zu machen, würden sie automatisch in der setlist zur Verfügung stellen. Ich kann da aktuell nichts machen, im Modul ist schon alles vorhanden, was erforderlich wäre.

Das 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).

MfG Frank

Take-Off

Ich habe vor 2 Wochen an diese Adresse geschrieben, bisher aber keine Antwort erhalten.

Hatte jemand diesbezüglich schon Kontakt mit Daikin und kann Hinweise geben?
Gibt es offizielle Foren wo sowas diskutiert wird?

Diese Einschränkung beschäftigt doch sicher viele Leute. Ich finde es unmöglich wie Daikin sich hier quer stellt.
FHEM auf Raspberry Pi4
CUL868, CUL433, HM-CFG-USB2, HMW-LGW