Advanced Button Controller (ABC)

I figured out how to do this with RM. It’s super hacky, but it works. Six rules, but that’s mostly because I don’t know how to do it with less and I had to use ABC for the actual volume changes (explained below). Someone with RM4 prowess could probably figure it out.

I had to add two additional rules, a virtual button and an extra ABC mapping because I couldn't get RM to adjust the volume of the Sonos, but it works fine from your app.

Here's examples for volume down. Similar was created for volume up.





I'm sure you can see the logic, but for clarity...

In the above examples:

  1. Symfonisk sound controller is turned left, button 5 is pressed
  2. Button 5 pressed turns on the virtual switch Sonos volume level DOWN trigger
  3. Sonos volume level DOWN trigger changing evaluates if it is ON and if it is, then it turns on the virtual switch Sonos volume down, if not then it turns Sonos volume down OFF and exits the rule.
  4. Sonos volume down turning ON triggers the second rule to check if Sonos volume level DOWN trigger is ON. If it is ON then the action turns off the virtual switch Sonos volume down, and then runs the actions of the first rule "Sonos volume down start"

The result is the virtual switch Sonos volume down toggles on and off rapidly. This toggling of presses button 2 on a virtual button each time Sonos volume down turns on. The second mapping in ABC changes the volume by -2 each time virtual button 2 is pressed. As soon as you stop turning the dial, the button press 6 is sent from the Symfonisk sound controller, which turns off the virtual switch Sonos volume level DOWN trigger, thus stopping the switch Sonos volume down from toggling on an off rapidly, and therefor the virtual button is no longer being repeatedly pressed, and the volume stop lowering.

Smooth volume control with one continuous motion of the Symfonisk sound controller :grin:

[Update] A warning about the Symfonisk sound controller here. Please read, or you may be pulling your hair out trying to find a mysterious issue that could actually be the result of rogue Zigbee signals from the controller itself.

2 Likes