Whirlpool Corporation · JSON Structure

Whirlpool Appliance Structure

Structure of a Whirlpool smart appliance with state, capabilities, and connectivity.

Type: Properties: 0
AppliancesSmart HomeIoTConnected DevicesFortune 500Consumer Electronics

Whirlpool Connected Appliance is a JSON Structure definition published by Whirlpool Corporation.

Meta-schema:

JSON Structure

whirlpool-appliance-structure.json Raw ↑
{
  "name": "Whirlpool Connected Appliance",
  "description": "Structure of a Whirlpool smart appliance with state, capabilities, and connectivity.",
  "fields": [
    { "name": "applianceId", "type": "string", "required": true },
    { "name": "brand", "type": "string", "enum": ["Whirlpool", "Maytag", "KitchenAid", "JennAir", "Amana", "Brastemp", "Consul", "InSinkErator"], "required": true },
    { "name": "type", "type": "string", "enum": ["Washer", "Dryer", "Oven", "Refrigerator", "Dishwasher", "AirConditioner", "Microwave", "Range"], "required": true },
    { "name": "modelNumber", "type": "string", "required": false },
    { "name": "serialNumber", "type": "string", "required": false },
    { "name": "nickname", "type": "string", "required": false },
    { "name": "region", "type": "string", "required": false },
    {
      "name": "connectivity",
      "type": "object",
      "required": false,
      "fields": [
        { "name": "connected", "type": "boolean" },
        { "name": "protocol", "type": "string" },
        { "name": "lastSeen", "type": "string", "format": "date-time" }
      ]
    },
    {
      "name": "state",
      "type": "object",
      "required": false,
      "fields": [
        { "name": "machineState", "type": "string" },
        { "name": "timeRemaining", "type": "integer" },
        { "name": "doorOpen", "type": "boolean" }
      ]
    },
    {
      "name": "washerState",
      "type": "object",
      "required": false,
      "fields": [
        { "name": "cycleType", "type": "string" },
        { "name": "spinSpeed", "type": "string" },
        { "name": "waterTemperature", "type": "string" },
        { "name": "soilLevel", "type": "string" },
        { "name": "washAndGoTankFill", "type": "string" }
      ]
    },
    {
      "name": "dryerState",
      "type": "object",
      "required": false,
      "fields": [
        { "name": "cycleType", "type": "string" },
        { "name": "dryingTemperature", "type": "string" },
        { "name": "dryLevel", "type": "string" },
        { "name": "wrinkleShield", "type": "boolean" }
      ]
    },
    {
      "name": "ovenState",
      "type": "object",
      "required": false,
      "fields": [
        { "name": "mode", "type": "string" },
        { "name": "targetTemperature", "type": "number" },
        { "name": "currentTemperature", "type": "number" },
        { "name": "timerMinutes", "type": "integer" }
      ]
    },
    {
      "name": "refrigeratorState",
      "type": "object",
      "required": false,
      "fields": [
        { "name": "fridgeTemperature", "type": "number" },
        { "name": "freezerTemperature", "type": "number" },
        { "name": "iceMode", "type": "string" },
        { "name": "quickCool", "type": "boolean" }
      ]
    },
    {
      "name": "airConditionerState",
      "type": "object",
      "required": false,
      "fields": [
        { "name": "mode", "type": "string" },
        { "name": "targetTemperature", "type": "number" },
        { "name": "fanSpeed", "type": "string" },
        { "name": "swingMode", "type": "string" }
      ]
    },
    { "name": "integrations", "type": "array", "items": "string", "required": false }
  ]
}