Friday, March 22, 2013


Sometimes it is hard to get up in the morning. Alarm clocks may help with this. The Artisan alarms feature instead can help you in keeping the focus while roasting. There are triggers and actions. So assuming we would like Artisan to show a popup once the BT (bean temperature) raises beyond 180C, reminding us to turn down the heat on approaching FCs (First Crack Start). Here BT raises beyond 180C is the trigger and showing a popup is the action.

Let's establish this alarm now. First we open the alarm dialog (select menu Config/Alarms) and press Add. Now we have a new line in the alarm table with some columns that we should fill now. Let's put BT as Source, above as Condition and 180 as Temperature. This defines the trigger of our alarm. As action we want to have Pop Up Window and add "Temp down!" as Description. If we would now start a roast we would get the pop-up already on CHARGE (assuming to charge at around 200C BT). So let's restrict the trigger by setting From to TP (Turning Point). That way, the trigger is active only after the turning point has been detected by Artisan. Now we are set and as long as the alarm status flag is ON this alarm will be triggered once per roast.

Alarm Actions

But wait a moment. Why not have the roaster turn down the heat automatically? Easy if you have a TC4/HRI controlled Hottop. Just define a corresponding slider for the heater (see the post Controlling a Hottop) and change our alarms Action to Slider Power as well as its Description to 51. Once triggered this alarm will now move the slider to 51. This will result in the associated slider action to be triggered, sending out a command to the Hottop to turn down the heater to 51%. We just saw how to send serial commands on alarm triggers via slider actions. It is also possible to trigger button actions using the Event Button action in a very similar way. We just have to indicate the extra event button by its number as specified in the Events dialog. Finally, it is also possible to directly call your external program as trigger action in the obvious way (see spoken alarms for a use case).

Time-triggered Alarms

Excellent! But now we want more. Let's turn the fan speed to 72% 2min after FC automatically. For this we need a second alarm that moves our Fan slider to 72 based on a temporal criteria. As From value we select FC START. Further, we set the Time of this on to 02:00 and it's temperature Source to the empty entry, just to be sure that this alarm is not triggered by any temperature change.

Alarm Chains

My roaster has a temperature probe in the air stream of the bean cooler. With Artisan v0.6 I can now add a COOL event once my beans are cooled down enough (hopefully within 4min after DROP) what translates in a temperature drop below 35C for my probe placement. Let's define alarms to automate this. Setting an alarm triggered as soon as the temperature of my cooling probe drops below 35C after DROP will not work as it will be trigger immediately on DROP. This is because the cooler probe reports still room temperature when that event is detected. A case for alarm chains. Let's define a second alarm that triggers once the cooler temperature rises above, say 40C and select the empty alarm action for this. Now let's our original drop-below-35C alarm be guarded by this one, by setting its If Alarm value to the column number of our alarm guard. That way we are building a chain of alarms. An alarm in a chain is only triggered after its guard, eg. the Alarm specified by its If Alarm value, has been triggered before. Finally, we set the alarm Action here to Event Button and the description to 0 (a special case which triggers the COOL button).

So we saw time and temperature triggered alarms with various actions as well as the powerful feature of alarm chains. All of this taken together allows you to automate your roasts via simple alarm "programs". How are you using alarms?

See also More Alarms!


  • time triggers set to 0:00 are ignored
  • alarms with guards, i.e. the If Alarm attribute, set to 0 are not guarded by any other alarm
  • not all events that you can select to restrict the active period of a roast via the From attribute, like DryEnd, are set automatically by Artisan during a roast. Therefore, the corresponding alarms depending on those events are triggered only after those events are entered manually by pressing the corresponding event button
  • an alarm is triggered only once even if it has both, an alarm time and temperature set

Thanks Kalle for all suggestions on how to generalize the original alarm tables of Artisan to make them that powerful!


  1. Marko, your materials are tremendously useful. My only difficulty is that on my computer and printouts the screenshots are just a little small for easy viewing (some of us are on the elderly side :-)). Is there any way that these could be made, say, twice the size? I recognize that I can do that manipulation locally but your doing it in the original would save that step.

  2. Just click on the image and you get a larger version displayed

  3. Marko, sometimes when I trigger an alarm event (slider heat, slider heat using button number, fan changes) the new values are reflected on the screen of the Hottop but the sliders themselves sometimes don't move to reflect the new values. For example, reducing heat (either with slider or button command through alarm) alarm to 50 doesn't move the slider, although 50 shows on the machine's screen. Note that sliders DO respond when the even is triggered solely with a button. It's alarm triggering that sometimes doesn't move the sliders.

  4. I seem to have reverted to a time three years or so ago, when I confused your first and last names, Marko. My apologies. It has been a while?

  5. Hi Marko, I just have Artisan installed on windows. How can I change Fahrenheit to Celcius? i have tried many command, still haven't found it. Thanks

  6. Hi Marko,
    On the roast properties menu under the event tab there is a button that says create alarms. I click that button but when I go to alarms there are no alarms created. Does this button not create alarms automatically? If not what is its purpose?

    1. This turns events into alarms taking its time, type and value resulting in a quick alarm sketch to be further tuned to the needs. Note that events are only created for selected events. Select an event by clicking on its event number. Hold the command key to increase the selection.

  7. This comment has been removed by the author.

  8. Hi Marko,

    I had a corrupted setup on Windows which is weird and I just installed the Raspberry Pi image on Raspbian Stretch and even though it's for Jessie it works perfectly for Stretch - thought you might like to know.

    I am having an issue with my alarms though. After the TP I have an alarm to turn on the fan once the temperature reaches 100°C and I want it to run for 20 seconds and then turn off the fan again. I had set an additional alarm which has the first alarm as a condition however it just turns the fan off immediately. Is there any way I can stop it after 20 seconds? I seem to remember I had this on my windows alarms. I tried using if alarm 1, from TP, Time 0:20,cond above, temp 0, event 7 (which is button FS 0 - I could change that to the new convention now I guess)

    Any advice?

    I also had trouble finding the celsius setting by the way as the Temperature option on the menu was greyed out. I looked forever to be able to find that and change it!

    Does Artisan auto load the last profile used?

    1. Thanks for testing on Stretch!

      You have to set the "From" of the second alarm to "If Alarm" and put into "If Alarm" the event number of the first.

      I plan to move the Temperature configuration to the Config menu. Thanks for the idea of automatically loading the last profile. Good idea!

  9. Amazed how well it runs on a Pi actually! Great software.

  10. Just brilliant! Finally got vnc working and now I can run the Pi headless from my office to the shed. Fixed alarms to use the sliders instead of the buttons, fixed the 20 seconds after alarm 1 and perfect roast! Just great. Thanks so much for the great software and support.

  11. Hi marko, Thanks for the great software. I am trying to setup some alarms but cannot set the temperatures in the value field. It does not change... What am I doing wrong? Version 1.3

    1. Leon, please file a bug report on our Issue Tracker ( Thanks!


Note: Only a member of this blog may post a comment.