[RELEASE] Pioneer and others Mini-Split Local Control (Tuya Protocol)

I've created a native Hubitat driver for local control of Pioneer WYT (Diamante) mini-splits and potentially other Tuya-based mini-split systems.

GitHub: GitHub - signal15/tuya-minisplit-hubitat: Local control of Pioneer WYT (Tuya) mini-split heat pumps via Hubitat

What This Is

This driver communicates directly with your mini-split over your local network - no cloud, no bridge service, no external dependencies. It implements the Tuya protocol natively in Groovy.

Important: This Is For Tuya Protocol Units Only

Many Pioneer mini-splits (like the WYS series) use the Midea protocol - this driver does NOT support those. This driver is specifically for units that use the Tuya protocol, which includes:

Confirmed Working:

  • Pioneer WYT (Diamante) series with TST-DIAWIFITPD WiFi module

May Also Work (same Tuya protocol):

  • Cooper & Hunter (Sophia, MIA, Olivia, Dakota, Hyper Heat series)
  • Confortotal CICON series
  • Royal Sovereign RSAI series
  • Kaisai Pro Heat+ series
  • Rotenso Roni series
  • Tesla Smart TAF/AUX series
  • Be Cool BC series

How to tell if yours is compatible: If your mini-split uses the Tuya Smart or Smart Life app (not an IR blaster), it probably uses this protocol. The Pioneer app seems to be a rebrand of the Tuya app also.

Installation

HPM (Hubitat Package Manager):

I've submitted this to HPM but it may not be approved yet. In the meantime, you can install via URL:

  1. Apps → Hubitat Package Manager → Install → From a URL
  2. Enter: https://raw.githubusercontent.com/signal15/tuya-minisplit-hubitat/main/hubitat/packageManifest.json

Manual:

  1. Drivers Code → New Driver → Import
  2. Enter: https://raw.githubusercontent.com/signal15/tuya-minisplit-hubitat/main/hubitat/pioneer-minisplit-local.groovy

Getting Your Local Key

This is the trickiest part. You need a Device ID, Local Key, and IP address.

  1. Pair your device with the Tuya Smart app (not Pioneer Airlink)
    - Download "Tuya Smart" from your app store
    - Add your mini-split to the app
  2. Create a free Tuya IoT developer account:
    - Go to https://iot.tuya.com and register
    - Create a Cloud Project (select your region, e.g., "Western America")
    - Choose "Smart Home" industry and "Smart Home PaaS"
  3. Link your app account:
    - In your Tuya IoT project: Devices → Link Tuya App Account
    - Open Tuya Smart app → Profile → scan the QR code
    - Your devices will appear in the IoT console
  4. Get the Local Key:
    - In Tuya IoT console: Cloud → API Explorer
    - Select: Device Management → Get Device Information
    - Enter your Device ID and click "Submit Request"
    - Copy the local_key from the response (16 characters)
  5. Find your device IP:
    - Check your router's DHCP client list, or
    - Use a network scanner to find devices listening on port 6668

Device Setup in Hubitat

  1. Devices → Add Device → Virtual
  2. Name it, select Type: "Pioneer Mini-Split Local" or whatever you want to name it (Garage AC)
  3. Configure preferences:
    - Device IP: your mini-split's IP (you should do a DHCP reservation on it so it doesn't change)
    - Device ID: from Tuya IoT console
    - Local Key: the 16-character key
    - Protocol Version: 3.3 (try 3.4 if that doesn't work)
  4. Save Preferences, then click Refresh

Important: Tuya devices only allow ONE local connection at a time. KILL the Tuya Smart app on your phone before testing, or Hubitat won't be able to connect.

Features

  • Power on/off
  • Thermostat modes: cool, heat, auto, dry, fan only
  • Temperature setpoint (61-86°F)
  • Fan speed: auto, low, medium, high
  • Auto-reconnect on connection loss
  • Status polling (configurable interval)

My Use Case & Support Expectations

I built this primarily for on/off control to participate in a power company demand response program. The basic functionality works great for my needs.

If something beyond on/off doesn't work as intended for your setup, I'm happy to merge pull requests from the community. I may or may not have time to investigate issues that don't affect my use case, but I'll do my best to help where I can.

Credits

Let me know if you have questions or run into issues!

2 Likes