pysamsungnasa
A Python library to communicate with Samsung heat pumps, in theory both cool only and cool+heat units are supported, although only tested on an EHS unit (cool+heat)
Features
- Connect and disconnect from Samsung HVAC/EHS units via a serial connection over the F1/F2 connectors using SerialX (NasaClient).
- Discover new devices on the NASA network and manage known devices (SamsungNasa).
- Send commands to devices and handle responses (SamsungNasa, NasaClient).
- Parse incoming data packets from devices (NasaPacketParser, various message classes).
- Represent devices with attributes and control their functions (NasaDevice).
- Control DHW (Domestic Hot Water) settings like power, operation mode, and target temperature (DhwController).
- Control climate settings like power, mode, target temperature, fan speed, and more (ClimateController).
- Provide a mechanism for callbacks to be notified of device and packet updates (NasaDevice).
- Support reading device configurations (NasaDevice).
- Handle message construction and parsing based on message types (protocol.factory).
- Define specific message formats for indoor and outdoor units (protocol.factory.messages).
Future plans
These might not end up happening, but I would like to have a go at creating these one day.
- Simulate a remote controller for a "dummy" zone 2
- Send custom Z1/Z2 temperature readings to the master controller
- Implement TPI/load awareness/preditive model algorithms for an advanced complete custom controller
Installation
pip install pysamsungnasa
Usage
TODO
Configuration
TODO
Contributing
TODO
Thanks
This project utilizes or incorporates ideas, code and work from the following sources, and I would like to express my sincere gratitude to their creators and contributors:
- ESPHome Samsung HVAC Bus
- Samsung NASA MQTT Bridge
- Samsung ASHP NASA link MQTT bridge / Home Assistant
- OpenEnergyMonitoring Forum for all the shared wisdom on multiple threads.
- @betaphi for the EHS Wiki, which provided valuable insights into different messages. The protocol is mostly documented here as the NASA Protocol page is no longer on the wiki. More messages are defined within the parser classes from the latest version of S-Net.
None of this would have been possible without the above.
Metadata
Release files for pysamsungnasa 2.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pysamsungnasa-2.0.1.tar.gz | 79.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pysamsungnasa-2.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 162.2 kB
Release files / pysamsungnasa-2.0.1.tar.gz
| Download URL | pysamsungnasa-2.0.1.tar.gz |
|---|---|
| Size | 79.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e4063752cbf18e8fc6e1520dba4461752c03d92470eae9ffb3005a20065527f6
|
|
BLAKE2b-256 checksum How to use checksums |
205c625e0c33d220f10272170323764168aad0572d58cac1e0026adb4d867121
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 14, 2026.
Transparency logRelease files / pysamsungnasa-2.0.1-py3-none-any.whl
| Download URL | pysamsungnasa-2.0.1-py3-none-any.whl |
|---|---|
| Size | 82.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a66df19c5f122815325f07b2754a0ae88bac1599045d04173b47d78bf3b738d7
|
|
BLAKE2b-256 checksum How to use checksums |
195a6093f73f7ac024293106c8a580583e39cffb047b8f8a7eb5e83db867174e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 14, 2026.
Transparency log