[SOLVED: for local access]A/C app named TFIAC, anyone ever heard of it?

Hey guys,

I just installed two a/c units (the brand is Morris) that came with a “generic” app called TFIAC.
PlayStore and AppStore links.

The app was very easy to set up, i just entered a QR and it found the two ACs that are on my network.

It also works remotely without any configuration/account whatsoever (unsafe?)

Has anyone heard of this app?
Is there anyway i can integrate the controls into HA?

Regards,
K.

2 Likes

I am interested as well, I also got an AC with that app. Do you think we can develop a component for this?

1 Like

I got the following information scanning UDP ports of my AC wifi module:

sudo nmap -sU 192.168.1.108
Password:

Starting Nmap 7.60 ( https://nmap.org ) at 2018-11-23 20:08 CET
Nmap scan report for 192.168.1.108
Host is up (0.014s latency).
Not shown: 998 closed ports
PORT      STATE         SERVICE
80/udp    open|filtered http
49154/udp open|filtered unknown
MAC Address: 34:EA:XX:XX:XX:XX (HangZhou Gubei Electronics Technology)

I suposse next step is trying to send commands using the app while sniffing the traffic to that IP

The wifi module of the AC broadcast periodically some ASCII characters in XML format:

<msg msgid="statusUpdateMsg" type="Notify" seq="1234">
    <statusUpdateMsg>
        <BaseMode>heat</BaseMode>
        <TurnOn>off</TurnOn>
        <SetTemp>70</SetTemp>
        <WindSpeed>Auto</WindSpeed>
        <IndoorTemp>68</IndoorTemp>
    </statusUpdateMsg>
</msg>

And also:

<message  msgid="Declaration">
  <DevName>Your AC Name</DevName>
  <DevType>AirCond</DevType>
  <DevMAC>34eaxxxxxxxx_DEVICE</DevMAC>
  <DevIP>192.168.1.108</DevIP>
  <DevPort>7777</DevPort>
  <DevLock>off</DevLock>
  <DevHidden>off</DevHidden>
  <Presence>on</Presence>
</message>

Hello,
After almost one week of reverse engineering the TFIAC application I figure it out how to control this Air Conditioner units over wifi with UDP packets and XML strings!!!
For testing purposes try to use some software like “Packet Sender” and send some commands to the unit IP on the port 7777 (UDP).
Use some of this commands (ASCII)
To Turn off:
<msg msgid="SetMessage" type="Control" seq="12345"><SetMessage><TurnOn>off</TurnOn></SetMessage></msg>

To Turn on:
<msg msgid="SetMessage" type="Control" seq="1"><SetMessage><TurnOn>on</TurnOn></SetMessage></msg>

To get actual state:
<msg msgid="SyncStatusReq" type="Control" seq="12345"><SyncStatusReq></SyncStatusReq></msg>

To raise temperature (in Fº)
<msg msgid="SetMessage" type="Control" seq="12345"><SetMessage><SetTemp>74</SetTemp></SetMessage></msg>

to down temperature (in Fº)
<msg msgid="SetMessage" type="Control" seq="1"><SetMessage><SetTemp>74</SetTemp></SetMessage></msg>

Now I’m trying to figure it out why sometimes the seq must be 1 and another times needs to be 12345.

I’m not a developer but I hope that someone can test this and help me make a module for use this im HA or OpenHab.

2 Likes

Sounds lovely!
Wish I could help out but my knowledge is really limited.
If I can do anything to help out (that you could instruct me like 5yo.) I’d love to help, let me know!

great job! i’m just starting with Home Assistant and IFTTT.
I have a “Johnson” A/C Unit that works with TFIAC and I can’t connect it to my Google Home.

Do you think that it’s possible to send vía “Webhooks” some commands?

Thanks!

Yes, that will be possible once the full integration is in place.

:partying_face: :partying_face:

Now you may already know that @fredrike and I have developed a component for home-assistant which is already included in version 0.91.

You can find the doc at https://www.home-assistant.io/components/tfiac/

Let us know how that works for you.

Regards

4 Likes

Wow guys, i had no idea!
Great work!

It does need the a/c units to be in the local network right? or can it work remotely as well?

It only supports units in the same network.

Still extremely useful!
Of you guys have any plan of including remote machines? (if that is doable ofc)

The current implementation does not allow for external access, it is using the “local-only” api.

1 Like

this is niceeee ! I will try to learn about the yml to get it working :smiley:

2 Likes

is there a way to send like webhooks instead of packages? like the ip number + some json get mode?

I can’t figure it out how to deal with pkgs :frowning:

Just installed the component you created, it reads the sensor for current temperature, it detects the current a/c settings, the a/c beeps every time I alter something on the hass overview widgets, but, nothing happens! The a/c does not want to power on with any hass signal! As long as it’s powered on by IR remote or tfiac mobile app, all commands sent through hass work instantly!
Any thoughts on this?

Hello, today I have a new air conditioner from TCL and I hust installed the module!
I have the same symptoms like you! If the air conditioner is on, the I can change mode, temperatures , fans and everything, and I can close the aircondition.
The only thing it doesnt work is the power on! It justs beeps! The component is fantastic!
Can we have an update please? Or any one can help me to debug it?
thank in advance!

Did you find any solution?

A patch have been accepted to hass so it might start working soon.

1 Like

Thank you!!!