DannyDeGaspari / Samsung-HVAC-buscontrol

Protocol description of the serial communication channel of Samsung airconditioners.
GNU General Public License v3.0
66 stars 16 forks source link

Any success integrating with Home Assistant #16

Open bzumik1 opened 1 year ago

bzumik1 commented 1 year ago

It would be nice to create custom component for ESPHome so this could be integrated with Home Assistant. The convertor from SAMSUNG NASA to ModBus is pretty expensive so this would safe the day.

DannyDeGaspari commented 1 year ago

I'm hoping someone else takes this up as I have not much experience on HA integrations. And then share it here that everyone can benefit from it. All protocol info is here.

matthias882 commented 1 year ago

In my Samsung MH035FPEA works in this moment a little ESP8266 with ESPHome on it. Currently it sniffes on the F1/F2-Dataline between outdoor and Indoor-Unit and currently I am able to get the Temperatures of the indoor-units and the operation-modes of them and send it to ESPHome. Now I installed the SNET Pro Software and tried to controll the units from there. It seems to work and so I will reverse engeneer this Communication in the next days. Then I should be able to full contoll the AC with ESPHome. I tell you when I have more results... Thank you Danny for the protocol-infos, this was a great start to this project

matthias882 commented 1 year ago

I have good news for all who are waiting for an EPSHome-component :) In the last days i did some reverse-engineering on the samsung busline protocol and wrote some lines code for an ESPHome-component. Currently it can read some values out of the indoor-units. Outdoor-unit is coming soon as well as the control of the indoor-unit functions.

You can find it here: https://github.com/matthias882/some_esphome_components/tree/main/components/samsung_ac_f1f2com

please try it out, test it and find some issues ;)

bzumik1 commented 1 year ago

That is awesome! Thank you very much. My HVAC is still in the box but as soon as I install it I will test it.

lanwin commented 1 year ago

Wonderful. I will try to get some Hardware and will test it with my four 1-way cassets.

@matthias882 do you have the newer NASA based devices? I am still not sure if there is really much a difference between NASA and non NASA (older devices)

matthias882 commented 1 year ago

I don't know what this protocoll really is named. It works with the SNET-Pro PC-Software when I set it to "FJM+". "FJM" also works, but this gets less information from the Bus. There is not much to find about the different Samsung Bus-Protocolls.

lanwin commented 1 year ago

So I figured it out. NASA is a newer bus protocol. It uses similar start and stop bytes but the messages are more complex and transport more data. This is also why it uses 9600 baud instead of 2400. @matthias882 component works with the Non NASA protocol from this directory.

Since @matthias882 currently did not answer anymore, I created my own ESPHome component with support for NASA protocol. I also made sure the Non NASA protocol can simply be integrated into this repo since this would allow to use this component for both protocols.

Currently it can show the room temperature, change the target temperature, set the AC mode and works with multiple units.

https://github.com/lanwin/esphome_samsung_ac

bzumik1 commented 1 year ago

So I figured it out. NASA is a newer bus protocol. It uses similar start and stop bytes but the messages are more complex and transport more data. This is also why it uses 9600 baud instead of 2400. @matthias882 component works with the Non NASA protocol from this directory.

Since @matthias882 currently did not answer anymore, I created my own ESPHome component with support for NASA protocol. I also made sure the Non NASA protocol can simply be integrated into this repo since this would allow to use this component for both protocols.

Currently it can show the room temperature, change the target temperature, set the AC mode and works with multiple units.

https://github.com/lanwin/esphome_samsung_ac

Great work! I will test it as soon as I will install my AC unit!