Skip to content
Jeff Heller edited this page Oct 6, 2026 · 17 revisions

Decenza — Frequently Asked Questions

The quick-answer and troubleshooting page. Started from the Decent Diaspora community discussion thread and ordered by how often each question comes up. For the full reference, see the Manual; for install problems, Installation.


Table of Contents


Connecting to the DE1 and Scales

→ Manual: Connecting Your Machine and Scale · Troubleshooting

This is by far the most common support topic in the community.

Q: The app says "no device found" and won't connect to my DE1.

The most common cause is that the DE1 app (de1app) is still running in the background and holds the Bluetooth connection. On Android, press the square "recent apps" button, find the de1app card, and swipe it closed completely. Then restart Decenza.

Q: My scale shows as "Simulated scale" and I can't connect to the real one.

Go to Settings → Connections and tap Scan Devices. Make sure the de1app is fully closed first, as it may be holding the BLE connection to the scale.

Q: The "Scale not found" indicator is showing. How do I reconnect?

Tap the red "Scale not found" text in the top status bar to trigger an immediate re-scan. Decenza also reconnects to a dropped scale automatically.

Q: Can I run Decenza at the same time as the DE1 app?

They can coexist as installed apps, but only one can be connected to the machine at a time. Always fully close (not just minimize) the DE1 app before using Decenza.

Q: Does Decenza support my scale?

Decenza supports a wide range of Bluetooth scales: Decent Scale, Skale (v1 and v2), Acaia Lunar/Pearl, Felicita, Eureka Precisa, Bookoo, Atom Heart Éclair, Difluid, Hiroia, Solo Barista, Timemore, Varia Aku, and more. → Manual: Supported Scales

Q: Do I need to give Location permission on Android?

Yes. Android requires the Location permission for Bluetooth Low Energy scanning. Grant it when prompted on first launch, or go to Android Settings → Apps → Decenza → Permissions.

Q: Decenza takes a long time to connect on startup, or keeps disconnecting.

Try: (1) Fully close the de1app. (2) Disable battery optimization for Decenza — Android Settings → Battery → Battery Optimization → find Decenza → "Don't optimize". (3) If problems persist, reboot both the tablet and the DE1.


Installation

→ Manual: Getting Started

Q: Where do I download Decenza?

Download the latest release from https://github.com/Kulitorum/Decenza/releases. On Android, tap the .apk file on your tablet to install. On Windows and macOS, download and run the installer. On Linux, use the AppImage.

Q: Will the APK run on the stock Decent Teclast tablet that came with my machine?

Yes. The developer uses a Teclast tablet himself. It works well. For a similarly priced alternative, consider a Samsung Galaxy Tab A9, Lenovo Tab One, or the Decent M50mini (~$100 range).

Q: The APK won't install — it says the package is invalid or won't update.

This can happen when Android considers the new version a "downgrade" from a previously installed version. Uninstall the old version first, then reinstall from the latest APK on GitHub.

Q: Is Decenza available for iOS / iPad?

Yes. It is available on the Apple App Store (search "Decenza"). iOS releases are usually a few days behind Android because Apple requires app review for each update.

Q: Is there a macOS or Windows version?

Yes. macOS, Windows, and Linux AppImage builds are all in every GitHub release.

Q: Is Decenza free?

On Android, Windows, macOS, and Linux — yes, completely free. On iOS, there is a $10 charge to help offset the Apple Developer Program fee and hardware costs.

Q: Is Decenza open source?

Yes. The source code is on GitHub: https://github.com/Kulitorum/Decenza

Q: Why isn't Decenza on the Google Play Store?

The Decent-supplied Teclast tablet does not support the Play Store, so it was not a priority. The GitHub APK and the app's built-in update mechanism work well for most users.


Profiles

→ Manual: Profiles

Q: How do I add a profile to my favorites so it appears as a pill on the main screen?

Double-tap or long-press the Profiles button → find the profile in the list → tap the star icon to mark it as a favorite. Starred profiles appear as "pills" on the idle screen.

Q: How do I edit a profile?

Long-press or double-tap a pill on the idle screen (or double-tap the Profiles button and select the profile) to open the editor. When you exit, you will be asked to Discard, Save As (new name), or Overwrite the existing profile.

