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.
This project offers an ESPHome component for integrating Samsung HVAC units (Air conditioners or heatpumps) into Home Assistant.
This component focuses on Samsung HVAC units that communicate between the indoor and outdoor units via a hardware bus (additional cables connecting each unit, usually F1/F2, sometimes called R1/R2).
Samsung has employed different software protocols for their AC devices over the years. The older devices utilize the NonNASA protocol, while the newer ones utilize the NASA protocol. This ESPHome component is designed to support both protocols, ensuring compatibility with a wide range of Samsung AC units.
The current implementation offers the following features:
Mutlisplit Support: One ESP can control all indoor units connected to the outdoor unit.
Temperature Monitoring: You can monitor the room temperature.
Humidity Monitoring (NASA Protocol): For systems using the NASA protocol, the controller allows you to monitor humidity levels, providing additional environmental insights.
Target Temperature Adjustment: You have the ability to change the target temperature, allowing you to set your desired climate.
AC Mode Control: The controller enables you to change the AC mode, giving you control over cooling, heating, or other operational modes.
We are excited to introduce a new Blueprint that integrates with the esphome_samsung_ac component. This Blueprint enhances your Home Assistant setup by enabling you to monitor error codes from your Samsung AC units and receive real-time notifications directly to your selected devices.
For more detailed instructions on setup and usage, please refer to the Blueprint documentation.
This Blueprint adds a new layer of functionality to your Home Assistant setup, allowing for more proactive and informed management of your Samsung AC units.
In general, all devices with dedicated communication wires (not only power) should work. If you want to be safe when buying a new AC, then just ask for NASA support.
@hnykda found a way to decode Samsung's product numbers. For more info, see this issue.
There are also two Discussion threads about confirmed NASA and NonNASA uses. If you made this working on a model that has not been confirmed yet, please do so in there!
An ESPHome compatible device and an RS-485 to (TTL) serial adapter is required to run this project. While it's possible to run it on an ESP8266, it's better to chose an ESP32 since it handles the incoming message stream better (because it has more CPU power and RAM).
It's cheap, comes with a tiny case (which can fit inside an indoor unit) and allows direct use of the 12V comming from the V1/V2 lines which some AC units provide.
If your AC did not has V1/V2 please check out this post.
Purchase the following components and stack them:
Connect the components as follows:
Follow these steps to install and configure the software for your AC unit controller:
Create a New ESPHome Device:
api
and ota
sections from the newly created YAML.Deploy and Boot:
Check the Log:
[samsung_ac] ... update
every 30 seconds or so, you are not receiving messages, and something is wrong.Identify Indoor Device Addresses:
Update Your YAML File:
Remove Unneeded Properties:
baud_rate: 0
to the logger section. debug:
direction: BOTH
dummy_receiver: false
after:
delimiter: "\n"
sequence:
- lambda: UARTDebug::log_hex(direction, bytes, ' ');
Do I need to power cycle my Samsung devices to make it work? No, but they should be turned on.
Does this also work with Samsung heat pumps? Yes, while it was not designed in the first place for them, we have reports that they also work.
Do I need a ESP for each indoor device? When all your indoor devices are connected to the same outdoor device, then you need just one. Otherwise you need one for each outdoor device.
Do I need to turn off my climate devices when I connect the ESP? No, but it's advised to do so, as beside the F1/F2 connectors there is 240V AC, which can be deadly. It is safer to disconnect the unit from power while installing the ESP, then reconnect it.
My device has no additional F1/F2 connectors, how do I connect it? Somethimes they are called R1/R2. On some devices it seems that this connectors use only one cable (and ground) but we are not sure yet. Please follow the discussions.
The following YAML configuration is not included in the example since it is for development purposes.
# All this values are optional. Only use the ones you need.
samsung_ac:
# Sends all NASA package values to MQTT so the can be analysed or monitored.
debug_mqtt_host: 10.10.10.10
debug_mqtt_port: 1883
debug_mqtt_username: user
debug_mqtt_password: password
# Prints the parsed message data to the log
debug_log_messages: true
# Prints the binary message data (HEX encoded) to the log
debug_log_messages_raw: true
NASA is the new wire protocol which Samsung uses for their AC systems. The old units are using the so-called NonNASA protocol. The protocols share some aspects like the start and end byte. But the newer NASA protocol is more complex, allows more data to be transferred and more units to communicate.
The NASA protocol is pretty generic. It's basically designed to transport variables as a key (number) and a value (with a datatype like Enum, Int, Long, Bytes). All meaning is defined to the keys. For instance, if you want to know the room temperature you need to know the number and wait for it.
Foxhill67 started to document the NASA protocol here.
The NonNASA protocol is specifically desined to transport AC data.
DannyDeGaspari started to document the NonNASA protocol (but from wall controller side) here.
Thanks goes to DannyDeGaspari https://github.com/DannyDeGaspari/Samsung-HVAC-buscontrol. He made the initial attempt to describe the older NonNASA protocol.
Thanks goes to matthias882 https://github.com/matthias882/some_esphome_components. He made a basic ESPHome component for the older NonNASA protocol which was a perfect source to start playing and learning to communicate with the AC and use ESPHome.