mosh:protocol_overview
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| mosh:protocol_overview [2025/06/27 15:19] – [Concept] mosh | mosh:protocol_overview [2026/06/10 13:54] (current) – mosh | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | <WRAP important> | ||
| + | This page is retained for historical reference and may not reflect the current MOSH/ | ||
| + | See [[guide: | ||
| + | </ | ||
| ====== Architectural Overview ====== | ====== Architectural Overview ====== | ||
| - | The following diagram illustrates the overall architecture of the MOSH library. | + | ===== 🧩 Element Manager ===== |
| - | {{: | + | The Element Manager is the hardware-to-MOSH interface, and is the subsystem responsible for managing all active elements on a MOSH node. It reads raw hardware data, and separates it into properties used by other MOSH elements. This separation allows an elements properties to reflect their intended use more clearly, and enables different properties from the same device to be routed independently. |
| - | + | ||
| - | ===== Element Manager ===== | + | |
| - | + | ||
| - | The Element Manager is the hardware-to-MOSH interface. It reads raw hardware data, and separates it into properties used by other MOSH elements. This separation allows an elements properties to reflect their intended use more clearly, and enables different properties from the same device to be routed independently. | + | |
| For example: | For example: | ||
| Line 15: | Line 15: | ||
| The Element Manager also maintains a list of element properties to be the used by the Virtual Wire Manager. | The Element Manager also maintains a list of element properties to be the used by the Virtual Wire Manager. | ||
| - | ===== Virtual Wire Manager ===== | ||
| - | |||
| - | Before an element can communicate with other elements, it must be placed on a Virtual Wire. A **Virtual Wire** in MOSH is a logical connection between two or more elements—similar to a physical wire that connects a switch to a light, but defined entirely in software. Virtual wires allow input elements (like buttons or sensors) to send signals to output elements (like LEDs or relays), regardless of where those elements reside on the network. | ||
| - | Virtual wires are transport-agnostic, | + | The Element Manager ensures that elements: |
| - | ==== Concept ==== | + | * Are initialized and updated |
| - | Virtual wires are declared | + | * Can emit and receive messages via virtual |
| + | * Report state changes through a unified property interface | ||
| - | This allows you to create automation logic without hard-coding behavior | + | The Element Manager enables modular, plug-and-play integration of inputs, outputs, and logic into the MOSH runtime. |
| + | =====🔌 Virtual Wire Manager===== | ||
| - | ==== Runtime Behavior ==== | + | The [[mosh: |
| - | Virtual | + | By abstracting the connection layer, the Virtual |
| - | Property change messages (e.g., state, event) | + | Virtual wires form the backbone of decentralized automation in MOSH. |
| - | Status messages (e.g., PRESS, LONG_PRESS) | + | =====📡 Transport Manager===== |
| - | User-defined messages (e.g., USER_DEF1, etc.) | + | The Transport Manager oversees all communication interfaces used by a MOSH node. It handles registration, configuration, |
| - | The Element Manager handles virtual wire delivery internally, ensuring | + | Each transport is wrapped in a standardized MOSH class, allowing MOSH Core to send and receive |
| - | ===== Message Framer ===== | + | |
| - | The Message Framer is responsible for a variety of MOSH functions. Some of these functions include: | + | The Transport Manager: |
| - | * The final construction of MOSH Messages | + | * Maintains active transport instances |
| - | * Accepting | + | * Assigns network and node IDs per transport |
| - | * Accepting/ | + | * Manages |
| + | * Supports both point-to-point and broadcast-capable transports | ||
| - | ===== Transport Manager | + | The Transport Manager |
/var/www/wiki.moshnetworks.com/data/attic/mosh/protocol_overview.1751037558.txt.gz · Last modified: by mosh