Q: How do I create a new profile from scratch?

Open any profile in the editor, make your changes, and choose "Save As" with a new name when exiting. There is no blank "create from scratch" button in the app — always start from an existing profile. (To rename a profile without copying it, use the ⋮ menu on its row in the profile list → Rename.)

Q: How do I import profiles from the DE1 app?

Double-tap the Profiles button → tap "Tablet" (or "Import from DE1 App") → it will scan for the de1app folder and import all profiles.

Q: How do I import profiles from Visualizer.coffee?

Double-tap Profiles → select "Visualizer" from the import options. Enter your Visualizer credentials in Settings first.

Q: Can I preview a profile's graph before selecting it?

Yes — long-press a profile pill (the buttons that appear when you tap the Profiles button) to see a popup graph preview of the profile.

Q: What are Auto-Favorites?

Auto-Favorites automatically tracks your unique bean + profile combinations from shot history and presents them as a quick-access list. Enable and configure it from the Auto-Favorites screen. One tap loads all settings — profile, dose, bean info, grinder — from a past shot.

Q: Why does "Update All" appear and what does it do?

If new versions of built-in profiles were released with an app update, Update All re-imports them. You can also long-press an individual profile to force-reimport just that one.

Q: Can I set a recommended dose for a profile?

Yes. In the profile editor (top section), enable "Recommended dose" and enter a value. When this profile is selected, the dose is set from it — unless an active recipe or an active bean already carries one. The order is recipe → bean → profile, and a source with no dose is skipped rather than counting as zero. See Manual: Recommended Dose.

Q: I loaded a profile with a recommended dose and my dose didn't change. Why?

Because a recipe or a bean was active, and both outrank the profile — the dose belongs to the coffee and the drink, not to the way the shot is pulled. Change it in Brew Settings, which writes back to whichever of the two is active. (In older versions a profile switch did overwrite it, and because a dose edit writes through, it also rewrote what that bean or recipe remembered.)


Recipes and Beans

→ Manual: Recipes

Q: What is a "recipe" and how is it different from a profile?

A recipe is the whole drink saved as one tap — it bundles a profile plus a specific bag of beans, the equipment package, dose/yield/temperature, grind, and any milk or hot-water steps. A profile only describes how the shot is pulled; a recipe ties everything together so one tap loads the entire drink. You can still brew with just a profile — recipes are optional.

Q: My idle screen now leads with "Recipes" instead of Espresso. What happened?

Decenza 2.0 defaults to a recipes-first idle screen; the Espresso/Profiles button moved to the bottom bar (it works exactly as before). If you upgraded, you were shown a one-time offer to switch — you can always rearrange things yourself in Settings → Layout.

Q: How do I make a recipe?

Tap Recipes on the idle screen (double-tap to open the full page), then Add: Recipe. A short wizard walks you through drink type → beans → profile → details. Or turn a great shot into a recipe: tap the Recipe button next to Load on any Shot History row.

Q: How do I look up a coffee's details so I don't have to type them?

Two ways, and the second is the backup for the first:

  1. Search by name — in the bean/bag editor, search the coffee against the community Bean Base (Loffee Labs / Visualizer) and pick the match; roaster, origin, process, and tasting notes fill in automatically.
  2. Paste the product URL — if the coffee isn't found in search, paste the roaster's product-page URL and tap Get info from page. Decenza reads the page (falling back to your AI provider for script-rendered shop pages) and fills in the empty fields, including the photo. (URL extraction needs an AI provider configured in Settings → AI.)

Q: Can I track tea, not just coffee?

Yes. On the Bag Inventory page tap Add Tea (instead of Add Coffee). Tea bags store steeping temperature and leaf dose, and you can make a tea recipe — including a "Just hot water — no profile" tea that brews by starting Hot Water. Tea details can be looked up by name or pulled from a vendor URL, exactly like coffee.

Q: What happened to "bean presets"?

They became bean bags — one card per physical bag in your inventory. The active bag is your bean state (no separate "save preset" step), each bag remembers its own grind, and bags carry freeze/thaw dates. Double-tap Beans to open the Bag Inventory.

Q: A recipe says "Bag finished — tap to choose beans." What do I do?

That recipe's bag is no longer in your inventory. It still works (it uses that bag's last grind), but tap the message to point it at a current bag. Decenza also re-links recipes automatically when you finish or restock a bag.


Espresso and Stop-at-Weight

→ Manual: Espresso

Q: How does Stop-at-Weight (SAW) work?

Decenza monitors the scale and sends a stop command slightly before the target weight is reached, compensating for the drip that continues after the pump stops. Adaptive SAW automatically learns your scale's lag time after 4–5 shots and converges to within ~0.3g accuracy. → Manual: Stop-at-Weight

Q: My shots overshoot the target weight significantly.

Adaptive SAW tunes itself to your scale over a few shots. You can view and reset the learned value in Settings → Calibration → Weight Stop Timing. Scales with higher Bluetooth latency may take longer to converge.

Q: How do I set a brew-by-ratio target?

Double-tap the weight readout (brown/orange text in the top status bar) and pick a ratio. This arms a ratio rather than converting it to a fixed weight: the stop-at target is derived from the dose you actually weighed and keeps following it, so weighing 17.5 g instead of 18 g moves a 1:2 target from 36 g to 35 g by itself. A dialed ratio also survives a switch to another profile of the same kind (espresso, filter or tea). → Manual: Yield — a fixed weight or a ratio

Q: Can I use volume-based stopping even when a scale is connected?

Yes. In the profile limits settings, set the volume target to your desired value and set the weight target to 0 (disabled).

Q: How do I override the temperature for a single shot without editing the profile?

Double-tap the temperature display on the main screen to set a per-shot temperature override. An override indicator appears; tap and press "Clear" to remove it.

Q: What do keyboard shortcuts do?

Useful for headless DE1 users or those with external keyboards/macro pads:

  • E — Start Espresso
  • S — Start Steam
  • W — Start Hot Water
  • F — Start Flush
  • Space — Stop / Go to Idle
  • P — Sleep

Steam, Hot Water, and Flush

→ Manual: Steam · Hot Water and Flush

Q: How does steaming work in Decenza?

Select the Steam preset from the main screen. The steamer runs until the configured time expires. Remove the container, wipe the wand, then press Stop on the GHC (or the screen stop button on headless machines). The DE1 then automatically purges the steam wand.

Q: Is there a one-tap auto-purge after steaming?

Yes. Enable "Auto flush wand" in Settings → Machine. The purge runs automatically after a configurable delay without requiring a GHC button press. Stopping by hand is already one press — stop and purge happen together unless you enable "Two-tap to stop steaming", which splits them.

Q: How do I keep the steam heater off when I don't steam often?

In Settings → Machine → Steam Heater, turn off Keep warm when idle. Leave Let the recipe decide on and a milk recipe still warms it when you start the shot; turn both off and the heater only runs when you press Steam. To stop it right now, tap Heater off in the pitcher row.

Q: Why did the steam heater turn off when I picked an espresso recipe?

Let the recipe decide is on and that recipe has no pitcher. Add a pitcher to the recipe, or turn the setting off.


Shot History

→ Manual: Shot History · Data Management

Q: How do I import my shot history from the DE1 app?

Go to Settings → History & Data and use the "Import from DE1 App" option. It imports shot files from the de1app folder and converts them to Decenza's database format, including all DYE data.

Q: How do I compare shots?

In the shot history view, select shots and tap Compare. The comparison view shows 3 shots at a time with left/right navigation arrows when more are selected, so you can compare as many as you like.

Q: What is the numeric search syntax in shot history?

Keywords take an exact value, a range, or a minimum: rating:70+, dose:16-18, yield:30-40, time:25-35, tds:1.3-1.5, ey:18-22. There are also quality flags (channeling:yes, temp:yes, grind:yes, skipframe:yes) and recipe: for recipe names. Combine them with plain text: ethiopia dose:18 channeling:yes. Tap Keywords in the search bar for the full reference. → Manual: Searching and Filtering

Q: How do I upload shots to Visualizer.coffee?

Enter your Visualizer username/email and password in Settings → Visualizer (or via the web interface settings). Enable auto-upload to send shots automatically, or upload individual shots from the shot history view.

Q: What is the shot map at decenza.coffee?

