What do you guys/gals think? Too complex for a custom integration?
I wanted bulletproof alerts originally when I created by “Noonlight Enhanced” integration for my alarm system, so I did have them working very well and decided to extend that into an alert framework. Funnily enough my alarm has to be so bulletproof that I did want a separate dedicated controls dashboard controlling the alarm system (as well as the related alerts) as there are many other parameters there to include other than just the alerts (and did not want to change an alarm setting inadvertently by changing a setting for that here by mistake). Anyway, below I am showing the end result dashboard I use for controlling my alert framework.
I was thinking of taking what I have built and making it into a full - blown custom integration, but what has stopped me is that there would be so many parameters (literally hundreds of helpers to populate during the setup for people installing the integration) that the users would be turned off by the complexity. I may still do it, mulling that over (it’s nice that custom integrations can hide their helpers so it just shows in their configuration screens though).
In my setup I started out by enabling SMS and Voice alerts through Twilio and getting that to work reliably, then building some appdaemons that willl dynamically populate predefined groups of people into input_helpers to be used in settings to receive said alerts. My setup has a test mode as well and alerts that are sent by:
- Persistent Notification - just an on/off wwitch as this applies to everyone running the app
the the rest of these are assigned to a group selected by the input_select dynamically built by the above:
- SMS Group
- Voice Group
- HA App Notification Group (this included actionable alert buttons - like a close garage button on the notification for the garage alert for example)
All of these alerts run through a centralized set of logic with many parameter settings instead of parallel similar logic paths which makes the code much cleaner and more reliable…
I ran into so very many settings I ended up creating an Alert Controls Dashboard which I show here (front door example):
And for example when you click on the expansion for the door section:
So then you got example go into the front door card (first one there in the group)![]()
The Help section there is also an expandable section - and it is too large to see all the details so I’ve scrolled down and clicked on the disagnostics rollup section:
Actually that picture isn’t showing the bottom of that screen either - so
The framework got involved enough that the Developer Tools → Check configuration (and even Spook - would not catch errors) - if there were scripts or automations that were not dynamically assigned properly to be calling each other - that I set up an audit report which is generated when the appdeamon starts up, which also explains where there are any misalignments and where to fix them. But now that this is very mature I don’t really need to use it. There is now a set number of minimal steps I need to go through to add a new alert, in which case that audit report is handy to check.
As an example of another step to bring this integration to it’s full maturity would be to have separate snooze etc. settings for each kind of alert (the four listed above - Persistent Noticiations, SMS, Voice and HA App Notifications). However that would increase the number of settings geometrically (x4), at which point the diminished benefits of that functionality would not be worth it (in my opinion).
Also - this framework I have does not even use the built - in alerts integration (but does the same thing + alot more) as that build-in integration was lacking alot of the features I needed - so this includes a whole base framework below that (which I would include in the custom integration I guess). My framework also has a built-in audit trail which puts not only config changes but also alert activity into a table in InfluxDB which I view through grafana dashboards for tables and charting (but that I guess would be overkill to include in any integration I would think). So to fully mimic my setup the additional apps/addons/integrations needed are appdaemon, influx, grafana and something to handle voice/sms alerts in a reliable manner without any latency.
Thoughts?




