lanwin / esphome_samsung_ac

Provides an ESPHome component for Samsung air conditioners. It allows you to watch and control your devices via a home automation system. And is designed to be attached to the F1,F2 communication bus between the devices.
61 stars 22 forks source link

[Non-NASA] F3 F4 serial bus #69

Open Foggy2 opened 5 months ago

Foggy2 commented 5 months ago

Hello @lanwin

First of all thanks for putting this together and sharing it on GitHub. It is exactly what I have been looking for.

I am wondering if you have considered adding in support for the non-nasa F3 F4 (wall controller <-> indoor unit) serial bus? I ask as it is much easier for me (I assume others too) to connect to the cabling behind the wall controller than to connect to the outdoor unit or the indoor unit in the roof space.

I realise that this wouldn't be a minor change to your codebase. To this end I have been experimenting with adapting your existing code to function based off of the specifications shared by DannyDeGaspari. I have reached a point now where I am able to reliably send commands and have them accepted.

Temperature and On/Off works. I have a ducted system with a 3rd party ventilation system so am unable to test for fan speed/blade positions.

Mode does not appear to be working but I note that other non-nasa users are reporting the same on the F1F2 serial bus. So this is a work in progress.

I would submit a PR myself but this is my first time using c++ and I only understand how all the code fits together at a basic level. I fear that I would not be able to produce something of good enough quality myself so instead I wish to point out my repo here where you can see the changes that I have made to reach this point.

I am more than happy to keep working on this on my own repo for myself but in the event that you are happy to explore the F3 F4 serial bus further I would be happy to help where I can.

Thanks!

nicolaerosia commented 5 months ago

I'm also interested in F3/F4, however, on my AE260RNWSEG the F3/F4 has power, and I think I need a special adapter. The wall controller is getting powered from these lines

lanwin commented 5 months ago

I am not sure about that. What I currently know is, it seems that the outdoor unit uses different commands then the remote control. So I have to think about how I can handle this difference.

In the mean time the best way you can help is to implement the packets that are required for that. Please look at NonNasaDataPacket how to do that. NonNasaCommandC6 is a good example on how to start. It would be good to get a pullrequest per command.

And it would help to get example packets for each command. Something like 3200c8250000000003000000ee34 . You can get them when you enable debug_log_messages_raw https://github.com/lanwin/esphome_samsung_ac?tab=readme-ov-file#development

Foggy2 commented 5 months ago

Hi @lanwin I understand. As I learn more and time permits I will work on sending the required commands in PRs. Thanks!

lanwin commented 5 months ago

They did not need to be perfect :D C++ is also not my preferred language.