SMGS Hub docs

macOS walkthrough · v0.1

Your ACs, as an instrument on the Mac.

SMGS Hub is a native SwiftUI control centre for the Carrier (Jio Smart Living) air conditioners at home. It lives in the Dock as a window with a live thermostat, and in the menu bar as a glass widget. This tour walks through every screen, what each control does, and why some of them are sometimes greyed out.

The SMGS Hub window: a sidebar listing three ACs, and a large thermostat dial set to 23 °C in Cool mode with a control dock underneath.
2 surfacesDock window and menu bar widget, sharing one live model
15 sBackground refresh, plus instant pushes from the cloud
17–30 °CSet-point range, read from each AC rather than assumed
₹ / kWhUsage priced on Tamil Nadu domestic slabs or a flat rate
01

Getting started

SMGS Hub needs macOS 14 or later. It's built from source with Swift 6 and bundled as a regular .app, signed ad hoc and carrying its own icon.

cd macos
swift test                 # unit tests
./scripts/bundle.sh        # builds SMGSHub.app
open SMGSHub.app

On first launch the window asks you to sign in once with the mobile number your ACs are registered to. The session is saved and renewed silently from then on, so this walkthrough starts after sign-in.

The screenshots on this page were taken from the app's built-in demo account (three sample ACs), so no real phone number or device ids appear here. Every screen, label and behaviour is the real app. Use the Light / Dark switch at the top to see each screenshot in either appearance.

02

Adding your ACs

Right after you sign in, SMGS Hub lists every AC registered to your account so you don't have to go looking for the + button. Everything starts ticked; untick anything you don't want on this Mac and press Add.

The Add air conditioners sheet listing Bedroom AC, Living Room AC and Study AC, all ticked, with online and offline dots.
Add air conditioners. Each row shows the room and whether the unit is online right now.
The window with no ACs added, showing a 'No ACs yet' message and an Add AC button.
Empty state. If you skip the sheet, the window offers it again.
  • Open the sheet any time with the + in the sidebar header or ⌘N. It only lists ACs that aren't already added; if they all are, it says All set.
  • Brand-new units are still set up in the manufacturer's phone app first. Once they're on your account they show up here.
  • Adding an AC selects it straight away and fetches its live state.
03

The window at a glance

The window has no title bar of its own: a flush sidebar on the left lists your ACs, and the right side is the instrument for the one you've selected. Drag anywhere along the top rows to move the window; double-click there to zoom, exactly like a normal title bar.

Annotated SMGS Hub window. 1 2 3 4 5 6 7 8 9 10
  1. 1AC rows. Set point in the mode's colour, name, online dot and a one-line summary.
  2. 2Add and hide sidebar. ⌘N adds an AC; ⌃⌘S collapses the sidebar.
  3. 3Account footer. Who's signed in, with Settings and Sign Out.
  4. 4Header. AC name, room, and what it's doing right now ("Cooling", "Drying", "Off").
  5. 5Status pill. Online / Offline / Can't connect, when it last updated, and a spinner while a command is in flight.
  6. 6Controls / Usage. Switch between the instrument and the energy report (⇧⌘1 / ⇧⌘2).
  7. 7Info chips. Room and outdoor temperature, plus the timer only when one is set.
  8. 8The dial. The ring fills with the set point across the AC's range.
  9. 9− / +. Nudge the temperature one degree at a time.
  10. 10Control dock. Fan, Mode, Power, Functions and Timer, each showing its current value.
05

The thermostat dial

The dial is a 270° ring that fills from the AC's lowest to highest set point (usually 17–30 °C) in a gradient of the current mode's colour, with a soft glow while the AC is running.

  • Large numerals show the target. In Fan mode the AC ignores the target, so the dial shows --.
  • Mode line underneath: Cooling · Fan auto.
  • Tags for whatever's switched on: Swing, Light, Eco, Sleep, Instacool, Self Clean, FC1–FC5.
  • − / + change the target one degree per click. The number moves immediately; the command goes to the AC once you stop clicking (about 0.6 s), so five quick clicks send one change, not five.
  • The dial is a single accessible control: VoiceOver reads "23 degrees Celsius, Cooling" and swipe up/down adjusts it.
Close-up of the dial at 23 °C, Cooling, Fan auto, with Swing and Light tags.
06

The control dock

The floating bar under the dial holds everything else. Each button shows its current value and opens a popover anchored to itself. Power sits in the middle in warm orange, the only place that colour is used.

The control dock: Fan Auto, Mode Cool, Power, Functions 2 on, Timer 2h 30m.
  • Power turns the AC on or off (⌘P). It's the only control that works whenever the AC is online.
  • Picking a mode or fan speed closes the popover and applies it immediately. ⌘1–⌘4 pick Auto, Cool, Dry and Fan without opening anything.
  • Every change shows on screen instantly. If the AC rejects it, the app re-reads the AC's real state and explains what went wrong in a banner.
07

Functions

Functions popover: Eco, Light, Sleep, Instacool, Self Clean, Step, Flexicool and Swing, with Light and Swing on.
Functions, the same set as the Carrier app's Functions sheet. Lit circles are on; dimmed ones can't be used right now (hover for the reason).
FunctionWhat it does
EcoEnergy-saving cooling. Cool mode only; not with Sleep.
LightThe AC's display light on or off.
SleepGentle night profile. Cool mode only; not with Eco.
InstacoolMaximum cooling fast. Cool mode; locks the set point.
Self CleanDries and cleans the coil. Cool or Dry; locks everything else while it runs.
StepMoves the vertical louver to its next fixed position (stops vertical swing).
FlexicoolCaps cooling capacity to save power: FC1–FC5. Tap the active level to turn it off.
SwingOpens separate vertical and horizontal swing switches (horizontal only if the unit has it).
08

