— Chromium only. Desktop Chrome / Edge / Opera, or Android Chrome.
No iOS, no Firefox, no Safari — they don't implement Web Bluetooth.
— Secure context. Serve over HTTPS, or run it from http://localhost.
— Local, not remote. Works only within Bluetooth range of the
Volcano. This is not remote control.
— One connection at a time. The Volcano allows a single BLE link.
If Home Assistant or the S&B app is connected, this page can't be —
disconnect that first (or vice-versa).
— It's a 230 °C heater. The page clamps 40–230 °C and confirms
before turning heat on, but don't walk away from a running unit.
The Volcano allows only one Bluetooth connection at a time. If Home Assistant or the Storz & Bickel app is connected, disconnect it first. Also check that Bluetooth is on, the unit is powered, and you're within a few metres.
Desktop Chrome, Edge, or Opera, and Chrome on Android. iOS, Firefox, and Safari don't implement Web Bluetooth, so they can't connect. The page must be served over HTTPS (localhost also works).
No — it's local only. The browser talks straight to the device over Bluetooth, so you have to be in range. Nothing is sent to any server.
No app, no account, no backend. Your presets, workflows, and the "heat on connect" preference are stored in your browser and never leave your machine.
No — the Volcano accepts only one connection. Disconnect one to use the other.
The °C/°F switch changes the Volcano's own screen. The Control panel always shows °C, because the device reports temperature in °C over Bluetooth regardless of its display setting.
It turns the heater on and steps the target 179→230 °C, one rung every 5 minutes (~35 min) — the "Vapesuvius" full-spectrum session, with a live countdown. Press it again to stop.
A small editor for scripting your own sequences. Action types: Heat On (optionally set a target), Heat Off, Fan On for N seconds (or "background", which doesn't block the next step), Wait, Set LED, Conditional Temp Set (read the current target, match a rung, bump to the next — a temperature ladder as data), Exit When Temp Reached, and Loop From Beginning. Save as many as you like and run them over the live connection. The action model is inspired by Project Onyx.
Yes — on the Workflows tab, click 🔗 on a workflow to copy a share link. Whoever opens it is asked to import the workflow. It's encoded in the URL's # fragment, so nothing is uploaded — the whole workflow travels inside the link. You can also paste a share link (or exported JSON) into the Import button.
Click Reconnect (it appears after a drop) to reconnect to the same unit without picking it again. If that fails, use Connect.
Yes — it's a PWA. Your browser will offer to install it (or use the Install button on the controller), and it works offline after the first load. The Bluetooth link still needs the device in range.
It's a 230 °C heater. The page clamps the range to 40–230 °C and asks before turning heat on, and the device's own auto-off timer still applies — but don't walk away from a running unit.
Nothing it does is permanent or irreversible. It only uses the Volcano's own Bluetooth controls — the same ones the device buttons and the Storz & Bickel app use — so nothing is flashed, reset, or recalibrated. The device preferences on the Settings tab (units, cooling display, vibration, LED brightness, auto-off) are stored on the unit and stay as you leave them; you can switch any of them back at any time, here or on the device.
The Console tab is a command line for the Volcano. Type help for the list; chain commands with ; to run them in sequence, or run <name> to run a workflow built on the Workflows tab.
help list commands status connection + temperature state connect / disconnect open or close the BLE link temp <40-230> set target temperature (°C) heat on | off heater on / off fan on | off | <s> pump on/off, or run it for <s> seconds bag fill a bag (41 s) led <0-100> LED brightness units c | f device display units ladder run the Vapesuvius ladder wait <s> pause <s> seconds (for scripts) ls list saved workflows run <name> run a saved workflow stop cancel a running script clear wipe the screen Scripts chain with ';' and run in order — a workflow from the command line: heat on; wait 300; temp 220; wait 120; bag Up / down arrows recall history, and everything the app does is logged here.
The GATT it uses, all under service10110000-5354-4f52-5a26-4249434b454c(the tail spellsSTORZ&BICKELin ASCII): current temp…0001read / notify, uint16 LE ÷ 10 set temp…0003write (target × 10), uint16 LE heat on / off…000f/…0010write [1] / [0] fan on / off…0013/…0014write [1] / [0] status regs service10100000…, PRJSTAT1 masks (heat 32, pump 8192) setting regs PRJSTAT2…000d(°F0x200, cooling-display0x1000), PRJSTAT3…000e(vibration0x400) Heat and fan state are read back from the PRJSTAT1 register every couple of seconds, so the indicators reflect the device, not just what you clicked. Units, cooling-display, and vibration are active-low bits in PRJSTAT2/3: write the mask alone to clear a bit (feature on), or0x10000 | maskto set it (off). They change the Volcano's own display and buzzer, not this panel. Fill bag runs the pump for 41 s with a countdown (standard S&B Easy Valve) — heat to your target first, and give XL bags 75–100 s. Run ladder turns heat on and walks 179→230 °C, one rung every 5 min (~35 min total) with a live countdown.
← back to the controller · BLE protocol reverse-engineered by SavageNL/home-assistant-volcano-hybrid. Not affiliated with Storz & Bickel. — by magikh0e