[webserver] # The web server is a experimental feature. # If turned on, don't let it be accessed from internet or untrusted # networks. disable_web_server = true # The address the web server listens to, # use 0.0.0.0 for all IPv4 web_address = "0.0.0.0" # The port the web server listens to web_port = 5001 # Unix domain socket path for IPC between backend and API socket_path = "~/nfc2klipper/nfc2klipper.sock" [nfc] # Which NFC reader to use, see # https://nfcpy.readthedocs.io/en/latest/topics/get-started.html#open-a-local-device nfc-device = "tty:AMA0" [spoolman] # URL for the spoolman installation spoolman-url = "http://mainsailos.local:7912" # http_username = "" # http_password = "" [moonraker] # URL for the moonraker installation moonraker-url = "http://mainsailos.local" # If true, clears the spool & filament info if no tag can be read. clear-spool = false # If true, the SET_ACTIVE_* macros are called every time the tag is read. # If false, the SET_ACTIVE_* macros are not called when the same tag is read again. always-send = false [macros] # Commands to execute when a tag is read. # Each command should be on a separate line. # Use {spool} and {filament} placeholders which will be replaced with actual values. setting_gcode = """ SET_ACTIVE_SPOOL ID={spool} SET_ACTIVE_FILAMENT ID={filament} """ # Commands to execute if a tag can not be read. # See also the clear-spool command option above. # clearing_gcode = """ CLEAR_ACTIVE_SPOOL SET_ACTIVE_FILAMENT ID=0 """ [opentag3d] # Template for generating filament names from OpenTag3D tag data. # Based on OpenTag3D spec version 0.012 (https://opentag3d.info/spec) # Available core fields (always present): # tag_version, manufacturer, material_base, material_mod, # material_name (computed from material_base + material_mod), # color_name, color_hex, color_2_hex, color_3_hex, color_4_hex, # diameter_mm, target_weight, print_temp, bed_temp, density # Available extended fields (NTAG215/216 only, if present in tag): # online_data_url, serial, mfg_date, mfg_time, spool_core_diameter, # mfi_temp, mfi_load, mfi_value, measured_tolerance, empty_spool_weight, # measured_filament_weight, measured_filament_length, transmission_distance, # max_dry_temp, dry_time, min_print_temp, max_print_temp, # min_volumetric_speed, max_volumetric_speed, target_volumetric_speed # Examples: # "{material_base}" -> "PLA" # "{material_base}-{material_mod}" -> "PLA-CF" (or "PLA-" if no modifier) # "{material_base} {color_name}" -> "PLA Red" # "{manufacturer} {material_base}" -> "Prusa PLA" # "{material_base} {material_mod} - {color_name}" -> "PLA CF - Red" # Default: "{material_base} {material_mod} - {color_name}" (e.g., "PLA CF - Red" or "PLA - Red") # Note: Empty fields like material_mod will be cleaned up (extra spaces/dashes removed) filament_name_template = "{material_base} {material_mod} - {color_name}" # Field mapping from OpenTag3D data to Spoolman filament fields # Format: spoolman_field = opentag3d_field # Use dot notation for nested fields, e.g., "extra.custom_field" # Multiple mappings can reference the same OpenTag3D field # See Spoolman API docs: https://donkie.github.io/Spoolman/#tag/filament/operation/Add_filament_filament_post [opentag3d.filament_field_mapping] weight = "target_weight" settings_bed_temp = "bed_temp" settings_extruder_temp = "print_temp" # Example of custom extra fields: # extra.mfi_temperature = "mfi_temp" # extra.mfi_load = "mfi_load" # extra.mfi_value = "mfi_value" # extra.online_data_url = "online_data_url" # Field mapping from OpenTag3D data to Spoolman spool fields # See Spoolman API docs: https://donkie.github.io/Spoolman/#tag/spool/operation/Add_spool_spool_post [opentag3d.spool_field_mapping] remaining_weight = "measured_filament_weight" lot_nr = "serial" # Example of custom extra fields: # extra.manufacture_date = "mfg_date" # extra.manufacture_time = "mfg_time" # extra.empty_spool_weight = "empty_spool_weight" # extra.measured_filament_length = "measured_filament_length" # location = "manufacturer"