Coder Social home page Coder Social logo

2blane / octoprint-webhooks Goto Github PK

View Code? Open in Web Editor NEW
28.0 3.0 19.0 113 KB

Make OctoPrint events call your custom webhooks!

License: GNU Affero General Public License v3.0

Python 47.04% HTML 33.97% CSS 2.56% JavaScript 16.44%
octoprint webhooks python 3d-printing prusa

octoprint-webhooks's People

Contributors

2blane avatar bob-the-kuhn avatar stefanbols avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

octoprint-webhooks's Issues

Webhook after cooldown

So there is the option to run webhook when a print is done. But what about calling a webhook after cooldown? Basically, i want to turn of my printer by itself, but i want to wait until the cooldown took place.

Ability to post as Form data?

Hi,

Is there ability to post data as a regular form (like curl -F ...)? I am trying to post to a server that does not accept json. The other option (url-encoded-form) does not seem to do the trick either.

Human readable @param

Is there any way to have additional parameters as human readable equivalents of existing parameters? I wanted to setup a notification to be sent to Alexa using Notify Me skill whenever the print has finished. Something like:

"Your print has finished at around 8:40 pm. It consumed 17.23 meters of filament and took 13:16:54 to complete."

"Your print has been paused at 8:40pm pending user intervention"

The only alternative I can think of is to setup a separate local server in the raspberry pi that serves as an intermediary server that transforms the data before sending it off. However, it would be great if the plugin does this by default.

Modified settings not saved when saving general setting

When making changes to the settings they are not saved using save button in the general settings window. They are only saved if e.g. a web hook is deleted. Also when a template is loaded the settings are saved. So when just editing something the test still sends the old settings.
Or is there any button for saving modifications to web hook which I cannot find?

Messages are only sending Topic and Message even when all DATA params are set

I've tested webhooks and everything works with the test calls. I get empty objects for progress, state, etc, but that's fine, I can still see the structure of those objects. Something like this:

topic: Print Started
message: Your print has started
progress: {"completion": null, "filepos": null, "printTime": null, "printTimeLeft": null, "printTimeOrigin": null}
state: {"text": "Offline", "flags": {"operational": false, "printing": false, "cancelling": false, "pausing": false, "resuming": false, "finishing": false, "closedOrError": true, "error": false, "paused": false, "ready": false, "sdReady": false}, "error": ""}
job: {"file": {"name": null, "path": null, "size": null, "origin": null, "date": null}, "estimatedPrintTime": null, "lastPrintTime": null, "filament": {"length": null, "volume": null}, "user": null}
currentTime: 1635649547
all keys: deviceIdentifier, apiSecret, topic, message, extra, state, job, progress, offsets, meta, currentTime

however, when I run the server connected to the printer, I get the calls but only topic and message are populated. state, progress and job are completely null, not even empty objects, just not sent at all. I get this:



topic: Print Progress
message:  18 
progress: 
state: 
job: 
currentTime: 1635721418
all keys: deviceIdentifier, apiSecret, topic, message, extra, state, job, progress, currentZ, offsets, meta, currentTime

In my webhooks config, my data is the default setting, so it looks like this:


{
  "deviceIdentifier":"@deviceIdentifier",
  "apiSecret":"@apiSecret",
  "topic":"@topic",
  "message":"@message",
  "extra":"@extra",
  "state": "@state",
  "job": "@job",
  "progress": "@progress",
  "currentZ": "@currentZ",
  "offsets": "@offsets",
  "meta": "@meta",
  "currentTime": "@currentTime",
  "snapshot": "@snapshot"
}

And finally, a big dump of all the stuff sent with the request




topic: Print Progress
message:  38 
Request Params
   [deviceIdentifier] =     
   [apiSecret] =     
   [topic] =     Print Progress
   [message] =      38 
   [extra] =     {}
   [state] =     
   [job] =     
   [progress] =     
   [currentZ] =     
   [offsets] =     
   [meta] =     
   [currentTime] =     1635722107
   [ALL_HTTP] =     HTTP_CONNECTION:keep-alive
