The FrogPad
 
A forum to get help or talk about Roastmaster…or anything else coffee.

Using Behmor 1600 Curves  (Read 21292 times)

Danny Hall

  • (383 Posts)
  • *****
  • Karma: 3
    • View Profile
    • Rainfrog
Note: This article is somewhat outdated, in that it doesn't cover automatic Behmor curves. Please see http://rainfroginc.com/documentation/using-behmor-1600-curves/ for up-to-date instructions.

Roastmaster v3.0 now provides the ability to create curves that match those on the Behmor® 1600 roaster.

The 1600 is unique in the way that it handles its internal roasting curves. They are calculated on-the-fly, based on 3 things:

  • The Profile (the shape of the curve)
  • The Program (the length of the roast calculated as a factor of the weight setting)
  • The Weight setting (higher weight settings yield greater Program times).

The 1600 allows some degree of customization based on the time shifts you apply to a curve. Time shifts you enter before a roast starts adjust every leg of the calculated heat curve evenly, adjusting each leg in proportion to fit the new time. Time shifts you apply after the roast begins affect only the final leg of the roast.

Roastmaster will now allow you to create Behmor 1600 curves, and apply them to a roast.

How do I use them?

The only thing you need to do is make sure the roaster entity in Roastmaster that represents your 1600 contains the string Behmor in the manufacturing field. (This helps keep the interface clean for non-Behmor users.) Once you tag a roaster in a roast that meets this criterion, the "Create Behmor Curve…" option will be displayed when you tap the dark blue curve button on the roasting console.

How do they work?

Once you've created a 1600 curve, and saved it to the current roast, selecting that curve in the graph will turn the new graph scale buttons (the "+" and "-" buttons) into time shift buttons. Tapping these buttons will apply the same logic to the curve that the Behmor 1600 applies to its internal curves, with respect to whether or not the roast is currently in progress. So, for every time shift you enter on the appliance, apply the same time shift to the selected Behmor 1600 curve in Roastmaster.

If you need to look up the Behmor 1600 information contained in a 1600 curve, just go to the details screen of that curve. Swipe to the notes section - it will report the settings used to create the curve, as well as any time shifts you've applied to ip - both before, and during, the roast.

A few words about the design of Behmor 1600 curves in Roastmaster.

Behmor curves are "opt-in". Many 1600 users I've spoken with don't care to track curves. They are quite happy roasting with the default settings, and not experimenting with time shifts. That, coupled with the fact that it is but one of the many roasters that folks are using, led me to design them to function modularly - the same way all other curves in Roastmaster work. In other words, a Behmor curve has no relationship to the details of the roast that contains it. The curve doesn't care if you've tagged P1 in the roast itself - all it cares about is the setting you entered when you created it.

Why? Well, Roastmaster is complicated enough already, and at the end of the day simpler is better. If a Behmor 1600 curve were intrinsically linked with the data of the current roast, then (aside from making the interface more confusing) it would not be a viable curve outside of the context of a roast. Designing it in a modular fashion will give users the option to create custom Profiles for the 1600, based on curves they've tried and had success with. For instance, while testing the curves functionality, I happened upon a curve combination of P4/D that turns Central American beans into wonderful SO espresso! Go figure - surprised me too. The combination of the long roast time, and P4 heat ramp is a real winner. I can now copy and paste that curve into a new Profile that will sit along with the standard P1 - 5 default profiles, and tag that whenever I want some lively SO espresso, ignoring the weight and program setting in Roastmaster if I choose. In future roasts, I can tag that new profile, create a 1600 curve for the current roast, and time shift it to match the profile curve that will be displayed in the graph alongside the new roast's curve.

I've learned a lot about this wonderful little (big) roaster while coding and testing 1600 curves. I hope it sheds a lot of light and helps you hone in on some winning combinations like it did for me.
« Last Edit: March 02, 2013, 12:57:48 AM by Danny Hall »

michelroberge

  • (5 Posts)
  • *
  • Karma: 0
    • View Profile
Hi!

I bought your app because it should handle the behmor. I added the roaster, and I cannot see the "black curve" button for behmor.

Can you post a screenshot or a small video to achieve that?

Also, I'm trying to remove a previous roaster I added, but can't figure out how...

Thanks
Michel

