I was experimenting with modding the smart devices about 2 months ago but got side tracked. My initial idea, for which I implemented a proof of concept, was to be able to pair a TC as a "virtual" smart alarm. Then you could configure preferences about which types of notifications you want, like when the base is damaged, when a turret has a target, when a HBHF sensor detects a player, etc. Other players could pair the same base and have separate notification preferences.
One thing I noticed is that the notifications/subscriptions are basically separate from the alarms. For example, notifications for smart alarms are throttled to at most every 30 seconds (though you can bypass this), but the state of the smart alarm devices in the App can toggle on/off more frequently. As far as I can tell, when you pair a smart alarm/switch, it sends entity info to the Rust+ Companion Server which will query the game server periodically for the status.
Natively, players can mute notifications for a single alarm via the App, and this behavior would be good to preserve to avoid issues where players are unable to mute an alarm unless in the server (only alternative is to mute the whole server). From what I remember, muting/unmuting actually sends messages to subscribe/unsubscribe of the underlying notification list of the alarm entity. I was thinking we could do a hybrid where you get the mute ability of alarms, but also custom notifications (just have to check the subscription before sending notifications outside of the alarm entity). Since I had trouble using fake entities, I was planning on just creating real smart alarm entities when players pair TCs, then use a separate method to send the actual notifications so I can have separate cooldowns per type of notification for instance.
I was also thinking about use cases such as having multiple TCs roll up to the same alarm, and/or inversely having only individual devices like turrets have their own alarms (would like to support both variants). I was thinking of calling the plugin Rust++, allowing pairing of theoretically any entity, possibly through an extensible plugin API so that other plugins can define the implementation details of each entity type without requiring the main plugin to support everything directly.