Timer

The timer counts down in the AC's own 30-minute steps, up to 24 hours. Its meaning follows the power state: while the AC is running it switches it off; while it's off it switches it on. It's the one control besides Power that works while the AC is off.

09

Why a control is greyed out

SMGS Hub mirrors the Carrier app's rules so you can never send a combination the AC would refuse. Dimmed controls explain themselves in a tooltip.

ControlAvailable whenTooltip when it isn't
EverythingThe AC is onlineThe AC is offline
TemperatureOn, not Fan mode, Instacool off(− / + dim; dial shows -- in Fan mode)
Mode, FunctionsThe AC is onTurn the AC on first
Fan speedOn, in Cool or Fan, with Eco and Sleep offFan speed is automatic in Auto and Dry mode · fixed while Eco or Sleep is on
Eco / SleepCool mode, and not both at onceEco can't run with Sleep
Instacool, FlexicoolCool modeInstacool works in Cool mode
Self CleanCool or Dry, with Eco and Instacool offSelf Clean works in Cool or Dry mode
TimerAny time, except during Self CleanNot available during Self Clean
10

Colour language

Every surface that signals state (ring, glow, row badge, dock highlight, chart bars) draws from one tint per mode. Grey means the AC isn't actually running. Warm orange is reserved for Power, and green only ever means online.

Cool#2A7BFF → #4CC3FF
Dry#1C9C9E → #38D3C0
Fan#5E9C7A → #9DC8B0
Auto#5B6CFF → #8FA4FF
Off#5A6677 → #7E8B9B
Power#FF8A3D

State changes cross-fade over about half a second. With Reduce Motion turned on in macOS, they switch instantly instead.

11

Offline & errors

When an AC loses its Wi-Fi, its row says Offline · last seen …, the dial and dock dim, and a banner explains what to check. If it's the cloud service that can't be reached instead, the banner says so, so you know whether the problem is the AC or the connection.

Study AC selected and offline: a banner reads 'This AC is offline. Check that it's powered and connected to Wi-Fi.' and all controls are dimmed.
An offline AC. Room and outdoor read --; nothing can be sent until it's back.
12

Usage & cost

The Usage tab turns the AC's own energy meter into a report for the last week, 30 days or 12 months, and prices it the way your electricity bill actually works.

Usage report: 228.2 kWh in 30 days, about ₹1,834, a bar chart of daily use, cards for peak day, running days and projected bill, and the Tamil Nadu slab strip with a 500-unit warning.

Reading the report

  • Headline: total kWh for the period and what it costs, with the effective price per unit.
  • Chart: one bar per day (per month for Year). Hover a bar for the exact figure; days the AC didn't run show a flat tick instead of a gap.
  • Cards: peak day, how many days it ran (and the average on those days), and the projected two-month bill (or the average per day on a flat rate).
  • Meter restarts: the AC's meter occasionally restarts from a lower value. An ⓘ appears when that happened; usage is summed from increases only, so it never goes negative.

Tamil Nadu slabs

Domestic (LT I-A) bills are charged every two months on slabs, and the first 200 units are free as long as the household stays within 500 units. SMGS Hub stacks this AC's projected units on top of everything else on your meter (set in Settings), so its cost is the extra it actually adds to your bill.

The strip shows where the AC lands: 0–200 free, 201–400 at ₹4.70, 401–500 at ₹6.30. If the AC pushes the household past 500 units, an orange warning explains that 100 of the free units are lost and the higher slabs apply.

14

Settings

Open with ⌘,, the gear in the sidebar footer, or the gear in the menu bar widget.

  • Account: who's signed in, and Sign Out…. Signing out asks first, because it also removes your ACs from this Mac and forgets the saved sign-in; you'll need a new OTP to come back.
  • Appearance: System, Light or Dark for the window.
  • Electricity cost: Tamil Nadu domestic slabs (enter roughly what your EB bill shows for two months without this AC) or a flat price per unit.
  • Open at login: start SMGS Hub with your Mac so the menu bar widget is always there.
Settings: Account, Appearance, Electricity cost with Tamil Nadu slabs and 250 other household units, and Open at login.
15

Keyboard shortcuts

ActionWindowMenu bar widget
Power on / off⌘PP
Temperature up / down⌘↑ / ⌘↓↑ / ↓
Auto / Cool / Dry / Fan⌘1–⌘41–4
Controls / Usage tab⇧⌘1 / ⇧⌘2–
Add an AC⌘N–
Show / hide sidebar⌃⌘S–
Remove selected AC⌫–
Settings⌘,Gear in the footer
Open the window–⌘O
Quit⌘Q⌘Q
16

How it stays live

SMGS Hub talks to the Jio Smart Living cloud that the Carrier app is built on: a REST API for sign-in, account and energy history, and a secure MQTT connection for commands and live state.

  • Pushed updates: when anyone changes an AC (the remote, the phone app, another Mac), the cloud pushes it and the window and widget update within moments.
  • Polling: every 15 seconds the app also re-reads each AC, as a safety net.
  • Optimistic commands: your change is shown immediately and rolled back with an explanation if the AC refuses it. A temperature you're still adjusting is never overwritten by a refresh.
  • One sign-in: the session renews itself in the background; it's kept privately on the Mac, readable only by your user account.
  • Diagnostics: SMGSHub.app/Contents/MacOS/SMGSHub --diagnose prints what the account returns, with ids masked, without opening any UI.