mlua-arete-sdk

Crates.iomlua-arete-sdk
lib.rsmlua-arete-sdk
version0.1.3
created_at2025-09-04 22:31:31.247198+00
updated_at2025-09-19 17:57:43.701973+00
descriptionLua bindings for the Arete SDK for smart buildings.
homepagehttps://on-prem.net
repositoryhttps://gitlab.com/megalithic-llc/mlua-arete-sdk.git
max_upload_size
id1824875
size7,783,181
David Rauschenbach (drauschenbach)

documentation

README

mlua-arete-sdk

Lua bindings for the Arete SDK for smart buildings.

License Arch Lua

Installing

Add to your Rust project using one of MLua's features: [lua51, lua52, lua53, lua54, luajit, luajit52].

$ cargo add mlua-arete-sdk --features luajit

Using

use mlua::Lua;

let lua = Lua::new();
mlua_arete_sdk::preload(&lua);
let script = r#"
    local arete_sdk = require('arete-sdk')
    
    local NODE_ID = 'ozr9fZbU8i7hMdjEjuTS2o'
    local NODE_NAME = 'arete-sdk-01-switch'
    
    local CONTEXT_ID = 'uRLoYsXEY7nsbs9fRdjM8A'
    local CONTEXT_NAME = 'Building 23, Office 41-B'
    
    local PADI_LIGHT_PROFILE = 'padi.light'
    
    local client = arete_sdk.Client:new('wss://dashboard.test.cns.dev:443')
    client:waitForOpen()
    local system = client:system()
    local node = system:node(NODE_ID, NODE_NAME, false)
    local context = node:context(CONTEXT_ID, CONTEXT_NAME)
    local provider = context:provider(PADI_LIGHT_PROFILE)
    provider:put('sOut', 1)
"#;
lua.load(script).exec().unwrap();

Testing

$ make check
Commit count: 0

cargo fmt