60 lines
2.6 KiB
Markdown
60 lines
2.6 KiB
Markdown
# Bifrost crates
|
|
|
|
```
|
|
┌─────────────────────┐ ┌─────────────────────┐
|
|
│ Bifrost │ │ bifrost-frontend │
|
|
└──┬────┬───────┬─┬─┬─┘ └┬────────────┬───────┘
|
|
│ │ │ │ └────┼────────────┼─────┐
|
|
│ │ │ └──────┼──────┐ │ │
|
|
│ ▼ ▼ │ ▼ ▼ │
|
|
│ ┌─────┐ ┌─────┐ │ ┌──────────────┐ │
|
|
│ │ z2m │ │ zcl │ │ │ bifrost-api │ │
|
|
│ └──┬──┘ └──┬──┘ │ └──┬───────┬───┘ │
|
|
│ │ │ │ │ │ │
|
|
▼ ▼ ▼ ▼ ▼ ▼ ▼
|
|
┌─────────────────────────────────┐ ┌─────────┐
|
|
│ hue │ │ svc │
|
|
└─────────────────────────────────┘ └─────────┘
|
|
```
|
|
|
|
|
|
## `hue`: Philips Hue data models
|
|
|
|
Low-level data models for Philips Hue API requests, entertainment mode
|
|
streams, and Hue-specific Zigbee encodings.
|
|
|
|
## `zcl`: Zigbee Cluster Library
|
|
|
|
Serializing and deserializing support for ZCL (Zigbee Cluster Library)
|
|
frames. Rudimentary support for standard frames, and cutting-edge support for
|
|
Hue-specific frames.
|
|
|
|
## `z2m`: Zigbee2MQTT interface
|
|
|
|
Rust code for interfacing with Zigbee2MQTT. Serializing and deserializing
|
|
support for z2m messages.
|
|
|
|
## `svc`: Service management
|
|
|
|
Crate to manage, control and communicate with running "services".
|
|
|
|
These services (rust functions) are managed through service manager;
|
|
a minimal systemd-inspired service "daemon".
|
|
|
|
Since all "services" controlled by `svc` are rust functions, these are
|
|
*not* system services in the classical sense.
|
|
|
|
## `bifrost-api`: Bifrost API
|
|
|
|
Data structures and types that define the Bifrost-specific API supported by the
|
|
Bifrost server. This is used by `bifrost` and `bifrost-frontend` to have a
|
|
well-defined interface between them, but can be used by any program that wants
|
|
to communicate with a Bifrost server.
|
|
|
|
## `bifrost-frontend`: Dioxus web frontend for Bifrost
|
|
|
|
The Bifrost web frontend, made with Dioxus.
|
|
|
|
Compiles to a static site (html/css/js/wasm) that communicates with a Bifrost
|
|
server.
|