Skip to content
leobrqzPublic

About

Open-source local alternative to Samsung SmartThings for controlling Samsung WindFree air conditioners from Android and Windows.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

15 Commits

Folders and files

Repository files navigation

WindFull logo

WindFull

Control a Samsung WindFree air conditioner from Android through a Windows system-tray host on your local network.

GNU GPL v3.0 or later Android client Windows host

Controls

  • Power on and off
  • Target temperature
  • Operating mode and fan speed
  • WindFree

Controls are shown according to the capabilities reported by the air conditioner.

Connect

  1. Start the WindFull host on Windows and connect the PC, phone and air conditioner to the same local network.
  2. Open the Android app and select the discovered PC. If discovery is blocked, enter the PC's IPv4 address.
  3. 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.

How it works

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.

Build and develop

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.ps1

The 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 run

Run the Windows host from source:

cargo build --locked --manifest-path server/native/samsung/Cargo.toml
cd server
flutter run -d windows

Run 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

Repository

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.

References

Licensed under the GNU General Public License v3.0 or later.

About

Open-source local alternative to Samsung SmartThings for controlling Samsung WindFree air conditioners from Android and Windows.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages