With native Tasker, I think you're limited to 1x1 widgets. For something more intricate, you can use
Zoom.
Zoom was written by the same guy who developed Tasker. As such, it integrates thoroughly and easily with Tasker: you can run tasks by interacting with widget elements; tasks can modify the appearance and state of widget elements; widgets can monitor variable states and update themselves accordingly. It's pretty intuitive, and not difficult to use, once you get the hang of it.
I used Zoom to create this widget:
View attachment 50964
The buttons all call the same Tasker task when clicked, but each sends a unique parameter, corresponding to Loud, Normal, Quiet or Silent sound profiles. After the task sets the volume levels, it updates the widget speaker icon to reflect the new value, and updates the levels shown in the widget's static text area.
This widget was trivial to implement. By far, the most time consuming piece of it was to draw the speaker and buttons. (BTW, the buttons can be real buttons, rather than crude images, like I have them. In fact, I first implemented the widget with actual buttons, but I wanted to try out the hand drawn images. I liked the rustic look of the images, so I left them.
)
As another example, I have a profile that monitors the time of day, to adjust both the sound profile and screen brightness at bedtime, and restores the settings in the morning. Sometimes however, I stay up later than normal. For this reason, I wanted a quick and easy way of overriding the profile behavior.
So, I created this widget:
View attachment 50965
This is very similar to the
Silent Toggle widget on the Tasker wiki. When pressed, it simply toggles the value of a certain Tasker variable. I then added an additional state to the profile, requiring the variable to be in its "off" state, in addition to the time-of-day requirement. Finally, I modified my "Set Sound Profile" task to update the widget to the correct override state:
View attachment 50966
(BTW, to create the icons for this widget, I used an app from a different developer called
Simple Text-Text Icon Creator)
Definitely check out Zoom if you want to create anything more than a 1x1 widget. It's a great add-on to Tasker that adds tremendously to its usefulness.