Skip to content

flakesonnix/fumar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fumar

fumar logo

Control your Storz & Bickel vaporizer from the terminal.

crates.io docs.rs CI License: MIT

A TUI, CLI, and GUI client for Storz & Bickel vaporizers, built on storz-rs. Supports live temperature monitoring, heater control, and pump control (Volcano only) over Bluetooth Low Energy.

Install

cargo install fumar

Or build from source with optional features:

git clone https://github.com/flakesonnix/fumar
cd fumar

# Basic build (TUI + CLI)
cargo build --release

# With GTK4 GUI
cargo build --release --features gui

# With Discord Rich Presence
cargo build --release --features discord

# All features
cargo build --release --features gui,discord

./target/release/fumar --help

Usage

TUI mode

Launches automatically when stdout is a TTY and no subcommand is given:

fumar

Or force TUI mode:

fumar --tui

CLI mode

fumar --cli temp          # Show current and target temperature
fumar --cli status        # JSON status dump
fumar --cli set-temp 185  # Set target to 185°C
fumar --cli heat-on       # Turn heater on
fumar --cli heat-off      # Turn heater off
fumar --cli pump-on       # Turn pump on (Volcano only)
fumar --cli watch         # Stream live updates (Ctrl+C to stop)

GUI mode

Requires the gui feature (GTK4):

fumar --gui

GTK4 GUI with temperature display, slider, heater/pump buttons, and BLE scan overlay.

Discord Rich Presence

Requires the discord feature:

fumar --discord
fumar --tui --discord
fumar --gui --discord

Shows device model, current/target temperature, and heater/pump state in your Discord profile.

Discord Rich Presence

TUI keybindings

Key Action
q, Esc, Ctrl+C Quit
/ k Increase target +1°C
/ j Decrease target -1°C
K Increase target +5°C
J Decrease target -5°C
h / H Toggle heater
p / P Toggle pump (Volcano only)
r / R Force state refresh
c / C Reconnect to device
s / S Toggle settings

Device support

Device Status
Venty
Volcano Hybrid
Veazy 🔬 (same protocol as Venty)
Crafty+ 🔬

Linux BLE permissions

BlueZ needs permission to start BLE scans.

Arch Linux (no bluetooth group, use polkit):

sudo tee /etc/polkit-1/rules.d/50-bluetooth.rules << 'POLKIT'
polkit.addRule(function(action, subject) {
    if (action.id === "org.bluez.Adapter.StartDiscovery" ||
        action.id === "org.bluez.Adapter.SetDiscoveryFilter") {
        return polkit.Result.YES;
    }
});
POLKIT

Debian/Ubuntu/Fedora (add yourself to the bluetooth group):

sudo usermod -aG bluetooth $USER

Log out and back in after.

License

MIT. Not affiliated with Storz & Bickel GmbH.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages