Zum Hauptinhalt springen

Whirlpool 6th Sense Smart-Home-Integration, kostenlos und Open Source

Whirlpool 6th Sense-Integration für Gladys Assistant

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

Info

Die Dokumentation dieser Integration wird von ihrem Autor geschrieben und ist bisher nur auf Englisch verfügbar.

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.

Konfigurationseinstellungen​

Diese Einstellungen fragt Whirlpool 6th Sense in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Your Whirlpool, Maytag or KitchenAid accountsectionNeinShows 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)selectJaThe app you use: each brand has its own account. Maytag exists in the United States only.
RegionselectJa
E-mail of the appstringJa
Password of the appsecretJaKept 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)numberNeinSeconds between two reads (60 to 900): one request per appliance each time.
Show the air conditionersbooleanNeinOff 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 namesselectNeinUsed for the feature names of the appliances added from now on, and for the cycle names.

So installierst du Whirlpool 6th Sense in Gladys​

  1. Öffne in Gladys Integrationen: Whirlpool 6th Sense erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/lm1lc3n7/gladys-whirlpool:0.1.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/LM1LC3N7/gladys-whirlpool.

Whirlpool 6th Sense benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.

Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.

Über externe Integrationen​

Whirlpool 6th Sense ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von LM1LC3N7 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