HTTP_CONTENT_LENGTH:71822
HTTP_CONTENT_TYPE:multipart/form-data; boundary=75b8518b1fa90aab01efd2c24878d10c
HTTP_ACCEPT:*/*
HTTP_ACCEPT_ENCODING:gzip, deflate
HTTP_HOST:DONT_WORRY_ABOUT_MY_HOSTNAME.com
HTTP_USER_AGENT:python-requests/2.26.0

   [ALL_RAW] =     Connection: keep-alive
Content-Length: 71822
Content-Type: multipart/form-data; boundary=75b8518b1fa90aab01efd2c24878d10c
Accept: */*
Accept-Encoding: gzip, deflate
Host: DONT_WORRY_ABOUT_MY_HOSTNAME.com
User-Agent: python-requests/2.26.0

   [APPL_MD_PATH] =     /LM/W3SVC/5/ROOT
   [APPL_PHYSICAL_PATH] =     C:\inetpub\wwwroot\DONT_WORRY_ABOUT_MY_HOSTNAME\
   [AUTH_TYPE] =     
   [AUTH_USER] =     
   [AUTH_PASSWORD] =     
   [LOGON_USER] =     
   [REMOTE_USER] =     
   [CERT_COOKIE] =     
   [CERT_FLAGS] =     
   [CERT_ISSUER] =     
   [CERT_KEYSIZE] =     256
   [CERT_SECRETKEYSIZE] =     3072
   [CERT_SERIALNUMBER] =     
   [CERT_SERVER_ISSUER] =     C=US, O=Let's Encrypt, CN=R3
   [CERT_SERVER_SUBJECT] =     CN=DONT_WORRY_ABOUT_MY_HOSTNAME
   [CERT_SUBJECT] =     
   [CONTENT_LENGTH] =     71822
   [CONTENT_TYPE] =     multipart/form-data; boundary=75b8518b1fa90aab01efd2c24878d10c
   [GATEWAY_INTERFACE] =     CGI/1.1
   [HTTPS] =     on
   [HTTPS_KEYSIZE] =     256
   [HTTPS_SECRETKEYSIZE] =     3072
   [HTTPS_SERVER_ISSUER] =     C=US, O=Let's Encrypt, CN=R3
   [HTTPS_SERVER_SUBJECT] =     CN=DONT_WORRY_ABOUT_MY_HOSTNAME
   [INSTANCE_ID] =     5
   [INSTANCE_META_PATH] =     /LM/W3SVC/5
   [LOCAL_ADDR] =     10.1.0.4
   [PATH_INFO] =     /home/PrintMessage
   [PATH_TRANSLATED] =     C:\inetpub\wwwroot\DONT_WORRY_ABOUT_MY_HOSTNAME\home\PrintMessage
   [QUERY_STRING] =     
   [REMOTE_ADDR] =     DONT_WORRY_ABOUT_MY_HOSTNAME
   [REMOTE_HOST] =     DONT_WORRY_ABOUT_MY_HOSTNAME
   [REMOTE_PORT] =     39054
   [REQUEST_METHOD] =     POST
   [SCRIPT_NAME] =     /home/PrintMessage
   [SERVER_NAME] =     DONT_WORRY_ABOUT_MY_HOSTNAME.com
   [SERVER_PORT] =     443
   [SERVER_PORT_SECURE] =     1
   [SERVER_PROTOCOL] =     HTTP/1.1
   [SERVER_SOFTWARE] =     Microsoft-IIS/10.0
   [URL] =     /home/PrintMessage
   [HTTP_CONNECTION] =     keep-alive
   [HTTP_CONTENT_LENGTH] =     71822
   [HTTP_CONTENT_TYPE] =     multipart/form-data; boundary=75b8518b1fa90aab01efd2c24878d10c
   [HTTP_ACCEPT] =     */*
   [HTTP_ACCEPT_ENCODING] =     gzip, deflate
   [HTTP_HOST] =     DONT_WORRY_ABOUT_MY_HOSTNAME.com
   [HTTP_USER_AGENT] =     python-requests/2.26.0
Request FORM
   [deviceIdentifier] =     
   [apiSecret] =     
   [topic] =     Print Progress
   [message] =      38 
   [extra] =     {}
   [state] =     
   [job] =     
   [progress] =     
   [currentZ] =     
   [offsets] =     
   [meta] =     
   [currentTime] =     1635722107
Request Headers
   [Connection] =     keep-alive
   [Content-Length] =     71822
   [Content-Type] =     multipart/form-data; boundary=75b8518b1fa90aab01efd2c24878d10c
   [Accept] =     */*
   [Accept-Encoding] =     gzip, deflate
   [Host] =     DONT_WORRY_ABOUT_MY_HOSTNAME.com
   [User-Agent] =     python-requests/2.26.0

