Control a Samsung WindFree air conditioner from Android through a Windows system-tray host on your local network.
- Power on and off
- Target temperature
- Operating mode and fan speed
- WindFree
Controls are shown according to the capabilities reported by the air conditioner.
- Start the WindFull host on Windows and connect the PC, phone and air conditioner to the same local network.
- Open the Android app and select the discovered PC. If discovery is blocked, enter the PC's IPv4 address.
- Compare the six-digit code in the app with the code shown on the PC, then approve the phone in the Windows host.
Pairing is saved for future connections.
The Android app discovers Windows hosts over UDP and communicates with the host through a local HTTPS API. First-time pairing requires PC approval and a matching six-digit code. The app pins the host's SHA-256 TLS certificate fingerprint and stores its pairing credential in Android secure storage.
The Windows host uses a Rust bridge to communicate with the air conditioner through Samsung OCF over CoAP and DTLS. The bridge discovers device resources at runtime and exposes only the controls the appliance advertises.
The air conditioner must be onboarded in Samsung SmartThings once to provision local OCF access. After that, WindFull communicates with it on the LAN without calling SmartThings cloud APIs.
Install Flutter 3.44.1 and the Android SDK for the client. Windows builds also require Visual Studio Build Tools with the Desktop development with C++ workload and Windows SDK, Rust stable for the MSVC target, and Strawberry Perl for the OpenSSL bridge build. The Windows build script detects common Strawberry Perl installations or accepts -PerlBin.
Build the Windows package from the repository root:
.\scripts\build_windows.ps1The Windows ZIP and checksums are written to output/windows/. Android APK packaging and release verification are documented in docs/releasing.md.
Run the Android client from app/:
flutter pub get
flutter runRun the Windows host from source:
cargo build --locked --manifest-path server/native/samsung/Cargo.toml
cd server
flutter run -d windowsRun flutter analyze and flutter test from each of app/ and server/. Run Rust bridge tests with:
cargo test --locked --manifest-path server/native/samsung/Cargo.toml| Path | Purpose |
|---|---|
app/ |
Flutter Android client: discovery, pairing, device state and controls |
server/ |
Windows tray host, local HTTPS API and device approval |
server/native/samsung/ |
Rust OCF/CoAP/DTLS bridge for Samsung air conditioners |
scripts/ |
Windows and Android build and verification scripts |
docs/releasing.md |
Release build and verification workflow |
For protocol and device integration details, see server/native/samsung/README.md.
- SmartThings CLI — command-line interface for SmartThings APIs.
Licensed under the GNU General Public License v3.0 or later.