#smart-home #cube #max #tcp-connection #eq3

eq3-max-cube_rs

an rust implmentation for operating MAX! Cube

8 releases

0.2.5 Jan 4, 2024
0.2.4 Dec 30, 2023
0.1.1 Dec 29, 2023

#380 in Operating systems

MIT license

20KB
350 lines

A rust implementation for eQ3 / ELV MAX! Heating system

Crates.io Version docs.rs Crates.io License Crates.io Total Downloads

This crate implements some messages/command to the eQ3 / ELV Max! Cube via TCP connection.

Usage

use eq3_max_cube_rs::MaxCube;

#[tokio::main]
async fn main() {
    // connect to Max Cube:
    // `cube` is need to be mutable only if the temperature setting will be changed.
    let mut cube = MaxCube::new(&SocketAddr::from(([172, 22, 51, 191], 62910))).await.unwrap();

    // print the current status of the system
    println!("System: {:?}", cube);

    // set temperature of a thermostat
    cube.set_temperature(1763839, 21.0).await.unwrap();
}

Only M-, S-, L-Messsages are implemented. It is enough for operating thermostats though.

Reference

https://github.com/Bouni/max-cube-protocol/

Dependencies

~5–14MB
~190K SLoC