Skip to main content

Whirlpool 6th Sense smart home integration, free and open source

Whirlpool 6th Sense integration for Gladys Assistant

Whirlpool, Maytag and KitchenAid washers, dryers and ovens (read only), cycle end trigger.

Shows in Gladys the connected appliances of your Whirlpool, Maytag or KitchenAid account ("6th Sense Live" apps, Europe or United States): washers, dryers and ovens read only, with a "Cycle finished" scene trigger, and the air conditioners behind an option.

Unofficial API, never tested with a real appliance or account. The integration talks to the API of the apps, which Whirlpool does not document and may change at any time. It was written from the whirlpool-sixth-sense library (the one of the Home Assistant integration) and tested only with made-up answers. Not affiliated with Whirlpool, Maytag or KitchenAid.

What you get​

One Gladys device per supported appliance:

ApplianceGladys features (all read only, unless stated)
WasherState, Cycle, Phase (sensing, filling, soaking, washing, rinsing, spinning), Time remaining (min), Door
DryerState, Cycle, Phase (sensing, steaming, drying, cooling down), Time remaining (min), Door
OvenOven state (standby, preheating, cooking), Oven temperature (°C), Oven door; same for the lower oven
Air conditioner *On/Off (state), Turn on and Turn off buttons, Mode, Setpoint (16 to 30 °C), Temperature, Humidity

* only with the Show the air conditioners option (off by default).

  • State of a washer or dryer: standby, setting up, delayed start, running, finishing, paused, complete, cancelled, error, power failure, service mode, starting. The phase and the time remaining only mean something during a cycle (otherwise "None" and 0).
  • Door: an opening sensor (open / closed).
  • Oven temperature: a probe, kept out of the room average. When the oven is off, Whirlpool sends 0: the last value stays shown.
  • Refrigerators, microwaves and the appliances of "AWS IoT" accounts (the most recent ones) are not shown yet.

No command of washers, dryers or ovens​

The integration never starts, stops or sets any washer, dryer or oven: nothing is sent to these appliances. An oven is never heated from Gladys. No feature is a switch: an "everything off" from Gladys, a voice assistant or a scene cannot do anything to them.

Air conditioners: off by default​

With the Show the air conditioners option, the air conditioners are shown and can be commanded: Turn on and Turn off buttons (never a switch), Mode (6th Sense/auto, cooling, heating, fan), Setpoint from 16 to 30 °C, rounded to the degree. A value outside these bounds is refused and nothing is sent. Before each command the appliance is read again: offline or without an answer, nothing is sent.

  • On and off: only the Gladys buttons work. A "turn on" or "turn off" from a voice assistant, HomeKit or the MCP targets the On/Off state, which is read only: it is refused.
  • Mode and setpoint: with the option on, HomeKit, the MCP and Gladys scenes can change them, heating included. Turn the option on only if that suits you.
  • Option off: the air conditioners are no longer read, their states no longer sent, and every command is refused. An air conditioner already added stays in the device list, with the "unreachable" badge.

"Cycle finished" scene trigger​

In a scene, choose the Washer or dryer cycle finished trigger, with an appliance (or any) and a type (or any). It fires once per cycle, when the appliance goes from a cycle (running, finishing, paused or delayed) to "Complete". Variables for the actions: appliance name, type, cycle. It is seen at the next read: up to the refresh interval late (60 s by default). It is not reported:

  • when the appliance goes straight from "Running" to "Standby" without "Complete";
  • when the cycle finishes while the integration restarts.

After an outage (network, cloud unreachable, pause), the event may come late: at the first read after the return, if the appliance is still "Complete".

Setup​

  1. In Gladys, install the Whirlpool 6th Sense integration from the store.
  2. Choose the brand (the app you use) and the region (Europe or United States; Maytag exists in the United States only), then the e-mail and password of the app. Save.
  3. Open the Discovery tab and add the appliances.

The password field is a secret field: Gladys keeps it in its database (in clear, like every configuration value, and in its backups), never shows it again, and the integration sends it only to the Whirlpool cloud (prod-api.whrcloud.eu or api.whrcloud.com).

Whirlpool sends no verification code at sign-in: the integration never asks for one. After the first sign-in, it renews its session with its refresh token, by a timer, before the token ends (the password is not sent again). If Whirlpool refuses that token, the integration signs in again once with the password; refused, it stops.

Refresh​

