Clon1998 / mobileraker

A Flutter mobile app for Klipper/Moonraker
Other
486 stars 54 forks source link

Fetching Printer... No Connection #106

Closed St1fT closed 1 year ago

St1fT commented 1 year ago

Hi, Mobileraker connect to my Printer, but the Dashboard shows "fetching printer..." My Config part is: */printer_data/config/ I don´t know, if this is the issue.

akno2205 commented 1 year ago

Hy, same Problem here. After a new installation of Klipper to my printer, with the new config path (printer_data/config. I’m not able to connect with the app to the printer. I get the same error and the following details:

akno2205 commented 1 year ago
Exception:
 type 'Null' is not a subtype of type 'double'

#0      new ConfigExtruder.parse (package:mobileraker/data/dto/config/config_extruder.dart:12)
#1      new ConfigFile.parse (package:mobileraker/data/dto/config/config_file.dart:42)
#2      PrinterService._updateConfigFile (package:mobileraker/service/moonraker/printer_service.dart:757)
#3      PrinterService._parseObjectType (package:mobileraker/service/moonraker/printer_service.dart:426)
#4      PrinterService._temperatureStore.<anonymous closure> (package:mobileraker/service/moonraker/printer_service.dart:377)
#5      _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:617)
#6      PrinterService._parseQueriedObjects (package:mobileraker/service/moonraker/printer_service.dart:496)
#7      PrinterService._printerObjectsQuery (package:mobileraker/service/moonraker/printer_service.dart:1032)
<asynchronous suspension>
#8      PrinterService.refreshPrinter (package:mobileraker/service/moonraker/printer_service.dart:168)
<asynchronous suspension>

Failed-Key: configfile 
Raw Json:
{"configfile":{"config":{"respond":{},"delayed_gcode ONLINE_MSG":{"initial_duration":"1.","gcode":"\nRESPOND PREFIX=telegram: MSG=\"Hello. I am online and ready to print :-)\""},"gcode_macro NOZZEL_CLEAN":{"gcode":"\nG90\nG1 Z3.0 X192 F2000\nG1 Z3.0 X180 F2000\nG1 Z3.0 X192 F2000\nG1 Z3.0 X180 F2000\nG1 Z3.0 X192 F2000\nG1 Z3.0 X180 F2000\nG1 Z3.0 X192 F2000\nG1 Z3.0 X180 F2000"},"gcode_macro START_PRINT":{"gcode":"\n{% set T_BED = params.BED_TEMP|default(0)|float %}\n{% set T_EXTRUDER = params.EXTRUDER_TEMP|default(0)|float %}\n\nM140 S{T_BED}\n\nM190 S{T_BED}\n\nM109 S{T_EXTRUDER}\n\nG90\n\nSET_GCODE_OFFSET Z=0.0\n\nG28\n\nBED_MESH_CLEAR\nBED_MESH_CALIBRATE\n\n\n\nG92 E0\nG1 Z5.0 F3000\nG1 X0.1 Y20 Z0.2 F5000.0\nG1 X0.1 Y170.0 Z0.2 F1500.0 E15\nG1 X0.4 Y170.0 Z0.2 F5000.0\nG1 X0.4 Y20 Z0.2 F1500.0 E30\nG92 E0\nG1 Z2.0 F3000\nG1 X5 Y20 Z0.2 F5000.0\nUPDATE_DELAYED_GCODE ID=CASELIGHT_OFF_PRINT DURATION=60"},"gcode_macro END_PRINT":{"gcode":"\n\n\nG91\nG1 E-2 F2700\nG1 E-2 Z0.2 F2400\nG1 X5 Y5 F3000\nG1 Z10\nG90\nG1 X0 Y180 F1500\n\nM140 S0\nM104 S0\nM106 S0\n\nM84\nUPDATE_DELAYED_GCODE ID=CASELIGHT_ON_PRINT DURATION=1"},"gcode_macro G29":{"gcode":"\nM190 S60\nG28\nBED_MESH_CLEAR\nBED_MESH_CALIBRATE\nG0 X0 Y0 Z10 F6000"},"gcode_macro LOAD_FILAMENT":{"gcode":"\n\nG91\nG92 E0\nG1 E300 F900\nG1 E75 F100"},"gcode_macro UNLOAD_FILAMENT":{"gcode":"\n\nG91\nG92 E0\nG1 E25 F100\nG1 E-375 F900"},"gcode_macro SCREW1":{"gcode":"\nG90\nG1 X25 Y70 Z30 F1500"},"gcode_macro SCREW2":{"gcode":"\nG90\nG1 X155 Y70 Z30 F1500"},"gcode_macro SCREW3":{"gcode":"\nG90\nG1 X155 Y185 Z30 F1500"},"gcode_macro SCREW4":{"gcode":"\nG90\nG1 X25 Y185 Z30 F1500"},"virtual_sdcard":{"path":"~/printer_data/gcodes","on_error_gcode":"CANCEL_PRINT"},"pause_resume":{},"display_status":{},"gcode_macro CANCEL_PRINT":{"description":"Cancel the actual running print","rename_existing":"CANCEL_PRINT_BASE","gcode":"\n\n{% set macro_found = True if printer['gcode_macro _CLIENT_VARIABLE'] is defined else False %}\n{% set client = printer['gcode_macro _CLIENT_VARIABLE'] %}\n{% set allow_park = False if not macro_found\nelse False if client.park_at_cancel is not defined\nelse True  if client.park_at_cancel|lower == 'true'\nelse False %}\n{% set retract      = 5.0  if not macro_found else client.cancel_retract|default(5.0)|abs %}\n{% set sp_retract   = 2100 if not macro_found else client.speed_retract|default(35) * 60 %}\n\n{% if not printer.pause_resume.is_paused and allow_park %} _TOOLHEAD_PARK_PAUSE_CANCEL {% endif %}\n{% if printer.extruder.can_extrude %}\nM83\nG1 E-{retract} F{sp_retract}\n{% if printer.gcode_move.absolute_extrude %} M82 {% endif %}\n{% else %}\n{action_respond_info(\"Extruder not hot enough\")}\n{% endif %}\nTURN_OFF_HEATERS\nM106 S0\nCANCEL_PRINT_BASE"},"gcode_macro PAUSE":{"description":"Pause the actual running print","rename_existing":"PAUSE_BASE","gcode":"\nPAUSE_BASE\n_TOOLHEAD_PARK_PAUSE_CANCEL {rawparams}"},"gcode_macro RESUME":{"description":"Resume the actual running print","rename_existing":"RESUME_BASE","gcode":"\n\n{% set macro_found = True if printer['gcode_macro _CLIENT_VARIABLE'] is defined else False %}\n{% set client = printer['gcode_macro _CLIENT_VARIABLE'] %}\n{% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}\n{% set use_fw_retract = False if not macro_found\nelse False if client.use_fw_retract is not defined\nelse True  if client.use_fw_retract|lower == 'true' and printer.firmware_retraction is defined\nelse False %}\n{% set unretract      = 1.0  if not macro_found else client.unretract|default(1.0)|abs %}\n{% set sp_unretract   = 2100 if not macro_found else client.speed_unretract|default(35) * 60 %}\n{% set sp_move        = velocity if not macro_found else client.speed_move|default(velocity) %}\n\n{% if printer.extruder.can_extrude %}\n{% if use_fw_retract %}\nG11\n{% else %}\nM83\nG1 E{unretract} F{sp_unretract}\n{% if printer.gcode_move.absolute_extrude %} M82 {% endif %}\n{% endif %}\n{% else %}\n{action_respond_info(\"Extruder not hot enough %s\" % use_fw_retract)}\n{% endif %}\nRESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}"},"gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL":{"description":"Helper: park toolhead used in PAUSE and CANCEL_PRINT","gcode":"\n\n{% set macro_found = True if printer['gcode_macro _CLIENT_VARIABLE'] is defined else False %}\n{% set client = printer['gcode_macro _CLIENT_VARIABLE'] %}\n{% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}\n{% set use_custom     = False if not macro_found\nelse False if client.use_custom_pos is not defined\nelse True  if client.use_custom_pos|lower == 'true'\nelse False %}\n{% set custom_park_x  = 0.0 if not macro_found else client.custom_park_x|default(0.0) %}\n{% set custom_park_y  = 0.0 if not macro_found else client.custom_park_y|default(0.0) %}\n{% set park_dz        = 2.0 if not macro_found else client.custom_park_dz|default(2.0)|abs %}\n{% set use_fw_retract = False if not macro_found\nelse False if client.use_fw_retract is not defined\nelse True  if client.use_fw_retract|lower == 'true' and printer.firmware_retraction is defined\nelse False %}\n{% set retract      = 1.0  if not macro_found else client.retract|default(1.0)|abs %}\n{% set sp_retract   = 2100 if not macro_found else client.speed_retract|default(35) * 60 %}\n{% set sp_hop       = 900  if not macro_found else client.speed_hop|default(15) * 60 %}\n{% set sp_move      = velocity * 60 if not macro_found else client.speed_move|default(velocity) * 60 %}\n\n{% set act = printer.toolhead.position %}\n{% set max = printer.toolhead.axis_maximum %}\n{% set cone = printer.toolhead.cone_start_z|default(max.z) %}\n{% set round_bed = True if printer.configfile.settings.printer.kinematics is in ['delta','polar','rotary_delta','winch']\nelse False %}\n\n{% set z_min = params.Z_MIN|default(0)|float %}\n{% set z_park = [[(act.z + park_dz), z_min]|max, max.z]|min %}\n{% set x_park = params.X       if params.X is defined\nelse custom_park_x  if use_custom\nelse 0.0            if round_bed\nelse (max.x - 5.0) %}\n{% set y_park = params.Y       if params.Y is defined\nelse custom_park_y  if use_custom\nelse (max.y - 5.0)  if round_bed and z_park < cone\nelse 0.0            if round_bed\nelse (max.y - 5.0) %}\n\n{% if printer.extruder.can_extrude %}\n{% if use_fw_retract %}\nG10\n{% else %}\nM83\nG1 E-{retract} F{sp_retract}\n{% if printer.gcode_move.absolute_extrude %} M82 {% endif %}\n{% endif %}\n{% else %}\n{action_respond_info(\"Extruder not hot enough\")}\n{% endif %}\n{% if \"xyz\" in printer.toolhead.homed_axes %}\nG90\nG1 Z{z_park} F{sp_hop}\nG1 X{x_park} Y{y_park} F{sp_move}\n{% if not printer.gcode_move.absolute_coordinates %} G91 {% endif %}\n{% else %}\n{action_respond_info(\"Printer not homed\")}\n{% endif %}"},"mcu host":{"serial":"/tmp/klipper_host_mcu"},"temperature_sensor raspberry_pi":{"sensor_type":"temperature_host","min_temp":"10","max_temp":"100"},"gcode_macro CASELIGHT_OFF":{"gcode":"\n{action_call_remote_method(\"set_device_power\",\ndevice=\"light\",\nstate=\"off\")}"},"gcode_macro CASELIGHT_ON":{"gcode":"\n{action_call_remote_method(\"set_device_power\",\ndevice=\"light\",\nstate=\"on\")}"},"delayed_gcode LIGHT_ON_START":{"initial_duration":"1.","gcode":"\n{action_call_remote_method(\"set_device_power\",\ndevice=\"light\",\nstate=\"on\")}"},"delayed_gcode CASELIGHT_OFF_PRINT":{"gcode":"\n{action_call_remote_method(\"set_device_power\",\ndevice=\"light\",\nstate=\"off\")}"},"delayed_gcode CASELIGHT_ON_PRINT":{"gcode":"\n{action_call_remote_method(\"set_device_power\",\ndevice=\"light\",\nstate=\"on\")}"},"stepper_x":{"step_pin":"P2.2","dir_pin":"!P2.6","enable_pin":"!P2.1","microsteps":"16","rotation_distance":"40","endstop_pin":"P1.29","position_endstop":"-10","position_min":"-10","position_max":"183","homing_speed":"50"},"tmc2208 stepper_x":{"uart_pin":"P1.10","run_current":"0.800","stealthchop_threshold":"999999"},"stepper_y":{"step_pin":"P0.19","dir_pin":"!P0.20","enable_pin":"!P2.8","microsteps":"16","rotation_distance":"40","endstop_pin":"P1.28","position_endstop":"0","position_min":"0","position_max":"186","homing_speed":"50"},"tmc2208 stepper_y":{"uart_pin":"P1.9","run_current":"0.800","stealthchop_threshold":"999999"},"stepper_z":{"step_pin":"P0.22","dir_pin":"P2.11","enable_pin":"!P0.21","microsteps":"16","rotation_distance":"8","endstop_pin":"probe:z_virtual_endstop","position_min":"-4","position_max":"200"},"tmc2208 stepper_z":{"uart_pin":"P1.8","run_current":"0.650","stealthchop_threshold":"999999"},"extruder":{"step_pin":"P2.13","dir_pin":"!P0.11","enable_pin":"!P2.12","microsteps":"16","rotation_distance":"33.808","nozzle_diameter":"0.400","filament_diameter":"1.750","max_extrude_only_distance":"450","heater_pin":"P2.7","sensor_type":"EPCOS 100K B57560G104F","sensor_pin":"P0.24","control":"pid","pid_kp":"23.275","pid_ki":"1.085","pid_kd":"124.814","min_temp":"0","max_temp":"275","min_extrude_temp":"180"},"tmc2208 extruder":{"uart_pin":"P1.4","run_current":"0.800","stealthchop_threshold":"999999"},"extruder_stepper sec_extruder":{"extruder":"","step_pin":"P1.15","dir_pin":"!P1.14","enable_pin":"!P1.16","microsteps":"16","rotation_distance":"33.808"},"tmc2208 extruder_stepper sec_extruder":{"uart_pin":"P1.1","run_current":"0.800","stealthchop_threshold":"999999"},"gcode_macro T0":{"gcode":"\n\nSYNC_EXTRUDER_MOTION EXTRUDER=sec_extruder MOTION_QUEUE=\n\nSYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder"},"gcode_macro T1":{"gcode":"\nSYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=\n\nSYNC_EXTRUDER_MOTION EXTRUDER=sec_extruder MOTION_QUEUE=extruder"},"gcode_macro ACTIVATE_EXTRUDER":{"description":"Replaces built-in macro for a X-in, 1-out extruder configuration SuperSlicer fix","rename_existing":"ACTIVATE_EXTRUDER_BASE","gcode":"\n{% if 'EXTRUDER' in params %}\n{% set ext = params.EXTRUDER|default(EXTRUDER) %}\n{% if ext == \"extruder\"%}\n{action_respond_info(\"Switching to extruder.\")}\nT0\n{% elif ext == \"sec_extruder\" %}\n{action_respond_info(\"Switching to sec_extruder.\")}\nT1\n{% else %}\n{action_respond_info(\"EXTRUDER value being passed.\")}\nACTIVATE_EXTRUDER_BASE EXTRUDER={ext}\n{% endif %}\n{% endif %}"},"delayed_gcode activate_default_extruder":{"initial_duration":"1","gcode":"\nACTIVATE_EXTRUDER EXTRUDER=extruder"},"heater_bed":{"heater_pin":"P2.5","sensor_type":"EPCOS 100K B57560G104F","sensor_pin":"P0.25","control":"pid","pid_kp":"65.759","pid_ki":"2.203","pid_kd":"490.730","min_temp":"0","max_temp":"130"},"fan":{"pin":"P2.3"},"mcu":{"serial":"/dev/serial/by-id/usb-Klipper_lpc1769_0AE002086080D5956C10E461C52000F5-if00"},"printer":{"kinematics":"cartesian","max_velocity":"300","max_accel":"3000","max_accel_to_decel":"3000","square_corner_velocity":"5.0","max_z_velocity":"5","max_z_accel":"100"},"bltouch":{"sensor_pin":"^P0.10","control_pin":"P2.0","x_offset":"-41","y_offset":"-8","z_offset":"1.760","probe_with_touch_mode":"True","pin_move_time":"0.4","speed":"20","stow_on_each_sample":"False"},"safe_z_home":{"home_xy_position":"90,90","speed":"250","z_hop":"10","z_hop_speed":"5"},"bed_mesh":{"speed":"150","horizontal_move_z":"10","mesh_min":"10,10","mesh_max":"135,160","probe_count":"5,5","algorithm":"bicubic","fade_start":"1","fade_end":"10","fade_target":"0"},"bed_screws":{"screw1":"25, 25","screw2":"155, 25","screw3":"155, 155","screw4":"25, 155"},"input_shaper":{"shaper_freq_x":"110.8","shaper_type_x":"zv","shaper_freq_y":"73.0","shaper_type_y":"3hump_ei"},"board_pins":{"aliases":"\n\nEXP1_1=P1.30, EXP1_3=P1.18, EXP1_5=P1.20, EXP1_7=P1.22, EXP1_9=<GND>,\nEXP1_2=P0.28, EXP1_4=P1.19, EXP1_6=P1.21, EXP1_8=P1.23, EXP1_10=<5V>,\n\nEXP2_1=P0.17, EXP2_3=P3.26, EXP2_5=P3.25, EXP2_7=P1.31, EXP2_9=<GND>,\nEXP2_2=P0.15, EXP2_4=P0.16, EXP2_6=P0.18, EXP2_8=<RST>, EXP2_10=<NC>"}},"settings":{"mcu":{"serial":"/dev/serial/by-id/usb-Klipper_lpc1769_0AE002086080D5956C10E461C52000F5-if00","baud":250000,"max_stepper_error":0.000025},"mcu host":{"serial":"/tmp/klipper_host_mcu","max_stepper_error":0.000025},"respond":{"default_type":"echo","default_prefix":"echo:"},"delayed_gcode online_msg":{"gcode":"\nRESPOND PREFIX=telegram: MSG=\"Hello. I am online and ready to print :-)\"","initial_duration":1.0},"gcode_macro nozzel_clean":{"gcode":"\nG90\nG1 Z3.0 X192 F2000\nG1 Z3.0 X180 F2000\nG1 Z3.0 X192 F2000\nG1 Z3.0 X180 F2000\nG1 Z3.0 X192 F2000\nG1 Z3.0 X180 F2000\nG1 Z3.0 X192 F2000\nG1 Z3.0 X180 F2000","description":"G-Code macro"},"gcode_macro start_print":{"gcode":"\n{% set T_BED = params.BED_TEMP|default(0)|float %}\n{% set T_EXTRUDER = params.EXTRUDER_TEMP|default(0)|float %}\n\nM140 S{T_BED}\n\nM190 S{T_BED}\n\nM109 S{T_EXTRUDER}\n\nG90\n\nSET_GCODE_OFFSET Z=0.0\n\nG28\n\nBED_MESH_CLEAR\nBED_MESH_CALIBRATE\n\n\n\nG92 E0\nG1 Z5.0 F3000\nG1 X0.1 Y20 Z0.2 F5000.0\nG1 X0.1 Y170.0 Z0.2 F1500.0 E15\nG1 X0.4 Y170.0 Z0.2 F5000.0\nG1 X0.4 Y20 Z0.2 F1500.0 E30\nG92 E0\nG1 Z2.0 F3000\nG1 X5 Y20 Z0.2 F5000.0\nUPDATE_DELAYED_GCODE ID=CASELIGHT_OFF_PRINT DURATION=60","description":"G-Code macro"},"gcode_macro end_print":{"gcode":"\n\n\nG91\nG1 E-2 F2700\nG1 E-2 Z0.2 F2400\nG1 X5 Y5 F3000\nG1 Z10\nG90\nG1 X0 Y180 F1500\n\nM140 S0\nM104 S0\nM106 S0\n\nM84\nUPDATE_DELAYED_GCODE ID=CASELIGHT_ON_PRINT DURATION=1","description":"G-Code macro"},"gcode_macro g29":{"gcode":"\nM190 S60\nG28\nBED_MESH_CLEAR\nBED_MESH_CALIBRATE\nG0 X0 Y0 Z10 F6000","description":"G-Code macro"},"gcode_macro load_filament":{"gcode":"\n\nG91\nG92 E0\nG1 E300 F900\nG1 E75 F100","description":"G-Code macro"},"gcode_macro unload_filament":{"gcode":"\n\nG91\nG92 E0\nG1 E25 F100\nG1 E-375 F900","description":"G-Code macro"},"gcode_macro screw1":{"gcode":"\nG90\nG1 X25 Y70 Z30 F1500","description":"G-Code macro"},"gcode_macro screw2":{"gcode":"\nG90\nG1 X155 Y70 Z30 F1500","description":"G-Code macro"},"gcode_macro screw3":{"gcode":"\nG90\nG1 X155 Y185 Z30 F1500","description":"G-Code macro"},"gcode_macro screw4":{"gcode":"\nG90\nG1 X25 Y185 Z30 F1500","description":"G-Code macro"},"virtual_sdcard":{"path":"~/printer_data/gcodes","on_error_gcode":"CANCEL_PRINT"},"pause_resume":{"recover_velocity":50.0},"gcode_macro cancel_print":{"gcode":"\n\n{% set macro_found = True if printer['gcode_macro _CLIENT_VARIABLE'] is defined else False %}\n{% set client = printer['gcode_macro _CLIENT_VARIABLE'] %}\n{% set allow_park = False if not macro_found\nelse False if client.park_at_cancel is not defined\nelse True  if client.park_at_cancel|lower == 'true'\nelse False %}\n{% set retract      = 5.0  if not macro_found else client.cancel_retract|default(5.0)|abs %}\n{% set sp_retract   = 2100 if not macro_found else client.speed_retract|default(35) * 60 %}\n\n{% if not printer.pause_resume.is_paused and allow_park %} _TOOLHEAD_PARK_PAUSE_CANCEL {% endif %}\n{% if printer.extruder.can_extrude %}\nM83\nG1 E-{retract} F{sp_retract}\n{% if printer.gcode_move.absolute_extrude %} M82 {% endif %}\n{% else %}\n{action_respond_info(\"Extruder not hot enough\")}\n{% endif %}\nTURN_OFF_HEATERS\nM106 S0\nCANCEL_PRINT_BASE","rename_existing":"CANCEL_PRINT_BASE","description":"Cancel the actual running print"},"gcode_macro pause":{"gcode":"\nPAUSE_BASE\n_TOOLHEAD_PARK_PAUSE_CANCEL {rawparams}","rename_existing":"PAUSE_BASE","description":"Pause the actual running print"},"gcode_macro resume":{"gcode":"\n\n{% set macro_found = True if printer['gcode_macro _CLIENT_VARIABLE'] is defined else False %}\n{% set client = printer['gcode_macro _CLIENT_VARIABLE'] %}\n{% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}\n{% set use_fw_retract = False if not macro_found\nelse False if client.use_fw_retract is not defined\nelse True  if client.use_fw_retract|lower == 'true' and printer.firmware_retraction is defined\nelse False %}\n{% set unretract      = 1.0  if not macro_found else client.unretract|default(1.0)|abs %}\n{% set sp_unretract   = 2100 if not macro_found else client.speed_unretract|default(35) * 60 %}\n{% set sp_move        = velocity if not macro_found else client.speed_move|default(velocity) %}\n\n{% if printer.extruder.can_extrude %}\n{% if use_fw_retract %}\nG11\n{% else %}\nM83\nG1 E{unretract} F{sp_unretract}\n{% if printer.gcode_move.absolute_extrude %} M82 {% endif %}\n{% endif %}\n{% else %}\n{action_respond_info(\"Extruder not hot enough %s\" % use_fw_retract)}\n{% endif %}\nRESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}","rename_existing":"RESUME_BASE","description":"Resume the actual running print"},"gcode_macro _toolhead_park_pause_cancel":{"gcode":"\n\n{% set macro_found = True if printer['gcode_macro _CLIENT_VARIABLE'] is defined else False %}\n{% set client = printer['gcode_macro _CLIENT_VARIABLE'] %}\n{% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}\n{% set use_custom     = False if not macro_found\nelse False if client.use_custom_pos is not defined\nelse True  if client.use_custom_pos|lower == 'true'\nelse False %}\n{% set custom_park_x  = 0.0 if not macro_found else client.custom_park_x|default(0.0) %}\n{% set custom_park_y  = 0.0 if not macro_found else client.custom_park_y|default(0.0) %}\n{% set park_dz        = 2.0 if not macro_found else client.custom_park_dz|default(2.0)|abs %}\n{% set use_fw_retract = False if not macro_found\nelse False if client.use_fw_retract is not defined\nelse True  if client.use_fw_retract|lower == 'true' and printer.firmware_retraction is defined\nelse False %}\n{% set retract      = 1.0  if not macro_found else client.retract|default(1.0)|abs %}\n{% set sp_retract   = 2100 if not macro_found else client.speed_retract|default(35) * 60 %}\n{% set sp_hop       = 900  if not macro_found else client.speed_hop|default(15) * 60 %}\n{% set sp_move      = velocity * 60 if not macro_found else client.speed_move|default(velocity) * 60 %}\n\n{% set act = printer.toolhead.position %}\n{% set max = printer.toolhead.axis_maximum %}\n{% set cone = printer.toolhead.cone_start_z|default(max.z) %}\n{% set round_bed = True if printer.configfile.settings.printer.kinematics is in ['delta','polar','rotary_delta','winch']\nelse False %}\n\n{% set z_min = params.Z_MIN|default(0)|float %}\n{% set z_park = [[(act.z + park_dz), z_min]|max, max.z]|min %}\n{% set x_park = params.X       if params.X is defined\nelse custom_park_x  if use_custom\nelse 0.0            if round_bed\nelse (max.x - 5.0) %}\n{% set y_park = params.Y       if params.Y is defined\nelse custom_park_y  if use_custom\nelse (max.y - 5.0)  if round_bed and z_park < cone\nelse 0.0            if round_bed\nelse (max.y - 5.0) %}\n\n{% if printer.extruder.can_extrude %}\n{% if use_fw_retract %}\nG10\n{% else %}\nM83\nG1 E-{retract} F{sp_retract}\n{% if printer.gcode_move.absolute_extrude %} M82 {% endif %}\n{% endif %}\n{% else %}\n{action_respond_info(\"Extruder not hot enough\")}\n{% endif %}\n{% if \"xyz\" in printer.toolhead.homed_axes %}\nG90\nG1 Z{z_park} F{sp_hop}\nG1 X{x_park} Y{y_park} F{sp_move}\n{% if not printer.gcode_move.absolute_coordinates %} G91 {% endif %}\n{% else %}\n{action_respond_info(\"Printer not homed\")}\n{% endif %}","description":"Helper: park toolhead used in PAUSE and CANCEL_PRINT"},"temperature_sensor raspberry_pi":{"sensor_type":"temperature_host","sensor_path":"/sys/class/thermal/thermal_zone0/temp","min_temp":10.0,"max_temp":100.0},"gcode_macro caselight_off":{"gcode":"\n{action_call_remote_method(\"set_device_power\",\ndevice=\"light\",\nstate=\"off\")}","description":"G-Code macro"},"gcode_macro caselight_on":{"gcode":"\n{action_call_remote_method(\"set_device_power\",\ndevice=\"light\",\nstate=\"on\")}","description":"G-Code macro"},"delayed_gcode light_on_start":{"gcode":"\n{action_call_remote_method(\"set_device_power\",\ndevice=\"light\",\nstate=\"on\")}","initial_duration":1.0},"delayed_gcode caselight_off_print":{"gcode":"\n{action_call_remote_method(\"set_device_power\",\ndevice=\"light\",\nstate=\"off\")}","initial_duration":0.0},"delayed_gcode caselight_on_print":{"gcode":"\n{action_call_remote_method(\"set_device_power\",\ndevice=\"light\",\nstate=\"on\")}","initial_duration":0.0},"tmc2208 stepper_x":{"uart_pin":"P1.10","uart_address":0,"run_current":0.8,"hold_current":2.0,"sense_resistor":0.11,"interpolate":true,"stealthchop_threshold":999999.0,"driver_toff":3,"driver_hstrt":5,"driver_hend":0,"driver_tbl":2,"driver_iholddelay":8,"driver_tpowerdown":20,"driver_pwm_ofs":36,"driver_pwm_grad":14,"driver_pwm_freq":1,"driver_pwm_autoscale":true,"driver_pwm_autograd":true,"driver_pwm_reg":8,"driver_pwm_lim":12},"stepper_x":{"microsteps":16,"step_pin":"P2.2","dir_pin":"!P2.6","rotation_distance":40.0,"full_steps_per_rotation":200,"gear_ratio":[],"enable_pin":"!P2.1","endstop_pin":"P1.29","position_endstop":-10.0,"position_min":-10.0,"position_max":183.0,"homing_speed":50.0,"second_homing_speed":25.0,"homing_retract_speed":50.0,"homing_retract_dist":5.0,"homing_positive_dir":false},"tmc2208 stepper_y":{"uart_pin":"P1.9","uart_address":0,"run_current":0.8,"hold_current":2.0,"sense_resistor":0.11,"interpolate":true,"stealthchop_threshold":999999.0,"driver_toff":3,"driver_hstrt":5,"driver_hend":0,"driver_tbl":2,"driver_iholddelay":8,"driver_tpowerdown":20,"driver_pwm_ofs":36,"driver_pwm_grad":14,"driver_pwm_freq":1,"driver_pwm_autoscale":true,"driver_pwm_autograd":true,"driver_pwm_reg":8,"driver_pwm_lim":12},"stepper_y":{"microsteps":16,"step_pin":"P0.19","dir_pin":"!P0.20","rotation_distance":40.0,"full_steps_per_rotation":200,"gear_ratio":[],"enable_pin":"!P2.8","endstop_pin":"P1.28","position_endstop":0.0,"position_min":0.0,"position_max":186.0,"homing_speed":50.0,"second_homing_speed":25.0,"homing_retract_speed":50.0,"homing_retract_dist":5.0,"homing_positive_dir":false},"tmc2208 stepper_z":{"uart_pin":"P1.8","uart_address":0,"run_current":0.65,"hold_current":2.0,"sense_resistor":0.11,"interpolate":true,"stealthchop_threshold":999999.0,"driver_toff":3,"driver_hstrt":5,"driver_hend":0,"driver_tbl":2,"driver_iholddelay":8,"driver_tpowerdown":20,"driver_pwm_ofs":36,"driver_pwm_grad":14,"driver_pwm_freq":1,"driver_pwm_autoscale":true,"driver_pwm_autograd":true,"driver_pwm_reg":8,"driver_pwm_lim":12},"stepper_z":{"microsteps":16,"step_pin":"P0.22","dir_pin":"P2.11","rotation_distance":8.0,"full_steps_per_rotation":200,"gear_ratio":[],"enable_pin":"!P0.21","endstop_pin":"probe:z_virtual_endstop","position_min":-4.0,"position_max":200.0,"homing_speed":5.0,"second_homing_speed":2.5,"homing_retract_speed":5.0,"homing_retract_dist":5.0,"homing_positive_dir":false},"tmc2208 extruder":{"uart_pin":"P1.4","uart_address":0,"run_current":0.8,"hold_current":2.0,"sense_resistor":0.11,"interpolate":true,"stealthchop_threshold":999999.0,"driver_toff":3,"driver_hstrt":5,"driver_hend":0,"driver_tbl":2,"driver_iholddelay":8,"driver_tpowerdown":20,"driver_pwm_ofs":36,"driver_pwm_grad":14,"driver_pwm_freq":1,"driver_pwm_autoscale":true,"driver_pwm_autograd":true,"driver_pwm_reg":8,"driver_pwm_lim":12},"extruder":{"microsteps":16,"sensor_type":"EPCOS 100K B57560G104F","pullup_resistor":4700.0,"inline_resistor":0.0,"sensor_pin":"P0.24","min_temp":0.0,"max_temp":275.0,"min_extrude_temp":180.0,"max_power":1.0,"smooth_time":1.0,"control":"pid","pid_kp":23.275,"pid_ki":1.085,"pid_kd":124.814,"heater_pin":"P2.7","pwm_cycle_time":0.1,"nozzle_diameter":0.4,"filament_diameter":1.75,"max_extrude_cross_section":0.6400000000000001,"max_extrude_only_velocity":79.82432411074329,"max_extrude_only_accel":798.2432411074329,"max_extrude_only_distance":450.0,"instantaneous_corner_velocity":1.0,"step_pin":"P2.13","pressure_advance":0.0,"pressure_advance_smooth_time":0.04,"dir_pin":"!P0.11","rotation_distance":33.808,"full_steps_per_rotation":200,"gear_ratio":[],"enable_pin":"!P2.12"},"extruder_stepper sec_extruder":{"pressure_advance":0.0,"pressure_advance_smooth_time":0.04,"step_pin":"P1.15","dir_pin":"!P1.14","rotation_distance":33.808,"microsteps":16,"full_steps_per_rotation":200,"gear_ratio":[],"enable_pin":"!P1.16","extruder":""},"force_move":{"enable_force_move":false},"tmc2208 extruder_stepper sec_extruder":{"uart_pin":"P1.1","uart_address":0,"run_current":0.8,"hold_current":2.0,"sense_resistor":0.11,"interpolate":true,"stealthchop_threshold":999999.0,"driver_toff":3,"driver_hstrt":5,"driver_hend":0,"driver_tbl":2,"driver_iholddelay":8,"driver_tpowerdown":20,"driver_pwm_ofs":36,"driver_pwm_grad":14,"driver_pwm_freq":1,"driver_pwm_autoscale":true,"driver_pwm_autograd":true,"driver_pwm_reg":8,"driver_pwm_lim":12},"gcode_macro t0":{"gcode":"\n\nSYNC_EXTRUDER_MOTION EXTRUDER=sec_extruder MOTION_QUEUE=\n\nSYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=extruder","description":"G-Code macro"},"gcode_macro t1":{"gcode":"\nSYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=\n\nSYNC_EXTRUDER_MOTION EXTRUDER=sec_extruder MOTION_QUEUE=extruder","description":"G-Code macro"},"gcode_macro activate_extruder":{"gcode":"\n{% if 'EXTRUDER' in params %}\n{% set ext = params.EXTRUDER|default(EXTRUDER) %}\n{% if ext == \"extruder\"%}\n{action_respond_info(\"Switching to extruder.\")}\nT0\n{% elif ext == \"sec_extruder\" %}\n{action_respond_info(\"Switching to sec_extruder.\")}\nT1\n{% else %}\n{action_respond_info(\"EXTRUDER value being passed.\")}\nACTIVATE_EXTRUDER_BASE EXTRUDER={ext}\n{% endif %}\n{% endif %}","rename_existing":"ACTIVATE_EXTRUDER_BASE","description":"Replaces built-in macro for a X-in, 1-out extruder configuration SuperSlicer fix"},"delayed_gcode activate_default_extruder":{"gcode":"\nACTIVATE_EXTRUDER EXTRUDER=extruder","initial_duration":1.0},"heater_bed":{"sensor_type":"EPCOS 100K B57560G104F","pullup_resistor":4700.0,"inline_resistor":0.0,"sensor_pin":"P0.25","min_temp":0.0,"max_temp":130.0,"min_extrude_temp":170.0,"max_power":1.0,"smooth_time":1.0,"control":"pid","pid_kp":65.759,"pid_ki":2.203,"pid_kd":490.73,"heater_pin":"P2.5","pwm_cycle_time":0.1},"verify_heater heater_bed":{"hysteresis":5.0,"max_error":120.0,"heating_gain":2.0,"check_gain_time":60.0},"fan":{"max_power":1.0,"kick_start_time":0.1,"off_below":0.0,"cycle_time":0.01,"hardware_pwm":false,"shutdown_speed":0.0,"pin":"P2.3"},"bltouch":{"z_offset":1.76,"stow_on_each_sample":false,"probe_with_touch_mode":true,"control_pin":"P2.0","sensor_pin":"^P0.10","pin_up_reports_not_triggered":true,"pin_up_touch_mode_reports_triggered":true,"pin_move_time":0.4,"speed":20.0,"lift_speed":20.0,"x_offset":-41.0,"y_offset":-8.0,"samples":1,"sample_retract_dist":2.0,"samples_result":"average","samples_tolerance":0.1,"samples_tolerance_retries":0},"safe_z_home":{"home_xy_position":[90.0,90.0],"z_hop":10.0,"z_hop_speed":5.0,"speed":250.0,"move_to_previous":false},"bed_mesh":{"probe_count":[5,5],"mesh_min":[10.0,10.0],"mesh_max":[135.0,160.0],"mesh_pps":[2,2],"algorithm":"bicubic","bicubic_tension":0.2,"horizontal_move_z":10.0,"speed":150.0,"fade_start":1.0,"fade_end":10.0,"fade_target":0.0,"split_delta_z":0.025,"move_check_distance":5.0},"bed_screws":{"screw1":[25.0,25.0],"screw1_name":"screw at 25.000,25.000","screw2":[155.0,25.0],"screw2_name":"screw at 155.000,25.000","screw3":[155.0,155.0],"screw3_name":"screw at 155.000,155.000","screw4":[25.0,155.0],"screw4_name":"screw at 25.000,155.000","speed":50.0,"probe_speed":5.0,"horizontal_move_z":5.0,"probe_height":0.0},"input_shaper":{"shaper_type":"mzv","shaper_type_x":"zv","damping_ratio_x":0.1,"shaper_freq_x":110.8,"shaper_type_y":"3hump_ei","damping_ratio_y":0.1,"shaper_freq_y":73.0},"board_pins":{"mcu":["mcu"],"aliases":[["EXP1_1","P1.30"],["EXP1_3","P1.18"],["EXP1_5","P1.20"],["EXP1_7","P1.22"],["EXP1_9","<GND>"],["EXP1_2","P0.28"],["EXP1_4","P1.19"],["EXP1_6","P1.21"],["EXP1_8","P1.23"],["EXP1_10","<5V>"],["EXP2_1","P0.17"],["EXP2_3","P3.26"],["EXP2_5","P3.25"],["EXP2_7","P1.31"],["EXP2_9","<GND>"],["EXP2_2","P0.15"],["EXP2_4","P0.16"],["EXP2_6","P0.18"],["EXP2_8","<RST>"],["EXP2_10","<NC>"]]},"printer":{"max_velocity":300.0,"max_accel":3000.0,"max_accel_to_decel":3000.0,"square_corner_velocity":5.0,"buffer_time_low":1.0,"buffer_time_high":2.0,"buffer_time_start":0.25,"move_flush_time":0.05,"kinematics":"cartesian","max_z_velocity":5.0,"max_z_accel":100.0},"idle_timeout":{"timeout":600.0,"gcode":"\n{% if 'heaters' in printer %}\n   TURN_OFF_HEATERS\n{% endif %}\nM84\n"},"verify_heater extruder":{"hysteresis":5.0,"max_error":120.0,"heating_gain":2.0,"check_gain_time":20.0}},"warnings":[],"save_config_pending":true,"save_config_pending_items":{"bed_mesh default":{"version":"1","points":"\n  0.045000, -0.007500, 0.025000, -0.072500, -0.080000\n  0.097500, 0.007500, 0.022500, -0.082500, -0.085000\n  0.090000, 0.060000, 0.035000, 0.000000, -0.080000\n  0.160000, 0.075000, 0.065000, -0.007500, -0.002500\n  0.212500, 0.150000, 0.162500, 0.097500, 0.107500","x_count":"5","y_count":"5","mesh_x_pps":"2","mesh_y_pps":"2","algo":"bicubic","tension":"0.2","min_x":"10.0","max_x":"135.0","min_y":"10.0","max_y":"160.0"}}},"gcode_move":{"speed_factor":1.0,"speed":1500.0,"extrude_factor":1.0,"absolute_coordinates":true,"absolute_extrude":true,"homing_origin":[0.0,0.0,0.0,0.0],"position":[72.511,101.361,0.7,5060.06363],"gcode_position":[72.511,101.361,0.7,316.4706500000002]},"print_stats":{"filename":"CFFFP_Simons_Cat_10x2_02.gcode","total_duration":1387.9760594699983,"print_duration":1169.7389448139984,"filament_used":954.3023000000003,"state":"printing","message":"","info":{"total_layer":null,"current_layer":null}},"virtual_sdcard":{"file_path":"/home/pi/printer_data/gcodes/CFFFP_Simons_Cat_10x2_02.gcode","progress":0.20119910493954224,"is_active":true,"file_position":332327,"file_size":1651732},"display_status":{"progress":0.20119910493954224,"message":null},"temperature_sensor raspberry_pi":{"temperature":54.77,"measured_min_temp":50.46,"measured_max_temp":56.38},"motion_report":{"live_position":[66.71417651158781,97.26117651158782,0.747540746461725,5057.790210808188],"live_velocity":25.0,"live_extruder_velocity":0.8315085276048452,"steppers":["extruder","extruder_stepper sec_extruder","stepper_x","stepper_y","stepper_z"],"trapq":["extruder","toolhead"]},"extruder_stepper sec_extruder":{"pressure_advance":0.0,"smooth_time":0.04},"heater_bed":{"temperature":65.01,"target":65.0,"power":0.2386792823397933},"fan":{"speed":1.0,"rpm":null},"toolhead":{"homed_axes":"xyz","axis_minimum":[-10.0,0.0,-4.0,0.0],"axis_maximum":[183.0,186.0,200.0,0.0],"print_time":9824.369963536523,"stalls":0,"estimated_print_time":9822.313905733334,"extruder":"extruder","position":[72.511,101.361,0.7458177747706348,5060.06363],"max_velocity":300.0,"max_accel":3000.0,"max_accel_to_decel":3000.0,"square_corner_velocity":5.0},"extruder":{"temperature":214.95,"target":215.0,"power":0.7684993808744486,"can_extrude":true,"pressure_advance":0.0,"smooth_time":0.04}}
akno2205 commented 1 year ago

Sorry, I didn’t expect that it is so long. All my other printer with the old config path (klipper_config) are working well. The detail were shown in the app. I run the latest release of Klipper.

Clon1998 commented 1 year ago

I will have a look at that once my only Klipper printer is back up running. Otherwise it's hard for me to reproduce it.

akno2205 commented 1 year ago

Thank you for the fast reply.

klHaribo commented 1 year ago

I have the same error. printer worked fine with mobileraker. until I changed my setup to dual color, this error came up. I am now on the last version from github

Clon1998 commented 1 year ago

I currently don't have time to look into that since I have a few finals coming up the next week's. I am pretty sure there is a issue with the config parsing?

klHaribo commented 1 year ago

I am not a programmer, but I can take a look at it in the next days. I am also very busy :)

