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

Hallo Jörg,

wenn du die Redirect-Url von Home Assistant mitbenutzt, wirst du auf die von dir beschriebene Seite geleitet:

Zitat von: JoergBo am 30 September 2024, 15:52:48Was ich bisher ohne Erfolg probiert habe:
- Autorisation-Link neu gestartet. Antwort von Daikin: "FHEM" benötigt die Erlaubnis: u.s.w. "Ich bin einverstanden"
Danach Erscheint von Daikin kurz eine Meldung "Proxy" und dann meldet sich Home Assistant mit der Frage "Link account to Home Assistant?" Muss dort eine URL eingetragen werden, oder ist die Daikin Autorisierung damit zu Ende?

Dort muss keine Url eingetragen werden, aber die Authorisierung ist auch noch nicht zu Ende ;-) Du musst den kompletten Link der Internetseite aus dem Browser (https://my.home-assistant.io/redirect/oauth/?code=xxxxxxxxxxxx) in die Zwischenablage kopieren und in FHEM als set-command eingegeben:
set <NAME Master-Device> AuthCode <kompletter Link der Rückgabe-URL>
Erst dann wird dir der neue Access-Token und neue Refresh-Token übermittelt.

Wenn das ganze mit der Redirect-Url von Home Assistant nicht gut funktionieren sollte (war ja ursprünglich nur mal als Einstiegslösung vorgesehen), hatte ich im Post #170 zwei weitere Lösungen für die Verwendung einer inidividuellen Redirect-Url auf FHEM bzw. einer anderen Redirect-Url aufgezeigt.

Gib Bescheid, ob es geklappt hat oder du weitere Hilfe benötigst.

MfG Frank

FrankL

Ich hab übrigens auch gerade bei mir festgestellt, dass mein Refresh-Token seit gestern (29.09.2024, 12:10 Uhr) nicht mehr akzeptiert wurde ... offensichtlich gab es da eventuell ein Problem bei Daikin. Nachdem ich den Authorisierungsprozeß nochmal angestoßen habe (Autorisation-Link klicken -> zustimmen -> Rückgabe-Link kopieren -> "set <Daikin> AuthCode <Rückgabe-Link>") lief jetzt aber alles wieder wie gewohnt.

MfG Frank

JoergBo

Hallo Frank,

danke für den Wink mit dem Zaunpfahl 8) 
Das Übertragen des Links zu FHEM habe ich "vergessen".

set <NAME Master-Device> AuthCode <kompletter Link der Rückgabe-URL>
Danke. 
RasPI4, S5-95U, Hue, Volkszaehler, 1wireTemp, HMLan, sduino, Wlan-IR-Gateway, TelegramBot, Alexa, ...

ole30419

Hallo,

 ich habe mir auch mal das Modul: 58_DaikinCloud.pm in Fhem geholt, danke dafür.

Eine Frage, ich habe mir auch ein Anzeige für den Verbrauch aus den Readings gebastelt.

Tag, Woche und Jahr...

....was mir aber lieber wäre ist Monat kann man das irgendwie errechnen ???

define Daikin_Verbrauch_Tag readingsGroup Daikin_WP:,<Heizung>,kWh_heating_day,<&nbsp;;&nbsp;;Warmwasser>,kWh_heating_day_domesticHotWaterTank
setuuid Daikin_Verbrauch_Tag xxxxx-xxxxx-xxxxx
attr Daikin_Verbrauch_Tag group Verbrauch WP Daikin
attr Daikin_Verbrauch_Tag mapping { 'Daikin_WP' => 'Tag: &nbsp;; &nbsp;; &nbsp;; '}
attr Daikin_Verbrauch_Tag noheading 1
attr Daikin_Verbrauch_Tag room DaikinCloud,Heizung-> Wärme Pumpe
attr Daikin_Verbrauch_Tag sortby 1
attr Daikin_Verbrauch_Tag style style="border:0px;;background:none;;box-shadow:none"
attr Daikin_Verbrauch_Tag valueFormat { kWh_heating_day => "%.1f&deg;;kWh", kWh_heating_day_domesticHotWaterTank => "%.1f&deg;;kWh",}
attr Daikin_Verbrauch_Tag valueStyle style="text-align:right"
#attr Daikin_Verbrauch_Tag noheading 1