michelroberge

  • (5 Posts)
  • *
  • Karma: 0
    • View Profile
wow I re-read your post, and finally found out how...

That's quite difficult to set.

Now, one thing that would be nice... The Behmor's timing goes down. So basically, I would like to be able to enter the time as seen on the Behmor (remaining time) for C1 start / end, as well as for the C2.

Is that something possible to do?

Thanks!

Michel

P.S. Great app btw!

Danny Hall

  • (383 Posts)
  • *****
  • Karma: 3
    • View Profile
    • Rainfrog
Hi Michel - thanks for the kinds word.

I wouldn't be against adding a preference setting to make the timers/readouts report reverse time since start IF you're using Behmor curves, a few folks have asked about this. I, personally, like to think of my Behmor roasts in terms of forward time, but I'm sure not everyone does.

The crack times would still need to be entered as real time, if you enter them manually. The easiest way, of source, is by using the crack buttons - they make that point moot anyway. Using those would be still be automatic. It could still report Behmor time, for cracks, though.

One reason I've steered clear of that is that the Behmor's timer (at least on my machine) seems to vary with the line voltage. I've noticed it can be off by as much as 15-20 seconds by the end of the roast. I always thought it would be more disconcerting to work with the timing discrepancies if you were expecting Roastmaster and the Behmor to read the exact same time.

I'll add it to my backlog list. I keep tallies of the number of folks who ask for what, and try to go in order.

Thanks for the feedback!!

ryan1

  • (2 Posts)
  • *
  • Karma: 0
    • View Profile
I went through all the appropriate steps, but the only time the curve comes up is P3-A-1lb.  I was roasting with P3-B-1/2, and got nothing, no curve, no previous roasts with this profile.

Is there something I am doing incorrectly?

Danny Hall

  • (383 Posts)
  • *****
  • Karma: 3
    • View Profile
    • Rainfrog
Hi Ryan

This is an older article, from before Behmor curves had the capability of being automatic.

Do you mean Behmor curves are not being created in the current roast? There is a preference setting in Utilities/Preferences called "Auto Behmor Curves". Turn that on, and curves will be created whenever you choose any combination of Roaster, Profile, Program and (Custom) Weight Settings, as long as they're named in such a way that Roastmaster can identify which Behmor setting they represent.

I've started building a library of documentation in the main part of the site - there is an article here with better instructions... http://rainfroginc.com/documentation/using-behmor-1600-curves/  It tells you what profiles, programs and custom weight settings to create in the roaster and how they need to be named so that Roastmaster can identify which Behmor control they represent. There's also a sample Behmor roaster you can import into Roastmaster as an example.

If, however, you're not seeing past roasts display in the graph as expected, please double-check the selectors you have chosen in the selector strip below the graph - particularly the "Curve" button in that strip. If you have not created a curve to the current roast, and the "curve" selector is selected, you may not see any roasts at all, because the current roast doesn't have a valid curve. The easy way to troubleshoot is to deselect all of the selectors below the graph, then turn the ones you want on one by one. This will give a clue as to which one is keeping them out.

The selector buttons are often very specific, and specialized. Once you start using Behmor curves in Roastmaster, you'll probably come to see the benefit of having a separate "Curve" button, even when the Profile, Program and Custom Settings selectors seem to suffice. It gives you a way to only focus on roasts that have extremely similar curves. This will come in very handy if you time-shift your Behmor curves.

Also, one more thing about the graph. Verify that it's set to display past curves by tapping the "i" button near or beneath the graph, and setting the Transparency value to a comfortable setting.

Hope this helps - let me know if not.

Danny
« Last Edit: March 02, 2013, 02:28:56 AM by Danny Hall »

ryan1

  • (2 Posts)
  • *
  • Karma: 0
    • View Profile
OK, I compared this roast (with no curve) to a previous roast that did have a curve.  So I went through and changed the selectors to match that other roast and in the curve selector area all of a sudden Behmor 1600 curve popped up, then I went up changed the profile, program, and weight to the correct metrics, and the curve adjusted to correct look as I would have expected from the word go.   

Does it matter the sequence of settings?  It appeared as though the weight was the catalyst for the curve to appear.

Danny Hall

  • (383 Posts)
  • *****
  • Karma: 3
    • View Profile
    • Rainfrog