Clon1998 commented 1 year ago

Just noticed that this issue is related to #97, or at least the problem @akno2205, @klHaribo encountered.

I just fixed that issue, as mentioned in #97 a new app version 2.1.1 should be available in the next few hours.

Clon1998 commented 1 year ago

However, this does not resolve the issue the original author @St1fT has AFAIK.

Therefore, I will look more into that once I am done with my exams in the upcoming weeks. If I forget it, don't hesitate to ping me again @St1fT !

freeblazin commented 1 year ago

I am also experiencing the OP's symptom. Dashboard shows "fetching printer..." indefinitely. Console commands and emergency stop from app are working as expected, confirming connection to moonraker api is good. I am also running the latest moonraker version with changes in config directory structure to "`/printer_data/config/". I tested mobileraker v2.1.1 with no change in symptom.

Hope your exams went well good sir!! Let me know if I can support any other testing or data/log gathering to support when you get around to looking into this.

Clon1998 commented 1 year ago

I am also experiencing the OP's symptom. Dashboard shows "fetching printer..." indefinitely. Console commands and emergency stop from app are working as expected, confirming connection to moonraker api is good. I am also running the latest moonraker version with changes in config directory structure to "`/printer_data/config/". I tested mobileraker v2.1.1 with no change in symptom.