This plugin regularly breaks other OctoPrint settings

Hi,

noticed that saving the Octoprint settings with this plugin repeatedly broke / deleted other plugin settings.
Most obviously the selected theme in UI customizer and who knows what else.
For that reason I had to uninstall this plugin as in the current version I'm not taking a shot in destroying my Octoprint instance :-(
Sorry but the current version should be blacklisted in my opinion :-(

best regards

Bug in installing

When trying to install on OctoPi Version 1.3.6 running on raspi0 I get the following...

Installing plugin "OctoPrint-Webhooks" from https://github.com/2blane/OctoPrint-Webhooks/archive/master.zip.../home/pi/oprint/bin/python2 -m pip install https://github.com/2blane/OctoPrint-Webhooks/archive/master.zipCollecting https://github.com/2blane/OctoPrint-Webhooks/archive/master.zipDownloading https://github.com/2blane/OctoPrint-Webhooks/archive/master.zipRequirement already satisfied: OctoPrint in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint-Webhooks==3.0.3)Requirement already satisfied: requests in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint-Webhooks==3.0.3)Collecting pillow (from OctoPrint-Webhooks==3.0.3)Downloading https://files.pythonhosted.org/packages/b3/d0/a20d8440b71adfbf133452d4f6e0fe80de2df7c2578c9b498fb812083383/Pillow-6.2.2.tar.gz (37.8MB)Exception:Traceback (most recent call last):File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/basecommand.py", line 215, in mainstatus = self.run(options, args)File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/commands/install.py", line 335, in runwb.build(autobuilding=True)File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/wheel.py", line 749, in buildself.requirement_set.prepare_files(self.finder)File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/req/req_set.py", line 380, in prepare_filesignore_dependencies=self.ignore_dependencies))File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/req/req_set.py", line 620, in _prepare_filesession=self.session, hashes=hashes)File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/download.py", line 821, in unpack_urlhashes=hashesFile "/home/pi/oprint/local/lib/python2.7/site-packages/pip/download.py", line 659, in unpack_http_urlhashes)File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/download.py", line 882, in _download_http_url_download_url(resp, link, content_file, hashes)File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/download.py", line 603, in _download_urlhashes.check_against_chunks(downloaded_chunks)File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/utils/hashes.py", line 46, in check_against_chunksfor chunk in chunks:File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/download.py", line 571, in written_chunksfor chunk in chunks:File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/utils/ui.py", line 139, in iterfor x in it:File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/download.py", line 560, in resp_readdecode_content=False):File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/_vendor/urllib3/response.py", line 436, in streamdata = self.read(amt=amt, decode_content=decode_content)File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/_vendor/urllib3/response.py", line 384, in readdata = self._fp.read(amt)File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/_vendor/cachecontrol/filewrapper.py", line 63, in readself._close()File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/_vendor/cachecontrol/filewrapper.py", line 50, in _closeself.__callback(self.__buf.getvalue())File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/_vendor/cachecontrol/controller.py", line 275, in cache_responseself.serializer.dumps(request, response, body=body),File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/_vendor/cachecontrol/serialize.py", line 86, in dumpsdata, separators=(",", ":"), sort_keys=True,File "/usr/lib/python2.7/json/init.py", line 251, in dumpssort_keys=sort_keys, **kw).encode(obj)File "/usr/lib/python2.7/json/encoder.py", line 210, in encodereturn ''.join(chunks)MemoryError

how i can connect to mngoDB

Hello, I am a beginner and I am trying to connect this plugin to my mongodb database, to insert data coming from plugins
any one can help me please
thanks

Multiple Webhook calls for single event.

I haven't looked all that far into this issue, but when my printers pauses for a color change it triggers the webhook every two seconds till I get to the printer.
Since the hook in question is on my own server, I was able to check the logs, on two different prints with a color change part way, on one there were 285 calls, on the other only 97 (I was on the same floor)

My server just validates the call from a machine on the local network then sends a text message using an online service, since I've seen this bad behavior in other apps, my server has a limit (same message repeated within 15 minutes won't get sent) but if I'd set it up to trigger directly on the cloud service I'd have had almost 400 messages sent.

Is this a function of the return value from the webpage, that I can control/change if necessary, something else in Octoprint, or a bug in the plugin?.

There should probably some kind of a throttle.

Request support for PATCH method

I'm running a camera on a Twitch channel, which requires that channel updates be sent via a PATCH request. It doesn't appear to be supported in this application.

Custom headers ignored

