[RELEASE] Advanced Mini Split Controls — Commercial-Grade BMS & Cost Tracker

I'm excited to finally share a project I've been working on to completely overhaul how Hubitat handles ductless HVAC systems. I prefer building highly automated, transparent tools that give you deep insights into your home's infrastructure, and standard mini-split integrations often leave a lot to be desired. They lack the logic to protect the compressor, handle complex occupancy shifts, or track running costs.

To solve this, I wrote Advanced Mini Split Controls—an app that acts as a Commercial-Grade Building Management System (BMS) right inside Hubitat.

Getting the climate perfectly dialed in for Christy and me, while simultaneously shedding peak energy costs, was the primary goal here. Here is a breakdown of what the app brings to your hub.

:bar_chart: Live BMS, Health & Cost Dashboard

I built a real-time, HTML-based dashboard right into the app's main page. At a glance, you can see the active target (with any offsets applied), current room conditions, and active BMS guards.

  • Running Cost Tracking: Input your local kWh cost and the wattage of your units. The app calculates your estimated daily and 7-day running costs.
  • Hardware Syncing: A manual override button to force a hardware sync if things get out of alignment.

:shield: Commercial BMS Protection Guards

Mini-splits are expensive. This app introduces commercial HVAC logic to protect your investment:

  • Compressor Rest Delay (Anti-Short Cycle): Enforces a mandatory rest period (default 3 minutes) after a unit powers down before it can turn back on.
  • Auto-Changeover Guard: Prevents the system from rapidly swinging between heating and cooling (default 60-minute delay).
  • Outdoor Ambient Lockout: If the outdoor temperature drops below your compressor's safe operating limit, it locks out the mini-split and can automatically fire up a designated Auxiliary Heater.
  • RF State Enforcement: Because IR/RF commands can drop, you can set an interval for the app to blindly re-transmit the current state to ensure the hardware matches Hubitat.

:thermometer: Delta-T Diagnostics & Maintenance

  • DAT Sensor Integration: By placing a temperature sensor (I use my Zooz 800 Series or Aeotec sensors for pinpoint accuracy) at the Discharge Air Temp (DAT) louver, the app calculates the Delta-T in real-time.
  • Critical Health Alerts: If the Delta-T is severely low after 15 minutes of runtime, you get an alert. It’s a lifesaver for catching frozen coils, incredibly dirty filters, or low refrigerant early.
  • Filter Tracking: Logs lifetime runtime and sends a push notification when a unit hits 250 hours of active fan time.

:brain: Advanced Climate & Occupancy Logic

  • Predictive Pre-Staging: Select specific days and times to condition a room to "Occupied" setpoints before you walk in.
  • Dynamic Float Brackets: You set distinct heating and cooling limits for Occupied, Unoccupied, and Good Night modes. The app handles the deadbands and allows the room to "float" efficiently between them.
  • Peak Load Shedding: Define your local peak energy hours. The app will automatically offset your cooling targets higher and heating targets lower during this window to save money.
  • Ceiling Compensation: Automatically offsets target temperatures to account for the temperature difference between your ceiling-mounted unit and the actual living space.

:droplet: Two-Stage Humidity & Mildew Prevention

This introduces heavy-duty moisture control to keep your indoor air quality in check:

  • Mildew Prevention Intercept: When transitioning from Cooling to Standby, the app can intercept the command and run the unit in FAN or DRY mode for 30 minutes to dry off the coils and prevent mold growth in the blower wheel.
  • Two-Stage Dehumidification: Ties in a standalone dehumidifier as Stage 1. If humidity remains high and the standalone unit has been running past your designated delay time, the app automatically shifts the mini-split into DRY MODE as Stage 2.

:satellite_antenna: Requirements & Setup

  • IR/RF Hardware: This app relies heavily on tomw's Broadlink integration. You will need a Broadlink RM device (or similar) set up with his drivers to send the custom hex codes for your specific unit.
  • Sensors: You will need a primary temperature sensor for the room, and ideally, an outdoor temperature sensor, a contact sensor for door/window failsafes, and a DAT sensor for the full BMS experience.

I've tried to make the setup as painless as possible with built-in test buttons for all your IR codes directly on the configuration page.

Grab the code and let me know how it works for your setups. Happy to answer any questions or field feature requests!

APP:
raw.githubusercontent.com/ShaneAllen334/Hubitat_Apps/refs/heads/main/Advanced_Mini_Split_Controls/Advanced_Mini_Split_Controls.groovy

Would be nifty if could work with my new Beta: [BETA] Flair Climate Connect for Hubitat — Structures, Rooms, Pucks (V1 + V2), and HVAC units

Let me see what I can do.