mairyj / Elegoo-Neptune-4-Series

all my work on the neptune 4 series
65 stars 11 forks source link

Moonraker notifications #6

Closed Auroch closed 4 months ago

Auroch commented 8 months ago

Salut,

J'ai essayé de suivre la documentation pour lancer des notifications depuis Moonraker, surtout démarrage et fin d'impression. => https://moonraker.readthedocs.io/en/latest/configuration/#notifier

Dans mon cas, c'est vers un serveur auto hébergé ntfy.sh, mais c'est le même principe/outil/config pour Telegram, pushover, etc. En fait le système utilise la librairie Apprise : https://github.com/caronc/apprise dont j'ai pu vérifier qu'elle est bien installée dans l'environnement spécifique Python3

mks@<maNeptune>:~/moonraker-env/bin$ apprise -vv -t "Test Message Title" -b "Test Message Body" ntfys://monServeur/monTopic
2024-01-06 16:53:11,373 - INFO - Sent ntfy notification to 'https://monServeur'.
mks@<maNeptune>:~/moonraker-env/bin$

Cela fonctionne. Le message est bien envoyé.

Mais dans le moonraker.cfg les éléments suivants ne donnent rien :

[notifier print_start] url: ntfys://monServeur/monTopic events: started body: Neptune 4 Pro commence à imprimer : '{event_args[1].filename}'

[notifier print_complete] url: ntfys://monServeur/monTopic events: complete body: Neptune 4 Pro à terminé l'impression de '{event_args[1].filename}'

As-tu une expérience sur le sujet ?

Auroch commented 8 months ago

J'ai aussi tenté de rajouter à moonraker.cfg pour tester "manuellement":

[notifier my_ntfy_notifier]
url: ntfys://monServeur/monTopic
events: gcode
body: {event_message}

Et d'y faire appel depuis printer.cfg :

[gcode_macro NOTIFY_TEST]
gcode:
  {action_call_remote_method("notify",
                             name="my_ntfy_notifier",
                             message="Test !")}

Cela ne fonctionne pas non plus.

Ici j'ai un autre problème qui se pose avant l'appel à la librairie apprise, donc mon test n'est pas encore réellement effectif :

   Traceback (most recent call last):
  File "/home/mks/klipper/klippy/extras/gcode_macro.py", line 93, in _action_call_remote_method
    webhooks.call_remote_method(method, **kwargs)
  File "/home/mks/klipper/klippy/webhooks.py", line 391, in call_remote_method
    "Remote method '%s' not registered" % (method))
CommandError: Remote method 'notify' not registered

Une idée par rapport à ce qu'il faudrait faire pour rendre cette methode externe 'notify' disponible ?

mairyj commented 8 months ago

Bonjour non je n'ai pas encore étudier la question mais je vais y jeter un œil de la semaine merci ^^

Auroch commented 8 months ago

Autre info, la documentation mentionnée ci dessus indique a divers endroits que par exemple [secrets] est obsolète, qu'il n'est plus nécessaire de mentionner le Path du fichier parce qu'à présent les chemins sont basés sur des valeurs liées à l'emplacement des fichiers de config de base. Mais dans la Neptune, ces valeurs sont toujours nécessaires, nous n'avons donc pas la dernière version ... Si cela peut t'aider.