{
  "id": "avatto/wsmd-4",
  "vendor": "Avatto",
  "model": "WSMD-4",
  "category": "switch",
  "identifiers": {
    "sku": [
      "tuya:ailtrfobq95yw5ls"
    ],
    "zigbee_model": [
      "TS0601"
    ]
  },
  "status": "controllable",
  "projects": [
    {
      "name": "tuya-local",
      "url": "https://github.com/make-all/tuya-local/blob/main/custom_components/tuya_local/devices/moes_quad_switch.yaml",
      "kind": "integration",
      "license": "MIT"
    },
    {
      "name": "Zigbee2MQTT",
      "url": "https://www.zigbee2mqtt.io/devices/WSMD-4.html",
      "kind": "integration",
      "license": "GPL-3.0"
    }
  ],
  "install": [
    {
      "project": "tuya-local",
      "method": "host-software",
      "guide": "https://github.com/make-all/tuya-local",
      "difficulty": "medium",
      "tools": [
        "Home Assistant (tuya-local is installed through HACS)",
        "Tuya / Smart Life app account (to get the device's local key)"
      ],
      "brick_risk": "none",
      "reversible": "yes",
      "notes": "No flashing: set the device up in the Tuya or Smart Life app first; tuya-local then controls it on your network with its device id and local key. Re-pairing in the app changes the local key."
    },
    {
      "project": "Zigbee2MQTT",
      "method": "pairing",
      "guide": "https://www.zigbee2mqtt.io/devices/WSMD-4.html",
      "difficulty": "medium",
      "tools": [
        "Zigbee USB coordinator",
        "Computer or Raspberry Pi running Zigbee2MQTT"
      ],
      "brick_risk": "none",
      "reversible": "yes",
      "notes": "No flashing: the device keeps its firmware and is paired to your own Zigbee network; remove it from Zigbee2MQTT to undo."
    }
  ],
  "provenance": {
    "sources": [
      "tuya-local",
      "zigbee2mqtt"
    ]
  },
  "updated": "2026-10-17",
  "summary": "Quad switch, controlled locally over the Tuya protocol by tuya-local (stock firmware, no cloud).",
  "aliases": [],
  "interfaces": [],
  "claims": [],
  "verification": []
}