メインコンテンツにスキップ

設定クラスエラー

このページでは、設定セクションの競合、パラメータのスペルミス、include ファイル、SAVE_CONFIG 関連の問題をまとめています。設定変更後は、まず klippy.log の最初の設定エラーを確認し、一つずつ処理してください。

homing override method always homes X and Y before homing Z

エラーメッセージ: 安全Zホーミングとホーミングオーバーライド設定の競合。

Loading...

エラーの原因: [safe_z_home][homing_override] が同時に設定されており、Klipper がどちらのホーミングロジックを使用すべきか判断できません。

解決方法:

  1. 設定ファイル内で [safe_z_home][homing_override] を検索します。
  2. 実際のマシンのホーミングロジックに基づいて、どちらか一方のみを残します。
  3. 保存して Klipper を再起動します。

関連設定の参考: ホーミングと方向調整ガイドホーミングオーバーライド参考設定

Option 'xxx' is not valid in section 'yyy'

エラーメッセージ: Option 'xxx' is not valid in section 'yyy'。指定された設定セクションに認識できないオプション名が存在します。

よくある原因:

  • オプション名のスペルミス。例:sensor_pinsensor_ping と記述。
  • 他の設定セクションのオプションを誤って現在のセクションに貼り付けた。例:[probe] のオプションを [stepper_z] に記述。
  • Klipper バージョンアップ後、旧バージョンでサポートされていたオプションが削除またはリネームされた。
  • 実際のパラメータではないコメント内容を使用している。例:default_parameter_z

解決方法:

  1. エラーで示された設定セクションとオプション名を注意深く確認し、スペルを確認します。
  2. Klipper 設定リファレンス を参照し、そのオプションがどの設定セクションに属するか確認します。
  3. 最近 Klipper をアップグレードした場合は、設定変更履歴 を確認し、オプションに変更がないか確認します。
  4. 無効なオプションを削除するか、正しい設定セクションに移動します。

関連設定の参考: 設定変更の説明

Section 'xxx' is not a valid config section

エラーメッセージ: Section 'xxx' is not a valid config sectionUnknown config object、または特定の設定セクションが Klipper に認識されない。

よくある原因:

  • 設定セクション名のスペルミス。例:[bed_mesh][bedmesh] と記述。
  • 現在の Klipper バージョンがその設定セクションをサポートしていない、またはアップデート/ダウングレード後に設定形式に互換性がない。
  • サードパーティ製プラグインの設定をコピーしたが、対応するプラグイン、拡張モジュール、または Klipper ブランチがインストールされていない。
  • include ファイルに、他のマシンや他のマザーボードの設定セクションがそのまま残っている。

解決方法:

  1. エラーの設定セクション名に基づいて、printer.cfg とすべての include ファイル内の該当箇所を特定します。
  2. スペルが Klipper 設定リファレンスと一致しているか確認します。設定セクション名に日本語の括弧や全角記号を使用しないでください。
  3. その設定がサードパーティ製プラグインやカスタムマクロパッケージからのものである場合、対応するプラグインがインストールされ、現在の Klipper バージョンと互換性があることを確認します。
  4. そのセクションの用途が不明な場合は、まずその設定セクションをコメントアウトして再起動テストを行い、その後一つずつ復元します。

関連設定の参考: 設定変更の説明

Unable to open config file / Include file does not exist

エラーメッセージ: Unable to open config file /home/xxx/printer_data/config/printer.cfg または Include file 'xxx.cfg' does not exist

よくある原因:

  • printer.cfg ファイルのパスが間違っている、またはファイルが誤って削除された。
  • [include] で参照されているサブ設定ファイルが存在しない、またはファイル名が一致しない。
  • KIAUH などのインストールツールが自動生成した [include] 参照が存在するが、対応する cfg ファイルがインストールされていない。
  • 権限の問題で Klipper が設定ファイルを読み取れない。

解決方法:

  1. printer.cfg が Klipper の設定ディレクトリ(通常は ~/printer_data/config/printer.cfg)に存在するか確認します。
  2. すべての [include xxx.cfg] 行をチェックし、参照されているファイルが実際に存在するか確認します。
  3. fluidd.cfg または mainsail.cfg がない場合は、対応する Web インターフェースのインストールドキュメントを参照して設定を補完します。
  4. 設定ファイルの権限が正しいことを確認します:ls -la ~/printer_data/config/

Unable to parse option / option must be specified

エラーメッセージ: Unable to parse option 'xxx' in section 'yyy'Option 'xxx' in section 'yyy' must be specified、または must have minimum/maximummust be above/below