I add a new webhook. I change Advanced โ†’ HEADERS to:

{
  "Content-Type": "application/json",
  "test": "where is this header?"
}

But when I click Send Test Webhook, the call made to my server does not include the "test" header.

I have tried:

  • Saving the Webhook before pressing test (and not saving it before pressing test, same result)
  • Restarting the OctoPrint server
  • Removing the "snapshot" entry under the DATA json (because that causes another header to be overwritten)

basic auth using custom header not working

Hi, using node-red within home-assistant requiring basic auth.

as basic auth is not an option in the settings, I simply added the according custom header, but still get unauthorized from the API.
Tested the same header with Postman successfully and also checked that the header is right by generating it "regularly" in postman (using basic auth setting and comparing the generated header)

best regards
Christian

"Invalid JSON for DATA setting"

The application is telling me that the following is invalid JSON for sending a "Print Done" webhook (sending to a Google Apps Script to add a row to a Google Sheet):

{
    "sheetid": "1L3Kl8TPWNtI1_zXaj8U77OYhoZOcajAozUI-LNDijC4",
    "row": [
        "=localDateTime(@currentTime)",
        "@job.file.name",
        "@jobfile.size",
        "=TIME(0,0,@job.estimatedPrintTime)",
        "=TIME(0,0,@job.lastPrintTime)",
        "@job.filament.tool0.volume",
        "@job.filament.tool0.length",
        "@meta.analysis.dimensions.width",
        "@meta.analysis.dimensions.depth",
        "@meta.analysis.dimensions.height"
    ]
}

Feature request: renaming data properties

Thank you for great plugin, it seems to be very handy.
You write that it can be used with IFTT, but when i tried it (to show notification in my browser), it seems that IFTT is only accepting json parameters named "value1", "value2", and "value3".
It would be great to add possibility to construct own json payload using some "templating" mechanism or so. For example add something like
{
deviceIdentifier: "@deviceid",
apiSecret: "@apisecret",
topic: "@eventname",
message: "@eventdescription",
extra: @eventjson
}
into user configuration and simple replace...

Invalid API Response: Cannot POST /use/xxxxxxxxxxx

I'm trying to setup the plugin but when I test I get a message saying "Invalid API Response: Cannot POST /use/xxxxxxxxxxx".

The url I've set is https://maker.ifttt.com/use/xxxxxxxxx
I've copied my octoprint instance API secret into the API secret setting and I've set my device identifier.
HTTP Method is POST and for content type I've tried both JSON and urlencoded.

I have the applet setup on IFTTT. It should send me an email as a result of the test event. What am I missing?

Send Test Webhook failure

I have attempted this over 15 times with two different printers, while also reinstalling the plugin every now and then.

I've set the designated URL to something like http://localhost:5000/api/my-data-handler and it ends up crashing my printer's server, sending it in an "infinite loading" state where the only way of fixing, is by resetting the Pi manually. I have used both OctoPrint v1.6.1 and v1.3.12 with both ending up as previously mentioned.

Also when I skipped the testing and had it try throwing it at my URL it error out saying something like "server is not in local bla bla, couldn't find server" even though I use the same URL that I already test with Postman.

By the way, this is honestly a really cool plugin that I hope ends up working! I was thinking about making my own plugin before I stumbled on this, maybe there are others that send calls from your printer to a designated URL?

Content Type

Hello,
The openhab API must have the content type "text / plain", but the extended header is overridden by the content type of the webhook parameters.
Can the text field "Extended headers" have a higher priority than the combo box?

Thanks for your plugin :)
Multie

No Webhook when Print Resumed

When the status of the print changes from Paused to Resume, I don't see a webhook coming out of the plugin. Is there any way that could be added or if not, could the "start" message be resent?

multiple webhook on local url event

Hello,
I tried to use your plugin to send a custom url to an esp8266 module, which contains a program that does not allow the implementation of webhook / api.
(this program is not mine: => Wemos led NotifHour
It is a led display with a wemos
)

Here is the capture of each of my webhooks with a specific function and a precise message for each of them.

When I test each webhook, it works well. Unfortunately, in operation, I only have the webhook which was saved in active in the parameters which is functional.

Do you have another way of proceeding?
thank you in advance, I dream of being able to use it, because it is the only one that I found apart from ifttt that I do not want to use ;)
Screenshot_8
Screenshot_9
Screenshot_10

Possibility to fire events to webhook as test

