Coffee Hazel V2.3.9 — ユーザーマニュアル
Coffee Hazel は、焙煎中のΔH₂Oをリアルタイムで計測し、1ハゼ(First Crack)のタイミングを自動検出するデスクトップアプリケーションです。株式会社宙豆ラボ制作のCoffee Hazel センサーからデータを取得し、ΔH₂OとΔH₂O変化率のグラフをライブ表示します。
© 2026 SORAMAME LAB INC. All rights reserved.
目次
- セットアップ
- 画面構成
- 焙煎の基本操作
- イベントの記録(ボタン・右クリック)
- 設定パネル(Settings タブ)
- 豆プリセット(Bean Preset)
- CSV Viewer
- スマホ・タブレットからのアクセス
- CSV エクスポート
- 設定ファイルの場所
- アップデートの通知
- トラブルシューティング
1. セットアップ
必要なもの
- Coffee Hazel センサー(ΔH₂Oを計測し
/getDataエンドポイントで JSON を返すもの) - PC(Windows または macOS)と Coffee Hazel センサーが同じ Wi-Fi ネットワークに接続されていること
インストール(macOS)
- Releases から CPU に合わせて DMG をダウンロード(Apple メニュー →「このMacについて」で確認)
- Apple Silicon(M1 / M2 / M3 など):
CoffeeHazel-vX.Y.Z-AppleSilicon.dmg- Intel Mac:CoffeeHazel-vX.Y.Z-Intel.dmg - DMG を開き、
Coffee Hazel.appをアプリケーションフォルダにドラッグ&ドロップ - 初回起動時に「"Coffee Hazel"は開いていません」「マルウェアが含まれていないことを検証できませんでした」と表示された場合(Apple公証を受けていないアプリに出る標準の警告で、アプリに問題はありません): - macOS 15(Sequoia)以降: 警告を閉じ(「ゴミ箱に入れる」は押さない)→ システム設定 →「プライバシーとセキュリティ」→ 下部の「このまま開く」をクリック → パスワードまたは Touch ID で許可 - macOS 14(Sonoma)以前: アプリケーションフォルダで右クリック →「開く」→「開く」
インストール(Windows)
HazelSetup.exe を実行し、画面の指示に従ってインストールしてください。デスクトップにショートカットが作成されます。
- 対応OS: Windows 10 (64bit) 以降
- 本アプリは画面表示に WebView2 ランタイム を使用します。Windows 11 および最新の Windows 10(Edgeがプリインストールされているバージョン)では標準搭載されているため追加作業は不要です。
- インストール後にアプリを起動しても画面が表示されない・真っ白になる場合は、WebView2 ランタイムが未導入の可能性があります。以下の手順で導入してください。
1. Microsoft公式のEvergreen Bootstrapperから「Evergreen Bootstrapper」をダウンロード
2. ダウンロードした
MicrosoftEdgeWebview2Setup.exeを実行してインストール 3. Coffee Hazel を再起動
インストール(Ubuntu / Linux)
.deb パッケージを使ってインストールします。(対応OS: Ubuntu 22.04 / 24.04)
sudo dpkg -i coffee-hazel_2.3.5_amd64.deb
# 依存パッケージが不足している場合は以下を実行
sudo apt --fix-broken install
インストール後は以下のいずれかの方法で起動できます。
- ターミナルから
coffee-hazelコマンドを実行 - アプリケーションメニューから「Coffee Hazel」を起動
アンインストールする場合は次のコマンドを実行してください。
sudo apt remove coffee-hazel
.deb パッケージを自分でビルドする場合
Hazel2_linux.spec を使って PyInstaller でビルドします(GTK3 の Python バインディングを使うため、--system-site-packages 付きの仮想環境を推奨)。
python3 -m venv --system-site-packages venv
source venv/bin/activate
pip install dash plotly requests pandas pywebview qrcode pillow pyinstaller flask
pyinstaller Hazel2_linux.spec
dist/CoffeeHazel/ に生成された実行ファイル一式を /opt/coffee-hazel/ などに配置し、DEBIAN/control を用意した上で dpkg-deb --build --root-owner-group <ディレクトリ名> で .deb を作成できます。
必要な実行時依存パッケージ:python3-gi, gir1.2-gtk-3.0, gir1.2-webkit2-4.1, libgtk-3-0(24.04 では libgtk-3-0t64), bluez
ソースから実行する場合
pip install dash plotly requests pandas pywebview qrcode pillow
python app.py
起動するとデスクトップウィンドウが開きます。ブラウザから http://localhost:8050 にアクセスしても同じ画面を利用できます。
2. 画面構成
アプリは大きく 2 つのエリアに分かれています。
左側:サイドバー(タブ切り替え)
上部に 2 つのタブがあります。
- Settings — 焙煎に使う設定(SSID、閾値、軸範囲、豆プリセットなど)
- CSV Viewer — 保存済みの焙煎 CSV を読み込んでグラフ表示
右側:メインエリア
- Start Roast / Stop Roast ボタン — 焙煎の開始と終了
- ステータスバッジ — 現在の状態(Standby / Roasting...)
- 1ハゼアラート — 検出時に赤字で「First crack soon!」と表示され、大音量のアラームが鳴る(「はい」か「いいえ」を押すまで 10 秒ごとに鳴り直す)
- リアルタイムグラフ — 上段:ΔH₂O、下段:ΔH₂O変化率(平滑化済み)
- 下段の縦軸は、ノイズ帯を圧縮しハゼ方向の変化を拡大する非線形スケールです(片対数グラフと同じ原理)。目盛り・ホバー表示・閾値はすべて実測値(g/m³/s)で表示されます
- 赤い点線=1ハゼ検出の閾値ライン。グラフの線がこれを越えた瞬間に検出が発火します。閾値を変更してもグラフの形は変わらず、赤線だけが上下します
- Sensor Data — 最新のセンサー生データ
- Export Roast Data — 焙煎終了後に表示される CSV ダウンロードエリア
3. 焙煎の基本操作
待機中の表示
焙煎開始を押していない間も、センサーの値をそのままグラフに流しています(直近10分ぶん)。焙煎前のドラムの状態を確認してから始められます。
焙煎開始
- Settings タブで SSID が正しく設定されていることを確認(API URL が表示されます)
- 焙煎開始 ボタンを押す
- グラフがリセットされ、ステータスが「投入待機中...」に変わります
投入・チャージの自動検出
焙煎開始 後に「投入・チャージの自動検出」が ON の場合、生豆投入待機状態になります。ΔH₂Oの急変動(プラス・マイナスどちらの方向でも設定閾値を超えた場合)を検知すると、自動的に投入タイミングを 0 分にセットしてグラフが開始されます。
検知は移動平均としきい値超えの分だけ遅れるため、検知した時点から平滑化前の変化率を遡って、実際に変化が始まった時刻を逆算しています。区間平均から投入位置を割り出すので、サンプル間隔(既定2秒)より細かい精度で 0 分の位置が決まります。
投入が確定すると、投入前のデータはマイナス側(-1分まで)に表示されます。
焙煎中
- グラフがリアルタイムで更新されます(デフォルト 2 秒間隔)
- ΔH₂O変化率が閾値を超えると、「First crack soon!」 のアラートが表示されます
- 検出時に大音量のアラームが鳴ります。焙煎機の騒音の中でも聞こえるよう、「はい」か「いいえ」を押すまで 10 秒ごとに鳴り直します
焙煎時間と DTR
画面上部のボタンの右に、状態・焙煎時間・DTR が並んで表示されます(本体のスマートフォン画面と同じ並びです)。
| 表示 | 待機中 | 投入待機中 | 焙煎中 | 焙煎終了 |
|---|---|---|---|---|
| 状態 | 待機中 | 投入待機中 | 焙煎中 | 焙煎終了 |
| 焙煎時間 | — | --:-- |
8:30 |
計 10:00 |
| DTR | — | DTR -- |
DTR -- → DTR 20.0% (2:00) |
DTR 20.0% (2:00) |
- 焙煎時間は投入からの経過時間です。投入が決まるまでは基準が無いので
--:--と表示されます - DTR(Development Time Ratio)は次の式で、1ハゼを検知すると自動的に計算されます
DTR (%) = 1ハゼ以降の時間 ÷ 投入からの焙煎時間 × 100
- 焙煎中はその時点までで計算するため、どちらも進むにつれて増えていきます(オレンジ色)。焙煎終了で確定値になります(緑色)
- DTR のカッコ内は1ハゼ以降の経過時間(Development Time)です
- 「排出」を記録した場合は、焙煎終了ボタンを押した時刻ではなく排出の時刻までで計算します
- 1ハゼを「いいえ(取消)」で取り消した場合、DTR は
DTR --に戻ります - 焙煎終了時の保存ポップアップと、CSV Viewer の情報欄にも DTR が表示されます
1ハゼの確認・訂正
1ハゼを検知すると、グラフ上部に 「1ハゼを検知しました — ハゼですか?」 の確認バーが表示されます。
- はい — 1ハゼとして確定します。確定後も焙煎中は「いいえ(取消)」ボタンが残るので、誤検出だった場合はあとから取り消せます
- いいえ(取消) — 誤検出として記録を取り消します。その後、次の検知を待ちます
- 焙煎終了ボタンを押すと訂正バーは閉じます(1ハゼ時刻はグラフ上の赤いマーカーで確認できます)
焙煎終了
- 焙煎終了 ボタンを押す(「排出・焙煎終了の自動検出」が ON の場合は、豆を出した時点で自動的に終了します。下記参照)
- 保存ポップアップが開きます。ファイル名は「豆プリセット名_日付_時刻」の形で自動的に提案されます(プリセットを使っていない場合は
hazel_日付_時刻) - 保存 — その名前で CSV を書き出します - キャンセル — 何もせず閉じます。データは残っているので、画面下の書き出しパネルからいつでも保存できます - 焙煎データはそのまま表示され続けるので、記録の追加や見直しができます
排出(焙煎終了)の自動検出
詳細設定の「排出・焙煎終了の自動検出」を ON にすると、豆をドラムから出したときのΔH₂Oの落ち込みから排出を判定し、焙煎を自動で終了します。初期設定はオフです。
判定の条件は次の2つです。
- ΔH₂Oが、30秒前までの最大値から設定した割合(初期値 20%)以上下がる
- そのまま15秒間、戻らない
排気操作やセンサーのノイズでも一時的に落ちることがありますが、そちらはすぐ戻るため停止しません。逆に、豆を出した後はΔH₂Oが戻らないので確実に判定できます。
- 変化速度(g/m³/s)ではなく落ち込みの割合で見ています。 ΔH₂Oの水準は焙煎機やフード形状で数倍違い(実測 10〜48 g/m³)、同じ排出でも変化速度は -0.25〜-0.55 と幅がありますが、落ち込みの割合はどの機種でもよく揃っていたためです
- 焙煎時間は、検知した瞬間ではなく落ち始め(実際に豆を出した時刻)で記録します。検知は判定に必要な落ち込みが出るまで4〜8秒遅れるためです
- 自動終了すると、ボタンで終えたときと同じく保存ポップアップが開き、グラフとCSVに「排出」が記録されます(先に「排出」を手動で記録していた場合は、そちらの時刻のまま)。状態表示は「焙煎終了 — 焙煎時間 mm:ss(自動検出)」になります
- 投入から1分間は判定しません。 投入の瞬間はΔH₂Oが大きく振れるため、そのまま判定すると「投入した直後に排出」と誤って終わってしまいます(過去の焙煎12本で確かめたところ、この種の誤検出はすべて投入から36秒以内に起きていました)
4. イベントの記録(ボタン・右クリック)
排気操作や2ハゼなど、自動では判定できない出来事を手で記録できます。記録のしかたは 2 通りあります。
ボタンで「今」を記録する
「焙煎開始/焙煎終了」の下に 投入 / 排気操作 / 1ハゼ / 2ハゼ / 排出 / 取消 のボタンがあります。押した瞬間の時刻で記録されます。焙煎中(投入待機中を含む)だけ押せます。
- 投入 — 自動検出されなかったときに、押した瞬間を 0 分にします
- 1ハゼ — 自動検出されなかったときに、押した瞬間を1ハゼとして記録します
- 取消 — 直前の記録を取り消します
右クリックで時刻を選んで記録する
過去の時刻に置きたいときや、焙煎終了後に訂正したいときは、グラフ上を右クリック(スマホ・タブレットは長押し)すると、その位置の時刻でメニューが開きます。
この位置に記録 4:51
─────────────────
投入
1ハゼ
排気操作
2ハゼ
排出
─────────────────
直前の記録を取消
- グラフの線の上でなくても構いません。クリックした位置の時刻がそのまま使われます
- 排気操作のように何度でも記録できます。同じ種類が複数あるときはラベルが自動で連番になります(排気操作1、排気操作2…)
- 記録するとグラフに縦線とラベルが入ります(排気操作=ティール、2ハゼ=紫、排出=青)
- 「排出」は焙煎の終わりの線を兼ねます。排出を記録してから焙煎終了ボタンを押しても、終わりの線は「排出 mm:ss」の1本だけです(排出を記録しなかった場合は、焙煎終了ボタンの時刻に引かれます)。排出のあとも、焙煎終了ボタンを押すまで記録は続きます
- 焙煎中でも、焙煎終了後でも記録できます
投入・1ハゼの手動修正
自動検出が外れたときの保険として、同じメニューから 投入 と 1ハゼ も指定できます。
- 投入 — クリックした位置が 0 分になります。記録済みのイベントと1ハゼの時刻も、新しい基準に合わせて自動的にずれます
- 1ハゼ — クリックした位置を1ハゼとして記録します。自動検出されなかった場合でも、後から記録できます
CSV への記録
書き出した CSV には event 列が追加され、その時刻の行に種類(damper / crack2 / drop)が入ります。CSV Viewer で読み込むと、記録したイベントもグラフに重ねて表示されます。
5. 設定パネル(Settings タブ)
サイドバーの Settings タブには、メイン設定と詳細設定があります。
メイン設定
| 項目 | 説明 |
|---|---|
| SSID / Host | Coffee Hazel センサーの IP アドレスまたはホスト名。入力例:192.168.1.10、hazel(自動で hazel.local に補完)、hazel.local。スマホ・タブレットからは変更できません(表示のみ。PC側の計測先が切り替わってしまうため) |
| 1ハゼ検出しきい値 | 1ハゼ検出に使うΔH₂O変化率の閾値(g/m³/s)。デフォルト 0.05。スライダーはよく使う 0〜0.1 の範囲が全体の45%を占める目盛りになっており、細かい調整がしやすくなっています。右の欄に数値を直接入力することもできます(0.001刻み) |
| 検出開始までの待ち時間(Detection start delay) | 焙煎開始から指定分間は 1ハゼ検出を無効化。焙煎初期や排気操作による誤検知を防ぎます。デフォルト 3.0 分 |
| X-axis range | Auto:データに応じて自動拡張 / Fixed:指定した値で固定 |
| Y-axis: ΔH₂O | Auto:データに応じて自動調整 / Fixed:最小値〜最大値を手入力 |
| Y-axis: ΔH₂O変化率 | Auto:データに応じて自動調整 / Fixed:最小値〜最大値を手入力(実測値 g/m³/s で指定。軸が非線形のため画面上の見た目位置とは異なります) |
設定のコツ(1ハゼを正しく判定するために)
1ハゼを正しく判定できるかどうかは、「検出開始までの待ち時間」と「1ハゼ検出しきい値」の2つでほぼ決まります。
検出開始までの待ち時間
排気操作(ファンの操作)を行うと排気中の水蒸気が大きく動くため、1ハゼと誤判定する原因になります。
- 1ハゼが来そうな時間帯には、排気操作をしないのが基本です
- 最後の排気操作のタイミングを「検出開始までの待ち時間」に設定してください。それより前の変動は判定に使われないので、排気操作による誤検出を防げます
1ハゼ検出しきい値
1ハゼで豆から水蒸気が放出されると、ΔH₂Oの上昇率(ΔH₂O変化率)が上がります。この変化率が、しきい値として設定した値を超えたときに1ハゼと判定します。
- 適切なしきい値はコーヒー豆の種類、バッチ量、焙煎のレシピによって変わります。焙煎のたびに確認して調整してください
- 変化率グラフの山が赤い判定ラインにまったく届かない、あるいは早い段階から何度も超えている場合は、しきい値がずれているサインです
豆プリセットと CSV ガイドで再現性を高める
- 調整した設定は 豆プリセット に保存できます。同じ豆を焙煎するときは保存したプリセットを呼び出すことで、毎回同じ条件で判定でき、再現性が高まります(6. 豆プリセット)
- 保存した CSV ファイルを CSV Viewer で読み込むと、焙煎中のグラフの背景にガイドとして表示されます。同じ豆を繰り返し焙煎するときに、前回のカーブと比べながら進められて便利です(7. CSV Viewer)
投入・チャージの自動検出
| 項目 | 説明 |
|---|---|
| 自動検出 ON/OFF | ΔH₂Oの急変動から生豆投入を自動判定し、投入を 0 分に揃える |
| 急変動のしきい (g/m³/s) | 投入と判定する変化速度の絶対値。プラス・マイナスどちらの急変動も検出。デフォルト 0.1 |
排出・焙煎終了の自動検出
| 項目 | デフォルト | 説明 |
|---|---|---|
| 自動検出 ON/OFF | OFF | ΔH₂Oの落ち込みから排出を判定し、焙煎を自動終了する(3. 焙煎の基本操作) |
| 排出と判定する落ち込み (%) | 20% | 30秒前までの最大値から、この割合まで下がった状態が15秒続くと排出と判定。過去の焙煎9本で検証したところ、20%では焙煎途中での誤検出はゼロ、15%まで下げると5本が途中で止まったため、設定できる下限は15%です。小さくすると早く反応しますが、排気操作でも止まりやすくなります |
詳細設定(Advanced Settings)
「Advanced Settings」の行をクリックすると展開されます。通常はデフォルト値のままで問題ありません。
| 項目 | デフォルト | 説明 |
|---|---|---|
| Polling interval | 2 sec | センサーへのデータ取得間隔 |
| Moving average window | 3 | 変化率計算に使う直近サンプル数 |
| Require 3 consecutive | ON | 閾値を 3 回連続で超えたときのみ 1ハゼと判定 |
| Max data points | 1200 | メモリに保持する最大データ点数 |
| 起動時に更新を確認する | ON | 新しいバージョンがあれば起動時に通知する(11. アップデートの通知) |
| 変化率グラフの強調 | しきい値の前後を強調(標準) | 下記参照 |
変化率グラフの強調
1ハゼの判定に必要な範囲を拡大して見やすくする設定です。表示だけの設定で、検出結果は変わりません。
| 選択肢 | 内容 |
|---|---|
| オフ | 測定値をそのまま表示 |
| しきい値の前後を強調(標準) | 1ハゼ判定ラインの前後を拡大し、排気操作などの大きな変動は圧縮して表示(初期設定) |
| しきい値の前後を強調(強め) | 標準よりさらに強く拡大 |
拡大の中心は1ハゼ検出しきい値です。ハゼの山が赤い判定ラインに全く近づかない場合は、しきい値の設定がずれているサインとして読み取れます。
なお、縦軸の目盛りとカーソル表示の数値は、どの方式でも実測値(g/m³/s)のままです。
6. 豆プリセット(Bean Preset)
焙煎する豆ごとに設定一式を保存・切り替えできます。
豆の選択
Settings タブ最上部の Bean Preset ドロップダウンから選択します。選択すると、その豆に紐付いた全設定が自動的に読み込まれます。
「Default」は汎用の設定で、特定の豆を選ばない場合に使用します。
新しい豆の登録
- ドロップダウン右の 「+」ボタン を押す
- 入力欄に豆の名前を入力(例:「Ethiopia Yirgacheffe」)
- Save を押す
いまの設定がそのまま新しい豆に引き継がれます。 調整した内容を別名で残したいときにも使えます。
設定の保存(重要)
名前を付けた豆プリセットは、設定を変えても自動では保存されません。
プリセット名の下に状態が表示されます。
| 表示 | 意味 |
|---|---|
| ✓ 保存済み | 保存内容と一致しています |
| ● 未保存の変更があります | 変更しましたが、まだプリセットには書き込まれていません |
未保存のときは [保存][取り消し] のボタンが出ます。
- 保存 — 現在の設定をそのプリセットに上書きします
- 取り消し — 保存済みの設定に戻します
変更はその場の焙煎にはすぐ反映されるので、その日だけの調整でプロフィールを汚さずに済みます。 手で元の値に戻した場合は、自動的に「✓ 保存済み」の表示に戻ります。
「Default」を選んでいるときは従来どおり自動保存です(下書きとして使えます)。
豆の削除・整理
ドロップダウン右の [管理]ボタン を押すと、登録済みの豆が一覧で表示されます。チェックを付けて [選択したものを削除] で、複数まとめて削除できます。選択中の豆を削除した場合は Default に戻ります。
7. CSV Viewer
過去の焙煎データ(CSV)を読み込み、グラフとして表示する機能です。
使い方
- サイドバーの CSV Viewer タブを選択
- 点線のエリアに CSV ファイルをドラッグ&ドロップ、またはクリックしてファイルを選択
- グラフが表示されます
表示内容
- 上段グラフ:ΔH₂O(h2o_density)の時系列
- 下段グラフ:ΔH₂O変化率(slope_smoothed または slope)の時系列
- 1ハゼ区間:
first_crack_flagカラムが 1 の区間を赤い半透明の帯でハイライト - 投入・イベント:
◇投入◇1ハゼ◇排気操作1のように、◇付きのマーカーで表示されます(現在の焙煎のマーカーと区別するため)。event列を持たない古い CSV でも、投入と1ハゼは表示されます - 情報欄:データ数・経過時間・1ハゼ時刻に加えて、DTR を表示します(
first_crack_flagを持つ CSV の場合)
焙煎中のグラフに重ねて表示する(CSV ガイド)
CSV Viewer で読み込んだ焙煎データは、メイン画面の焙煎グラフの背景に薄い色で重ねて表示されます。前回のカーブを下敷きにしながら焙煎を進められるので、同じ豆を繰り返し焙煎するときの目安になります。
- ΔH₂O と変化率の両方が薄い線で表示され、凡例には
Guide: ファイル名と出ます - 1ハゼ区間は薄いグレーの帯、記録したイベントは
◇排気操作1のような薄いマーカーで表示されます - 書き出した CSV は投入が 0 分に揃っているので、現在の焙煎の投入時刻と自動的に位置が合います
- 画面右上の CSV Guide: ON / OFF ボタンで表示を切り替えられます
対応する CSV フォーマット
| カラム名 | 用途 |
|---|---|
time_min |
時間軸(分)必須 |
h2o_density |
ΔH₂O 必須 |
slope_smoothed |
平滑化済みΔH₂O変化率(下段グラフ) |
slope |
ΔH₂O変化率(slope_smoothed がない場合に使用) |
first_crack_flag |
1ハゼ区間のハイライト表示(0 or 1) |
event |
記録したイベント(damper=排気操作 / crack2=2ハゼ / drop=排出) |
8. スマホ・タブレットからのアクセス
Settings タブの下部に QR コードが表示されています。
- スマホ・タブレットを PC と同じ Wi-Fi に接続
- QR コードをスキャン(またはその下の URL にアクセス)
- ブラウザでリアルタイムグラフを確認できます
QR コードの印刷(シェアロースター向け)
QR コードの下の 「🖨 QRコードを印刷」 リンクから印刷用ページが開きます。右上の印刷ボタンでそのまま印刷できるので、焙煎機のそばに掲示しておけば、誰でもスマホをかざすだけで焙煎グラフを見られます。
- PC 側で Coffee Hazel アプリを起動している間のみ接続できます
- QR コードの URL は Wi-Fi 環境によって変わることがあるため、印刷はアプリを使う場所で行ってください
Artisan・他の端末との同時利用
COFFEE HAZEL 本体には、複数の接続先が同時につながっても問題ありません。次の組み合わせを同時に使えます。
- 焙煎管理ソフト Artisan(本体と直接 WebSocket 通信)
- このデスクトップアプリ Coffee Hazel(PC)
- スマートフォン・タブレット(複数台)
どれか1つを使うために他を終了する必要はありません。用途に応じて、たとえば「記録は Artisan、1ハゼの自動検知はデスクトップアプリ、焙煎機のそばではスマホ」といった使い分けができます。
スマホでのデータ保存
スマホからも CSV やグラフ画像を保存できます。この場合、保存先フォルダの指定は表示されず、ブラウザのダウンロードとして端末内に保存されます(Android: ダウンロードフォルダ / iPhone: ファイルアプリ)。
9. CSV エクスポート
焙煎終了後にデータを CSV ファイルとして保存できます。
- Stop Roast を押すと、画面下部に「Export Roast Data」エリアが表示されます
- ファイル名を入力(省略するとタイムスタンプ付きの名前が自動生成されます)
- Download CSV ボタンを押す
PC 本体では「保存先フォルダ」に指定したフォルダへ直接保存されます(「フォルダ選択...」で変更可能。設定は記憶されます)。スマホからアクセスしている場合はブラウザのダウンロードとして端末に保存されます。
グラフ画像の保存(PNG / JPG / PDF)
「グラフ画像の保存:」の PNG / JPG / PDF ボタンを押すと、いま画面に表示されているグラフ(1ハゼマーカーなども含めた見た目そのまま)を高解像度の画像として保存できます。
- ファイル名は CSV と共通の「ファイル名」欄を使用します(省略時はタイムスタンプ付きの名前)
- 保存先は CSV と同じです(PC: 保存先フォルダ / スマホ: ブラウザダウンロード)
CSV に含まれるカラム
| カラム名 | 説明 |
|---|---|
time_min |
焙煎開始からの経過時間(分) |
h2o_density |
ΔH₂O(g/m³) |
slope |
ΔH₂O変化率の生値(g/m³/s) |
slope_smoothed |
平滑化済みのΔH₂O変化率 |
timestamp |
センサーのタイムスタンプ |
temperature1 |
センサー 1 温度(°C) |
humidity1 |
センサー 1 湿度(%) |
water_vapor_density1 |
センサー 1 水蒸気密度(g/m³) |
temperature2 |
センサー 2 温度(°C) |
humidity2 |
センサー 2 湿度(%) |
water_vapor_density2 |
センサー 2 水蒸気密度(g/m³) |
first_crack_flag |
1ハゼ判定フラグ(0 or 1) |
rate_emphasis_gamma |
焙煎時に使用していた表示強調γの値(全行同じ。フィードバック集計用) |
10. 設定ファイルの場所
設定はホームディレクトリに自動保存されます。
| ファイル | 内容 |
|---|---|
~/.hazel_settings.json |
グローバル設定(最後に選択した豆、Default の設定値、更新確認の設定) |
~/.hazel_beans.json |
豆ごとの設定(豆名をキーとした JSON) |
これらのファイルを削除すると設定がリセットされます。
11. アップデートの通知
起動時に GitHub の最新リリースを確認し、使用中のバージョンより新しい版が公開されていれば、画面上部に通知バーを表示します。
| ボタン | 動作 |
|---|---|
| ダウンロード | 既定のブラウザが開き、使用中の OS・CPU に合った配布ファイル(macOS は Apple Silicon / Intel を自動判別)のダウンロードが始まります。インストールは従来どおり手動です |
| このバージョンをスキップ | そのバージョンについては以降の起動でも通知しません。さらに新しい版が出れば再び通知されます |
| 閉じる | 今回だけ非表示にします。次回の起動時にはまた表示されます |
通知バーには 更新内容(リリースノート) がそのまま表示されます。何が変わるのかを確認してからダウンロードしてください。
- 確認は起動時の1回だけで、焙煎中に通信が発生することはありません。オフラインや GitHub 側の不調時は何も表示せず、起動や動作に影響しません
- 公開前のドラフトリリースは通知の対象外です
- スマホ・タブレットからアクセスしている場合は、その端末のブラウザでダウンロードページが開きます
- 通知が不要な場合は、詳細設定の 「起動時に更新を確認する」 をオフにしてください
12. トラブルシューティング
(Windows)起動後に画面が表示されない・真っ白になる
- WebView2 ランタイムが未導入の可能性があります。Evergreen Bootstrapper をダウンロードして
MicrosoftEdgeWebview2Setup.exeを実行し、Coffee Hazel を再起動してください - Windows 11、または Edge が導入済みの Windows 10 では通常このランタイムは標準搭載されています
「API Error」が表示される
- Coffee Hazel センサーが起動しているか、PC と同じ Wi-Fi に接続されているか確認してください
- SSID / IP アドレスが正しいか確認してください
- ブラウザで API URL に直接アクセスして JSON が返るかテストしてください
グラフが更新されない
- ステータスを確認してください。Standby の場合は Start Roast を押してください
- 詳細設定の Polling interval が大きすぎないか確認してください
1ハゼが検出されない
- 閾値(Threshold)が高すぎる可能性があります。値を下げてみてください
- 「検出開始までの待ち時間」の設定で、焙煎開始直後の検出が無効化されている可能性があります
- 「Require 3 consecutive」が ON の場合、瞬間的な超過では検出されません
1ハゼの誤検知が多い
- 閾値を上げてください
- 「Require 3 consecutive」を ON にしてください
- 「検出開始までの待ち時間」を長めに設定してください
- Moving average window を大きくすると変化率が平滑化され、ノイズによる誤検知が減ります
投入が自動検出されない
- 「急変動のしきい」の値が大きすぎる可能性があります。値を下げてみてください
- 生豆投入時のΔH₂Oの変動が小さい場合は、しきい値を調整してください
音が鳴らない
- ブラウザの自動再生ポリシーにより、Start Roast ボタンを押す前に音が再生されない場合があります
- ブラウザのタブがミュートになっていないか確認してください
スマホから接続できない
- PC とスマホが同じ Wi-Fi ネットワークに接続されていることを確認してください
- ファイアウォールがポート 8050 をブロックしていないか確認してください
- QR コード下に表示されている URL をスマホのブラウザに直接入力してみてください
バージョン履歴
最新の変更履歴は CHANGELOG.md(各リリースのリリースノート)を参照してください。
| バージョン | 内容 |
|---|---|
| V2.3.10 | 「排出」を記録してから焙煎終了ボタンを押すと、終わりの線が「排出」「上げ」の2本になる不具合を修正(線は「排出 mm:ss」の1本に)。手動の「排出」のあとに自動検出が働いても2本目を足さない |
| V2.3.9 | 1ハゼの通知音を大音量のアラームに(音量最大・矩形波・3回、確認まで 10 秒ごとに鳴り直す)。本体のスマートフォン画面(ファームウェア V2.4.3)と同じ音 |
| V2.3.8 | イベント入力のボタン(投入 / 排気操作 / 1ハゼ / 2ハゼ / 排出 / 取消)を復活。焙煎中は「焙煎開始」を押せないように。複数のブラウザを同時に開いていると右クリック/ボタンの操作が繰り返し適用される不具合を修正 |
| V2.3.7 | DTR と焙煎時間の終わりを、手動で記録した「排出」の時刻に合わせた(排出から焙煎終了ボタンまでの時間が水増しされていた) |
| V2.3.6 | 排出(焙煎終了)の自動検出を追加(ΔH₂Oの落ち込みから判定。オン/オフとしきい値を設定可能、初期設定はオフ)。DTR(1ハゼ以降の時間 ÷ 焙煎時間)の自動計算と表示を追加。配布版でグラフの右クリックメニューが開かない不具合を修正 |
| V2.3.5 | 変化率の計算を、機器が値を更新した実時間で割るように修正(Bluetooth接続+旧ファームでの過大評価とノコギリ波を解消) |
| V2.3.4 | グラフの右クリックでイベント(排気操作・2ハゼ・排出)を記録。投入・1ハゼの手動修正。待機中もグラフ表示。変化率グラフの強調方式を刷新。しきい値スライダーを微調整しやすく。豆プリセットを明示保存に変更し、管理画面を追加。時刻表示を mm:ss に統一。基調色をスカイブルー+オレンジに。日本語入力とスマホ操作の不具合を修正 |
| V2.3.3 | 起動時のアップデート通知を追加。新しいバージョンがあれば更新内容(リリースノート)とダウンロード先を画面上部に表示 |
| V2.3.2 | 「検出開始までの待ち時間(旧: Ignore first N min)」を詳細設定からメイン設定へ移動し、名称と説明を分かりやすく変更 |
| V2.3.1 | Linux版が起動直後にクラッシュする不具合を修正 |
| V2.3.0 | グラフ画像の保存(PNG / JPG / PDF)を追加。QRコード印刷用ページを追加。スマホアクセス時の保存UIを改善。X軸メモリを1分間隔に固定。焙煎終了後は1ハゼ訂正バーを非表示に |
| V2.2.3 | Ubuntu 22.04 で起動できない問題を修正(22.04 / 24.04 両対応に) |
| V2.2.0 | Bluetooth (BLE) 接続モード追加 |
| V2.0.1 | ΔH₂O・ΔH₂O変化率に用語統一。投入・チャージ自動検出を急変動(正負両方向)に変更。更新間隔デフォルト 2 秒。アプリアイコン追加。著作権表示追加。Ubuntu 用 .deb パッケージを追加 |
| V2.0.2 | 投入チャージ検出の poll_sec 未定義バグ修正。急変動しきい値をスライダーに変更。1ハゼしきい値ラベルを日本語化 |
| V2.0.3 | 変化率グラフの表示を再設計:強調の基準をハゼ閾値から固定値 0.05 に分離(閾値を変えてもグラフの形が不変に)。縦軸を実測値目盛りの非線形スケールに変更し、軸・ホバー・閾値の数字を実測 g/m³/s に統一。閾値の赤線は変換後の正確な位置に描画。CSV出力に使用γ値を記録(rate_emphasis_gamma 列)。投入検出しきい値のデフォルトを 0.3→0.25 に変更 |