BtnCmd-DWC Plugin - Customise DWC - v01.03.05 20-09-24
-
BtnCmd allows you to create new dashboard layouts from standard DWC panels, plus adds new features and panels not available in standard DWC.
You can add as many layouts as you like by adding tabs. Within each tab you can add panels & custom action buttons - each button can do one of four things:
-
run a Macro.g file from the SD card
-
issue a gcode command
-
send an MQTT message - (useful for integrating with existing IOT / home automation systems)
-
Send http post/get requests - (useful for integrating with existing IOT / home automation systems)
You can also:
-
design your own custom panels
-
show object model variable values in real time
-
update Global Variables in the UI.
-
Create Custom Charts
I have attempted to make a short overview video here.
You can download the plugin here, please read the release notes for specific instructions.
There is also a wiki.
I hope its of use!
PS. Big Thanks to the community on the RRF For STM/LPC TeamGloomy discord server and @jay_s_uk for help with testing and ideas.
-
-
Hi - I wanted to try this as it looks like it would make a perfect way to launch DuetLapse3. Unfortunately I cannot get it to install.
I tried to install on R3.2.2 with the corresponding zip file. The zip deployed and the BtnCmd directories were created with various subdirectories and files (/sys/BtnCmd-Alpha_0.14/ ... and similarly under /www)
There was one popup during this process that listed the files as they were unzipped. There was no other popup or any indication of error (or success).
Even after a full reboot - there is no indication that BtnCMd has installed. No listing under either General-->Plugins (the default plugins are displayed) or Machine_Specific --> Plugins.
Any suggestions on how to troubleshoot ? Any other information I can provide ?
-
@stuartofmt Sorry its not gone smoothly...I've not seen DWC ever report its decompressing files installing a plugin, the only thing its ever prompted me was to confirm I wanted to install the plugin (on 3.2.2), and then to say plugin was installed. (On 3.3b2 you have to go through a wizard.).
I have asked a friendly tester from the discord group to do a test install on one of his many boards with 3.2.2. I run 3.2.2 with an SBC (DSF) so I am concerned there might be an install quirk I have not come across on standalone 3.2.2 (the plugin system is not exactly fully mature yet).
In the mean time have you tried to install it again after refreshing your browser...? The only other issue we came across in testing the plugin, was due to an existing DWC install problem on the SD card. A re-install of DWC cleared the issue. I'll report back later.
-
@mintytrebor ok i stopped at MQTT integration and i tought "Shut up and take my money!".Time to integrate my ptinter with the 4mt ws2812 led strip that is on my desk and is connected to home assistant! I'll try it as soon as possible! Thanks for the great work
-
@stuartofmt Tester has come back, and it looks like there is an issue with any version of the plugin after 8.1 Alpha, on 3.2.2.
The question is why it works on my 3.2.2 with SBC. I'll look into it now.
I'll take down the current release for 3.2.2 so it does not impact anyone else. Sorry you were the first! -
@mintytrebor said in BtnCmd - DWC Plugin - Create custom layouts & action buttons.:
have you tried to install it again after refreshing your browser
Yep - I cleaned the browser history and cookies first. I originally tried to install on 3,2 and after realizing my mistake, upgraded to 3.2.2 and deleted all the BtnCmd dirs before trying again. So I'm hopefully doing a "clean" instal attempt.
I have some prints to get done in the next few days and don't really want to upgrade to the 3.3b2 just yet.
If it's not easily identifiable - then I'll try again next week after upgrading to 3.3b2
Thanks - looking fwd to trying this out. I use a Pi to run a camera and DuetLapse3 (which I maintain). The Pi (in my case) is just "there" - pointing to my Duet2 Wifi. I can think of some easy url command based expansions using (say) a python http server called from a button (e.g. send a email notification).
-
@stuartofmt 3.3b2 should be OK. I'm running that on a duet2 ethernet, and there are about 5 or six other users running it on that version....I'm beginning to suspect it might be one of the framework plugins I use. Still doesn't explain why it works on SBC 3.2.2 though...
I've dug out a spare board, which I'm going to flash 3.2.2 onto and test...(But its gonna take a while - sorry).If it does turn out to be a framework plugin issue, I may just stick with a 3.3b2+ version. The plugin system is much much better than in 3.2.2.
-
@mikes make sure your MQTT broker is configured to also use web -sockets. You should also check out my NodeDSF nodes for node-red, which is great with HA. Might give you some ideas...
-
@stuartofmt said in BtnCmd - DWC Plugin - Create custom layouts & action buttons.:
I use a Pi to run a camera and DuetLapse3 (which I maintain). The Pi (in my case) is just "there" - pointing to my Duet2 Wifi. I can think of some easy url command based expansions using (say) a python http server called from a button (e.g. send a email notification).
Coincidentally I put a POC print queue together to help a fellow forum user out a couple of days ago (https://forum.duet3d.com/topic/22811/print-queue-feature-for-true-sequential-printing/7?_=1619110275916), it used BtnCmd to send http commands to a node-red websocket to start and stop the print queue, so I'm fairly confident your python idea will work..
-
@mintytrebor so i played around a bit and i ended using the http request (wled also accept this). Btw i would like to light up my strip based on print progress...it would need a new event trigger and the ability to send custom http request with variables (maybe taken from Object Model?). I'm not asking you to add this, but it would be really cool and add a lot of possibilities.
example: http://wledIp/win&FX=98&IX=50
this will set the strip to percentage effect and set it to 50%. Instead of 50 it would need to output the current percentage from object model. -
@mikes Glad you got it working. Your idea might be quite challenging to achieve in the plugin, 'status' is kind of a global parameter, so it was already available in DWC for me to use without using additional resources. I'll have to see what is needed to work with the object model in the way you describe.
As an aside/alternative - if what you want to achieve is:
If job % complete is between 0-25% send http request to wled set lights blue
If job % complete is between 26-50% send http request to wled set lights red
in general terms - then that would be easy to do with NodeDSF. -
@mintytrebor said in BtnCmd - DWC Plugin - Create custom layouts & action buttons.:
If it does turn out to be a framework plugin issue, I may just stick with a 3.3b2+ version
I had a bit of spare time and upgraded to 3.3b3. I installed the relevant BtnCmd and it is now working. I'll report back on what I find.
Thanks for this - I'm sure many will find it useful. -
@stuartofmt So just to report back. I have just setup a brand new board with 3.2.2, and I did get an decompression error - but it is the same error I mention in the release notes, the plugin still installed OK...So I am not entirely sure what went wrong with yours...I suspect this is not going to be a ongoing problem as I will switch to 3.3 after the beta and I won't be compiling for 2 versions of DWC going forward.
-
Very cool plugin!
Haven't had time to explore it to it's fullest extent but it will definitely be useful. -
Hey @MintyTrebor is it possible to have a panel which shows any value from the Object Model? Or several values in one panel?
Maybe with the option for a text string in front of the value, entered as such:"Tool2XOffset: " , {tools[2].offsets[0]}
Displaying Like:
Tool2XOffset: 26
Thanks,
T -
@tristanryerparke I have just pushed Alpha 0.8.16 for DWC 3.3b3 which includes a panel to display Machine Object Model Values.
Use the Object Model Browser Plugin to get the model path required to create the BtnCmd panel. (highlighted in blue)
This feature should be treated as experimental, as I have not had much time to look at the resource impact of adding this feature. This is also the first release for 3.3b3, so there may be other unforeseen bugs.
-
@mintytrebor Why is it installed in the Jobs directory?
-
@stephen6309 If you are referring to the plugin files, you will have to ask the DWC maintainer, I have no control over where the plugin files go.
-
This post is deleted! -
@chrishamm Why are the install files put in Jobs? I now have to scroll to find my print files.
Edit: It took a delete and reinstall to fix it.