Mobileraker Companion
Mobileraker Companion allows to push notification for Klipper using Moonraker for Mobileraker phone App.
More info about Mobileraker Companion: Here
More info about Mobileraker: Here
Note
This procedure must be repeated after restoring the printer to factory settings.
Installation
-
Make sure you have followed this Install Helper Script section before.
-
In the script, enter in
[Install] Menu
by typing 1 , validate with Enter and installMobileraker Companion
:
Download Mobileraker App
Add Printer (Local Access)
-
Start Mobileraker App and click on
Add Machine
: -
Then, click on
Simple
: -
Configure this settings like that by replacing xxx.xxx.xxx.xxx by your printer's local IP address and click on
Test Connection
: -
If your configuration is correct, the test should return
Valid
status and you can click onContinue
: -
Then, you can click on
To the Dashboard
: -
Your printer is now added to Mobileraker for local access.
Add Printer (Remote Access with GuppyFLO)
-
GuppyFLO is required for remote access, please follow the installation procedure available here.
-
Start Mobileraker App and click on
Add Machine
: -
Then, click on
Advanced
: -
Configure this settings like that by replacing
Printer
andWebsocket
adresses by yours and click onTest Connection
:Your Printer Adress must be similar to:
http://guppyflo/printer/xxxxxxxxxx
by replacingxxxxxxxxxx
by your Printer IDYour Websocket Adress must be similar to:
ws://guppyflo/printer/xxxxxxxxxx/websocket
by replacingxxxxxxxxxx
by your Printer IDYou can obtain your Printer ID by clicking on the
Info
button on GuppyFLO Web interface: -
If your configuration is correct, the test should return
Valid
status and you can click onContinue
: -
Then, you can click on
To the Dashboard
: -
Your printer is now added to Mobileraker for remote access.
-
To configure camera, click on the 3 horizontal bars to display the menu:
-
Click on
Settings
icon: -
And edit
WEBCAM
section:Your Stream URL must be similar to:
http://guppyflo/printer/xxxxxxxxxx/cameras/yyyyyyyyyy/webcam/?action=stream
by replacingxxxxxxxxxx
by your Printer ID andyyyyyyyyyy
by your Camera IDYour Snapshot URL must be similar to:
http://guppyflo/printer/xxxxxxxxxx/cameras/yyyyyyyyyy/webcam/?action=snapshot
by replacingxxxxxxxxxx
by your Printer ID andyyyyyyyyyy
by your Camera IDYou can obtain your Camera ID by clicking on the
Info
button on GuppyFLO Web interface:
Note
The camera works remotely only when configured on the Fluidd or Mainsail Web interface. See the Configure Camera section.
Configurations
-
Click on the 3 horizontal bars to display the menu:
-
Click on
App Settings
to display application settings: -
In the NOTIFICATION section, you will see a warning, click on it and authorize the application notifications:
-
You can now configure App settings like that:
-
You can now test push notifications by enter this command in Console on Fluidd or Mainsail Web interface:
-
And you should receive this notification:
-
Mobileraker can send push notifications when your printer is in the following state:
Standby
,Printing
,Paused
,Canceled
,Complete
andError
Use Push Notification in macros
-
Open
gcode_macro.cfg
file: -
On original Fluidd Web Interface go to
Configuration
icon on the left side. -
On original Mainsail Web Interface go to
Machine
tab on the left side. -
And add this macro:
[gcode_macro MR_NOTIFY] description: Allows to send custom notifications via Mobileraker without using the M117 command gcode: {% set msg = "MR_NOTIFY:" ~ (params.TITLE ~ "|" if 'TITLE' in params|upper else "") ~ params.MESSAGE %} {% if 'MESSAGE' in params|upper %} { action_respond_info(msg) } {% else %} { action_raise_error('Must provide MESSAGE parameter') } {% endif %}
-
Then, click on
SAVE & RESTART
button in the top right corner. -
You can now use command in this format where you want in your macros to send push notifications:
-
When crafting your custom notification's title or message, you have the flexibility to incorporate placeholders that will be dynamically replaced by the Mobileraker Companion. These placeholders allow you to convey specific information relevant to the notification.
Example
Usage:
MR_NOTIFY TITLE="I am $printer_name" MESSAGE="$file is currently printing!"
-
Below is a list of available placeholders and their corresponding replacements:
Placeholder Key Description Condition $printer_name
The name of the printer set in Mobileraker app Can always be used $file
The file that is currently printing Only available while the printer is in state printing, paused or completed $eta
The eta of the current print job in the timezone defined through the config file. Date-Format corresponds to the provided eta_format
in the configOnly available during printing or paused $a_eta
In contrast to $eta
, the adaptive eta returns the eta timestamp if the print ends on the current day, else it returns the date timestamp as the normal etaOnly available during printing or paused $remaining_avg
The avg remaining time for the current print job. Combining all availables sources for the remaining time (File-Position, Filament, Slicer) (Format: days HH:MM) Only available during printing or paused $remaining_file
The remaining time for the current print job using the File-Position as source (Format: days HH:MM) Only available during printing or paused $remaining_filament
The remaining time for the current print job using the total and used filament as source (Format: days HH:MM) Only available during printing or paused $remaining_slicer
The remaining time for the current print job using the Slicer data as source (Format: days HH:MM) Only available during printing or paused $progress
The printing progress (0-100) Only available during printing or paused $cur_layer
The current layer Only available during printing or paused $max_layer
The maximum layer of the file that is currently beeing printed Only available during printing or paused
If you like my work, don't hesitate to support me by paying me a 🍺 or a ☕. Thank you 🙂