Each appliance is read every 60 seconds by default (60 to 900, Refresh interval): one request per appliance. The appliance list is read again every 30 minutes (or after a click on "Scan" in Discovery).

An air conditioner command is sent at once; the value sent is shown at once and not undone by a slightly late read (20 seconds). The commands of one appliance run one after the other. Gladys waits 5 seconds: when the cloud is too slow, the command is refused before it is sent. A command left without an answer is reported "sent, without confirmation" and the state is read again 5 seconds later.

Troubleshooting​

  • E-mail or password refused: stopped, even after a restart. Check them, and the brand and region, then save (or click Test the connection). Never retried by itself, so the account is not locked.
  • Account locked (HTTP 423, too many attempts): stopped; unlock it in the app, then Test the connection.
  • Session refused right after a new sign-in: a pause, then one try after 1 hour, 6 hours, then every 24 hours (kept after a restart). Test the connection retries at once.
  • Too many requests (429): a pause of 1 minute to 6 hours (the cloud's Retry-After, 10 minutes without it), for the reads, the commands and the button, kept after a restart or a reconnection to Gladys.
  • Cloud unreachable (5xx, network): new tries after 1, 2, 5, 10, then every 15 minutes, never sooner than the interval.
  • An appliance that does not answer, or offline for Whirlpool, is marked "unreachable" on its card; the others are still read.

Limits​

  • Unofficial API: Whirlpool may change or block it.
  • No live updates (the websocket channel of the apps): one read per interval.
  • No command of washers, dryers or ovens in this version.
  • One account per Gladys.
  • Never tested with a real appliance or account: please report what you see on the GitHub repository (without your e-mail or password).

Privacy​

The integration keeps in /data/whirlpool-state.json (readable by its container only): the refresh token (the access token stays in memory) and the account id, the account they belong to as a fingerprint of the brand, region and e-mail, the end of a 429 pause, and a stop (refused credentials, locked account, unexpected answer, refused session and its next try) tied to a short fingerprint (HMAC, 4 characters) of the account and password, used only to see that they changed. Neither the e-mail nor the password. Nothing is sent anywhere but the Whirlpool cloud.

Configuration settings​

These are the settings Whirlpool 6th Sense asks for in its configuration screen in Gladys.

SettingTypeRequiredDescription
Your Whirlpool, Maytag or KitchenAid accountsectionNoShows the connected appliances of your account (6th Sense Live apps, Europe or United States) in Gladys: washers and dryers (state, cycle, phase, time remaining, door, and a "Cycle finished" scene trigger), ovens (state, temperature and door, read only: never heated from Gladys), and air conditioners behind an option. Enter the brand, region, e-mail and password of the app, save, then add the appliances from the Discovery tab. Read every 60 seconds. Unofficial API, never tested with a real appliance or account. Not affiliated with Whirlpool, Maytag or KitchenAid.
Brand (app)selectYesThe app you use: each brand has its own account. Maytag exists in the United States only.
RegionselectYes
E-mail of the appstringYes
Password of the appsecretYesKept by Gladys in its database, never shown again, sent only to the Whirlpool cloud (prod-api.whrcloud.eu or api.whrcloud.com).
Refresh interval (s)numberNoSeconds between two reads (60 to 900): one request per appliance each time.
Show the air conditionersbooleanNoOff by default. On: the air conditioners are shown (state, temperature, humidity) and can be commanded from Gladys (turn on or off with buttons, setpoint 16 to 30 °C, mode, heating included).
Language of the feature namesselectNoUsed for the feature names of the appliances added from now on, and for the cycle names.

How to install Whirlpool 6th Sense in Gladys​

  1. In Gladys, open Integrations: Whirlpool 6th Sense appears in the catalog, next to the native integrations, with a community badge.
  2. Click Install. Gladys pulls the Docker image (ghcr.io/lm1lc3n7/gladys-whirlpool:0.1.1), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration).
  3. Open the Configuration screen of the integration, fill in the settings, and save.
  4. You can also install it directly from its repository URL: https://github.com/LM1LC3N7/gladys-whirlpool.

Whirlpool 6th Sense requires Gladys >=5.1.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.

Not running Gladys yet? It is free and open source: follow the installation guide to get started.

About external integrations​

Whirlpool 6th Sense is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by LM1LC3N7, not by the Gladys core team.

Subscribe to the Gladys Assistant newsletter

A few emails per month about new releases and project news. Sent by Pierre-Gilles Leymarie, founder of the project. Unsubscribe anytime 🙂