Hope your exams went well good sir!! Let me know if I can support any other testing or data/log gathering to support when you get around to looking into this.

Are you by any chance using iOS? If that's the case can you try the latest beta:

https://testflight.apple.com/join/h9JwuyR0

And if it is not working, can you send me the log files that are accessible at the bottom of the Settings page?

freeblazin commented 1 year ago

I am using Android app version. Looks like there are no log files in the settings page for the Android app. Is there another way to access the app logs?

Clon1998 commented 1 year ago

I am using Android app version. Looks like there are no log files in the settings page for the Android app. Is there another way to access the app logs?

Can you try to join the beta program on PlayStore? I just double-checked it and by now, google should have approved the latest build (2.1.2-126) for the public.

ripinteer commented 1 year ago

https://testflight.apple.com/join/h9JwuyR0 <- I tried this version and stable from App Store (at 25/03/2023) still "fetching printer"

I also have indefinite "fetching printer" status. The connection seems to be established and the console is working properly. I have collected the contents of the "debug info" section, and it seems like there is something wrong with No remote client configured... cant do handover! IOS 14.8.1

fetching printer pic

deubg.txt

Clon1998 commented 1 year ago

https://testflight.apple.com/join/h9JwuyR0 <- I tried this version and stable from App Store (at 25/03/2023) still "fetching printer"