When you pull a shot, the profile name and an approximate location (rounded to ±11 km) are published to decenza.coffee — a community map of Decent shots worldwide. In Settings → Machine → Shot Map you can turn it off, or type a Manual city to place yourself without GPS — handy on a tablet with no location fix, or if you'd rather not publish where you actually are.


The Idle Screen and Main Interface

→ Manual: The Idle Screen · Layout Editor

Q: How does the main screen work?

On a fresh 2.0 install the idle screen leads with Recipes and shows a center row of Recipes, Beans, Steam, and Hot water buttons (Profiles and Flush live in the bottom bar; the layout is customizable in Settings → Layout). Tapping a button once reveals "pill" buttons for your recipes/presets. Double-tapping or long-pressing opens the full page for that function.

Q: How do I tare the scale from the idle screen?

Single-tap the weight readout (brown/orange text) in the top status bar.

Q: How do I change what's shown on the idle screen?

The Layout Editor lets you freely configure the idle screen. Access it via Settings → Layout, or the web interface burger menu → Layout Editor. Widgets include action buttons, temperature, weight, weather, custom text (supports HTML and template variables like %TEMP%, %STEAM_TEMP%, %PRESSURE%), flip clock, and more. → Manual: Layout Editor

Q: I have a headless DE1 (no physical GHC buttons). How do I start and stop operations?

A headless DE1 has no Group Head Controller, so the app is the sole control surface — Decenza is designed to work fully without one.

Single-tap an operation button to slide out its pill row, then tap a pill: an already-selected (highlighted) pill starts immediately, an unselected one takes two taps — first to select, second to start. A Stop button appears on screen during any active operation.

For one-tap access without the pill menus, add the Mini GHC widget (Settings → Layout) — five compact buttons for Espresso, Steam, Hot Water, Flush and Stop. It's active only on headless machines. An external keyboard or macro pad works too: E S W F start each operation, Space stops, P sleeps.

→ Manual: Headless Machines for the full detail, including remote control by screen mirroring.


Troubleshooting

→ Manual: Troubleshooting

Q: The app is stuck in simulation mode after I installed it.

Close Decenza completely, then close the de1app completely, and reopen Decenza — it should find the machine over Bluetooth. If it's still simulated, check the Simulation Mode toggle in Settings → Machine (desktop only; it doesn't exist on Android or iOS). A scale reading "Simulated" is a separate thing — see above.

Q: Shots stop at the wrong time — usually too early.

Check the profile's stop-at-volume (SAV) and stop-at-weight (SAW) settings in the profile editor. 0 means disabled, and if both are set, whichever triggers first stops the shot — so an unintentionally low SAV will cut a shot short even when SAW is correct. Set SAV to 0 if you only want to stop by weight, and verify the SAW target matches your intended yield.

Q: The graphs don't appear during shots — the screen stays on the idle view.

Common causes: (1) No BLE connection — confirm the firmware version shows in Settings → Connections. (2) Missing permissions — grant all of them, including Location. (3) Battery optimization — exclude Decenza in Android Settings → Battery. (4) Animation scales set to 0x in Developer Options — restore them to 1x.

Q: My machine shows a purple flashing group head.

The DE1 received an empty or invalid profile. Re-import your profiles with the Overwrite option from the full profiles list.

Q: The app won't update properly / I see strange behaviour after an update.

Reinstall the APK directly from the GitHub releases page for a clean install.

Q: How do I get debug logs for a bug report?

  1. Enable the web server: Settings → History & Data → Enable Server
  2. Open http://<tablet-ip>:8888 in a browser
  3. Burger menu → Debug → Download Log (system log)
  4. For shot-specific issues: open the shot in the web interface → debug log link at the bottom of the shot page

Q: How do I submit a bug report?

Open an issue at https://github.com/Kulitorum/Decenza/issues. Include: Decenza version, device model and OS version, steps to reproduce, system debug log, and a shot debug log if the issue is shot-related.


Web Server and Remote Access

→ Manual: Web Server

Q: How do I enable the web server?

Go to Settings → History & Data → Enable Server. The IP address and port (8888) will be shown. Access from any browser on the same network: http://<tablet-ip>:8888

Q: What can I do in the web interface?