Hi Ryan

Your post sounds like you're talking about 2 different areas of the roasting screen (the table and the graph?). You need to be setting the roaster, profile, program and weight in the bottom part (table). That is what will make trigger the creation of a new Behmor curve in the roast. The graph selector buttons just instruct Roastmaster as to which past roasts to display in the graph for comparison with the actual curves/data of the current roast.

The sequence that you choose these in doesn't matter - it runs the same blocks of code each time you change one, regardless of the order.

I still think something may be amiss with the naming of the 5 profiles, 4 programs and 3 custom weight settings you need to have defined in the roaster. For example... if you have the "Auto Behmor Curves" preference turned on, and choose a Roaster with a manufacturer field "Behmor", Model "1600", then choose a profile named "P1", program named "A", and Custom setting of "Weight" type, named "1" - Roastmaster will create the correct Behmor curve for P1-A-1lb.

One thing to note: the console allows you to sequentially select each curve by tapping on the graph. Once you get to the end, no curve is selected - to allow an easier comparison of the past/current data being displayed. Is it possible that no curve is selected, and it was, in fact, being created - it just didn't appear as prevalent because it wasn't selected?

If you'd like, email me your database and I'll make sure the Roaster is defined correctly and test it on my end. You can email it to support@rainfroginc.com. From the home screen, open the drum door and choose "Export current database", then tap the email icon.

Danny

fuzzymarmalade

  • (6 Posts)
  • *
  • Karma: 0
    • View Profile
Hello,

Just purchased your app last night - comprehensive and visually interesting - thanks for that!

I'm using the Behmor 1600 - about 40 roasts so far. I've found it best to run anywhere from a 1:15-1:45 preheat program on P1 then hit off and enter a full program immediately after. ie P3C or P4D.  How would I enter that data in curves?

Thanks so much!

Steve

Danny Hall

  • (383 Posts)
  • *****
  • Karma: 3
    • View Profile
    • Rainfrog
Hi Steve

Thanks for the kind words!

Curves, for reasons of simplicity, don't support the concept of preheating. I felt it would get way too complex trying to support 'negative' values on a time scale.

I had originally toyed with the idea of adding a "Charge" field to either the roast or a curve - holding simply a numeric value to represent either time or temperature, but found most folks have a set temp they like to drop at and that doesn't vary. So, for this situation, and a few others, I added the "Custom Roaster Settings" a few updates ago.

That would be an ideal place to define your standard preheat times. Create a Custom Setting Type in the Behmor roaster within Roastmaster called "Preheat", and then within that custom setting, create individual custom roaster settings. For example: "No Preheat", "P1 - 1:30", "P1 - 2:00", etc. Once defined, you'll be able to select those in roasts that use the "Behmor" roaster. Custom Roasters Settings have a button on the graph selector strip, so you'd have the flexibility to filter by both the curve AND the custom setting type - matching only roasts with preheats that match the current preheat.

Custom Roaster Settings are pretty flexible. You can define as many as you'd like for a roaster, and they show up as choices in roasts that use that roaster.

Hope this helps - let me know if you have any other questions.

Danny

fuzzymarmalade

  • (6 Posts)
  • *
  • Karma: 0
    • View Profile
Thanks very much for your prompt response!

I require a little further drilling down. I've entered my inventory, and I'm ready to do a pseudo-roast. Lets say I want to do a P1 preheat of 1:45 and then the P4D program. I'm not using a thermocouple so temps are purely from the Behmor Program and duration.

I would like to represent the preheat and regular program in one graph as a single roast - is that possible?

Thanks again!

Steve


fuzzymarmalade

  • (6 Posts)
  • *
  • Karma: 0
    • View Profile
Some more info for you - I'm told I have a tendency to over-explain....!

I followed your directions and created the custom setting type called "preheat" then entered 5 settings labeled "P1 - 1:00" and so forth in :15 increments.

I've tried several trial roasts and don't know if I'm a knucklehead (its possible) or just thinking about it the wrong way.

I want to augment the Behmor profiles with the pre heat time. Entering the custom setting type doesn't effect the curve. I start a test roast. Put settings in dialog for Behmor P1 and run for 1:15, pause the roast, changed the settings in dialogs to P4D and restart roast. Profile changes to represent the roast as if it had started on P4.