よくある原因:

  • 必須パラメータが欠落している。例:[extruder]step_pindir_pinheater_pin、または sensor_type がない。
  • パラメータの形式が間違っている。例:数値が必要なのにテキストが入力されている、座標リストが必要なのにカンマが不足している。
  • パラメータ値が Klipper の許容範囲外である。例:run_currentmax_tempposition_max の設定が不合理。
  • 設定をコピーした際に、日本語の句読点、全角記号、または不可視文字が残っている。

解決方法:

  1. エラーの設定セクションとパラメータ名に基づき、対応する .cfg ファイルに戻って一つずつ確認します。
  2. 数値、座標、リストパラメータについては、形式がサンプルと一致しているか確認します。例:mesh_min: 20, 20
  3. must be above/below または minimum/maximum エラーの場合は、まず公式サンプルやマザーボードのチュートリアルで推奨されている値に戻します。
  4. 保存後 RESTART を実行し、それでも失敗する場合は klippy.log の最初の設定エラーを確認します。

関連設定の参考: 設定変更の説明

Unknown pin chip name / pin used multiple times

エラーメッセージ: Unknown pin chip name 'xxx'Invalid pin description 'xxx'pin xxx used multiple times in config

よくある原因:

  • マルチ MCU 設定でピンプレフィックスを間違えている。例:EBBCan:PB0 と書くべきところを、存在しない MCU 名で記述。
  • ピン名のスペルミス、またはマザーボードのチュートリアルから別のマザーボードのピンを直接コピーした。
  • 同じ物理ピンが複数の機能で重複して使用されている。例:ファン、ヒーター、エンドストップが同じピンを使用。
  • ピンの反転 !、プルアップ ^、プルダウン ~ を間違った位置に記述。

解決方法:

  1. [mcu xxx] の名前がピンプレフィックスと完全に一致しているか(大文字小文字も含めて)確認します。
  2. マザーボードのピン図と照らし合わせて、すべての pin:step_pin:dir_pin:heater_pin: が現在のマザーボードに属しているか確認します。
  3. すべての include ファイルでエラーのピンを検索し、重複して使用されている項目を削除または変更します。
  4. ピン修飾子はピン名の前に記述します。例:^PB7!PC13mcu2:^PB7

関連設定の参考: 設定変更の説明ファン参考設定

gcode command XXX already registered

エラーメッセージ: Error: gcode command XXX already registered

エラーの原因: 異なる 2 つのマクロまたはシステムモジュールが同じ G-code コマンド名を登録している。例:両方のマクロが [gcode_macro NEXT] を定義している。

よくあるシナリオ:

  • ユーザー定義マクロが Klipper のシステムモジュールやサードパーティ製設定と競合している。
  • 複数の [gcode_macro M600] 定義がある。

解決方法:

  1. printer.cfg およびすべての [include] ファイルで重複定義を検索します。
  2. 競合している [gcode_macro] を削除するかリネームします。
  3. [homing_override][gcode_macro PAUSE][gcode_macro RESUME][gcode_macro CANCEL_PRINT] などの一般的なマクロを確認します。

関連設定の参考: マクロ紹介

Unknown command:"XXX"

エラーメッセージ: コンソールまたは klippy.logUnknown command:"PRINT_START"Unknown command:"START_PRINT"Unknown command:"M600"Unknown command:"EXCLUDE_OBJECT_START"Unknown command:"EXCLUDE_OBJECT_END"Unknown command:"M106"Unknown command:"M201"Unknown command:"M203"Unknown command:"M205" などが表示される。

よくある原因:

  • スライサーの開始/終了 G-code が、Klipper に存在しないマクロを呼び出している。例:スライサーが PRINT_START を送信するが、設定では [gcode_macro START_PRINT] のみ定義されている。
  • Marlin から移行したコマンドを使用しているが、Klipper はデフォルトでサポートしていないか、マクロによる互換性が必要。
  • オブジェクト除外機能を有効にしているが、スライサー、Moonraker、または Klipper の設定が不完全で、EXCLUDE_OBJECT_START / EXCLUDE_OBJECT_END が認識されない。
  • ファンに [fan_generic] または [output_pin] を使用しているが、スライサーが依然としてデフォルトの M106 / M107 を送信している。
  • サードパーティ製マクロパッケージを使用する際に include ファイルが不足している、またはマクロ名がスライサーで指定された名前と一致しない。

