I'm controlling three old FTXSxxG splits
You can also get (lastly, i did) these cables to ease connection: aliexpress.com/item/1005005465484217.html
this is a platformio project.
On my units the S21 port is:
1 - Seems unused
2 - TX (5V)
3 - RX (5V)
4 - VCC (14.5V)
5 - GND
Luckily, RX port accepts 3.3V levels so i did not need a level shifter.
I used D6 and D7 as serial port pins for the ESP8266.
Well, this also fits inside the units, seems good!
i did not want to use already available code since this is not fun enough, so i just wrote my code.
As said, the integration is done through MQTT, so i also added an example of code for integration and with templates. You'll probably need to redefine lists and for sure mqtt topics.
Remotedebug library has some flows, please remember to:
define WEBSOCKET_DISABLED true
/*#if (WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP8266)
_client.tcp->setNoDelay(true);
if(_client.isSSL && _fingerprint.length()) {
if(!_client.ssl->verify(_fingerprint.c_str(), _host.c_str())) {
DEBUG_WEBSOCKETS("[WS-Client] certificate mismatch\n");
WebSockets::clientDisconnect(&_client, 1000);
return;
}
}endif */
i did not even know about the S21 socket, so i NEED to thank:
https://github.com/joshbenner/esphome-daikin-s21/tree/main
https://github.com/revk/ESP32-Faikin
As you'll see, i also took pieces of code, but i wasn't fully happy about it's structure, so i rewrote it as a states-machine to reduce blocking in code.
i am NOT a programmer :) but i understand a lot of parts could be better written, and that some things could be done with higher security and bla bla bla.
I would not (and i don't) expose the controller on internet, this should clarify what i mean :)
someone asked, so why not?
Since i'm not a programmer and i'm totally lost in git, please don't hesitate reporting any ANY issue in my code or anything wrong you see :)