Notification via Pushover or other service
-
I have put it on Github now, but I believe it needs further refinement before doing a pull request (I am not a skilled programmer)
https://github.com/SleepyPrince/DuetWebControl/tree/pushoverPlease leave a comment or any suggestions after you have tried it out
-
That's great work Jackal, hopefully Christian will have a look at it and include it in a future version
-
Personally, rather than support for a single notification service, I'd rather see an API for pulling data from DWC. So we could poll the data its already displaying without generating more gcode for the duet itself to worry about. (Temps, file progress, etc)
Then it'd be trivial to use a PI or similar to do stuff with that data - push notifications, light up LEDs, turn on/off a webcam, whatever by reacting to data pulled from the API.
(If such an API already exists, I haven't found it referenced yet)
-
Nice work on the Push; But I agree the API would be sweet and open up a bunch of capability.
Personally, rather than support for a single notification service, I'd rather see an API for pulling data from DWC. So we could poll the data its already displaying without generating more gcode for the duet itself to worry about. (Temps, file progress, etc)
Then it'd be trivial to use a PI or similar to do stuff with that data - push notifications, light up LEDs, turn on/off a webcam, whatever by reacting to data pulled from the API.
(If such an API already exists, I haven't found it referenced yet)
-
I have put it on Github now, but I believe it needs further refinement before doing a pull request (I am not a skilled programmer)
https://github.com/SleepyPrince/DuetWebControl/tree/pushoverPlease leave a comment or any suggestions after you have tried it out
Could you push your source changes to GitHub too? That way I could check how much work would be required.
-
There are a few http requests you can send to DWC
https://github.com/chrishamm/DuetWebControl/blob/master/README.md
Probably rr_status is what you need -
How do you see a general API working, further than the existing rr_…... Http requests?
-
Didn't know about rr_status. It may do what I was looking for, I'll have to play with it and see what's reported.
I'd envision it polling from the DWC itself rather than relaying the requests on to the firmware, to keep the processing load lower, but perhaps that's not needed.
Typically in an API like that I'd expect any value displayed within the interface to be a pollable value in the API. So the current temps, current print layer, all your xyz axis, zprobe status, whatever. Just give each value a name for the API, and have it report those when queried for that value.
-
I have put it on Github now, but I believe it needs further refinement before doing a pull request (I am not a skilled programmer)
https://github.com/SleepyPrince/DuetWebControl/tree/pushoverPlease leave a comment or any suggestions after you have tried it out
Could you push your source changes to GitHub too? That way I could check how much work would be required.
Oh, I didn't realize I only committed the compiled files. It should be fixed now.
You would probably laugh at my poor coding :hc:
I just hack things together to make it work, I believe you will have a better way to do it. -
Thanks for the new commit.
Well, TBH I'm not planning on adding support for cloud-based services to DWC as I see no good reason to send data to external web services unless more people explicitly ask for this. One exception may be STL drag'n'drop which would require slicing to be done on an external server, but that's just an idea I might implement someday.
Modern browsers already provide Web Notifications and in fact I thought you were using this technique to achieve pushover notifications (also see https://www.w3.org/TR/notifications/)), so I'm wondering if there is any good reason why we cannot use this standard instead. If you want to see a demo, have a look at this page: https://davidwalsh.name/demo/notifications-api.php
-
I believe they want push notification for unsupervised printing.
By the way, in case it is not obvious, my implementation depends on DWC using jQuery ajax to interact with Pushover.
That means you will need DWC running on a browser while printing to have push notification. -
the current rr_status is good. If you added in the currently printing filename, if that's possible, to type 3, it should be easily doable to implement auto-generated timelapses whenever a file is printing.
Push notifications should be doable easily with this, and lighting up LED strips, etc should also work just fine.
(I can start a new thread if that's more appropriate)
-
That means you will need DWC running on a browser while printing to have push notification.
That's the point, you need to have one DWC instance running anyway to send push messages to that web service so I think it would be sufficient if DWC generated those messages on its own. DWC is capable of running on mobile devices as well and it could be expanded to show "native" push notifications, so I see no reason why we need to rely on a web-based service for the same purpose.
the current rr_status is good. If you added in the currently printing filename, if that's possible, to type 3, it should be easily doable to implement auto-generated timelapses whenever a file is printing.
The way DWC gets the name of the file being printed is by checking the status character and if it changes to printing, it requests rr_fileinfo once which sends back the filename and some more info. If you're looking for further documentation about the status responses, check out this link: http://reprap.org/wiki/RepRap_Firmware_Status_responses
-
How about using mqtt? there is a reference implementation based on the lwip tcp/ip stack used in the duet. Could hook it up to all manner of local or cloud based things. Those who don't mind using the cloud could use it in conjunction with IFFT to get native notifications or turn lights/things on or off. For those who don't like cloud services, they can setup their own local broker and subscribers/clients and still get the benefit.
-
That's great work Jackal, hopefully Christian will have a look at it and include it in a future version
Ive finally got my DuetWifi & new printer all built honestly Duet is just awesome if only Pushover were implemented it would be perfect for me. Appreciate the work Jackal has done but clearly that version of DWC is & has been left behind by the official release (loving FW 1.18 & DWC 1.15 BTW)
So my question any progress on implementation into the official release? Seems it should be a simple case of implementing & testing Jackal's code right? Or am I over simplifying Also appreciate it might not be top of the list, but if it were available i think many would move to use Pushover.
Thanks]
Stuart -
if i understand it right there are fees involved with pushover. so far i have been using octoprint's telegram messaging which works great not just as messaging but also to control octo+the printer
-
I think push notifications of some sort would be really useful, however pushover is probably not appropriate for most users
- it costs money to get an account as a user (after a 7 day trial)
- We would saturate the free message limits as a application very quickly, after that is costs money to send the messages:
https://pushover.net/faq#overview-limits
We might be able to get round #2 with some form of unique registration per Duet board but it does not seam worth exploring further.
There are other options though:
https://aws.amazon.com/sns/
https://onesignal.com/
https://pusher.com/Presumably all of these would need some form of app to be installed on your mobile device to make the most of it.
-
I think push notifications of some sort would be really useful, however pushover is probably not appropriate for most users
- it costs money to get an account as a user (after a 7 day trial)
- We would saturate the free message limits as a application very quickly, after that is costs money to send the messages:
https://pushover.net/faq#overview-limits
We might be able to get round #2 with some form of unique registration per Duet board but it does not seam worth exploring further.
There are other options though:
https://aws.amazon.com/sns/
https://onesignal.com/
https://pusher.com/Presumably all of these would need some form of app to be installed on your mobile device to make the most of it.
I will be honest I can't totally remember what the deal was with Pushover & the charges but i paid around £5 one off charge and I have sent literally 1000s of notifications from my account all my home automation uses it too. I suspect this would have nothing to do with Duet, it would be down to the user to supply their unique API key from their account? Therefore no cost or implications to Duet. That said any sort of remote notification would be very helpful. Yes you would need the Fee (once you have a paid account) app installed but it is very good.
Stuart
-
Just for ref here are the costs from Pushovers site, I don't work for them by the way just found it a great service
How much does Pushover cost?
Short answer: After a 7-day free trial, it costs $4.99 USD once, per-platform (iOS, Android, Desktop), to use on as many of your own devices1 on that platform as you want. There are no monthly or yearly fees and you can receive as many notifications as you want.
Long answer: As an end-user receiving push notifications, our iOS, Android, and Desktop clients are free to try for 7 days. After 7 days, you'll need to purchase a $4.99 USD license for each platform you wish to use it on. Once you've licensed a particular platform, you can use it on as many of your own devices that you personally use1 with no additional recurring fees. For example, once you make an in-app purchase in our iOS app on your iPhone, you can also use it on your iPad without having to pay again. If you also want to use it on your Android tablet, you would need to purchase an additional license for Android.
As an application developer or service provider sending notifications through our API, you can send a certain number of notifications for free each month. See our question about message limitations for more information.
For information on volume license pricing, please see this answer.
-
I just set up my duet and I'm planning on setting up a Duet Push Notification system.
So far my plan is to handle everything externally by using unused duet pins connected to an ESP8266 or ESP32 board which will send the push notifications via SimplePush service ($5 one time fee)If anyone else is interested in this setup let me know and I will post back once things are up and running well.
My aim is to push the following notifications: Job End, Errors (still working this one out) and possibly job percentage in 10% increments. Also I'll see if its possible to add M117 commands as push notifications.