New module: DaikinAC

Begonnen von roelb, 26 März 2020, 19:16:24

Vorheriges Thema - Nächstes Thema

wulfmain

Works perfect. Thank you so much! I really appreciate your Great work!
Raspberry Pi mit FHEM & Tablet UI, CUL, MySensors, Homematic-Komponenten, AVM-Komponenten, Onkyo AV Receiver, VuUltimo 4k, Volumio, Synology ...

realkev

Zitat von: roelb am 30 Mai 2020, 10:36:49
The error message that you are getting seems clear: the airco unit closes the HTTP connection but did not sent any data. So the module got an empty response where it was expecting status data. That is not a big issue, if a failure happens on a poll you'll just miss one interval. For a set, the set will fail and you'll need to retry.

What you're seeing is definitely an issue in the Daikin wifi control unit. I haven't seen that issue.  You might try doing a couple of manual requests to the control interface and see if you can replicate that.

I've been thinking about implementing an automatic immediate retry whenever the request to the unit fails. However, that is a bit more complex than it seems due the asynchronous nature of the requests to the unit, using nonblocking IO. So an automatic retry will require some architectural changes in the module. It's on the todo list, so whenever I can find the time to rework this into the module, I will.

Hi Roelb,

thanks for your feedback, the empty responses weren't causing a significant issue within my system, nevertheless I am facing some other problems with the module at the moment:

2020.06.14 05:48:47 1: Timeout for HVAC_DaikinAC_Write reached, terminated process 8504
2020.06.14 05:48:47 1: Timeout for HVAC_DaikinAC_Write reached, terminated process 8503
2020.06.14 05:48:47 1: Timeout for HVAC_DaikinAC_Write reached, terminated process 8502
2020.06.14 05:25:52 1: Timeout for HVAC_DaikinAC_Write reached, terminated process 7597
2020.06.14 05:25:52 1: Timeout for HVAC_DaikinAC_Write reached, terminated process 7596
2020.06.14 05:25:52 1: Timeout for HVAC_DaikinAC_Write reached, terminated process 7595
2020.06.14 05:02:51 1: Timeout for HVAC_DaikinAC_Write reached, terminated process 6685
2020.06.14 05:02:51 1: Timeout for HVAC_DaikinAC_Write reached, terminated process 6684
2020.06.14 05:02:51 1: Timeout for HVAC_DaikinAC_Write reached, terminated process 6683


Is there any maximum of commands being defined in certain period of time?
I am using a DOIF to regulate the temperature in a room by controlling the AC...

Best regards,
Kevin

roelb

This might be a concurrency issue. As my module uses the FHEM nonblocking features for all requests, firing multiple requests at the same time (through some form of automation) will fork any number of processes that in turn perform the actual request to the aircon unit.

Daikin uses a AzureWave AW-CU300 integrated module for their Wifi controllers. This contains a Marvell 88MW300 microprocessor. I don't know what they have implemented in terms of handling concurrent requests. However, I can't get any of their units to fail in my own installation, whatever number of requests I fire at them.

Try adding 100ms of sleep in between your automated requests. If you have multiple Doif's that trigger on the same event, try adding different short delays to each of them so that they don't fire at /exactly/ the same time.

Hippo

#48
Hi roelb,

Great work! Thank you very much. It works perfect.
I am using a DOIF to change stemp, mode... I have to set the wait Timer to 1 Second, then it works well with my Daikin Stylish.

The Daikin Stylish have 2 more Options:
The "Intelligent Eye" and "Comfort Airflow"

Are there any readings/settings?

Best regards, Hippo

roelb

As far as I know, these can not be set through the Wifi API. Just to make sure: are those functions available in the official Daikin controller app?

Hippo

No, only with the IR Remote. :-\

shamal2008

Hi,

I just got my Daikin Stylish and tried to implement the Splits - what should I say - it works from the first moment. Now let's make the deep dive!

Thank you for this real great module - I'm happy and glad and can now try out some doif's and so on.

Thanks again,
Thomas from Vienna;

PS: my daikin just upgraded the firmware to 1.2.51 from 1.2.48 - works also!
FHEM auf RasPiI 3+, MapleCUL 868+433MhZ, MAX! via CUL, LD686 LED-Controller, GHoma Plugins,, Shelly, ConbeeII + IKEA + Xiaomi, div. Infodienste & Google Assistant via FHEM;

shamal2008

Hi Roelb,

do you have any idea how I can integrate the Daikin in gassistant (google-home) ? - It shows in the google-home app, but i can only turn it on or off.

For more details:
https://forum.fhem.de/index.php/topic,114428.0.html

PS: I got email from Daikin, the Daikin Residential App ("the new one") will support the Daikin Stylish in the new version, which should be released this year.

greetings,
Shamal2008
FHEM auf RasPiI 3+, MapleCUL 868+433MhZ, MAX! via CUL, LD686 LED-Controller, GHoma Plugins,, Shelly, ConbeeII + IKEA + Xiaomi, div. Infodienste & Google Assistant via FHEM;

m2th3o

Great Module!!

Since I wanted to have it working with Alexa and there was already some discussion about it I would like to share my solution:

