Integración domótica Whirlpool 6th Sense, gratuita y de código abierto

Whirlpool, Maytag and KitchenAid washers, dryers and ovens (read only), cycle end trigger.
La documentación de esta integración la escribe su autor y, por ahora, solo está disponible en inglés.
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:
| Appliance | Gladys features (all read only, unless stated) |
|---|---|
| Washer | State, Cycle, Phase (sensing, filling, soaking, washing, rinsing, spinning), Time remaining (min), Door |
| Dryer | State, Cycle, Phase (sensing, steaming, drying, cooling down), Time remaining (min), Door |
| Oven | Oven 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
- In Gladys, install the Whirlpool 6th Sense integration from the store.
- 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.
- 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.
Parámetros de configuración
Estos son los parámetros que Whirlpool 6th Sense te pide en su pantalla de configuración en Gladys.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Your Whirlpool, Maytag or KitchenAid account | section | No | Shows 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) | select | Sí | The app you use: each brand has its own account. Maytag exists in the United States only. |
| Region | select | Sí | |
| E-mail of the app | string | Sí | |
| Password of the app | secret | Sí | Kept 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) | number | No | Seconds between two reads (60 to 900): one request per appliance each time. |
| Show the air conditioners | boolean | No | Off 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 names | select | No | Used for the feature names of the appliances added from now on, and for the cycle names. |
Cómo instalar Whirlpool 6th Sense en Gladys
- En Gladys, abre Integraciones: Whirlpool 6th Sense aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
- Haz clic en Instalar. Gladys descarga la imagen Docker (
ghcr.io/lm1lc3n7/gladys-whirlpool:0.1.1), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración). - Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
- También puedes instalarla directamente desde la URL de su repositorio: https://github.com/LM1LC3N7/gladys-whirlpool.
Whirlpool 6th Sense requiere Gladys >=5.1.0. El catálogo de Gladys se actualiza cada hora, así que una nueva versión está disponible como máximo una hora después de publicarse.
¿Todavía no usas Gladys? Es gratuito y de código abierto: sigue la guía de instalación para empezar.
Sobre las integraciones externas
Whirlpool 6th Sense es una integración externa: una integración comunitaria empaquetada como contenedor Docker y publicada en GitHub. Gladys la instala con un clic y la ejecuta en un entorno aislado del núcleo. La publica y mantiene LM1LC3N7, no el equipo principal de Gladys.
- Explorar todas las integraciones, nativas y de la comunidad
- Crear y publicar tu propia integración externa
- Código fuente en GitHub — fuente de esta documentación