May be placed in bottom of settings page under title "Test Webhook events".

Under there a radio selector of the different event and a button with the text "Fire test event"-ich.

This way it's possible to test you API endpoint for receiving events from OctoPrint and not starting up the printer each time you want to test your API :-)

Request for feature

Maybe not the entire point of this plugin, but maybe make it possible to send more info through the API like time (remaining/progress/total), name of file being print, etc?

Target temperature/Fan status event

Hello and thanks for this project!

I would like to use this plugin to trigger HomeAssistant to shut off the outlet that both octoprint and the printer are connected to but I like to let my hot-end cool down until the extruder fan shuts off at 50 degrees. A target temperature event or fan status change event could allow me to achieve this functionality.

Thinking about it more, I might be asking for an event where multiple conditions are satisfied.

Json format

hello,
I'm trying to extract data from Json.
But when I return the data receive from POST on my server I have thing like that:
Response: --248f0bf5eadc4780acfc88d7a82b61e0Content-Disposition: form-data; name="deviceIdentifier"printer1--248f0bf5eadc4780acfc88d7a82b61e0Content-Disposition: form-data; name="extra"{"origin": "local", "popup": true, "name": "example.gcode", "hook_index": 0, "time": 50.237335886, "owner": "example_user", "path": "example.gcode", "size": 242038}--248f0bf5eadc4780acfc88d7a82b61e0Content-Disposition: form-data; name="job"{"file": {"date": null, "origin": null, "size": null, "name": null, "path": null}, "estimatedPrintTime": null, "user": null, "filament": {"volume": null, "length": null}, "lastPrintTime": null}--248f0bf5eadc4780acfc88d7a82b61e0Content-Disposition: form-data; name="offsets"{}--248f0bf5eadc4780acfc88d7a82b61e0Content-Disposition: form-data; name="apiSecret"pfkpfjrg--248f0bf5eadc4780acfc88d7a82b61e0Content-Disposition: form-data; name="topic"Print Started--248f0bf5eadc4780acfc88d7a82b61e0Content-Disposition: form-data; name="state"{"text": "Operational", "flags": {"cancelling": false, "paused": false, "operational": true, "pausing": false, "printing": false, "resuming": false, "sdReady": true, "error": false, "ready": true, "finishing": false, "closedOrError": false}}--248f0bf5eadc4780acfc88d7a82b61e0Content-Disposition: form-data; name="meta"--248f0bf5eadc4780acfc88d7a82b61e0Content-Disposition: form-data; name="currentTime"1593513960--248f0bf5eadc4780acfc88d7a82b61e0Content-Disposition: form-data; name="progress"{"completion": null, "filepos": null, "printTime": null, "printTimeLeft": null, "printTimeOrigin": null}--248f0bf5eadc4780acfc88d7a82b61e0Content-Disposition: form-data; name="message"Your print has started--248f0bf5eadc4780acfc88d7a82b61e0--
I try with out the pluging to validate the server answer and I get json back, so I don't where is the trouble in my plugin configuration

Bug in simulating test

Thanks for writing this plugin.

I wrote a web hook server to trigger a web hook to turn off 3D printer with a delay when the print is done.

But your simulation test fail when I only select one event. But if I select all events, the test passed.

Here is my test scenario:

URL:  http://192.168.2.30:12000/done?delay=30 
Events: only Done is selected
Testing: simulate Print Done
Headers: clear 
Data: clear

Failure during installation of the plugin on.

Logs

