Giter Site home page Giter Site logo

ebengoechea / de1app_plugin_dye Goto Github PK

View Code? Open in Web Editor NEW
8.0 2.0 4.0 4.18 MB

A DE1app plugin to log and manage espresso shots metadata in the Decent Espresso machine https://github.com/decentespresso/de1app

License: GNU General Public License v3.0

Tcl 100.00%
coffee coffee-machine espresso espresso-machine metadata database sqlite3 logging

de1app_plugin_dye's Introduction

"Describe Your Espresso" DE1app plugin

"Describe Your Espresso" (DYE) is a plugin for the Decent Espresso machine DE1 app.

It improves the default shot logging functionality, allowing users to edit, modify and use shot metadata such as beans, grinder, EY & TDS or espresso description, for any shot in the history.

By Enrique Bengoechea (with lots of copy/paste/tweak from Damian, John, Johanna and Barney's code!)

Manual available on Decent Diaspora site (Decent owners only):

Features

  1. "Describe your espresso" accesible from home screen with a single click, for both next and last shots.

  2. All main description data in a single screen for easier data entry.

    • Irrelevant options ("I weight my beans" / "I use a refractometer") are removed.
  3. Facilitate data entry in the UI:

    • Numeric fields can be typed directly, using clicker arrows, or double tapping on them to launch a full-page numeric-pad.
    • Keyboard return in non-multiline entries take you directly to the next field.
    • Choose categories fields (bean brand, type, grinder, etc) from a list of all previously typed values.
    • Star-rating system for Enjoyment
    • Mass-modify past entered categories values at once.
  4. Description data from previous shots can now be retrieved and modified:

    • A summary is shown on the DSx History Viewer page, below the profile on both the left and right shots.
    • When that summary is clicked, the describe page is open showing the description for the past shot, which can be modified
  5. Create a SQLite database of shot descriptions.

    • Populate on startup
    • User decides to store only shot descriptions or shot description+shot series.
    • Update whenever there are new shots or shot data changes
    • Update (synchronize) on startup when a shot file has been added, changed or deleted on disk, or trigger synch from the settings page.
  6. "Filter Shot History" page callable from the DSx History Viewer to restrict the shots being shown on both left and right listboxes.

  7. Upload shot files to Miha's Visualizer repository, either automatically when finished, or on demand with a button press.

  8. Configuration page allows defining settings and launch database maintenance actions from within the app.

  9. TBD Add new description data: other equipment, beans details (country, variety), detailed coffee ratings like in cupping scoring sheets, etc.

de1app_plugin_dye's People

Contributors

ebengoechea avatar kuy avatar mimoja avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

de1app_plugin_dye's Issues

Ignore short shots

Ignore short shots done for heating the head group. Requested by Nic, he referred to not showing it on DSx2 home page as the last shot, but I feel that should be a skin option, or even a global app option (not to store them). But I can make DYE navigation and DYE favs to ignore short shots, possibly using a under option.

Add beans, grinder & grinder setting inputs to DSx2 espresso settings page

Add input widgets for beans, roast date, grinder model and grinder setting on DSx2 espresso settings page.

On a first stage use controls similar to DYE.

On a second stage, use popup dselector or popup menu for beans & grinder model selection, and allow users to customize grinder settings (text vs numbers, min & max, small & big increments).

error message in DYE with Streamline with :plugins::DYE::shots::get_last

I was running on OSX, under simulation, so this isn't necessarily a common error, but it'd be good to trap it anyway.

index "0" is out of range
index "0" is out of range
    while executing
"espresso_$sn range 0 end"
    (procedure "::plugins::DYE::shots::get_last" line 18)
    invoked from within
"::plugins::DYE::shots::get_last"
    (procedure "::plugins::DYE::save_espresso_to_history_hook" line 6)
    invoked from within
"::plugins::DYE::save_espresso_to_history_hook {::plugins::SDB::save_espresso_to_history_hook Espresso Idle} 0 {} leave"
    (leave trace on "::plugins::SDB::save_espresso_to_history_hook  [dict...")
    (lambda term "event_dict {
			::plugins::SDB::save_espresso_to_history_hoo..." line 1)
    invoked from within
"::apply {event_dict {
			::plugins::SDB::save_espresso_to_history_hook  [dict get $event_dict previous_state]  [dict get $event_dict this_state]  }} {..."
    ("after" script)

Screenshot 2024-06-21 at 7 00 21 PM

Entering an August roast date appears to be impossible

I'm running DYE on a nightly v1.40.1.20 de1app. My "Roast date format" is set to %Y-%m-%d.

This setup worked fine for me, but today, I discovered I can't actually enter an August roast date. When I leave the field after typing, for example, 2022-08-14, the date jumps to 2022-09-14. All possible August dates appear to behave this way, they all jump to September. 2022-07-14, however, works fine.

For reference, here's a screen recording showing that behavior:

dye-date-bug.mp4

Coffee dose on DSx2 wrong on extraction label

Mario on Diaspora:

I'm experiencing a strange behaviour with the coffee dose and I'm not sure if I'm misunderstanding the flow or there's some kind of an issue.
When I change the coffee dose either by loading it from the scale or entering it manually in the espresso details everything shows correctly, but as soon as I start the extraction that dose gets reset. And it always gets reset to the same value (18.1 in this case).

See also the video on Diaspora.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.