matter

A complete Crystal implementation of the Matter protocol specification (https://buildwithmatter.com). Includes full support for controller, device, commissioning, secure communications, device types, and cluster definitions.

Matter

CI

Matter protocol implemented in pure Crystal Lang.

Installation

  1. Add the dependency to your shard.yml:

    dependencies:
      matter:
        github: Crystal-Matter/matter
    
  2. Run shards install

Examples

An example OnOff device is provided in the ./examples directory.

  • Build using: crystal build examples/matter_switch_device.cr -o bin/matter_switch
  • Validate with chip-tool
    • Launch bin/matter_switch, grab the chip-tool command line in the output
    • Clear any previous sessions: chip-tool storage clear-all
    • Commission using chip-tool

Confirmed working with iOS.

Example project

Control a Windows media center PC, plugged into your TV from your phone

https://github.com/Crystal-Matter/matter_media

End to end tests

We've used industry tooling for validation, using the official chip-tool

./examples/run_validation.sh

We have our own implementation of chip-tool for running end-to-end tests too (used in the CI) Aiming to be compatible with the official tool

crystal build ./examples/chip-tool.cr -o ./bin/chip-tool --error-trace
./examples/run_validation.sh --chip-tool ./bin/chip-tool

Contributing

  1. Fork it (https://github.com/Crystal-Matter/matter/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

Repository

matter

Owner
Statistic
  • 8
  • 0
  • 0
  • 0
  • 7
  • about 5 hours ago
  • October 30, 2023
License

MIT License

Links
Synced at

Mon, 12 Jan 2026 03:49:22 GMT

Languages