Browse and search shot history and graphs, manage recipes, beans, and equipment, edit the idle-screen layout and theme, browse and share community widgets, back up and restore everything, configure AI / Visualizer / MQTT / MCP, upload screensaver media, update the app, and read debug logs. → Manual: Web Server has the full burger-menu list.

Q: Can I control the machine remotely through the web interface?

Yes. The web interface includes a power switch (burger menu) to wake or sleep the DE1. MQTT support is also available for home automation integration.

Q: Can I update the Decenza app through the web interface?

Yes. From the web interface burger menu, you can upload a new APK directly to the tablet and install it.

Q: Is the web server accessible over the internet?

You can secure it with HTTPS and TOTP (authenticator app) for internet access. Decenza Pocket is a simpler remote control option for most users. To reach the MCP connector from anywhere, see Manual: Remote Access.

Q: adb connect fails with "connection refused" / error 10061 when setting up screen mirroring.

Android refuses debugging connections over WiFi until you enable them and authorise your computer:

  1. Developer options — Settings → About tablet, tap Build number seven times.
  2. Debugging — Settings → System → Developer options, turn on USB debugging (and Wireless debugging on Android 11+).
  3. Authorise the computer, either:
    • With a cable (any Android version): plug in, unlock the screen, tick Always allow from this computer on the "Allow USB debugging?" prompt, tap Allow, run adb tcpip 5555, unplug.
    • Wirelessly (Android 11+): tap the words Wireless debugging (not the toggle) → Pair device with pairing code, run adb pair <ip>:<port> with the port shown on the tablet, and type the six-digit code.

Then adb connect <tablet-ip>:5555 and scrcpy.

After a tablet reboot, adb tcpip 5555 is forgotten — repeat the cable step. Wireless pairing survives a reboot but the port changes, so check the Wireless debugging screen for the current one. The pairing port and the connect port are different numbers.

Q: The Tailscale sign-in link keeps failing ("nodekey already exists", or "403 — not authorized").

The device is still bound to a Tailscale account or a deleted tailnet that doesn't match the one you're signing in with. To recover:

  1. Sign in to the Tailscale admin console with the account you want the tablet on — use a private window if your browser is stuck on the wrong account — and under Machines delete the old decenza-<device> entry if present.
  2. In Decenza, tap Sign out of Tailscale (under Settings → AI → MCP Server → Remote Access) and confirm. This wipes the stored identity and shows a fresh sign-in link.
  3. Open that link, authorize with the intended account, then re-enable Funnel for the device.

Auto-Wake and Sleep

→ Manual: Automation

Q: Can Decenza automatically wake the machine at a scheduled time?

Yes. Settings → Screensaver → Auto-Wake sets the days, the wake time, and a Stay awake duration (up to 12 h). The machine stays on for that whole window regardless of the normal idle timeout.

Q: Is there a remote wake app so I can turn on the machine from anywhere?