2021-03-21 02:58:58,471 > Downloading/unpacking https://github.com/2blane/OctoPrint-Webhooks/archive/master.zip
2021-03-21 02:58:59,975 > Running setup.py (path:/tmp/pip-VCJ9cH-build/setup.py) egg_info for package from https://github.com/2blane/OctoPrint-Webhooks/archive/master.zip
2021-03-21 02:59:01,509 > Found packages: ['octoprint_webhooks']
2021-03-21 02:59:01,510 > 
2021-03-21 02:59:01,511 > warning: no files found matching '*' under directory 'octoprint_webhooks/translations'
2021-03-21 02:59:02,515 > Requirement already satisfied (use --upgrade to upgrade): OctoPrint in /home/pi/Julia2018Octoprint/venv/lib/python2.7/site-packages (from OctoPrint-Webhooks==3.0.3)
2021-03-21 02:59:02,515 > Requirement already satisfied (use --upgrade to upgrade): requests in /home/pi/Julia2018Octoprint/venv/lib/python2.7/site-packages/requests-2.18.4-py2.7.egg (from OctoPrint-Webhooks==3.0.3)
2021-03-21 02:59:02,516 > Downloading/unpacking pillow (from OctoPrint-Webhooks==3.0.3)
2021-03-21 02:59:20,532 > Running setup.py (path:/tmp/pip-build-Rvforl/pillow/setup.py) egg_info for package pillow
2021-03-21 02:59:21,765 > Traceback (most recent call last):
2021-03-21 02:59:21,766 > File "<string>", line 17, in <module>
2021-03-21 02:59:21,766 > File "/tmp/pip-build-Rvforl/pillow/setup.py", line 45
2021-03-21 02:59:21,767 > f"Pillow {PILLOW_VERSION} does not support Python "
2021-03-21 02:59:21,768 > ^
2021-03-21 02:59:21,768 > SyntaxError: invalid syntax
2021-03-21 02:59:21,768 > Complete output from command python setup.py egg_info:
2021-03-21 02:59:21,769 > Traceback (most recent call last):
2021-03-21 02:59:21,770 > 
2021-03-21 02:59:21,771 > File "<string>", line 17, in <module>
2021-03-21 02:59:21,771 > 
2021-03-21 02:59:21,771 > File "/tmp/pip-build-Rvforl/pillow/setup.py", line 45
2021-03-21 02:59:21,772 > 
2021-03-21 02:59:21,772 > f"Pillow {PILLOW_VERSION} does not support Python "

I think latest pillow version has got updated and that breaks the latest package of webhook. It is possible issue is only with python2.7 but I dont have root access on the PI that came with my 3D printer to be able to debug more.

Any ideas?
CC @charutak

@Params are not substituted

I have installed the plugin and want to send the data to my Node Red instance.

In the plugin I have configured the default data

octo

in my node red i receive this data as payload

nodered

it looks like the parameters are not substituted for the transmission.

What other information should I provide?

All plugins and Octoprint are up to date. The following plugins are installed.

  • Action Command Prompt Support
  • Announcement Plugin
  • Anonymous Usage Tracking
  • Application Keys Plugin
  • Automatic Shutdown
  • Backlash autocalibration
  • Backup & Restore
  • Core Wizard
  • Cost Estimation
  • Discovery
  • DisplayProgress
  • EEPROM Marlin Editor Plugin
  • Emergency Stop Button
  • Error Tracking
  • FileManager
  • HeaterTimeout
  • LED Strip Control
  • Logging
  • Pi Support Plugin
  • Printer Safety Check
  • Software Update
  • STL Viewer
  • Themeify
  • Virtual Printer
  • Webhooks

Ability to subscribe to custom events

Unless I'm missing something, it looks like you can only subscribe to a specific set of events (started, done, failed, etc). You should be able to subscribe to custom events like you can with the OctoPrint-IFTTT plugin. For instance, the OctoPrint-ngrok plugin fires the plugin_ngrok_connected event when the tunnel is created and the plugin_ngrok_closed event when the tunnel is closed. It'd be great to be able to subscribe to these events and any other events fired by other plugins

Is there a way to add tabs/buttons to the main UI?

I have a webhook I use with this plugin which I need to toggle on and off depending on the job. Is there a way I can add a toggle button to the main screen or a tab on the main screen rather than having to goto settings - plugins - webhooks just to check/uncheck the enable box?

!!! - PLUGIN HAS MOVED - !!!

Since this repo appears to be abandoned, I have completed the process of adopting this plugin! The new repo is at https://github.com/derekantrican/OctoPrint-Webhooks . I will do my best to address the current concerns & issues, but keep in mind that I a have a full-time job & life (and other personal projects besides this) so I can't give this plugin full focus. I will do my best to work on it in my free time.


Original post:

Has this plugin been abandoned? Looks like the last update was nearly 2 years ago at this point and that was just merging a PR for some templates. The last significant update seems to have been 2.5 years ago in May, 2020.

As far as I can tell, the last activity at all from @2blane is Feb 2021 in #25. But there seem to be some significant usage issues reported (eg #19 where the settings aren't being saved and was confirmed by @2blane as an issue - users are still seeing it as recently as a month ago).

If there is no interest in maintaining it, I'm interested in taking it over as I use this plugin a lot (and see a lot of potential for it). I'm even a little familiar with the codebase as I've been working on my own PR: https://github.com/derekantrican/OctoPrint-Webhooks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.