INTECULAR™ InvisOutlet™ ↔ Hubitat (MQTT) — App & Drivers
Update 2027 0727: Version 2.0 is out, fixed bugs and streamline adding devices due to the way MQTT works and that way the devices publish events. And reducing the noise they make with pushing events. Tested to make sure this stooped the overload of events that caused Hubitat slowdowns/excessive loads
Original:
I've been building an App and a set of device drivers that let Hubitat talk directly to InvisOutlet Aura/Pro smart outlets over MQTT. There's no vendor bridge box and no cloud dependency - InvisOutlet publishes standard Home Assistant MQTT Discovery messages to whatever broker you point it at, and this integration speaks that protocol directly.
Live in Hubitat Package Manager

What you get
- One real Hubitat device per physical outlet - not a maze of child devices, everything (both outlets, the nightlight/color light, sensors, buttons) lives on a single device page
- Automatic Aura vs. Pro detection - the app figures out which model it's talking to and creates the right driver automatically
- Independent control of both outlets, named by position (1/2) so it's correct even if the unit ends up mounted upside down
- Touch button support - physical button presses show up as standard Hubitat button events, ready for Rule Machine or Button Controller
- Full sensor support on the Pro: temperature, humidity, illuminance, motion, occupancy/presence, distance, Air Quality Index, CO2, Air Pressure, VOC
- Color support on the Aura: hue/saturation and color temperature via the standard ColorControl/ColorTemperature capabilities
- Selectable units - Temperature (°F/°C) and Distance (cm/in), applied instantly to already-known readings when you change them
- webCoRE-visible attributes and commands - everything is explicitly declared, not just ad-hoc events
- Automatic de-duplication for firmware that republishes the same state multiple times per action
- Built-in setup guides in the app itself for standing up an MQTT broker if you don't already have one - covers both a Raspberry Pi from scratch and Hubitat's own built-in MQTT broker
Supported devices
- InvisOutlet Pro - both outlets, nightlight, temperature, humidity, illuminance, motion, occupancy, distance, AQI, CO2, air pressure, VOC, touch buttons
- InvisOutlet Aura - both outlets, RGB/color-temperature light, illuminance, touch buttons
- MQTT Listener "device" (handles the message bus, created automatically)
More entities can be added as they're identified - if you've got one of these and see something in your MQTT broker that isn't showing up in Hubitat, send me a log capture and I'll take a look.
Why MQTT?
- No proprietary vendor hardware required - unlike some ecosystems, InvisOutlet doesn't need its own bridge, any MQTT broker works
- Real-time events, not a polling interval
- Standards-based - it's Home Assistant's own MQTT Discovery format, not something reverse-engineered
- Flexible broker options - a Raspberry Pi, a Docker container, or Hubitat's own built-in MQTT broker (added in recent firmware) - your call, with setup guides for both built right into the app
How it works (high level)
Parent App
- You enter your MQTT broker's address, username, and password.
- The app creates a hidden MQTT Listener device that connects and parses discovery messages.
- It briefly waits during setup to make sure it's seen everything for each unit before showing you the device list, so it can reliably tell Aura from Pro apart.
- You select which units to expose, and the app creates one real device per unit using the correct driver.
Drivers
- Receive state updates routed through the app from the Listener.
- Send commands back the same way.
- Pick up Temperature/Distance unit preferences from the app automatically.
Requirements
- An MQTT broker reachable by both Hubitat and your InvisOutlet unit(s)
- Your InvisOutlet's own MQTT settings pointed at that same broker (InvisHome app → Outlet Settings → Customizations → Advanced → MQTT)
- Hubitat Elevation running current firmware
This integration doesn't use or require the InvisHome cloud - MQTT traffic stays on your LAN once your broker is set up.
Installation (quick start)
- Install the App & Drivers
- Drivers Code → install InvisOutlet MQTT Listener, InvisOutlet Pro, and InvisOutlet Aura, Save each.
- Apps Code → paste the InvisOutlet Device Service app code, Save.
- Create the App instance
- Apps → Add User App → InvisOutlet Device Service.
- Enter your MQTT broker settings
- No broker yet? Use the built-in Show Guide toggles right on that page for either a Raspberry Pi or Hubitat's built-in broker.
- Other settings
- Naming options, Temperature Scale, Measurement Scale.
- Select devices
- The app polls briefly and shows every InvisOutlet unit it finds, labeled with its detected model and an online/offline indicator. Pick which ones to expose.
- Done
- Open a created device and watch events come in.
Troubleshooting
- Nothing showing up on the device list? Double check the broker address/credentials, and that your InvisOutlet's own MQTT settings point at the same broker.
- A sensor or button not appearing? Turn on raw MQTT logging on the Listener device, trigger it, then run the built-in
auditTopicscommand - it lists every topic seen and whether it's wired up, plus why anything was skipped. - Color commands doing nothing? Expected on the Pro - its nightlight is plain white-only. Color is Aura-only, by design.
Notes & Limitations
- Aura vs. Pro is detected by what sensors/entities a unit actually exposes, not by its reported model string (which doesn't distinguish them on current firmware).
- Adaptive lighting mode, plus effects like breathing/strobe/color-cycle, are confirmed (via raw MQTT capture) to be handled entirely on-device or in the phone app, with nothing published over MQTT to hook into - not something this integration can control.
- MQTT traffic is plain, unencrypted LAN traffic like most local integrations; make sure you trust your local network.
Credits
Built with a lot of late nights (and a lot - and I mean a lot - of AI assistance).
License / Disclaimer
This project is not affiliated with, endorsed by, or associated with Intecular or InvisOutlet. Provided "AS IS" without warranties. Please review the license in the repo before redistribution or commercial use.
GitHub: [repo link here]
I'd call these BETA - only I have tested them on my own setup so far. If you try it, I'd love your feedback, logs, and anything odd you run into so we can keep tightening things up.
Please sign in to leave a comment.
Comments
0 comments