Come comandare un condizionatore Daikin con Tasker e Autovoice

Tasker

Scritto da Vincenzo Caputo

Quanti di voi possiedono un condizionatore Daikin controllabile tramite WiFi?

Probabilmente in molti, visto che Daikin è una delle marche di condizionaotori più vendute in Italia. 

Per i condizionatori della serie Emura, Daikin fornisce un'app mobile, molto ben progettata, che consente di controllare il climatizzatore anche da remoto, sfruttando il modulo wifi integrato.

Fin qui tutto bene, ma chi possiede e usa uno di questi sistemi sa bene che ci sono almeno due grossi problemi:

  • Non è possibile usare il condizionatore da un PC perchè non esiste ne un'interfaccia WEB, ne un'applicazione desktop che lo permetta.
  • Per controllare il condizionatore da remoto (dall'esterno della rete LAN), le richieste devono passare attraverso il server Daikin la cui risposta di solito è lentissima. A tal proposito ricordo un video girato qualche tempo fa dove rischiavo di addormentarmi nell'attesa che IFTTT trasferisse la richiesta a Daikin e ottenessi l'accensione del condizionatore. https://youtu.be/raEnbI39vRQ (nel caso vi siate persi quel video)

In quest'articolo andremo a vedere come in realtà sia possibile controllare i condizionatori Daikin tramite richieste HTTP permettendo quindi la loro attivazione e controllo anche tramite software di automazione come Tasker.

Il sistema di seguito descritto è stato testato con successo con le versioni firmware da 1.4.3 a 3.3.1 del seguente hardware.

  • ModelName: Daikin Emura FTXG-L
  • ModelID: FTXG35LV1BW
  • WifiControllerID: BRP069A41 4P358711-2C
  • Software version: 1.4.3
  • ModelName: Daikin Emura FVXS-F
  • ModelID: FVXS35FV1B
  • WifiControllerID: BRP069A42
  • Software version: 2.6.0

Naturalmente per prima cosa dovrete individuare l'indirizzo IP locale del vostro condizionatore, per farlo potrete consultare l'app proprietaria "Daikin Controller" entrando nelle impostazioni del condizionatore. Potrete leggere versione del firmware, indirizzo IP e MAC. Oppure potrete usare l'app Fing Network facendo una scansione della vostra rete alla ricerca del dispositivo.

In ogni caso prendete nota dell'indirizzo ip e andare a scrivere dentro la barra degli indirizzi di un Browser web la seguente stringa per fare una prova:

http://10.243.138.137/common/basic_info

Al posto di 10.243.138.137 dovrete scrivere l'indirizzo IP del vostro Daikin.

Se tutto è andato per il verso giusto nella pagina web dovrebbe apparire una stringa simile a questa:

ret=OK,type=aircon,reg=eu,dst=1,ver=3_3_6,pow=0,err=0,location=0,

name=%63%75%63%69%6e%61%2f%73%6f%67%67%69%6f%72%6e%6f,

icon=0,method=polling,port=30050,id=****,pw=********,lpw_flag=0,adp_kind=2,

pv=2,cpv=2,cpv_minor=00,led=1,en_setzone=1,

mac=***********,adp_mode=run,en_hol=0,grp_name=,en_grp=0

Alcuni dati li ho volutamente mascherati perchè rappresentano valori privati del mio dispositivo. In ogni caso questa prova sta a dimostrare come il condizionatore risponda ad una richiesta HTTP restituendo in questo caso delle info basic del dispositivo.

La seconda parte della stringa, che abbiamo appena usato per la prova, può essere personalizzata con altri tipi di comandi. Di seguito una breve lista dei comandi disponibili

UriGETPOSTdescrizione /common/basic_info X   Restituisce le infomazioni dell'account Daikin, versione software, mac address ed altre generiche informazioni /common/get_remote_method X   Restituisce informazioni sul polling system /common/set_remote_method   X Imposta il polling system time (probabilmente si potrebbe usarlo per  ridurlo, anche se non ne sono sicuro!) /aircon/get_model_info X   Restituisce infomazioni sul modello /aircon/get_control_info X   Indirizzo principale per richiedere tutti i parametri di stato /aircon/set_control_info X X Indirizzo principale per settare i vari parametri di stato(con questo comando controlleremo quasi tutto come vedremo dopo) /aircon/get_sensor_info X   Restituisce informazioni sui sensori (temperatures, humidity, power consumption) /aircon/get_timer X   ? /aircon/set_timer   X ? /aircon/get_price X   ? /aircon/set_price   X ? /aircon/get_target X   ? /aircon/set_target   X ? /aircon/get_week_power X   Restituisce le infomazioni giornaliere e settimanali del runtime (in mn) /aircon/get_year_power X   Restituisce le infomazioni annuali del runtime (in mn) /aircon/get_program X   ? /aircon/set_program   X ? /aircon/get_scdltimer X   Resticuisce informazioni circa l'on/off timer settimanale /aircon/set_scdltimer   X Imposta informazione circa l'on/off timer settimanale /common/get_notify X   ? /common/set_notify   X ? /common/set_regioncode   X ? /common/set_led   X ? /common/reboot X   Riavvia l'AP interno URI /common/basic_info METODO GET DESCR. Restituisce le infomazioni dell'account Daikin, versione software, mac address ed altre generiche informazioni   URI /common/get_remote_method METODO GET DESCR. Restituisce informazioni sul polling system   URI /common/set_remote_method METODO POST DESCR. Imposta il polling system time (probabilmente si potrebbe usarlo per ridurlo, anche se non ne sono sicuro!)   URI /aircon/get_model_info METODO GET DESCR. Restituisce infomazioni sul modello   URI /aircon/get_control_info METODO GET DESCR. Indirizzo principale per richiedere tutti i parametri di stato   URI /aircon/set_control_info METODO GET DESCR. Indirizzo principale per settare i vari parametri di stato(con questo comando controlleremo quasi tutto come vedremo dopo)   URI /aircon/get_sensor_info METODO GET DESCR. Restituisce informazioni sui sensori (temperatures, humidity, power consumption)   URI /aircon/get_timer METODO GET DESCR. ?   URI /aircon/set_timer METODO POST DESCR. ?   URI /aircon/get_price METODO GET DESCR. ?   URI /aircon/set_price METODO POST DESCR. ?   URI /aircon/get_target METODO GET DESCR. ?   URI /aircon/set_target METODO POST DESCR. ?   URI /aircon/get_week_power METODO GET DESCR. Restituisce le infomazioni giornaliere e settimanali del runtime (in mn)   URI /aircon/get_year_power METODO GET DESCR. Restituisce le infomazioni annuali del runtime (in mn)   URI /aircon/get_program METODO GET DESCR. ?   URI /aircon/set_program METODO POST DESCR. ?   URI /aircon/get_scdltimer METODO GET DESCR. Resticuisce informazioni circa l'on/off timer settimanale   URI /aircon/set_scdltimer METODO POST DESCR. Imposta informazione circa l'on/off timer settimanale   URI /common/get_notify METODO GET DESCR. ?   URI /common/set_notify METODO POST DESCR. ?   URI /common/set_regioncode METODO POST DESCR. ?   URI /common/set_led METODO POST DESCR. ?   URI /common/reboot METODO GET DESCR. Riavvia l'AP interno

Dove nella tabella trovate il punto interrogativo, significa che non sono riuscito a reperire informazioni circa il funzionamento di quel dato comando.

Naturalmente le X sulla colonna GET stanno a significare che il comando corrispondente serve ad ottenere dei dati, viceversa le X sulla colonna POST stanno a significare che quel comando serve ad inviare dei comandi.

Facciamo ora un esempio concreto di controllo del condizionatore, provando a digitare all'interno di un browser web la seguente stringa:

http://10.243.138.137/aircon/set_control_info?pow=1&mode=1&stemp=26&shum=0&f_rate=B&f_dir=3

Otterrete l'accensione del condizionatore!

come sempre ricordatevi che il 10.243.138.137 andrà sostituito con l'indirizzo IP del vostro condizionatore.

subito dopo l'indirizzo IP abbiamo la stringa aircon/set_control_info che nella tabella poco sopra ho indicato come il comando principale che servirà a controllare la maggio parte dei parametri del condizionatore.

... dopo ancora avremo un punto interrogativo che separa la stringa di comando dalla parte parametri. In ordine troveremo

  • pow valori possibili 0 (acceso) 1 (spento)
  • mode valori possibili 2 (deumidificatore) 3 (Freddo) 4 (caldo) 6 (solo ventola) 0-1-7 (automatico)
  • stemp naturalmente serve ad impostare la temperatura e accetta valori da 10 a 41
  • shum imposta umidità solo nei dispositivi che supportano questa opzione... il mio no!
  • f_rate imposta la velocità della ventola A (auto) B (silenzioso) e da 3 a 7 le varie velocità
  • f_dir imposta la direzione delle alette 0 (alette ferme) 1 (alette che si muovono verticalmente) 2 (movimento orizzontale) 3 (orizzontale e verticale)

Adesso potete personalizzare al stringa come più vi pare ed ottenere il relativo funzionamento del condizionatore.

PROVA CON TASKER

Ora facciamo un esempo di funzionamento con Tasker, uno per accensione e spegnimento semplice e uno con personalizzazione dei valori di accensione tramite comandi vocali.

Il comando da utilizzare all'interno di Tasker per gestire il condizionatore, naturalmente è HTTP Get dove nel primo rigo (Server:Port) dovrete incollare  la stringa vista in precedenza

http://10.243.138.137/aircon/set_control_info?pow=1&mode=1&stemp=26&shum=0&f_rate=B&f_dir=3 

Sarete liberi naturalmente di creare quanti task volete, personalizzando i valori di pow per accendere e spegnere, mode, ecc...

Oppure potete creare un task un po' più complesso che vi permetterà di inserire i parametri desiderati volta per volta prima di inviare al condizionatore la stringa, in maniera tale da poter scegliere temperatura desiderata, velocità della ventola e gli altri parametri che volete personalizzare.

Nell'esempio che faremo potrete interagire vocalmente per indicare i parametri da inserire della stringa.

Per prima cosa la nostra stringa avrà qualcosa di diverso rispetto a prima. Facciamo un esempio:

http://10.243.138.137/aircon/set_control_info?pow=1&mode=1&stemp=%Temperatura&shum=0&f_rate=%Fan&f_dir=3 

Per facilità di lettura ho lasciato in neretto solo le parti modificate. Come potete osservare al posto dei valori di temperatura e velocità della ventola, ho inserito due variabili, esattamente %Temperatura e %Fan

Naturalmente questo è solo un esempio, voi eventualmente potrete inserire della variabili anche per gli altri parametri.

Creiamo ora un task come quello che vedete qui di seguito

Come sicuramente potete osservare il task inizia con un'azione Say, dove il sintetizzatore vocale ci chiederà di pronunciare il valore della temperatura desiderata.

Come seconda azione avremo un Get Voice, un'azione che apre il microfono in attesa della nostra voce. In questo caso pronunceremo un numero (es. 25) che starà ad indicare la temperatura con cui vogliamo accendere il condizionatore.

L'azione numero 3 si occuperà di immettere nella variabile %Temperatura (la stessa che vediamo nella stringa di comando sopra) il valore pronunciato con la nostra voce.

Le azioni dalla 4 alla 6 fanno la stessa cosa delle prime 3, ma per il parametro di velocità della ventola. Tralasciando per un attimo l'azione 7 (che spiegherò nel video che trovate a fine articolo), subito dopo troviamo il comando HTTP Get che questa volta avrà le variabili al posto di quei 2 parametri che abbiamo deciso di personalizzare, che a loro volta avranno all'interno i valori pronunciati con la voce. Naturalmente potrete creare anche delle variabili per i restanti parametri della stringa.

Sicuramente il video in coda all'articolo vi chiarirà ulteriormente il funzionamento del Task.

Creiamo ora un comando di attivazione vocale per questo task, usando AutoVoice, il famoso plug-in di Tasker per l'utilizzo di comandi vocali personalizzati.

Create un nuovo profilo-event-plugin-AutoVoice-Recognized, entrate dentro Configurazione e scegliete The Hard Way.

Nella prima voce Command Filter scrivete la parola chiave dell'attivazione vocale (es. accendi condizionatore)

Uscite e collegate questo profilo al task creato in precedenza.

A questo punto potrete richiamare AutoVoice e iniziare a dialogare con Tasker per impartire i valori desiderati e poi ottenere l'accensione del condizionatore. Potrete anche collegare AutoVoice con Google Assistant ed impartire i comandi direttamente da li, ma questo lo vediamo nel video qui sotto! Buona visione!

... dimenticavo! Questa guida speiga come gestire i condizionatori Daikin WiFi tramite comandi HTTP in rete locale. Ma come fare da remoto?

Io ho un tablet a parete a casa, con Tasker a bordo, che uso come console per la domotica e come centro multimediale. Usando AutoRemote posso inviare dei comandi dal mio Smartphone, anche da remoto, che lui poi esegue in locale. Vi ricordo che potete seguire una guida (con video) che spiega come usare AutoRemote, al seguente link:

Mille modi per usare AutoRemote - Realizziamo una Post-it chat con Tasker

Adesso è veramente arrivato il momento del video! :D 

Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.

Vincenzo Caputo

Nato a Matera, il 1° novembre 1977. Sono da sempre appassionato di tecnologia e ho un'esperienza lavorativa ventennale nel settore IT. Mi piace sperimentare e cercare sempre nuove soluzioni e soprattutto mi piace comunicare le mie esperienze agli altri.


Vai ai commenti