Klipper to Repetier

Hello, i used Repetier with Marlin in the past, then went to Klipper but miss the power loss recovery Reptier saved me from so many times living in Florida..If I already have Klipper setup is it possible to migrate to Repetier front end? or do i have to go with Repetier firmware.


  • Server has build in klipper support. If you select in wizard (latest version) that you want klipper firmware it offers to install klipper so it is directly connected with server and you can even configure klipper inside  Repetier-Server.
  • ok thank you, i already have Klipper installed on the printer, do i still need to flash the MCU through Repetier or can i just connect to the same USB port and take it from there?
  • So i installed Repetier-Server-1.4.1-Linux.deb on an Intel 64bit device, however when i start the server via command nothing happens. it is not even listed in the Repetier Host
  • Did you add a printer with klipper in server first? Just starting does nothing - you need to configure the printer in server first to see it in host  Repetier-Server Connector.
  • edited August 2022
    That's it, i can't get server to show up in host, nor can i get server to open after it is installed. i did some digging and found the command to run to see if server is running and i do not see the xml file in the command
  • So you can not open
    in your linux browser (external access needs other ip) to configure server?

  • This site can’t be reached refused to connect.

    is what i get

  • So what does 
    ps aux | grep tier

    show. It should not list server as that is most likely the reason website does not exist. Did you install  Repetier-Server  correctly? Meaning debian version matching your cpu with root permission?

    sudo service RepetierServer status

    should also show if server is running or if it has any problems.
  • edited August 2022
    I installed Repetier-Server-1.4.1-Linux.deb and Repetier-Host-x86_64-2.2.4.AppImage, i am running it on an Intel 64bit pc running Linux Mint 

    ps aux | grep tier
    9625  0.0  0.0   9076  2296 pts/0    S+   10:26   0:00 grep --color=auto tier~

    RepetierServer.service - Repetier-Server 3D Printer Server
         Loaded: loaded (/lib/systemd/system/RepetierServer.service; enabled; vendor preset: enabled)
         Active: failed (Result: exit-code) since Mon 2022-08-29 07:57:47 EDT; 2h 29min ago
        Process: 1015 ExecStartPre=/bin/mkdir -p /var/lib/Repetier-Server (code=exited, status=0/SUCCESS)
        Process: 1016 ExecStartPre=/bin/chown -R repetierserver /var/lib/Repetier-Server (code=exited, status=0/SUCCESS)
        Process: 1017 ExecStart=/usr/local/Repetier-Server/bin/RepetierServer -c /usr/local/Repetier-Server/etc/RepetierSer>
       Main PID: 1018 (code=exited, status=70)
            CPU: 101ms

    Aug 29 07:57:47 jaime-OptiPlex-380 systemd[1]: RepetierServer.service: Scheduled restart job, restart counter is at 5.
    Aug 29 07:57:47 jaime-OptiPlex-380 systemd[1]: Stopped Repetier-Server 3D Printer Server.
    Aug 29 07:57:47 jaime-OptiPlex-380 systemd[1]: RepetierServer.service: Start request repeated too quickly.
    Aug 29 07:57:47 jaime-OptiPlex-380 systemd[1]: RepetierServer.service: Failed with result 'exit-code'.
    Aug 29 07:57:47 jaime-OptiPlex-380 systemd[1]: Failed to start Repetier-Server 3D Printer Server.

  • Looks like server crashes on startup. Become root and start manually to see where exactly it crashes to find the reason:
    sudo -i
    sudo -u repetierserver /usr/local/Repetier-Server/bin/RepetierServer -c /usr/local/Repetier-Server/etc/RepetierServer.xml

    starts it as normal process in terminal so you see outputs directly. Post the end so maybe 50 lines before it crashes till end.
  • edited August 2022
    locale::facet::_S_create_c_locale name not valid

    all i notice is RepetierServer.xml has a lock symbol on it, not sure it matters though.
  • Sorry, app only runs in locale C so try starting like this instead

    export LC_ALL=C && sudo -u repetierserver /usr/local/Repetier-Server/bin/RepetierServer -c /usr/local/Repetier-Server/etc/RepetierServer.xml

    that should select correct locale first.
  • edited August 2022
    Reading server settings...
    9:50:07.387: Repetier-Server 1.4.1
    9:50:07.387: Webdirectory: /usr/local/Repetier-Server/www/
    9:50:07.387: Storage directory: /var/lib/Repetier-Server/
    9:50:07.387: Configuration file: /usr/local/Repetier-Server/etc/RepetierServer.xml
    9:50:07.387: Directory for temporary files: /tmp/
    9:50:07.388: Reading firmware data ...
    9:50:07.434: Starting Network ...
    9:50:07.434: Active features:4095
    9:50:07.434: Reading printer configurations ...
    9:50:07.434: Reading printer config /var/lib/Repetier-Server/configs/Hornet.xml
    9:50:07.436: Set webcam url:
    9:50:07.436: Reloading Timelapse Entries...
    9:50:07.436: Starting printjob manager thread for Hornet
    9:50:07.437: Starting printer threads ...
    9:50:07.437: Starting work dispatcher subsystem ...
    9:50:07.437: Starting printer thread for Hornet
    9:50:07.437: Starting user database ...
    9:50:07.438: Importing projects ...
    9:50:07.439: Initializing LUA ...
    9:50:07.440: Register LUA cloud services
    9:50:07.440: add G-Code-Renderer
    9:50:07.440: LUA initalization finished.
    boost::filesystem::status: Permission denied [system:13]: "/home/jaime/ffmpeg"

    which ffmpeg
  • so i can't start server to change the ffmpeg location
  • edited August 2022
    so i can't uninstall., can't launch, can't edit permissions, reinstall says same version is already installed even after i removed it. it is looking at ffmpeg in home/jaime/ffmpeg but i have one installed in /usr/bin/ffmpeg
  • Ok, after several tries I could reproduce that issue. It happens when you have entered in timelapse configuration a ffmpeg that lives in a folder that is not accessible. You did not enter full path so it is testing in path you started from I guess. I have already added a patch for next release to catch that case gracefully. But I do not think it would fix the original issue except you had full path. So as solution 1 try
    cd /usr/bin
    export LC_ALL=C && sudo -u repetierserver /usr/local/Repetier-Server/bin/RepetierServer -c /usr/local/Repetier-Server/etc/RepetierServer.xml

    and if it starts go to global settings->Timelapse and enter full path /usr/bin/ffmpeg instead of ffmpeg

    Hope it is the last issue and it starts then, otherwise you will get a new message where you fail.
  • edited August 2022
    you are correct,. unfortunately i get the same error, boost::filesystem::status: Permission denied [system:13]: "/home/jaime/ffmpeg"  is there no way to add the path to the xml for it or a way to delete the config so i can start fresh with new options?
  • Ok other ideas:
    export LC_ALL=C && sudo /usr/local/Repetier-Server/bin/RepetierServer -c /usr/local/Repetier-Server/etc/RepetierServer.xml

    then you start as root and can access everything. Then fix timelapse ffmpeg path for later start with service.

    Alternatively delete settings.sql but then you loose all global settings you defined:
    sudo rm /var/lib/Repetier-Server/database/settings.sql

  • hah! that did it!, i didn't care too much about settings since it's a fresh install but first part fixed it.  Thank you kindly!
  • So i have a small error about my led_progress.cfg file that is missing from /var/lib/Repetier-Server/database/klipper.
    Is there a way i can either import it or paste it into that directory?  remember i already have a working Klipper and Fluidd front end, just want to use Repetier

  • edited August 2022
    SO i started fresh and was able to copy the files into the database/Klipper directory, unfortunately some of the Documentation does not match up with the new version, i.e. Auto Detect is not in the drop down.  so the error now

    mcu 'mcu': Command format mismatch: config is_config=%c crc=%u move_count=%hu is_shutdown=%c vs config is_config=%c crc=%u is_shutdown=%c move_count=%hu

    This type of error is frequently caused by running an older
    version of the firmware on the micro-controller (fix by
    recompiling and flashing the firmware).

    Known versions: host=v0.10.0-0-g2a964a46, mcu=v0.10.0-494-gd3c4ba48

    but that was fixed by rolling back to stable klipper version

  • just started my first Klipper/Repetier print and so far so good, went through each setting and so far only two things  need work, one is i would like to somehow enable babystepping or at least the option to move Z during a print and have it saved.
    two, is a way to use IFTT for my Kasa TP Link smart plug to power on and off the printer, i did have this working in Klipper so i am sure it is just a matter of adapting the commands. 

    [gcode_macro POWEROFF]
        M117 Shutting down!
    and the Printer_plug is reached via Ip address
  • Ok so klippe ris working now that all parts are on 0.10 as I understand. 0.10 and master in deed have considerable difference in supported settings and it is not backward compatible.

    Kasa with ifttt is what I also have. I have it in server defined as webaction with url 

    If you have it inside klipper I can not help as it is klipper specific. Sure it is a klipper function and does not come from mainsail?

    For babystepping we have define
    in klipper config. So if you go in our touchscreen interface you should be able to move it. You can modify firmwares(Klipper.xml and change the command if you like a different command executed on babystep.
  • edited September 2022
    you my friend are a life saver. that is exactly what i needed. Is there no way to show the Move window in server during a print? that is really all that is needed.  I see that i can move it in minute increments from the GUI but soon as a print starts it disappears.

    also, is there a document for klipper specific commands? I was reading some of them and was really confused since commenting out a command in Marlin uses a #, but Klipper uses none and now Repetier uses the # to enable?
  • unfortunately the IFTTT website is probably one of the most confusing websites i have ever been to, worse than Klipper. it's like one applet connecting to another and another and another...i'll just go back to a pushover notification and i'll turn it off from my phone.. shame.
  • So i "after 3 attempts" successfully finished a print with Repetier.  Question. Even though the print finished i still got an error that the print did not complete because it had to home first.  so that raises my question, If i have my end script inside the Klipper config,. do i not need the event dependent gcodes?  can it be one or the other?
  • First # at first position tells server to not do anything with the line just send it 1:1. Was added since klipper and RepRapFirmware used syntax that was not GCode syntax but needed to be send. If first command uses seceral characters you can now omit the # as it would select same mode.

    IFTTT Solution is quite simple if you know the logic. Actually you need to hava kasa registered there in your IFTTT gui. Then create a Webhook Action that triggers a Kasa action. You get a url that you enter in webhook and every time you call it (even from browser) it will execute it. You need one webhook to enable plug and one to disable it.

    Just tested babystepping and it is always accessible in touch interface. It is in status as button "Babysteps" selectable with or without print running.
  • I registered my Kasa device with IFTTT, grabbed the link after adding the webhook integration to Kasa-TP Link. @webAction https://ifttt.com/applets/2Zf4a5ke-if-maker-event-power_off-then-turn-on-hornet-3d-ep10-us

    In RS i added a new Web Action as POST with 
    @webAction https://ifttt.com/applets/2Zf4a5ke-if-maker-event-power_off-then-turn-on-hornet-3d-ep10-us, in both the URL and POST DATA field and nothing happens. i figured it would be that simple but i guess not.
  • Please read this

    it is even done with KASA showing how to do. In @webAction you add the action name as defined in global settings->web actions not a url. Also hope the link is not for your action otherwise everyone can activate it now when you make it public.
  • edited September 2022
    Thank you, testing this now, no that is not my actual link, that's why it has the word fake embedded, but thank you for the info either way.   

    No matter what i do, it won't work.  I have corrected the link and included the key from the documentation page but still nothing.  My guess is it is either being blocked by my router or Kasa removed the ability to trigger it from outside the app.  Just not sure how Klipper is still able to trigger it via gcode and just its IP address
Sign In or Register to comment.