Skip to content

Latest commit

 

History

History
52 lines (35 loc) · 2.02 KB

README.md

File metadata and controls

52 lines (35 loc) · 2.02 KB

SIFIS-Home developer API.

LICENSE Build Status Crates.io dependency status Documentation codecov

Key concepts

api-diagram

The SIFIS-Home developer API present a simplified abstraction that provides the developer with the minimum surface to control devices while being aware of the hazards that every API involve.

The applications written using this crate are intended to run by interacting with a runtime that mediates the access to the remote devices (e.g. via a Web of Things consumer).

NOTE: This repo history will be rewritten to be fully descriptive.

Supported Devices

  • Lamp
  • Sink
  • Door
  • Fridge

Usage

The library crate by default opens a unix socket on /var/run/sifis.sock or to the path set in the env var SIFIS_SERVER.

Testing

The crate provides two developer tools:

  • sifis-runtime-mock: a runtime example implementation that simulates devices, useful to implement mock testing of client applications.
  • sifis-client: an interactive client to help developing independent runtimes and explore the overall API.
# Change the default unix socket path
export SIFIS_SERVER=/tmp/sifis.sock

# Start the runtime with the default configuration
cargo run --bin sifis-runtime-mock &

# Start the interactive client
cargo run --bin sifis-client

Acknowledgements

This software has been developed in the scope of the H2020 project SIFIS-Home with GA n. 952652.