Clearly I'm not grasping something - do I need to copy the curves, alter and rename?

Danny Hall

  • (383 Posts)
  • *****
  • Karma: 3
    • View Profile
    • Rainfrog
No - sorry, it's not currently possible to show preheat times in a curve.

I thought about that early in the design process of the app - even went so far as to add some programming hooks in the curve code to handle events such as this. However, I eventually decided to omit preheating for the sake of keeping curves as easy to understand and use as possible. It also makes me a tiny bit wary to add support for something that's not really supported by the manufacturer (I fried my old Alpenröst by pushing it too hot). But, I know lots of folks preheat their Behmors, so you're in good company that way.

I'll add that as a feature request to my backlog list. I keep a ticker count of how many folks are asking for different features, and try to tackle the most-requested features first.

fuzzymarmalade

  • (6 Posts)
  • *
  • Karma: 0
    • View Profile
Hi Danny,

I've probably spent more time with this app than I should have! My understanding of databases is probably the cause.

I've begun logging past roasts into the app and still find it less than intuitive. Using the ipad version helps greatly.

The idea of copying curves and then pasting and altering to fit custom preheat/program combos works but not well.

My workflow with Behmor and the app is to load the saved curves from other roasts and paste into current roast. Thing is I would prefer to have a curves list to work from so that I can call up any of them I want once they've been created. I see that standard behmor curves will auto populate once all criteria are selected - I added Preheat options to the custom setting types as recommended but I have yet to see how they tie in to the DB.

Thanks so much

Steve

Danny Hall

  • (383 Posts)
  • *****
  • Karma: 3
    • View Profile
    • Rainfrog
Hi Steve

Unfortunately, there's just not going to be an intuitive way to accomplish this because it simply is not designed to show that data. Actually, after rethinking this a bit since we've been talking, it's likely not even possible for me to provide a way represent preheat in a Behmor curve, even in a future release.

Behmor time shifts happen in two ways. Before the roast starts, time shifts scale the entire curve. After a roast is in progress, only the final leg is scaled. Injecting extraneous nodes to a curve would corrupt the time-shift functionality to where it would no long match what is happening on the roaster. To put it another way, there are no absolute values in the programmed curves in the logic board of the Behmor - they start out as scaled algorithms from a template, and are adjusted internally in the machine based on the program and weight setting, then further adjusted by the two rules above when you perform the time shifts. The time shift functionality in Roastmaster mimics this, and (like the roaster) relies on there being a predictable number of nodes. If this number of nodes changed in Roastmaster, the effect would be a curve that no longer matched what is occurring on the machine.

The customs setting types we discussed would just be a way to record your preheat times. They would not tie into the graphical representation of curves in the graph in any way. They just provide a record of an arbitrary setting for any given roast. They ARE tied into the selector strip below the graph, so you would be able to pinpoint past roasts with the same preheat setting chosen as the current roast.

To deconstruct it a little, Behmor curves in Roastmaster are designed to represent the heat settings being applied by the machine through the duration of a roast cycle. The time shift functionality lets you alter this data the same way you would on the roaster. These things together give you the ability to see this graphically, compare and contrast against past roasts, and a convenient way to match only identical roasts via the "Curve" selector button on the selector strip under the console graph to better predict the events of the current roast.

Adding the custom preheat setting we discussed would enhance this to allow you to further hone in and show only roasts with the same preheat setting applied in the graph, and of course - provide a readable reference.

Now, the workflow.... keeping in mind that adding preheating to a curve is not a supported feature, and consequently no concrete workflow exists for that, you could simply copy and paste your manually created curves into new profiles and abandon the concept of defining separate profile, program and weight settings for the roaster - relying only on the curve and the custom profiles you've created.

For instance, create a profile called "P1, D, 1lb", then paste the curve you've built for that into it. Then in future roasts, simply tag that profile instead of all three items separately. That curve would come in automatically - similar to what you're describing. One important note: you would lose the time-shift functionality for that curve.

I still think that accepting the concept of Behmor curves as a representation of a concrete roasting cycle, and relying on custom roaster settings to represent preheat times is your best bet.

Let me know if I'm not explaining this correctly.

Danny
« Last Edit: March 27, 2013, 03:12:11 AM by Danny Hall »