Yes — Decenza Pocket (https://github.com/Kulitorum/DecenzaPocket/releases) is a companion app for Android and iOS that lets you wake/sleep the machine remotely, with a live screenshot view of the tablet. It works over the internet once paired on WiFi.

Q: There are two sleep timers — how do they work?

There is a normal idle timer and a stay-awake window tied to the auto-wake schedule. Inside the window the machine stays on no matter what — the schedule outranks the idle timeout. Outside it, the idle timer applies as usual. The window is checked against the clock continuously, so it works even if the app wasn't running at the wake minute or you turned the machine on yourself. If the machine now stays hot longer than you expect, lower the Stay awake duration.


AI Assistant

→ Manual: AI Assistant

Q: How do I use the AI assistant?

Go to Settings → AI and enter an API key for your preferred provider (OpenAI, Anthropic/Claude, Google Gemini, Ollama, or OpenRouter). Once configured, the AI chat is available on the main screen and in shot history/detail views.

Q: Which AI provider is recommended?

Claude, OpenAI and Gemini all give good dial-in advice — pick whichever you already have an API key for. Gemini's default is the cheapest and Claude's the most expensive; a shot analysis runs from well under a cent to about six cents, and Settings → AI shows a running estimate for your selected model. Ollama runs locally at no API cost. → Manual: AI Assistant

Q: Does the AI conversation persist between sessions?

AI conversation history persists across app restarts, enabling multi-session dialing-in conversations.

Q: Can the AI control the machine (MCP)?

Yes, from v1.6.0. Decenza includes a Model Context Protocol (MCP) server that lets AI agents like Claude Desktop read machine state and shot history and control the machine. Open http://<tablet-ip>:8888/mcp/setup in a browser for the install command. From v2.0 the Claude and ChatGPT mobile apps can connect too, from anywhere, via Remote Access. → Manual: MCP Server


Home Screen Widget

→ Manual: Home Screen Widget

Q: The widget is stuck on "Disconnected" but the app is connected.

On iOS, force-quit and reopen Decenza so it republishes its status snapshot. On either platform, check the device hasn't been low on memory — the OS can reclaim the app process, and the widget updates once Decenza runs again.

Q: The widget's last shot isn't updating.

It shows the most recent shot saved to Shot History. With auto-save off, a shot you don't keep never appears.

Q: Decenza isn't in the widget picker.

Open the app at least once after a fresh install or update, then return to the picker. On iOS, also confirm you're on iOS 18 or later; on Android, API 28 or later.


Screensavers

→ Manual: Screensavers

Q: What screensavers does Decenza include?

Flip clock, 3D pipes, Strange Attractors, shot map (decenza.coffee), custom image/video slideshow (upload via web server), and a blank screen option.

Q: How do I upload my own images or videos for the screensaver?

Enable the web server in Settings → History & Data → Enable Server. Open the web URL in any browser on your network. In the burger menu, choose "Upload images".

Q: How do I get the screensaver to work? My screen just goes blank.

Decenza has an option to override the Android system screen-off timeout — enable it in Settings. The screensaver activates when the machine is sleeping. On first run, video screensavers download from the internet and may take a moment.


Themes and Customization

→ Manual: Themes and Language

Q: How do I change the app theme colors?

Go to Settings → Theme. Adjust colors with sliders or hex codes, or use the random color palette generator for a harmonious AI-designed scheme.

Q: What languages is Decenza available in?

Approximately 66 languages, using the device system language by default. Override it in Settings → Lang & Access → Languages; the same page has Browse & Customize Strings for editing individual translations. Switching language applies immediately, with no restart. If a community translation has gaps, Decenza offers to fill them using your configured AI provider.


Accessibility (TalkBack / VoiceOver)

→ Manual: Accessibility

Q: Does Decenza support screen readers?

Yes. Full TalkBack (Android) and VoiceOver (iOS) accessibility is a core design goal. Blind users can operate the machine independently — selecting profiles, starting/stopping shots, and receiving audio feedback during extraction.

Q: How does the accessibility interaction model work?

Decenza uses a first-tap-to-announce, second-tap-to-activate pattern. The first tap on any element reads its label, value, and state aloud; the second tap activates it. Value inputs announce the parameter name and units when changed.


Data Migration and Backup

→ Manual: Data Management

Q: How do I move all my data to a new tablet or phone?

On your current device: Settings → History & Data → Enable Server. On the new device: Settings → History & Data → Search for Devices. Select the source device → Import All transfers profiles, shots, settings, and AI conversations. Works across all platforms (Android → iOS, Android → Windows, etc.).

Q: How do I back up my data?

Decenza performs automatic daily backups of all data. For a manual backup: web interface burger menu → Backup → Download ZIP.

Q: Can I restore from a backup?

Yes. Web interface burger menu → Restore → upload a backup ZIP → select which data types to restore (you can restore profiles only, shots only, etc.).


Miscellaneous

→ Manual: Automation · Settings Reference

Q: Can Decenza connect to Home Assistant or other home automation systems?

Yes. Decenza has an MQTT client that publishes machine state and receives commands. Configure it in Settings → MQTT. You can switch profiles remotely by publishing to the decenza/profile/set MQTT topic.

Q: Is there an Obsidian plugin?

Yes. An Obsidian plugin lets you browse and embed shot data in your Obsidian vault. Find it in the GitHub repository under obsidian-plugin/.

Q: Does the AI advice get included when I upload to Visualizer.coffee?

Yes. If you discuss a shot with the AI and then upload it, the AI's recommendation is included in the Visualizer upload metadata.

Clone this wiki locally