I also have indefinite "fetching printer" status. The connection seems to be established and the console is working properly. I have collected the contents of the "debug info" section, and it seems like there is something wrong with No remote client configured... cant do handover! IOS 14.8.1 fetching printer pic deubg.txt

Hey thanks for the log, I will look into that. Regarding the message [ [38;5;12m💡 No remote client configured... can't do handover! ref:92050206 [0m], this message simply means that no OE client is available for usage in case the current local client is unable to connect to your machine. However, as the log entry [ [38;5;12m💡 [516785204-ws://192.168.2.119/websocket] ClientState.connecting ➝ ClientState.connected [0m] shows, your local client is working fine and therefore this has no influence.

Clon1998 commented 1 year ago

https://testflight.apple.com/join/h9JwuyR0 <- I tried this version and stable from App Store (at 25/03/2023) still "fetching printer"

I also have indefinite "fetching printer" status. The connection seems to be established and the console is working properly. I have collected the contents of the "debug info" section, and it seems like there is something wrong with No remote client configured... cant do handover! IOS 14.8.1 fetching printer pic deubg.txt

I had a brief look at the output, it seems like the app gets stuck during the parsing of the cached temperature data. Can you do me favor and send me the output of the following web-request in order for me to debug/reproduce it locally:

  1. http://192.168.2.119/printer/objects/list
  2. http://192.168.2.119/server/temperature_store
ripinteer commented 1 year ago

Thanks for explanation. One more thing, I remember that I faced this problem last year. Unfortunately, I was busy studying, so I didn't report the problem then.


As for the jsons, here they are:

temperature_store.txt list.txt

I changed .json to .txt, cause github don't like it for some reason.

Clon1998 commented 1 year ago

Thanks for explanation. One more thing, I remember that I faced this problem last year. Unfortunately, I was busy studying, so I didn't report the problem then.

As for the jsons, here they are:

temperature_store.txt list.txt

I changed .json to .txt, cause github don't like it for some reason.

Thanks for that! I will plug the json directly into some of my code and see what happens.

Clon1998 commented 1 year ago

Thanks for explanation. One more thing, I remember that I faced this problem last year. Unfortunately, I was busy studying, so I didn't report the problem then.

As for the jsons, here they are:

temperature_store.txt list.txt

I changed .json to .txt, cause github don't like it for some reason.

I think I already found the issue! Is there any reason to why you did not configure any heater_bed?

ripinteer commented 1 year ago

I think I already found the issue! Is there any reason to why you did not configure any heater_bed?

That's right, I have my test bench on my table, and I removed heater_bed from config, so Klipper won't complain :)

Clon1998 commented 1 year ago

I think I already found the issue! Is there any reason to why you did not configure any heater_bed?

That's right, I have my test bench on my table, and I removed heater_bed from config, so Klipper won't complain :)

Alright, I will hopefully have some time today to remove all of my hardcoded heater_bed references that are causing/will cause errors!

ripinteer commented 1 year ago

Hooked up the bed and config piece)

working
Clon1998 commented 1 year ago

Fixed in 2e598ee! Should be available in the stores in the next 24-72hrs. For Android users, feel free to sideload the app via GitHub !