1. step: dummy with very limited attributes

Internals:
   CFGFN     
   FUUID      XXX
   NAME       WG_Heizung
   NR         9139
   STATE      off
   TYPE       dummy
   READINGS:
     2020-11-18 17:50:20   pct             24
     2020-11-18 17:51:24   state           off
Attributes:
   alexaName  Heizung
   genericDeviceType light
   readingList pct
   room       Wintergarten
   setList    pct:on,off


2. step: notify which fwds some commands when the dummy changes

WG_Heizung {my $Solltemperatur = ReadingsVal("WG_Heizung","pct","--");
if (Value("WG_Heizung") eq "on") {fhem("set WG_Klimaanlage stemp " .$Solltemperatur);}
if ((Value("WG_Heizung") eq "on") && (ReadingsVal("WG_Klimaanlage","state","--") eq "off")) {fhem("set WG_Klimaanlage on");}
else {if (Value("WG_Heizung") eq "off") {fhem("set WG_Klimaanlage off");}}}


For Alexa it behaves like a light with pct. But you can even say "Put Heizung on 24 degree".

Best regards
Markus

erwin

Great Module!

very good job done!!!
one tiny thing is on my whishlist:
from time to time the AC's loose there WLAN conn. for 5 to 30 Mins, but somehow recover ......
During that time, the log shows a number of error entries from LWP/Protocol/... and other modules.

Proposed idea: do a ping on enter of the blocking routine, if that fails, it makes no sense to continue....
Invalid response for /common/get_datetime: Can't connect to 192.168.10.14:80

No route to host at /usr/share/perl5/LWP/Protocol/http.pm line 49.

2020.12.03 23:47:10.427 2: AC_Schlafzimmer HVAC_DaikinAC_Poll(): failed (HVAC_DaikinAC_Poll) - Timeout while attempting to poll 192.168.10.14 (Timeout: pro


Thanks erwin   
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

pdp1173

#55
Zitat von: m2th3o am 18 November 2020, 17:56:44
....
2. step: notify which fwds some commands when the dummy changes

WG_Heizung {my $Solltemperatur = ReadingsVal("WG_Heizung","pct","--");
if (Value("WG_Heizung") eq "on") {fhem("set WG_Klimaanlage stemp " .$Solltemperatur);}
if ((Value("WG_Heizung") eq "on") && (ReadingsVal("WG_Klimaanlage","state","--") eq "off")) {fhem("set WG_Klimaanlage on");}
else {if (Value("WG_Heizung") eq "off") {fhem("set WG_Klimaanlage off");}}}



Hi Markus,

sorry , my first post here.
Can you please give a newcomer a hint, how and where step 2 is to be implemented.
I have defined a device "DaikinStube" with characteristics from step 1. It works!
But my

define DaikinStube notify { <data from Step 2>  } 

does not work. There is very little examples around how to use Perl Coding
inside a notify statement.

Thank you for your help.
Gino

roelb

Zitat von: shamal2008 am 29 September 2020, 21:58:37
Hi Roelb,

do you have any idea how I can integrate the Daikin in gassistant (google-home) ? - It shows in the google-home app, but i can only turn it on or off.

Sorry for the late response. Must have missed the notification, and have been very busy on other work for the last months.

As for your question: no, I have not looked at Google Assistent integration in depth. I do use the current module myself to turn the aircons on and off, but no more. The Google Assistent module documentation unfortunately is almost nonexistant and it's code, both FHEM module and corresponding daemon, is completely undocumented as well. I did have had a peek in there for other integrations about a year ago, but quickly abandonded that due the the lack of documentation and messy code.

If you did manage to get it to work, please share! And if you require any changes in the Daikin module to get the integration to work, just ask.. I'm more than happy to extend the Daikin module with some extra commands or readings if that is neccessary.

MikeR

Hello,

a few days ago i got my new Daikin Multisplit System installed. Today i tried this model for fhem and it works like a charm. Perfect.
Congratulations, superb job.

One thing: the two readings "mompow" and "mompow_max" didn't appear in my module. I have the indoor unit Stylish (aka: FTXA) with build in wifi adapter. I have activated the "pwrconsumption" attribute.

Any idea?

Greetings from Germany
Mike

roelb

Your unit probably does not provide the data.

You could try a manual request to http://<airco ip>/aircon/get_sensor_info while it's running.

That should return something like  "ret=OK,htemp=22.0,hhum=45,otemp=14.0,err=0,cmpfreq=0,mompow=1"

My guess is that for your unit, you won't see the "mompow" attribute. It's probably dependent on the outdoor unit providing the power usage information, but as long as Daikin does not publish anything about their API, we'll never know for sure.

MikeR

Ok  my result page looks like that:

ret=OK,htemp=24.0,hhum=40,otemp=26.0,err=0,cmpfreq=0

as i understand this means "No mompow" available.  :'(

Is it right that this url results are general values and the "mompow" is one of them if available?
I ask because such things like the state of the streamer are available in the fhem module. I think these are requested by an other url, right?

I guess readings for actual power are nice to monitor general power situations, but on the other hand no ones live depends on.  ;)

I thank you for your fast answer and wish you a nice day
Mike