解決方法:

  1. printer.cfg およびすべての include ファイルでエラーのコマンド名を検索し、対応する [gcode_macro XXX] が存在するか確認します。
  2. スライサー内の開始、終了、フィラメント交換、ファン、オブジェクト除外のコマンド名を Klipper マクロと一致させます。
  3. Marlin コマンドの場合は、不要なコマンドを優先的に削除します。互換性が本当に必要な場合のみ、明示的な Klipper マクロを追加します。
  4. オブジェクト除外関連のエラーは、スライサーがオブジェクトタグを出力しているか、Moonraker がオブジェクト処理を有効にしているか、Klipper に [exclude_object] があるかを同時に確認します。
  5. ファンコマンドのエラーは、[fan] を使用すべきか、または [fan_generic] / [output_pin] に一致する制御マクロを追加する必要があるかを確認します。

関連設定の参考: マクロ紹介設定変更の説明

Error evaluating 'gcode_macro XXX:gcode'

エラーメッセージ: Error evaluating 'gcode_macro PRINT_START:gcode'jinja2.exceptions.UndefinedError'dict object' has no attribute 'BED''dict object' has no attribute 'HOTEND''dict object' has no attribute 'extrude''dict object' has no attribute 'heater_bed'gcode.CommandError

よくある原因:

  • スライサーがマクロに必要なパラメータを渡していない。例:マクロが params.HOTEND を読み取るが、スライサーが HOTEND= を渡していない。
  • パラメータ名が一致しない。例:マクロが BED / HOTEND を必要とするが、スライサーが実際に渡すのは BED_TEMP / EXTRUDER_TEMP
  • マクロが存在しないオブジェクトを参照している。例:設定に [heater_bed] がないのに、マクロが printer.heater_bed を読み取っている。
  • マクロ内で Jinja2 構文を使用しているが、括弧、引用符、フィルター、またはデフォルト値の記述が間違っている。
  • マクロ内部で実行されたコマンドが先にエラーを起こし、外側では単に Error evaluating と表示されている。

解決方法:

  1. klippy.logError evaluating の下にある完全な Traceback を確認し、どの変数またはコマンドでエラーが発生しているかを特定します。
  2. スライサーの開始 G-code と照らし合わせ、渡されるパラメータ名がマクロ内の params.xxx と完全に一致しているか(大文字小文字も含めて)確認します。
  3. オプションパラメータにはデフォルト値を設定します。例:params.BED|default(60)|float。これにより、パラメータが空の場合のエラーを防ぎます。
  4. マクロで使用されている printer.xxx オブジェクトを検索し、設定に対応するモジュールが存在するか確認します。
  5. マクロがサードパーティ製設定パッケージからのものである場合、すべての依存する include ファイルと基本マクロがロードされているか確認します。

関連設定の参考: マクロ紹介

SAVE_CONFIG 失敗または設定競合

エラーメッセージ: SAVE_CONFIG 実行後に Unable to write configOption conflictCannot save config と表示される、または保存後にプリンターが起動しない。

よくある原因:

  • printer.cfg ファイルの権限が不足しており、Klipper プロセスが書き込めない。sudo を使用して設定ファイルを編集した後によく発生する。
  • 自動保存領域(#*# マークブロック)内の設定項目が、手動の [include] ファイル内の同じオプションと競合している。
  • MCU がシャットダウン状態であり、SAVE_CONFIG が新しい設定を正常に送信できない。
  • printer.cfg ファイルの末尾に構文エラーがあるか、切り詰められており、自動保存領域の書き込みに失敗する。
  • 複数の include ファイルが、SAVE_CONFIG によって自動保存されるべきでないパラメータ(PID、Z offset など)を重複して定義している。

解決方法:

  1. 設定ファイルの権限を確認します:

    ls -la ~/printer_data/config/printer.cfg

    所有権が現在のユーザーでない場合は、以下を実行します:sudo chown $USER:$USER ~/printer_data/config/printer.cfg

  2. SAVE_CONFIG 後にプリンターが起動しない場合は、printer.cfg の下部を開き、#*# 自動保存領域を確認します。

  3. 同じオプションが include ファイルにも存在する場合は、自動保存領域の重複項目を削除するか、include ファイルで一元管理するように変更します。

  4. MCU がシャットダウン状態の場合は、まず FIRMWARE_RESTART を実行し、その後再度 SAVE_CONFIG を実行します。

  5. 権限は正常でも書き込めない場合は、ディスク容量を確認します:df -h ~/printer_data/

関連設定の参考: 設定変更の説明

Loading...