Skip to content

A reactive web app to control Storz & Bickel vaporizers (Volcano, Venty, Veazy, Crafty) via Bluetooth Low Energy.

Notifications You must be signed in to change notification settings

firsttris/reactive-volcano-app

Repository files navigation

Reactive Vaporizer App

User Interface

Build License: CC BY-NC 4.0

SolidJS TypeScript Vite Styled Components

Control your Storz & Bickel devices with cutting-edge Web Bluetooth technology.

German Version

📖 Introduction

The Volcano, Venty, Veazy, and Crafty, made by Storz & Bickel in Tuttlingen, Germany, are well-known high-quality vaporizers. These devices can be controlled using the Bluetooth Web API.

This project showcases how to use cutting-edge technology to control these devices via the Web Bluetooth API.

📱 Device Support

This app supports the following Storz & Bickel devices:

  • Volcano
  • Venty
  • Veazy
  • Crafty (both new and old firmware versions)

Note: Available features may vary depending on the device model.

🚀 Features

App Features

  • 🌑 Dark mode
  • 📱 Responsive UI (Desktop & Mobile)
  • 🌍 Localization (German & English)
  • 💾 PWA (Progressive Web App)

🎮 Test my App

Access & Test the WebApp here: Reactive Vaporizer App

🐧 Prerequisites

Make sure the Web Bluetooth API is activated in your browser.

  1. Open Chrome and navigate to chrome://flags/#enable-web-bluetooth.
  2. Enable the flag as shown in the image below.

Enabling Web Bluetooth API in Chrome

🖼️ User Interface Overview

Click to view User Interface screenshots

The user interface is responsive and designed to work well on both desktop and mobile devices.

Click on the Bluetooth icon to initiate Bluetooth discovery

Bluetooth Discovery

Effortlessly control your Storz & Bickel device

User Interface User Interface

Veazy Venty

User Interface User Interface

📲 Adding the PWA to Your Home Screen

Click to see PWA installation steps

Progressive Web Apps can be installed on your device like native apps.

On Android:

  1. Open the PWA in your browser (Chrome, Firefox, etc.).
  2. Tap on the browser's menu (usually three dots in the top right corner).
  3. Tap on "Add to Home screen".

On iOS:

  1. Open the PWA in Safari.
  2. Tap the Share button (the box with an arrow pointing upwards).
  3. Scroll down and tap "Add to Home Screen".

🛠️ Development and Build

Click to see Development and Build steps

To develop and build this project, follow these steps:

  1. Clone the repository:
    git clone https://github.com/firsttris/reactive-volcano-app.git
  2. Navigate into the project directory:
    cd reactive-volcano-app
  3. Install the dependencies:
    npm install
  4. Start the development server:
    npm run dev
  5. To build the project:
    npm run build

🐛 Remote Debugging on Android

Click to see Remote Debugging steps
  1. Enable USB Debugging on your Android device.
  2. Connect Your Device via USB.
  3. Enable Bluetooth Web API for HTTP: Go to chrome://flags/#unsafely-treat-insecure-origin-as-secure in Chrome on your PC.
  4. Enter Your Local IP Address: Add your local dev machine IP, enable, and restart. unsafely-treat-insecure-origin-as-secure
  5. Open Local Server URL: Open http://<YOUR_IP>:5174/ on your Android device.
  6. Enable Remote Debugging: On your PC, go to chrome://inspect/#devices. inspect
  7. Debug: Click "inspect" to open the DevTools.

⚠️ Connection Issues and Pitfalls

  • Single Connection: The Volcano can maintain a Bluetooth connection with only one device at a time. Disconnect existing connections before pairing a new device.

🤝 Contributing

Want to contribute?

  • Visit our issues page.
  • Submit pull requests or open issues for bugs and feature suggestions.

⚖️ Code Ownership & License

Code Ownership: This project has been developed with utmost care to respect Storz & Bickel's rights. All code was written from scratch using different technologies. Assets are open source. If existing concerns arise, please contact me before taking legal action.

License: This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

Releases

No releases published

Packages

No packages published

Languages