I am sure other people could use those as well ...
Here you go: https://mega.nz/file...3Lw2wTYjNIA_VkA
It's the elevator call button, with the arrows removed and a bunch of new anims.
You'll need to edit the texture/material paths with NIFskope to make it use vanilla textures. It'll appear pink otherwise because it's currently set up to use custom textures.
And you'll have to initialize the button by playing Off or Illuminated animation on load from script, because it won't remember it's state after unload/load and might get stuck in a weird state as it doesn't have a behavior graph. This means you will have to keep track of the button state in your script. A simple boolean variable will do, set to true if swtich is "on" and false if it's "off". So you will easily be able to determine which anim to play and what to do with the lamps you want to control, ie enable or disable, when your script receives OnActivate event (player pushes button) or OnLoad event for processing, based on current state stored in boolean variable. After desired animation has played, update this boolean as required.
As for the script logic governing when to play which Gameybro anim, use this state table:
Current State | Action | Target State | Gamebryo Anim
Dark | <none> | Remain Dark | Off
Dark | Press Btn | Remain Dark | ActivateNoPower
Dark | Press Btn | Light up | ActivateDark
Dark | <none> | Light up | Illuminated
Lit | Press Btn | Remain Lit | ActivateIlluminated
Lit | <none> | Go Dark | DeactivateIlluminated
Current State / Target State means if the button is currently lit, and if it should still be lit after playing the anim.
Action is if the button itself should move/animate as if it were being pushed in.
Gamebryo Anim is the name of the animation to play with PlayGamebryoAnimation() script function.
There are other anims in the NIF, but you won't need them - they're superfluous.
There is no anim for "Lit / Press Btn / Go Dark", but you can achieve similar effect (button press turns light off) by first playing ActivateIlluminated, followed by delay of 0.333 seconds and finally playing DeactivateIlluminated. Or, you could use NIFskope to edit one of the superfluous anims for this (but leave IdleGlow01 alone).