{
  "090615.switch.x6wtft": [
    {
      "iid": 7,
      "properties": [
        {"iid": 5, "type": "urn:miot-spec-v2:property:fan-level"}
      ]
    }
  ],
  "aice.motor.kzmu3": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 1,
          "value-list": [
            {"value": 0, "description": "Pause"},
            {"value": 1, "description": "Open"},
            {"value": 2, "description": "Close"}
          ]
        }
      ]
    }
  ],
  "aimore.light.cw3201": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 5,
          "unit": "kelvin"
        }
      ]
    }
  ],
  "ainice.motion.bt": [
    {
      "iid": 2,
      "properties": [
        {"iid": 2, "type": "urn:miot-spec-v2:property:bt-name", "description": "BT Name"},
        {"iid": 3, "type": "urn:miot-spec-v2:property:bt-code", "description": "BT Code"},
        {"iid": 4, "type": "urn:miot-spec-v2:property:online-status", "description": "Online Status"},
        {"iid": 5, "type": "urn:miot-spec-v2:property:motion-state", "description": "Motion State"},
        {"iid": 6, "type": "urn:miot-spec-v2:property:offline-timeout", "description": "Offline Timeout"},
        {"iid": 7, "type": "urn:miot-spec-v2:property:motion-timeout", "description": "Motion Timeout"},
        {"iid": 8, "type": "urn:miot-spec-v2:property:online-level", "description": "Online Level"},
        {"iid": 9, "type": "urn:miot-spec-v2:property:offline-level", "description": "Offline Level"},
        {"iid": 10, "type": "urn:miot-spec-v2:property:online-duration", "description": "Online Duration"},
        {"iid": 11, "type": "urn:miot-spec-v2:property:offline-duration", "description": "Offline Duration"},
        {"iid": 12, "type": "urn:miot-spec-v2:property:gesture-enabled", "description": "Gesture Enabled"},
        {"iid": 13, "type": "urn:miot-spec-v2:property:gesture-switch", "description": "Gesture Switch"},
        {"iid": 14, "type": "urn:miot-spec-v2:property:ble-in-threshold", "description": "Ble In Threshold"},
        {"iid": 15, "type": "urn:miot-spec-v2:property:ble-out-threshold", "description": "Ble Out Threshold"},
        {"iid": 16, "type": "urn:miot-spec-v2:property:ble-near", "description": "Ble Near"},
        {"iid": 17, "type": "urn:miot-spec-v2:property:ble-far-timeout", "description": "Ble Far Timeout"},
        {"iid": 18, "type": "urn:miot-spec-v2:property:light-off", "description": "Indicator Light Off"},
        {"iid": 21, "type": "urn:miot-spec-v2:property:motion-status", "description": "Motion Status"},
        {"iid": 23, "type": "urn:miot-spec-v2:property:ble-far-timeout", "description": "Ble Far Timeout"},
        {"iid": 24, "type": "urn:miot-spec-v2:property:bt-status", "description": "BT1 Status"},
        {"iid": 25, "type": "urn:miot-spec-v2:property:bt-status", "description": "BT2 Status"},
        {"iid": 26, "type": "urn:miot-spec-v2:property:bt-status", "description": "BT3 Status"},
        {"iid": 27, "type": "urn:miot-spec-v2:property:bt-status", "description": "BT4 Status"},
        {"iid": 28, "type": "urn:miot-spec-v2:property:bt-status", "description": "BT5 Status"},
        {"iid": 29, "type": "urn:miot-spec-v2:property:bt-status", "description": "BT6 Status"},
        {"iid": 30, "type": "urn:miot-spec-v2:property:bt-status", "description": "BT7 Status"},
        {"iid": 31, "type": "urn:miot-spec-v2:property:bt1-config", "description": "BT1 Config"},
        {"iid": 32, "type": "urn:miot-spec-v2:property:bt2-config", "description": "BT2 Config"},
        {"iid": 33, "type": "urn:miot-spec-v2:property:bt3-config", "description": "BT3 Config"},
        {"iid": 34, "type": "urn:miot-spec-v2:property:bt4-config", "description": "BT4 Config"},
        {"iid": 35, "type": "urn:miot-spec-v2:property:bt5-config", "description": "BT5 Config"},
        {"iid": 36, "type": "urn:miot-spec-v2:property:bt6-config", "description": "BT6 Config"},
        {"iid": 37, "type": "urn:miot-spec-v2:property:bt7-config", "description": "BT7 Config"},
        {"iid": 38, "type": "urn:miot-spec-v2:property:bt-level", "description": "BT Level"}
      ]
    }
  ],
  "ainice.sensor_occupy.3b": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 1,
          "type": "urn:miot-spec-v2:property:current-occupied",
          "description": "Current Occupied",
          "value-range": [0, 5, 1],
          "value-list": []
        },
        {"iid": 2, "type": "urn:miot-spec-v2:property:total-occupied", "description": "Total Occupied"},
        {"iid": 5, "type": "urn:miot-spec-v2:property:a-occupied", "description": "A Occupied"},
        {"iid": 6, "type": "urn:miot-spec-v2:property:a-someone-duration", "description": "A Someone Duration"},
        {"iid": 7, "type": "urn:miot-spec-v2:property:a-noone-duration", "description": "A Noone Duration"},
        {"iid": 8, "type": "urn:miot-spec-v2:property:b-occupied", "description": "B Occupied"},
        {"iid": 9, "type": "urn:miot-spec-v2:property:b-someone-duration", "description": "B Someone Duration"},
        {"iid": 10, "type": "urn:miot-spec-v2:property:b-noone-duration", "description": "B Noone Duration"},
        {"iid": 11, "type": "urn:miot-spec-v2:property:c-occupied", "description": "C Occupied"},
        {"iid": 12, "type": "urn:miot-spec-v2:property:c-someone-duration", "description": "C Someone Duration"},
        {"iid": 13, "type": "urn:miot-spec-v2:property:c-noone-duration", "description": "C Noone Duration"},
        {"iid": 14, "type": "urn:miot-spec-v2:property:d-occupied", "description": "D Occupied"},
        {"iid": 15, "type": "urn:miot-spec-v2:property:d-someone-duration", "description": "D Someone Duration"},
        {"iid": 16, "type": "urn:miot-spec-v2:property:d-noone-duration", "description": "D Noone Duration"},
        {"iid": 17, "type": "urn:miot-spec-v2:property:e-occupied", "description": "E Occupied"},
        {"iid": 18, "type": "urn:miot-spec-v2:property:e-someone-duration", "description": "E Someone Duration"},
        {"iid": 19, "type": "urn:miot-spec-v2:property:e-noone-duration", "description": "E Noone Duration"}
      ]
    },
    {
      "iid": 3,
      "properties": [
        {"iid": 1, "description": "Indicator Light"},
        {"iid": 2, "type": "urn:miot-spec-v2:property:illumination", "description": "Illumination", "unit": "lx"}
      ]
    }
  ],

  "cgllc.motion.cgpr1": [
    {
      "iid": 2,
      "properties": [
          {"iid": 2, "value-range": [1, 30, 1], "value-list": null}
      ]
    }
  ],
  "chuangmi.plug.hmi208": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 2,
          "type": "urn:miot-spec-v2:property:temperature",
          "description": "Temperature",
          "format": "float",
          "access": ["read"],
          "unit": "celsius",
          "value-range": [-40, 125, 0.1]
        }
      ]
    }
  ],

  "chuangmi.plug.v1": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 101,
          "type": "urn:miot-spec-v2:property:temperature",
          "format": "float",
          "access": ["read"],
          "unit": "celsius",
          "value-range": [-40, 125, 0.1]
        }
      ]
    },
    {
      "iid": 300,
      "type": "urn:miot-spec-v2:service:indicator-light",
      "properties": [
        {
          "iid": 301,
          "type": "urn:miot-spec-v2:property:on",
          "description": "Switch Status",
          "format": "bool",
          "access": ["read", "write"]
        }
      ]
    }
  ],

  "chunmi.cooker.eh1": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 1,
          "value-list": [
            {"value": 1, "description": "Idle"},
            {"value": 2, "description": "Running"},
            {"value": 3, "description": "Keep Warm"},
            {"value": 4, "description": "Cook Reservation"},
            {"value": 5, "description": "Setting"},
            {"value": 6, "description": "Setting"},
            {"value": 7, "description": "Setting"},
            {"value": 8, "description": "Error"},
            {"value": 9, "description": "Finish"}
          ]
        },
        {
          "iid": 101,
          "type": "urn:miot-spec-v2:property:menu",
          "format": "string",
          "access": ["read"]
        },
        {
          "iid": 102,
          "type": "urn:miot-spec-v2:property:left_time",
          "unit": "seconds",
          "format": "uint32",
          "access": ["read"],
          "value-range": [0, 65535, 1]
        }
      ]
    }
  ],

  "chunmi.ihcooker.chefnic": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 1,
          "access": ["read", "notify"]
        }
      ],
      "actions": [
        {
          "iid": 101,
          "type": "urn:miot-spec-v2:action:cancel-cooking",
          "description": "Cancel Cooking",
          "in": [],
          "out": []
        }
      ]
    }
  ],
  "chunmi.ihcooker.v1": "chunmi.ihcooker.chefnic",

  "deerma.humidifier.jsq": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 101,
          "type": "urn:miot-spec-v2:property:target-humidity",
          "format": "uint8",
          "access": ["read", "write"],
          "unit": "percentage",
          "value-range": [40, 99, 1]
        },
        {
          "iid": 102,
          "type": "urn:miot-spec-v2:property:water-status",
          "format": "bool",
          "access": ["read"]
        },
        {
          "iid": 103,
          "type": "urn:miot-spec-v2:property:tank-status",
          "format": "bool",
          "access": ["read"]
        },
        {
          "iid": 104,
          "type": "urn:miot-spec-v2:property:fan-level",
          "format": "uint8",
          "access": ["read", "write"],
          "value-list": [
            {"value": 1, "description": "Low"},
            {"value": 2, "description": "Medium"},
            {"value": 3, "description": "High"},
            {"value": 4, "description": "ConstHumidity"}
          ]
        }
      ]
    }
  ],
  "deerma.humidifier.jsq1": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 101,
          "type": "urn:miot-spec-v2:property:target-humidity",
          "format": "uint8",
          "access": ["read", "write"],
          "unit": "percentage",
          "value-range": [1, 99, 1]
        },
        {
          "iid": 102,
          "type": "urn:miot-spec-v2:property:water-status",
          "format": "bool",
          "access": ["read"]
        },
        {
          "iid": 103,
          "type": "urn:miot-spec-v2:property:tank-status",
          "format": "bool",
          "access": ["read"]
        }
      ]
    }
  ],
  "deerma.humidifier.mjjsq": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 102,
          "type": "urn:miot-spec-v2:property:water-status",
          "format": "bool",
          "access": ["read"]
        },
        {
          "iid": 103,
          "type": "urn:miot-spec-v2:property:tank-status",
          "format": "bool",
          "access": ["read"]
        }
      ]
    }
  ],

  "dmaker.fan.p5": [
    {
      "iid": 200,
      "type": "urn:dmaker-spec:service:off-delay-time",
      "properties": [
        {
          "iid": 201,
          "type": "urn:dmaker-spec:property:off-delay-time",
          "format": "uint16",
          "access": ["read", "write"],
          "unit": "minutes",
          "value-range": [0, 720, 1]
        }
      ]
    }
  ],

  "dreame.vacuum.mc1808": [
    {
      "iid": 18,
      "properties": [
        {
          "iid": 9,
          "access": ["read", "notify"]
        }
      ]
    }
  ],

  "dreame.vacuum.p2029": [
    {
      "iid": 4,
      "actions": [
        {
          "iid": 1,
          "in": [1, 10]
        }
      ]
    }
  ],

  "dreame.vacuum.p2140p": [
    {
      "iid": 4,
      "actions": [
        {
          "iid": 1,
          "in": [1, 10]
        }
      ]
    }
  ],

  "leshow.humidifier.jsq1": [
    {
      "iid": 8,
      "properties": [
        {
          "iid": 5,
          "access": ["read"]
        },
        {
          "iid": 6,
          "access": ["read", "write"]
        },
        {
          "iid": 7,
          "access": ["read"]
        }
      ]
    }
  ],

  "hfjh.fishbowl.m100": [
    {
      "iid": 15,
      "properties": [
        {
          "iid": 2,
          "value-list": [
            {"value": 0, "description": "Day"},
            {"value": 1, "description": "Flow"},
            {"value": 2, "description": "Water Grass"},
            {"value": 3, "description": "Color 1"},
            {"value": 4, "description": "Color 2"},
            {"value": 5, "description": "Color 3"},
            {"value": 6, "description": "Color 4"},
            {"value": 7, "description": "Night Light"},
            {"value": 8, "description": "Color 5"}
          ]
        }
      ]
    }
  ],

  "lumi.airer.acn01": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 101,
          "type": "urn:miot-spec-v2:property:dry_mode",
          "format": "uint8",
          "access": ["read", "write"],
          "value-list": [
            {"value": 0, "description": "off"},
            {"value": 1, "description": "dry"},
            {"value": 2, "description": "winddry"}
          ]
        }
      ]
    }
  ],

  "lumi.motion.bmgl01": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 1,
          "type": "urn:miot-spec-v2:property:illumination",
          "unit": "lx",
          "value-list": [
            {"value": 1, "description": "0"},
            {"value": 2, "description": "100"}
          ]
        }
      ]
    }
  ],

  "midea.aircondition.v1": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 101,
          "type": "urn:miot-spec-v2:property:temperature",
          "format": "float",
          "access": ["read"],
          "unit": "celsius",
          "value-range": [-30, 100, 0.1]
        }
      ]
    }
  ],
  "midea.aircondition.xa1": "midea.aircondition.v1",
  "midea.aircondition.xa2": "midea.aircondition.v1",

  "midjd8.washer.44": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 24,
          "value-range": [0, 720, 120]
        },
        {
          "iid": 27,
          "value-range": [0, 180, 30]
        }
      ]
    }
  ],

  "mmgg.feeder.petfeeder": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 101,
          "type": "urn:mmgg-spec:property:pet-food-left-level",
          "format": "uint8",
          "access": ["read"],
          "value-list": [
            {"value": 0, "description": "Normal"},
            {"value": 1, "description": "Low"},
            {"value": 2, "description": "Empty"}
          ]
        },
        {
          "iid": 102,
          "type": "urn:miot-spec-v2:property:feedstatus",
          "format": "bool",
          "access": ["read", "write"]
        },
        {
          "iid": 103,
          "type": "urn:mmgg-spec:property:feed-today",
          "format": "uint8",
          "access": ["read"],
          "unit": "none",
          "value-range": [0, 255, 1]
        },
        {
          "iid": 104,
          "type": "urn:miot-spec-v2:property:desiccant-left-time",
          "format": "uint16",
          "access": ["read"],
          "unit": "days",
          "value-range": [0, 30, 1]
        },
        {
          "iid": 105,
          "type": "urn:miot-spec-v2:property:cleantime",
          "description": "Clean Left Time",
          "format": "uint8",
          "access": ["read"],
          "unit": "days",
          "value-range": [0, 14, 1]
        },
        {
          "iid": 106,
          "type": "urn:mmgg-spec:property:doorstatus",
          "format": "uint8",
          "access": ["read", "notify"],
          "unit": "none",
          "value-range": [0, 1, 1]
        },
        {
          "iid": 107,
          "type": "urn:mmgg-spec:property:outletstatus",
          "format": "uint8",
          "access": ["read", "notify"],
          "unit": "none",
          "value-range": [0, 1, 1]
        }
      ],
      "actions": [
        {
          "iid": 101,
          "type": "urn:miot-spec-v2:action:reset-desiccant-life",
          "in": [],
          "out": []
        }
      ]
    },
    {
      "iid": 200,
      "type": "urn:miot-spec-v2:service:indicator-light",
      "properties": [
        {
          "iid": 201,
          "type": "urn:miot-spec-v2:property:on",
          "description": "Switch Status",
          "format": "bool",
          "access": ["read", "write"]
        }
      ]
    },
    {
      "iid": 300,
      "type": "urn:miot-spec-v2:service:physical-controls-locked",
      "properties": [
        {
          "iid": 301,
          "type": "urn:miot-spec-v2:property:physical-controls-locked",
          "format": "bool",
          "access": ["read", "write"]
        }
      ]
    }
  ],

  "nwt.derh.wdh318efw1": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 101,
          "type": "urn:miot-spec-v2:property:target-humidity",
          "format": "uint8",
          "access": ["read", "write"],
          "unit": "percentage",
          "value-range": [40, 60, 10]
        },
        {
          "iid": 102,
          "type": "urn:miot-spec-v2:property:tank-full",
          "format": "bool",
          "access": ["read"]
        }
      ]
    }
  ],

  "ows.towel_w.mj1x0": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 2,
          "value-list": [
            {"value": 0, "description": "Dry"},
            {"value": 1, "description": "Warn"},
            {"value": 2, "description": "Antifreeze"},
            {"value": 3, "description": "Programming"}
          ]
        },
        {
          "iid": 101,
          "type": "urn:viomi-spec:property:dry-time",
          "format": "uint8",
          "access": ["read", "write"],
          "unit": "hours",
          "value-range": [1, 24, 1]
        }
      ]
    }
  ],

  "roborock.vacuum.a14": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 1,
          "value-list": [
            {"value": 1, "description": "Starting"},
            {"value": 2, "description": "Charger Disconnected"},
            {"value": 3, "description": "Idle"},
            {"value": 4, "description": "Remote Control"},
            {"value": 5, "description": "Sweeping"},
            {"value": 6, "description": "Go Charging"},
            {"value": 7, "description": "Manual Mode"},
            {"value": 8, "description": "Charging"},
            {"value": 9, "description": "Charging Problem"},
            {"value": 10, "description": "Paused"},
            {"value": 11, "description": "Spot Sweeping"},
            {"value": 12, "description": "Error"},
            {"value": 13, "description": "Shutting Down"},
            {"value": 14, "description": "Updating"},
            {"value": 15, "description": "Go Charging"},
            {"value": 16, "description": "Goto Target"},
            {"value": 17, "description": "Select Sweeping"},
            {"value": 18, "description": "Zone Sweeping"},
            {"value": 22, "description": "Emptying Bin"},
            {"value": 100, "description": "Charging Completed"},
            {"value": 101, "description": "Device Offline"}
          ]
        },
        {
          "iid": 4,
          "value-list": [
            {"value": 101, "description": "Silent"},
            {"value": 102, "description": "Basic"},
            {"value": 103, "description": "Strong"},
            {"value": 104, "description": "Full Speed"},
            {"value": 105, "description": "Mop Only"},
            {"value": 106, "description": "Custom"}
          ]
        },
        {
          "iid": 102,
          "type": "urn:miot-spec-v2:property:water-level",
          "format": "uint8",
          "access": ["read", "write"],
          "value-list": [
            {"value": 200, "description": "Off"},
            {"value": 201, "description": "Level1"},
            {"value": 202, "description": "Level2"},
            {"value": 203, "description": "Level3"},
            {"value": 204, "description": "Custom"}
          ]
        },
        {
          "iid": 103,
          "type": "urn:miot-spec-v2:property:mop-mode",
          "format": "uint8",
          "access": ["read", "write"],
          "value-list": [
            {"value": 300, "description": "Standard"},
            {"value": 301, "description": "Deep"},
            {"value": 302, "description": "Custom"}
          ]
        }
      ]
    }
  ],
  "roborock.vacuum.a15": "roborock.vacuum.a14",
  "roborock.vacuum.a19": "roborock.vacuum.a14",
  "roborock.vacuum.a23": "roborock.vacuum.a14",
  "roborock.vacuum.a26": "roborock.vacuum.a14",
  "roborock.vacuum.a27": "roborock.vacuum.a14",
  "roborock.vacuum.a29": "roborock.vacuum.a14",
  "roborock.vacuum.a30": "roborock.vacuum.a14",
  "roborock.vacuum.a34": "roborock.vacuum.a14",
  "roborock.vacuum.a37": "roborock.vacuum.a14",
  "roborock.vacuum.a38": "roborock.vacuum.a14",
  "roborock.vacuum.a40": "roborock.vacuum.a14",
  "roborock.vacuum.a46": "roborock.vacuum.a14",
  "roborock.vacuum.a50": "roborock.vacuum.a14",
  "roborock.vacuum.a51": "roborock.vacuum.a14",
  "roborock.vacuum.a52": "roborock.vacuum.a14",
  "roborock.vacuum.a62": "roborock.vacuum.a14",
  "roborock.vacuum.a64": "roborock.vacuum.a14",
  "roborock.vacuum.a65": "roborock.vacuum.a14",
  "roborock.vacuum.a66": "roborock.vacuum.a14",
  "roborock.vacuum.a69": "roborock.vacuum.a14",
  "roborock.vacuum.a70": "roborock.vacuum.a14",
  "roborock.vacuum.a74": "roborock.vacuum.a14",
  "roborock.vacuum.a75": "roborock.vacuum.a14",
  "roborock.vacuum.a76": "roborock.vacuum.a14",
  "rockrobo.vacuum.v1": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 2,
          "value-range": [10, 100, 10]
        }
      ]
    }
  ],

  "shuii.humidifier.jsq002": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 5,
          "access": ["read", "notify"]
        }
      ]
    },
    {
      "iid": 3,
      "properties": [
        {
          "iid": 1,
          "access": ["read", "notify"]
        },
        {
          "iid": 2,
          "access": ["read", "notify"]
        }
      ]
    }
  ],

  "suittc.airrtc.wk168": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 2,
          "value-list": []
        }
      ]
    }
  ],

  "tinymu.toiletlid.v1": [
    {
      "iid": 3,
      "properties": [
        {
          "iid": 101,
          "type": "urn:miot-spec-v2:property:status",
          "format": "uint8",
          "access": ["read"],
          "value-list": [
            {"value": 0, "description": "idle"},
            {"value": 1, "description": "occupied"},
            {"value": 2, "description": "rear_cleanse"},
            {"value": 3, "description": "front_cleanse"},
            {"value": 6, "description": "nozzle_clean"}
          ]
        },
        {
          "iid": 102,
          "type": "urn:miot-spec-v2:property:seating-state",
          "format": "bool",
          "access": ["read"]
        },
        {
          "iid": 103,
          "type": "urn:miot-spec-v2:property:ambient-light",
          "format": "uint8",
          "access": ["read", "write"],
          "value-list": [
            {"value": 0, "description": "White"},
            {"value": 1, "description": "Yellow"},
            {"value": 2, "description": "Pink"},
            {"value": 3, "description": "Green"},
            {"value": 4, "description": "Violet"},
            {"value": 5, "description": "Blue"},
            {"value": 6, "description": "Orange"},
            {"value": 7, "description": "Red"}
          ]
        }
      ]
    }
  ],
  "viomi.fridge.m1": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 2,
          "type": "urn:miot-spec-v2:property:temperature",
          "description": "Indoor Temperature",
          "format": "float",
          "access": ["read"],
          "unit": "celsius",
          "value-range": [-40, 125, 1]
        }
      ]
    }
  ],

  "viomi.vacuum.v7": [
    {
      "iid": 200,
      "type": "urn:viomi-spec:service:viomi-vacuum",
      "properties": [
        {
          "iid": 201,
          "type": "urn:viomi-spec:property:main-brush-life",
          "format": "uint8",
          "access": ["read", "notify"],
          "unit": "percentage",
          "value-range": [0, 100, 1]
        },
        {
          "iid": 202,
          "type": "urn:viomi-spec:property:side-brush-life",
          "format": "uint8",
          "access": ["read", "notify"],
          "unit": "percentage",
          "value-range": [0, 100, 1]
        },
        {
          "iid": 203,
          "type": "urn:viomi-spec:property:hypa-life",
          "format": "uint8",
          "access": ["read", "notify"],
          "unit": "percentage",
          "value-range": [0, 100, 1]
        },
        {
          "iid": 204,
          "type": "urn:viomi-spec:property:mop-life",
          "format": "uint8",
          "access": ["read", "notify"],
          "unit": "percentage",
          "value-range": [0, 100, 1]
        }
      ]
    }
  ],
  "viomi.vacuum.v8": [
    {
      "iid": 200,
      "type": "urn:viomi-spec:service:viomi-vacuum",
      "properties": [
        {
          "iid": 201,
          "type": "urn:viomi-spec:property:main-brush-life",
          "format": "uint8",
          "access": ["read", "notify"],
          "unit": "percentage",
          "value-range": [0, 100, 1]
        },
        {
          "iid": 202,
          "type": "urn:viomi-spec:property:side-brush-life",
          "format": "uint8",
          "access": ["read", "notify"],
          "unit": "percentage",
          "value-range": [0, 100, 1]
        },
        {
          "iid": 203,
          "type": "urn:viomi-spec:property:hypa-life",
          "format": "uint8",
          "access": ["read", "notify"],
          "unit": "percentage",
          "value-range": [0, 100, 1]
        },
        {
          "iid": 204,
          "type": "urn:viomi-spec:property:mop-life",
          "format": "uint8",
          "access": ["read", "notify"],
          "unit": "percentage",
          "value-range": [0, 100, 1]
        }
      ]
    }
  ],
  "viomi.vacuum.v18": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 2,
          "type": "urn:miot-spec-v2:property:fault:00000009:viomi-v37:1",
          "description": "Device Fault",
          "format": "uint32",
          "access": [
            "read",
            "notify"
          ],
          "value-list": [
            {"value": 0, "description": "No Error"},
            {"value": 1, "description": "Low Battery Find Charge"},
            {"value": 2, "description": "Low Bat Need Poweroff"},
            {"value": 3, "description": "Wheel Trap"},
            {"value": 4, "description": "Collision Error"},
            {"value": 5, "description": "Tile Do Task"},
            {"value": 6, "description": "Lidar Point Err"},
            {"value": 7, "description": "Front Wall Err"},
            {"value": 8, "description": "Along Wall Err"},
            {"value": 9, "description": "Mid Brush Err"},
            {"value": 10, "description": "Side Brush Err"},
            {"value": 11, "description": "Fan Err"},
            {"value": 12, "description": "Lidar Cover"},
            {"value": 13, "description": "Garbage Full"},
            {"value": 14, "description": "Garbage Out"},
            {"value": 15, "description": "Garbage Full Out"},
            {"value": 16, "description": "Trapped"},
            {"value": 17, "description": "Pick Up"},
            {"value": 18, "description": "Garbage Out"},
            {"value": 19, "description": "Insufficient Water Please Add"},
            {"value": 20, "description": "Cannot Arrive"},
            {"value": 21, "description": "Start From Forbid"},
            {"value": 22, "description": "Drop"},
            {"value": 23, "description": "Kit Water Pump"},
            {"value": 24, "description": "Find Charge Failed"},
            {"value": 25, "description": "No Mop Clean"},
            {"value": 26, "description": "Low Battery Cant Clean"},
            {"value": 27, "description": "Dust Bag Not In Place"},
            {"value": 28, "description": "Dust Collector Fan Failure"},
            {"value": 29, "description": "Dust Dag Is Full"},
            {"value": 30, "description": "Wait Dust End To Clean"},
            {"value": 31, "description": "Clean End Take Mop"},
            {"value": 32, "description": "Left Tire Lock"},
            {"value": 33, "description": "Right Tire Lock"},
            {"value": 34, "description": "Air Flue  Blocking"}
          ]
        },
        {
          "iid": 11,
          "description": "Clean Mode",
          "value-list": [
            {"value": 0, "description": "Vacuum"},
            {"value": 1, "description": "Vacuum & Mop"},
            {"value": 2, "description": "Mop"}
          ]
        },
        {
          "iid": 12,
          "description": "Water Box",
          "value-list": [
            {"value": 0, "description": "0"},
            {"value": 1, "description": "1"},
            {"value": 2, "description": "Removed"},
            {"value": 3, "description": "Installed"}
          ]
        },
        {
          "iid": 13,
          "description": "Mop Holder",
          "type": "urn:miot-spec-v2:property:mop-state:0000007C:viomi-v18:1",
          "value-list": [
            {"value": 0, "description": "Removed"},
            {"value": 1, "description": "Installed"}
          ]
        },
        {"iid": 17, "description": "Volume"}
      ]
    },
    {
      "iid": 4,
      "properties": [
        {"iid": 1, "description": "Repeat Cleaning"},
        {"iid": 3, "description": "Remember State"},
        {"iid": 6, "description": "Mopping Mode"},
        {"iid": 26, "description": "Clean Time", "unit": "s"},
        {"iid": 27, "description": "Clean Area", "unit": "㎡"},
        {"iid": 41, "description": "Dust Collection"}
      ]
    }
  ],

  "viomi.waterheater.e1": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 2,
          "access": ["read", "notify"]
        },
        {
          "iid": 5,
          "access": ["read", "notify"]
        }
      ]
    }
  ],
  "viomi.waterheater.u1": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 6,
          "access": ["read", "write", "notify"]
        },
        {
          "iid": 103,
          "type": "urn:miot-spec-v2:property:water-velocity",
          "format": "uint8",
          "access": ["read", "notify"],
          "unit": "L/min",
          "value-range": [0, 255, 1]
        }
      ]
    }
  ],
  "viomi.waterheater.u7": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 4,
          "access": ["read", "write"]
        },
        {
          "iid": 102,
          "type": "urn:miot-spec-v2:property:mode",
          "format": "uint8",
          "access": ["read", "write"],
          "value-list": [
              {"value": 0, "description": "Custom"},
              {"value": 1, "description": "Children"},
              {"value": 2, "description": "Comfortable"},
              {"value": 3, "description": "Old Man"},
              {"value": 4, "description": "Kitchen"}
          ]
        },
        {
          "iid": 103,
          "type": "urn:miot-spec-v2:property:water-velocity",
          "format": "uint8",
          "access": ["read", "notify"],
          "unit": "L/min",
          "value-range": [0, 255, 1]
        }
      ]
    },
    {
      "iid": 200,
      "type": "urn:miot-spec-v2:service:custom",
      "properties": [
        {
          "iid": 201,
          "type": "urn:miot-spec-v2:property:preheating",
          "format": "bool",
          "access": ["read", "write"]
        }
      ]
    }
  ],
  "viomi.waterheater.u8": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 3,
          "access": ["read"]
        },
        {
          "iid": 5,
          "access": ["read", "write"]
        },
        {
          "iid": 102,
          "type": "urn:miot-spec-v2:property:mode",
          "format": "uint8",
          "access": ["read", "write"],
          "value-list": [
              {"value": 0, "description": "Custom"},
              {"value": 1, "description": "Children"},
              {"value": 2, "description": "Comfortable"},
              {"value": 3, "description": "Old Man"},
              {"value": 4, "description": "Kitchen"}
          ]
        },
        {
          "iid": 103,
          "type": "urn:miot-spec-v2:property:water-velocity",
          "format": "uint8",
          "access": ["read", "notify"],
          "unit": "L/min",
          "value-range": [0, 255, 1]
        }
      ]
    },
    {
      "iid": 200,
      "type": "urn:miot-spec-v2:service:custom",
      "properties": [
        {
          "iid": 201,
          "type": "urn:miot-spec-v2:property:preheating",
          "format": "bool",
          "access": ["read", "write"]
        }
      ]
    }
  ],
  "viomi.waterheater.u11": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 102,
          "type": "urn:miot-spec-v2:property:mode",
          "format": "uint8",
          "access": ["read", "write"],
          "value-list": [
            {"value": 0, "description": "Custom"},
            {"value": 1, "description": "Children"},
            {"value": 2, "description": "Comfortable"},
            {"value": 3, "description": "Old Man"},
            {"value": 4, "description": "Kitchen"}
          ]
        },
        {
          "iid": 103,
          "type": "urn:miot-spec-v2:property:water-velocity",
          "format": "uint8",
          "access": ["read"],
          "unit": "L/min",
          "value-range": [0, 255, 1]
        }
      ]
    },
    {
      "iid": 200,
      "type": "urn:miot-spec-v2:service:custom",
      "properties": [
        {
          "iid": 201,
          "type": "urn:miot-spec-v2:property:preheating",
          "format": "bool",
          "access": ["read", "write"]
        }
      ]
    }
  ],
  "viomi.waterheater.u12": "viomi.waterheater.u11",

  "xiaomi.wifispeaker.x08c": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 1,
          "value-list": [
            {"value": 0, "description": "Playing"},
            {"value": 1, "description": "Pause"}
          ]
        }
      ]
    }
  ],
  "yeelink.bhf_light.v1": "yeelink.bhf_light.v2",
  "yeelink.bhf_light.v2": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 101,
          "type": "urn:miot-spec-v2:property:off-delay-time",
          "format": "uint32",
          "access": ["read", "write"],
          "unit": "minutes",
          "value-range": [0, 120, 1]
        }
      ]
    },
    {
      "iid": 2,
      "properties": [
        {
          "iid": 103,
          "type": "urn:miot-spec-v2:property:mode",
          "format": "uint8",
          "access": ["read", "write"],
          "value-list": [
            {"value": 1, "description": "Day"},
            {"value": 5, "description": "Night"}
          ]
        }
      ]
    },
    {
      "iid": 3,
      "properties": [
        {
          "iid": 102,
          "type": "urn:miot-spec-v2:property:off-delay-time",
          "format": "uint32",
          "access": ["read", "write"],
          "unit": "minutes",
          "value-range": [0, 120, 1]
        }
      ]
    }
  ],
  "yeelink.bhf_light.v3": [
    {
      "iid": 3,
      "type": "urn:miot-spec-v2:service:ptc-bath-heater",
      "properties": [
        {
          "iid": 1,
          "type": "urn:miot-spec-v2:property:mode",
          "format": "uint8",
          "access": ["read", "write"],
          "value-list": [
            {"value": 1, "description": "Idle"},
            {"value": 2, "description": "Heat"},
            {"value": 3, "description": "Ventilate"},
            {"value": 4, "description": "Dry"},
            {"value": 5, "description": "Fan"}
          ]
        }
      ],
      "actions": [
        {
          "iid": 1,
          "type": "urn:miot-spec-v2:action:stop-working",
          "in": [],
          "out": []
        }
      ]
    },
    {
      "iid": 4,
      "type": "urn:miot-spec-v2:service:fan-control",
      "properties": [
        {
          "iid": 1,
          "type": "urn:miot-spec-v2:property:fan-level",
          "format": "uint8",
          "access": ["read", "write"],
          "value-list": [
            {"value": 1, "description": "Low"},
            {"value": 2, "description": "Medium"},
            {"value": 3, "description": "High"}
          ]
        }
      ]
    }
  ],
  "yeelink.bhf_light.v5": [
    {
      "iid": 3,
      "properties": [
        {
          "iid": 1,
          "value-list": [
            {"value": 1, "description": "Dry"},
            {"value": 2, "description": "Defog"},
            {"value": 3, "description": "Quick Defog"},
            {"value": 4, "description": "Quick Heat"},
            {"value": 5, "description": "Idle"},
            {"value": 6, "description": "Heat"},
            {"value": 7, "description": "Fan"},
            {"value": 8, "description": "Ventilate"}
          ]
        },
        {
          "iid": 101,
          "type": "urn:miot-spec-v2:property:fan-level",
          "format": "uint8",
          "access": ["read", "write"],
          "value-list": [
            {"value": 1, "description": "Low"},
            {"value": 3, "description": "High"}
          ]
        },
        {
          "iid": 111,
          "type": "urn:miot-spec-v2:property:heat-mode",
          "format": "uint8",
          "access": ["read", "write"],
          "value-list": [
            {"value": 0, "description": "Off"},
            {"value": 1, "description": "Low"},
            {"value": 2, "description": "High"}
          ]
        },
        {
          "iid": 112,
          "type": "urn:miot-spec-v2:property:cold-mode",
          "format": "uint8",
          "access": ["read", "write"],
          "value-list": [
            {"value": 0, "description": "Off"},
            {"value": 1, "description": "Low"},
            {"value": 3, "description": "High"}
          ]
        },
        {
          "iid": 113,
          "type": "urn:miot-spec-v2:property:vent-mode",
          "format": "uint8",
          "access": ["read", "write"],
          "value-list": [
            {"value": 0, "description": "Off"},
            {"value": 1, "description": "Low"},
            {"value": 3, "description": "High"}
          ]
        }
      ]
    }
  ],
  "yeelink.bhf_light.v6": [
    {
      "iid": 3,
      "properties": [
        {
          "iid": 1,
          "value-list": [
            {"value": 0, "description": "Idle"},
            {"value": 1, "description": "Fan"},
            {"value": 2, "description": "Heat"},
            {"value": 3, "description": "Ventilate"},
            {"value": 4, "description": "Dry"},
            {"value": 5, "description": "Defog"},
            {"value": 6, "description": "Quick Heat"},
            {"value": 7, "description": "Quick Defog"}
          ]
        },
        {
          "iid": 101,
          "type": "urn:miot-spec-v2:property:fan-level",
          "format": "uint8",
          "access": ["read", "write"],
          "value-list": [
            {"value": 1, "description": "Low"},
            {"value": 3, "description": "High"}
          ]
        },
        {
          "iid": 111,
          "type": "urn:miot-spec-v2:property:heat-mode",
          "format": "uint8",
          "access": ["read", "write"],
          "value-list": [
            {"value": 0, "description": "Off"},
            {"value": 1, "description": "Low"},
            {"value": 2, "description": "High"}
          ]
        },
        {
          "iid": 112,
          "type": "urn:miot-spec-v2:property:cold-mode",
          "format": "uint8",
          "access": ["read", "write"],
          "value-list": [
            {"value": 0, "description": "Off"},
            {"value": 1, "description": "Low"},
            {"value": 3, "description": "High"}
          ]
        },
        {
          "iid": 113,
          "type": "urn:miot-spec-v2:property:vent-mode",
          "format": "uint8",
          "access": ["read", "write"],
          "value-list": [
            {"value": 0, "description": "Off"},
            {"value": 1, "description": "Low"},
            {"value": 3, "description": "High"}
          ]
        }
      ]
    }
  ],

  "yeelink.light.ceiling1": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 102,
          "type": "urn:miot-spec-v2:property:off-delay-time",
          "format": "uint32",
          "access": ["read", "write"],
          "unit": "minutes",
          "value-range": [0, 60, 1]
        }
      ]
    }
  ],
  "yeelink.light.ceiling2": "yeelink.light.ceiling1",
  "yeelink.light.ceiling3": "yeelink.light.ceiling1",
  "yeelink.light.ceiling4": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 102,
          "type": "urn:miot-spec-v2:property:off-delay-time",
          "format": "uint32",
          "access": ["read", "write"],
          "unit": "minutes",
          "value-range": [0, 60, 1]
        }
      ]
    },
    {
      "iid": 200,
      "type": "urn:miot-spec-v2:service:ambient-light",
      "description": "Ambient Light",
      "properties": [
        {
          "iid": 201,
          "type": "urn:miot-spec-v2:property:on",
          "description": "Switch Status",
          "format": "bool",
          "access": ["read", "write"]
        },
        {
          "iid": 202,
          "type": "urn:miot-spec-v2:property:brightness",
          "format": "uint8",
          "access": ["read", "write"],
          "unit": "percentage",
          "value-range": [1, 100, 1]
        },
        {
          "iid": 203,
          "type": "urn:miot-spec-v2:property:color-temperature",
          "description": "Color Temperature",
          "format": "uint32",
          "access": ["read", "write"],
          "unit": "kelvin",
          "value-range": [1700, 6500, 1]
        },
        {
          "iid": 204,
          "type": "urn:miot-spec-v2:property:color",
          "description": "Color",
          "format": "uint32",
          "access": ["read", "write"],
          "unit": "rgb",
          "value-range": [1, 16777215, 1]
        }
      ]
    }
  ],
  "yeelink.light.ceiling5": "yeelink.light.ceiling1",
  "yeelink.light.ceiling6": "yeelink.light.ceiling1",
  "yeelink.light.ceiling7": "yeelink.light.ceiling1",
  "yeelink.light.ceiling8": "yeelink.light.ceiling1",
  "yeelink.light.ceiling9": "yeelink.light.ceiling1",
  "yeelink.light.ceiling10": "yeelink.light.ceiling4",
  "yeelink.light.ceiling11": "yeelink.light.ceiling1",
  "yeelink.light.ceiling12": "yeelink.light.ceiling1",
  "yeelink.light.ceiling13": "yeelink.light.ceiling1",
  "yeelink.light.ceiling14": "yeelink.light.ceiling1",
  "yeelink.light.ceiling15": "yeelink.light.ceiling1",
  "yeelink.light.ceiling16": "yeelink.light.ceiling1",
  "yeelink.light.ceiling17": "yeelink.light.ceiling1",
  "yeelink.light.ceiling18": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 102,
          "type": "urn:miot-spec-v2:property:off-delay-time",
          "format": "uint32",
          "access": ["read", "write"],
          "unit": "minutes",
          "value-range": [0, 1440, 1]
        }
      ]
    }
  ],
  "yeelink.light.ceiling19": "yeelink.light.ceiling4",
  "yeelink.light.ceiling20": "yeelink.light.ceiling4",
  "yeelink.light.ceiling21": "yeelink.light.ceiling1",
  "yeelink.light.ceiling22": "yeelink.light.ceiling1",
  "yeelink.light.ceiling23": "yeelink.light.ceiling1",
  "yeelink.light.ceiling24": "yeelink.light.ceiling1",
  "yeelink.light.color1": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 101,
          "type": "urn:miot-spec-v2:property:nl_br",
          "description": "Nightlight Brightness",
          "format": "uint8",
          "access": ["read", "write"],
          "unit": "percentage",
          "value-range": [1, 100, 1]
        },
        {
          "iid": 102,
          "type": "urn:miot-spec-v2:property:off-delay-time",
          "format": "uint32",
          "access": ["read", "write"],
          "unit": "minutes",
          "value-range": [0, 60, 1]
        }
      ]
    }
  ],
  "yeelink.light.color2": "yeelink.light.color1",
  "yeelink.light.color3": "yeelink.light.color1",
  "yeelink.light.color4": "yeelink.light.color1",
  "yeelink.light.color5": "yeelink.light.color1",
  "yeelink.light.color6": "yeelink.light.color1",
  "yeelink.light.color7": "yeelink.light.color1",
  "yeelink.light.color8": "yeelink.light.color1",
  "yeelink.light.fancl5": [
    {
      "iid": 3,
      "properties": [
        {
          "iid": 4,
          "value-list": [
            {"value": 0, "description": "Basic Wind"},
            {"value": 1, "description": "Circular Wind"}
          ]
        }
      ]
    },
    {
      "iid": 6,
      "properties": [
        {
          "iid": 7,
          "value-list": [
            {"value": 0, "description": "Basic Wind"},
            {"value": 1, "description": "Circular Wind"}
          ]
        }
      ]
    }
  ],
  "yeelink.light.lamp15": [
    {
      "iid": 200,
      "type": "urn:miot-spec-v2:service:ambient-light",
      "description": "Ambient Light",
      "properties": [
        {
          "iid": 201,
          "type": "urn:miot-spec-v2:property:on",
          "description": "Switch Status",
          "format": "bool",
          "access": ["read", "write"]
        },
        {
          "iid": 202,
          "type": "urn:miot-spec-v2:property:brightness",
          "format": "uint8",
          "access": ["read", "write"],
          "unit": "percentage",
          "value-range": [1, 100, 1]
        },
        {
          "iid": 204,
          "type": "urn:miot-spec-v2:property:color",
          "description": "Color",
          "format": "uint32",
          "access": ["read", "write"],
          "unit": "rgb",
          "value-range": [1, 16777215, 1]
        }
      ]
    }
  ],
  "yeelink.light.panel1": "yeelink.light.ceiling1",
  "yeelink.light.panel3": "yeelink.light.ceiling1",
  "yeelink.mirror.bm1": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 102,
          "type": "urn:miot-spec-v2:property:off-delay-time",
          "format": "uint32",
          "access": ["read", "write"],
          "unit": "minutes",
          "value-range": [0, 60, 1]
        }
      ]
    },
    {
      "iid": 200,
      "type": "urn:miot-spec:service:extra",
      "properties": [
        {
          "iid": 201,
          "type": "urn:miot-spec-v2:property:heat_control",
          "format": "bool",
          "access": ["read", "write"]
        },
        {
          "iid": 202,
          "type": "urn:miot-spec-v2:property:heat_delayoff",
          "format": "uint32",
          "access": ["read", "write"],
          "unit": "minutes",
          "value-range": [0, 120, 5]
        }
      ]
    }
  ],

  "yunmi.waterpuri.lx5": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 101,
          "type": "urn:miot-spec-v2:property:rinse",
          "format": "uint8",
          "access": ["read"],
          "value-list": [
            {"value": 0, "description": "Off"},
            {"value": 1, "description": "On"}
          ]
        },
        {
          "iid": 102,
          "type": "urn:miot-spec-v2:property:light_mode",
          "format": "bool",
          "access": ["read", "write"]
        },
        {
          "iid": 103,
          "type": "urn:miot-spec-v2:property:tds_warn_thd",
          "format": "uint16",
          "access": ["read", "write"],
          "value-range": [5, 100, 5]
        },
        {
          "iid": 111,
          "type": "urn:miot-spec-v2:property:filter-remaining",
          "description": "Filter 1 remaining",
          "format": "uint16",
          "access": ["read"],
          "unit": "percentage"
        },
        {
          "iid": 112,
          "type": "urn:miot-spec-v2:property:filter-remaining",
          "description": "Filter C2 remaining",
          "format": "uint16",
          "access": ["read"],
          "unit": "percentage"
        },
        {
          "iid": 113,
          "type": "urn:miot-spec-v2:property:filter-remaining",
          "description": "Filter RO remaining",
          "format": "uint16",
          "access": ["read"],
          "unit": "percentage"
        }
      ]
    }
  ],
  "yunmi.waterpuri.lx7": "yunmi.waterpuri.lx5",
  "yunmi.waterpuri.lx9": "yunmi.waterpuri.lx5",
  "yunmi.waterpuri.lx11": "yunmi.waterpuri.lx5",

  "yyunyi.wopener.yypy24": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 3,
          "unit": "cm/s"
        },
        {
          "iid": 102,
          "type": "urn:miot-spec-v2:property:motor_reverse",
          "format": "bool",
          "access": ["read", "write"]
        },
        {
          "iid": 103,
          "type": "urn:miot-spec-v2:property:clamp_strength",
          "format": "uint8",
          "access": ["read", "write"],
          "unit": "kg",
          "value-range": [3, 13, 2]
        }
      ]
    }
  ],

  "zhimi.aircondition.v1": [
    {
      "iid": 3,
      "properties": [
        {
          "iid": 1,
          "value-list": [
            {"value": 4, "description": "Quiet"},
            {"value": 1, "description": "Low"},
            {"value": 2, "description": "Medium"},
            {"value": 3, "description": "High"},
            {"value": 5, "description": "Turbo"},
            {"value": 0, "description": "Auto"}
          ]
        }
      ]
    },
    {
      "iid": 5,
      "properties": [
        {
          "iid": 1,
          "access": ["read", "write"],
          "value-range": [0, 7, 1]
        }
      ]
    },
    {
      "iid": 3,
      "properties": [
        {
          "iid": 4,
          "access": ["read", "write"],
          "value-range": [0, 60, 1]
        }
      ]
    }
  ],
  "zhimi.airfresh.va4":[
    {
      "iid": 2,
      "properties": [
        {
          "iid": 101,
          "type": "urn:miot-spec-v2:property:motor-speed",
          "format": "uint16",
          "access": ["read"],
          "unit": "rpm"
        }
      ]
    }
  ],
  "zhimi.airpurifier.v7": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 101,
          "type": "urn:miot-spec-v2:property:illumination",
          "format": "uint16",
          "access": ["read"],
          "unit": "lux",
          "value-range": [0, 200, 1]
        },
        {
          "iid": 102,
          "type": "urn:miot-spec-v2:property:motor-speed",
          "format": "uint16",
          "access": ["read"],
          "unit": "rpm",
          "value-range": [0, 3000, 1]
        },
        {
          "iid": 103,
          "type": "urn:miot-spec-v2:property:favorite-fan-level",
          "format": "uint16",
          "access": ["read", "write"],
          "unit": "none",
          "value-range": [0, 17, 1]
        },
        {
          "iid": 104,
          "type": "urn:miot-spec-v2:property:auto-detect",
          "format": "bool",
          "access": ["read", "write"]
        }
      ]
    }
  ],

  "zhimi.fan.fb1": [
    {
      "iid": 2,
      "properties": [
          {"iid": 5, "value-range": [30, 120, 30]},
          {"iid": 6, "value-range": [30, 90, 30]}
      ]
    },
    {
        "iid": 5,
        "properties": [
            {
                "iid": 6,
                "value-list": [
                    {"value": "left", "description": "Turn Left"},
                    {"value": "right", "description": "Turn Right"}
                ]
            },
            {
                "iid": 7,
                "value-list": [
                    {"value": "up", "description": "Turn Up"},
                    {"value": "down", "description": "Turn Down"}
                ]
            }
        ]
    }
  ],
  "zhimi.fan.za4": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 2,
          "value-range": [1, 100, 1]
        }
      ]
    }
  ],

  "zhimi.humidifier.ca1": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 101,
          "type": "urn:miot-spec-v2:property:target-humidity",
          "format": "uint8",
          "access": ["read", "write"],
          "unit": "percentage",
          "value-range": [30, 80, 10]
        }
      ]
    }
  ],
  "zhimi.humidifier.ca4": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 7,
          "unit": "percentage",
          "value-range": [0, 128, 1]
        }
      ]
    },
    {
      "iid": 7,
      "properties": [
        {
          "iid": 1,
          "unit": "rpm"
        }
      ]
    }
  ],
  "zhimi.humidifier.ca6": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 7,
          "unit": "",
          "value-list": [
            {"value": 0, "description": "empty"},
            {"value": 1, "description": "normal"},
            {"value": 2, "description": "full"}
          ],
          "value-range": []
        }
      ]
    }
  ],
  "zhimi.humidifier.ca7": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 6,
          "unit": "",
          "value-list": [
            {"value": 0, "description": "empty"},
            {"value": 1, "description": "normal"},
            {"value": 2, "description": "full"}
          ],
          "value-range": []
        }
      ]
    }
  ],
  "zhimi.humidifier.cb1": "zhimi.humidifier.ca1",

  "xiaomi.heater.ma8": [
    {
      "iid": 2,
      "properties": [
        {
          "iid": 4,
          "type": "urn:miot-spec-v2:property:mode:00000008:xiaomi-ma8:1",
          "value-list": [
            {"value": 0, "description": "Constant Temperature"},
            {"value": 1, "description": "Fan"},
            {"value": 2, "description": "Auto"},
            {"value": 3, "description": "Heat"}
          ]
        }
      ]
    }
  ],
  "xjx.toilet.relax": [
    {
      "iid": 2,
      "actions": [
        {
          "iid": 101,
          "type": "urn:miot-spec-v2:action:flush-on",
          "description": "Flush",
          "in": [],
          "out": []
        }
      ]
    }
  ]

}
