Repository navigation
Hubitat
Drive the TESmart switch from Hubitat Elevation: one Manager app, one controller device, and a child device per input. Optional push callbacks keep Hubitat in sync when something else changes the active input. (Browser kit/panel use Server-Sent Events instead; see Listener & HTTP.)
- A server started with
tesmartctl install, then left running withtesmartctl quickstart(0.0.7.10+, on a host and port Hubitat can reach) - The Hubitat package from this repo (
hubitat/) — currently 1.6.0 (shown on the Manager screen) - Network path from the Hub to the machine running the listener
- On Hubitat: Apps → Hubitat Package Manager (or manual import)
- Install / update from the package manifest in
hubitat/packageManifest.json - Drivers: TESmart Controller, TESmart Input
- App: TESmart Manager
Manual Groovy import paths (if not using HPM):
hubitat/TESmart-Manager.groovyhubitat/TESmart-Controller.groovyhubitat/TESmart-Input.groovy
- Open TESmart Manager
- Set the HTTP base URL of the listener, e.g.
http://192.168.1.20:8765 - Create / refresh the controller and child input devices
- Map input names to match your local
tesmartctl namelabels if you use them
Selecting an input child (or the controller command) issues HTTP to the listener, which talks to the switch.
So Hubitat reflects changes made from the kit, CLI, or Stream Deck:
- Point the listener’s Hubitat callback URL at the Manager / controller endpoint (see repo Docs/hubitat.md)
- Keep
tesmartctl quickstartrunning whenever you want live sync
On TESmart Controller (package 1.6.0+):
| Command | Effect |
|---|---|
deviceNotification |
Notification capability — Rule Machine Notify / Notifications app → kit LCD |
showBanner |
Timed LCD message on kit/panel (POST /banner) |
showStickyBanner |
Sticky until dismissBanner
|
bannerAction |
Dropdown: dismiss / reshow / clear (clear = message and history) |
setPeekFollow |
off / once / always (same as kit PEEK) |
Preferences Notifications stay until dismissed and Notification seconds control how deviceNotification behaves. Attributes: bannerText, bannerShowing, bannerMode, bannerRemaining, peekFollow. Push event: banner updates those without polling.
- Rule: motion / mode → select input N
- Dashboard tiles for each input child
- Rule: mode / contact →
showBanner/showStickyBanneron the controller - Rule: set peek follow to
oncebefore an input change from another tile
Repo doc: Docs/hubitat.md
Getting started
Reference
Repo docs