{
  "catalog": "arete-widget-library",
  "version": 1,
  "generated": "2026-07-21T01:15:42.369Z",
  "widgets": [
    {
      "id": "bulb",
      "file": "widgets/bulb.yaml",
      "title": "Virtual Bulb",
      "description": "A light being controlled. Follows the controller's sOut and reports its actual state back on cState.",
      "capabilities": [
        {
          "profile": "padi.light",
          "role": "consumer"
        }
      ],
      "hasBehavior": true,
      "sha256": "f8e6004bd422b74dd028dbbd29afb454c573a90eeddbc84636c8c4015f64b842"
    },
    {
      "id": "lease-landlord",
      "file": "widgets/lease-landlord.yaml",
      "title": "Lease Landlord",
      "description": "Publishes the terms of a space - rental rate and capacity - reviews what a tenant proposes, and drives the lease status through its lifecycle.",
      "capabilities": [
        {
          "profile": "padi.lease.basic",
          "role": "provider"
        }
      ],
      "hasBehavior": false,
      "sha256": "1f9262a4e84c8a97b41172e981e5e72cca9b6c1cc6bdf3a1433262948f02d67e"
    },
    {
      "id": "lease-tenant",
      "file": "widgets/lease-tenant.yaml",
      "title": "Lease Tenant",
      "description": "Proposes a lease - who you are, the rent you offer, and the end date - and watches the landlord's terms and the lease status move through its lifecycle.",
      "capabilities": [
        {
          "profile": "padi.lease.basic",
          "role": "consumer"
        }
      ],
      "hasBehavior": false,
      "sha256": "c1e2505cada934ec63fc6110ec364cdde6e09ad3fd67023fd690b336f7234438"
    },
    {
      "id": "oadr-controller",
      "file": "widgets/oadr-controller.yaml",
      "title": "OADR Controller",
      "description": "Sends a simple OpenADR 3.0 demand-response level (0-3) to connected devices, and shows what level they are actually operating at.",
      "capabilities": [
        {
          "profile": "skycentrics.oadr3.event.simple",
          "role": "provider"
        }
      ],
      "hasBehavior": false,
      "sha256": "7dc2fa9edbaaf6c8f4efe283169edea1b50e700917fc7c0516a18527febecd06"
    },
    {
      "id": "oadr-device",
      "file": "widgets/oadr-device.yaml",
      "title": "OADR Simple Device",
      "description": "A VEN resource that follows the controller's demand-response level - its operating level auto-actualizes to the signal - and reports its status back.",
      "capabilities": [
        {
          "profile": "skycentrics.oadr3.event.simple",
          "role": "consumer"
        }
      ],
      "hasBehavior": true,
      "sha256": "d184f6722ff234940d998eac71babd067043c501d3ac2d1578d44ed0fa1b29d3"
    },
    {
      "id": "occupancy-display",
      "file": "widgets/occupancy-display.yaml",
      "title": "Occupancy Display",
      "description": "Consumer side of padi.occupancy.basic - shows whether the area is vacant or occupied and the current people count, and can send an optional id up to the sensor.",
      "capabilities": [
        {
          "profile": "padi.occupancy.basic",
          "role": "consumer"
        }
      ],
      "hasBehavior": false,
      "sha256": "5cffa40724ef4c50f1d5c316d218d280d2c3a67bb30a33ad72c46d501d107514"
    },
    {
      "id": "occupancy-sensor",
      "file": "widgets/occupancy-sensor.yaml",
      "title": "Occupancy Sensor",
      "description": "Provider side of padi.occupancy.basic - reports whether an area of a building is vacant or occupied and how many people are in it, and shows the optional id the consumer supplies.",
      "capabilities": [
        {
          "profile": "padi.occupancy.basic",
          "role": "provider"
        }
      ],
      "hasBehavior": false,
      "sha256": "49747bced6d33d9fcec42c90552f10dfac267535343cffeb4cec9d692ddeff6e"
    },
    {
      "id": "ping-responder",
      "file": "widgets/ping-responder.yaml",
      "title": "Ping Responder",
      "description": "Echoes every ping back on the connection it arrived on — each sender gets its own response.",
      "capabilities": [
        {
          "profile": "padi.ping",
          "role": "consumer"
        }
      ],
      "hasBehavior": true,
      "sha256": "ee4f5d4ab2300ac61879521900daa67188736b039f2903f9bf150ef088a87a59"
    },
    {
      "id": "ping-sender",
      "file": "widgets/ping-sender.yaml",
      "title": "Ping Sender",
      "description": "Sends a ping to connected responders and shows the response coming back on each connection.",
      "capabilities": [
        {
          "profile": "padi.ping",
          "role": "provider"
        }
      ],
      "hasBehavior": false,
      "sha256": "ceb4325c80a2641bdfee2ba9a36ec964f1f8c979f31cfe38fd52cade53a9b6dd"
    },
    {
      "id": "propagate-receiver",
      "file": "widgets/propagate-receiver.yaml",
      "title": "Propagate Receiver",
      "description": "Consumer side of the propagate test rig - shows what arrives from the sender (only propagated properties can), echoes ping automatically, and keeps notes of its own that are not part of the connection contract.",
      "capabilities": [
        {
          "profile": "padi.test.propagate",
          "role": "consumer"
        }
      ],
      "hasBehavior": true,
      "sha256": "7670873c6d62c5cb42c4d2c64c4dc1f6b17ff5b99f443be508d8bdca7780bded"
    },
    {
      "id": "propagate-sender",
      "file": "widgets/propagate-sender.yaml",
      "title": "Propagate Sender",
      "description": "Provider side of the propagate test rig - posts a bulletin (propagated), keeps a draft (not propagated), pings receivers, and shows what comes back (and what cannot).",
      "capabilities": [
        {
          "profile": "padi.test.propagate",
          "role": "provider"
        }
      ],
      "hasBehavior": false,
      "sha256": "cb6538e41ae0934bb20d1a57fb068ff41bf84080b078779efc4c264afc19b3cb"
    },
    {
      "id": "switch",
      "file": "widgets/switch.yaml",
      "title": "Virtual Switch",
      "description": "A controller. Flip the toggle to command any connected light; the light reports back on cState.",
      "capabilities": [
        {
          "profile": "padi.light",
          "role": "provider"
        }
      ],
      "hasBehavior": false,
      "sha256": "10500b89d13ad7c0746930f52a5dd7c043f28ed55e9ada005493318ba0e12a74"
    },
    {
      "id": "trust-consumer",
      "file": "widgets/trust-consumer.yaml",
      "title": "Trust Consumer",
      "description": "Requests trust levels (1-5) for security, privacy, safety, reliability and resiliency, with an attestation URL — and shows what a connected provider is offering.",
      "capabilities": [
        {
          "profile": "padi.trust.basic",
          "role": "consumer"
        }
      ],
      "hasBehavior": false,
      "sha256": "9aa767407823038c40d358b8b0a58c3685ff886e035c60895aba49e05323dcd4"
    },
    {
      "id": "trust-provider",
      "file": "widgets/trust-provider.yaml",
      "title": "Trust Provider",
      "description": "Offers trust levels (1-5) for security, privacy, safety, reliability and resiliency, with an attestation URL — and shows what a connected consumer is requesting.",
      "capabilities": [
        {
          "profile": "padi.trust.basic",
          "role": "provider"
        }
      ],
      "hasBehavior": false,
      "sha256": "1e9e3cf88e6180e24ff1f79a8f7e98c3dea209e9f56fb3c2e1b8efb77ebcd035"
    },
    {
      "id": "value-display",
      "file": "widgets/value-display.yaml",
      "title": "Value Display",
      "description": "Consumer side of padi.value - shows the numeric value and status conveyed by the source, and can send an optional id back to it.",
      "capabilities": [
        {
          "profile": "padi.value",
          "role": "consumer"
        }
      ],
      "hasBehavior": false,
      "sha256": "69c97a1bc7a10780b1a83063f3654c7c84df2ccc73ef1d91a29c26981d8aec83"
    },
    {
      "id": "value-source",
      "file": "widgets/value-source.yaml",
      "title": "Value Source",
      "description": "Provider side of padi.value - conveys a simple numeric value and its status to connected consumers, and shows the optional source id a consumer supplies.",
      "capabilities": [
        {
          "profile": "padi.value",
          "role": "provider"
        }
      ],
      "hasBehavior": false,
      "sha256": "3975bf2dd9126cb00c283f54def234d28e0a7c141f064073ee954c943db7ddbe"
    }
  ]
}