{
  "version": 1,
  "actions": {
    "1": "ACK - Acknowledgment",
    "1/184": "ACK - Acknowledgment for Action 184 (circuit control)",
    "2": "Status Broadcast - Equipment state (circuits, temps)",
    "30": "Config Response - Configuration data from OCP",
    "30/0": "Config Response - Body temp settings (setpoints, heat modes)",
    "30/15": "Config Response - Circuit/Feature/Schedule states (AUTHORITATIVE)",
    "164": "Version/Status Response - Version info / extended data",
    "168": "External Message - Set/change equipment state",
    "168/0": "External Message - Body temp settings (Wireless, v3 has +1 offset!)",
    "168/1": "External Message - Single circuit toggle",
    "168/2": "External Message - Single feature toggle",
    "168/15": "External Message - Set all circuit/feature/group/schedule states",
    "184": "Circuit Control - Direct circuit control (v3.004+)",
    "184/168,237": "Body Toggle - Primary body ON/OFF control (target 43245)",
    "184/212,182": "Body Context - Body status/context message (target 54454)",
    "184/114,145": "Body Select - Pool(1)/Spa(0) selection (target 29329)",
    "184/94,131": "Body Mode - Body mode control 128=OFF/129=ON (target 24195)",
    "184/108,225": "Pool Circuit - Pool circuit 6 direct (target 27873, rarely used for body)",
    "204": "Extended Status - Feature/temp/module status (IntelliCenter v3: feature bits are stale)",
    "217": "Device Discovery - Equipment identification",
    "222": "Config Request - Request configuration from OCP",
    "228": "Version Request - Get firmware versions"
  },
  "controllers": {
    "intellicenter": {
      "entityTypes": {
        "none": {
          "label": "None",
          "matches": [],
          "warnings": []
        },
        "features": {
          "label": "Features",
          "matches": [
            { "protocol": "broadcast", "action": 1 },
            { "protocol": "broadcast", "action": 2 },
            { "protocol": "broadcast", "action": 204 },
            { "protocol": "broadcast", "action": 30, "payload0": 15 },
            { "protocol": "broadcast", "action": 168, "payload0": 15 },
            { "protocol": "broadcast", "action": 168, "payload0": 2 },
            { "protocol": "broadcast", "action": 184 }
          ],
          "warnings": [
            {
              "label": "⚠️ v3-stale",
              "type": "warning",
              "when": { "action": 204, "minSoftwareVersion": 3.0 }
            }
          ]
        },
        "circuits": {
          "label": "Circuits",
          "matches": [
            { "protocol": "broadcast", "action": 1 },
            { "protocol": "broadcast", "action": 2 },
            { "protocol": "broadcast", "action": 30, "payload0": 15 },
            { "protocol": "broadcast", "action": 168, "payload0": 15 },
            { "protocol": "broadcast", "action": 168, "payload0": 1 },
            { "protocol": "broadcast", "action": 184 }
          ],
          "warnings": []
        },
        "temps": {
          "label": "Temps",
          "matches": [
            { "protocol": "broadcast", "action": 2 },
            { "protocol": "broadcast", "action": 204 }
          ],
          "warnings": []
        },
        "bodySettings": {
          "label": "Body Settings",
          "matches": [
            { "protocol": "broadcast", "action": 1 },
            { "protocol": "broadcast", "action": 30, "payload0": 0 },
            { "protocol": "broadcast", "action": 168, "payload0": 0 },
            { "protocol": "broadcast", "action": 222, "payload0": 0 }
          ],
          "warnings": [
            {
              "label": "⚠️ v3-offset",
              "type": "info",
              "when": { "action": 168, "payload0": 0, "minSoftwareVersion": 3.0 }
            }
          ]
        },
        "bodyState": {
          "label": "Body State (Spa/Pool ON/OFF)",
          "matches": [
            { "protocol": "broadcast", "action": 1 },
            { "protocol": "broadcast", "action": 2 },
            { "protocol": "broadcast", "action": 184 }
          ],
          "warnings": [
            {
              "label": "⚠️ v3-only",
              "type": "info",
              "when": { "action": 184, "minSoftwareVersion": 3.0 }
            }
          ]
        },
        "heatModes": {
          "label": "Heat Modes (per Body)",
          "matches": [
            { "protocol": "broadcast", "action": 1 },
            { "protocol": "broadcast", "action": 30, "payload0": 0 },
            { "protocol": "broadcast", "action": 168, "payload0": 0 },
            { "protocol": "broadcast", "action": 222, "payload0": 0 }
          ],
          "warnings": [
            {
              "label": "⚠️ v3-offset",
              "type": "info",
              "when": { "action": 168, "payload0": 0, "minSoftwareVersion": 3.0 }
            }
          ]
        }
      }
    }
  }
}