define Daikin_Verbrauch_Woche readingsGroup Daikin_WP:,<Heizung>,kWh_heating_week,<&nbsp;;&nbsp;;&nbsp;;Warmwasser>,kWh_heating_week_domesticHotWaterTank
setuuid Daikin_Verbrauch_Woche xxxxx-xxxxx-xxxxx
attr Daikin_Verbrauch_Woche group Verbrauch WP Daikin
attr Daikin_Verbrauch_Woche mapping { 'Daikin_WP' => 'Woche:&nbsp;;'}
attr Daikin_Verbrauch_Woche noheading 1
attr Daikin_Verbrauch_Woche nostate 1
attr Daikin_Verbrauch_Woche room DaikinCloud,Heizung-> Wärme Pumpe
attr Daikin_Verbrauch_Woche sortby 2
attr Daikin_Verbrauch_Woche style style="border:0px;;background:none;;box-shadow:none"
attr Daikin_Verbrauch_Woche valueFormat {kWh_heating_week => "%.1f&deg;;kWh", kWh_heating_week_domesticHotWaterTank => "%.1f&deg;;kWh",}
attr Daikin_Verbrauch_Woche valueStyle style="text-align:right"

define Daikin_Verbrauch_Jahr readingsGroup Daikin_WP:,<Heizung>,kWh_heating_year,<&nbsp;;&nbsp;;&nbsp;;Warmwasser>,kWh_heating_year_domesticHotWaterTank
setuuid Daikin_Verbrauch_Jahr xxxxx-xxxxx-xxxxx
attr Daikin_Verbrauch_Jahr group Verbrauch WP Daikin
attr Daikin_Verbrauch_Jahr mapping { 'Daikin_WP' => 'Jahr: &nbsp;; &nbsp;; '}
attr Daikin_Verbrauch_Jahr noheading 1
attr Daikin_Verbrauch_Jahr nostate 1
attr Daikin_Verbrauch_Jahr room DaikinCloud,Heizung-> Wärme Pumpe
attr Daikin_Verbrauch_Jahr sortby 3
attr Daikin_Verbrauch_Jahr style style="border:0px;;background:none;;box-shadow:none"
attr Daikin_Verbrauch_Jahr valueFormat {kWh_heating_year => "%.1f&deg;;kWh", kWh_heating_year_domesticHotWaterTank => "%.1f&deg;;kWh",}
attr Daikin_Verbrauch_Jahr valueStyle style="text-align:right"
MfG Ole

FrankL

Wenn du zusätzlich im jeweiligen Indoor-Device das Attribut consumptionData auf 1 setzt, werden die "kompletten" Energiewerte als Readings dargestellt (so wie sie auch in der Onecta-App zur Anzeige kommen würden). Siehe auch Erläuterung in der Commandref:

Zitat von: CommandrefconsumptionData [ 0 | 1 ]

Master-Device: Wenn auf 1 gesetzt, werden die in der Cloud gespeicherten Verbrauchsdaten ausgelesen und als Summenwerte in den Readings kWh_[heating|cooling]_[day|week|year] gespeichert.

Innengerät: Wenn auf 1 gesetzt, werden zusätzlich die Rohdaten der energy-readings aus der Cloud für dieses Device gespeichert. Dies setzt voraus, dass im Master-Device das Attribut consumptionData auf 1 gesetzt worden ist. Die Rohdaten werden in den Readings energy_[heating|cooling]_[d|w|m]_[1..24] gespeichert. Die d-Readings beziehen sich auf 2-Stunden-Zeitscheiben von gestern [d_1..d_12] und heute [d_13..d_24]. Die w-Readings beziehen sich auf ganze Tage [Mo..So] der letzten Woche [w_1..w_7] und aktuellen Woche [w_8..w_14]. Die m-Readings beziehen sich auf ganze Monate [Jan..Dez] im letzten Jahr [m_1..m_12] und aktuellen Jahr [m_13..m_24].

Schau mal, ob das dir bereits weiterhilft bzw. für deine Auswertungen reicht. Wenn du aber nur genau ein Reading auswerten/anzeigen willst, wo der Wert des jeweils aktuellen Monats drin stehen soll, könntest du das ggf. über das Attribut userReadings realisieren. In etwa so vielleicht:

Attr <Daikin-Geräte-Name> userReadings kWh_heating_month:.* { ReadingsVal($name,'energy_heating_m_'.(substr(TimeNow(),5,2)+12),'0')}, kWh_cooling_month:.* { ReadingsVal($name,'energy_cooling_m_'.(substr(TimeNow(),5,2)+12),'0')}

Das setzt allerdings trotzdem voraus, dass im jeweiligen Indoor-Device das Attribut consumptionData auch auf 1 gesetzt worden ist !!

Das wäre jetzt erstmal mein Lösungsansatz auf die schnelle. Ich persönlich logge nur den Jahresverbrauchswert aller Geräte und verwende ausschließlich den bzw. dessen delta (also Veränderung) für die graphische Auswertung/Anzeige bei den SVG-Devices.

MfG Frank

ole30419

Hallo Frank,
 ja danke sowas meinte ich, habe mir das auch gleich mal für Warmwasser nach gebaut....
....mal ob es was anzeigt  ;)

kWh_heating_month_domesticHotWaterTank:.* { ReadingsVal($name,'energy_domesticHotWaterTank_m_'.(substr(TimeNow(),5,2)+12),'0')},
MfG Ole