From the event log you posted, Dashboard appears to be working fine. Is this the same driver as the one that should be sending the "real" commands? If so, you have some problem there. Adding some logging to your app to debug things yourself may help (can't do much without the code).
If not, you must have some other device (and its driver) involved, but from your screenshots, no automation is set up to respond to these button events and do something with a other device. I can say this because there are no "Triggered apps" in your screenshot.
Yes, there is only one drive and one device using this driver ("Projector Screen").
Here is the current driver code (essentially the same as in my original post):
I don't see anything glaringly obviously wrong, so I'd suggest:
Specifically, you can do things like sprinkle log.trace entries throughout so you can see what is (or isn't) running when, what the values of objects that matter are, or anything else that is helpful, then go from there.
The trace did appear in the logs when the tile was triggered, but none of the conditions were executed.
So I tried changing from integer to string values, as such:
if (button == "1"){ScreenUP()}
if (button == "2"){ScreenDOWN()}
if (button == "3"){ScreenSTOP()}
Now the Tiles work.
BUT, the Push command from the Device does not. So the Tile only takes strings, the device Push command only integers.
Smells like a BUG to me.
While that may be helpful, with any Hubitat command that accepts numbers, I would also be prepared to parse them out of a string, given both the dynamic nature of Groovy and the fact that sometimes these values will come in via means that do not have any inherent types at all (e.g., as part of a URL query string via Maker API), so you never really know what you're going to get.
So there still seems to be a bigger problem with how Hubitat handles pushable buttons.
When I try to create a Basic Rule with an action "Push button," the system is not accepting any numbers.
I try to enter "1" or "2", for example, and after clicking "save" the field resets, indicating that it is not a passing validation. Why not?
This seems to be related to the same thing happening under the Dashboard.
I don't think so; this looks like a problem with the driver you're using. What is the value of the numberOfButtons attribute (as seen under "Current States") on the device detail page?
That looks like you are declaring a custom attribute. You don't need to do that; it comes as part of "PushableButton". What you do need to do is actually provide a value for that attribute. For this particular attribute on button devices, that is often done in configure() or something else that will be called on installation, or possibly also updated() if you don't have that method/capability in your driver.
Wherever you do it, this is done via sendEvent() like any other attribute, e.g., sendEvent(name: "numberOfButtons", value: 1) (or however many buttons you have).
Yes, use the App Status page (accessible from the gear-looking icon next to the app in the Apps list or the top right of the page, which I think you‘ll still see even if there is an error).