Well for buttons, Ableton Live generally assume either a 0 for off or 127 for on. What you should be able to do is to have a translator that takes Ableton Live value of 0 and change it to 50 (coming back from Ableton Live) and then let Ableton Live send the normal 127 for on.
So the translator (back from Live would be)
Incoming Note-Off MIDI CH1 Note 0 any velocity from Ableton Live
Outgoing Note-On MIDI CH1 Note 0 velocity 50 to Ableton Push
Of course you leave any Note-on messages alone as long as for you note-on color 127 works for you. If you want a different color, you would probably need to change note-on velocity 127 to output note-on velocity xx (where xx is the color you want).
Typically I separate devices into separate presets as well. That way if things change, you have less translators to change source and destination. You can change the source and destination at the preset level.
For instance
Preset Name – Push to Live and Push
Incoming Push Outgoing Live and Push
Any translators under that preset above will send feedback from Push back to Push and also output to Live. This would override any project defaults
Preset Name - Live to Push
Incoming Live . Outgoing Push
Any translators under the above would only affect the MIDI data coming from Live and only send that MIDI data to push (again overriding the project defaults)
On occasion I set the source and destination within the translator but generally that is the exception than the rule.
I also make heave use of aliases for situation where port names may change or you may be routing through generic port name created by the OS (IE MIDI Device 1). I usually assign meaningful alias names and then use those aliases for my source and destinations within the presets.
I hope I understood your question correctly and welcome to the Bome Forum!
Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz