[RELEASE] Device Status Announcer (TTS or notification if lock unlocked, door/window open, etc.)

OK, I'm starting to think that maybe the best solution here is to add the ability to add "custom" groups of devices that look for a specific attribute to be set to a certain value, then speak/notify if not. This would probably be able to handle any combination most people would want. Examples of what you could do include send a notification or speak if...

  • Device of capability "Switch": "switch" attribute is not "on"
  • Device of capability "Switch": "switch" attribute is not "off"
  • Device of capability "Contact": "contact" attribute is not "closed"
  • Device of capability "WindowShade": "shade" attribute is not "closed"

More generally, it could also look for the attribute to be something or be anything except something, but I'm not not sure how useful that former case would be (lots of devices, like switches, motion sensors, contact sensors, etc. have only two possible states; some like locks or shades have multiple possibilities for the attribute most would care about, but most people would be only looking for one specific outcome, I think...if a shade is "closing" but not "closed," I'd assume that may still be of concern, even if if it's not "open").

This sounds PERFECT!

Edit: If this were to be the case perhaps an option to include/exclude the announcement of the devices "state" could also be added. For instance, if the announcement is set to only list switches that are ON, then I don't see a reason why the notification needs to include "The switch A is ON and the Switch B is ON" as it would be assumed that that they would be ON or it wouldn't be part of the list?

Just nitpicking here, not a priority request.

That is how it already works with other devices, and I didn't plan on changing that. You can make it do nothing at all if everything is in the desired state just by leaving the "Notification text to send if all devices are OK" field blank, which is how I have some of mine set up. (For example, one of mine sends me a notification if any locks are unlocked when my presence sensor becomes not present. If all locks are locked, it doesn't--because I don't care. :smiley: By contrast, I have a similar setup that speaks the lock statuses before I got to bed, and in that case I have it say "All locks are locked" here so I at least know an announcement happened.)

1 Like

This is a very useful app.

I currently have a rule that triggers this app every 25min to check if any exterior doors have been left open. If so, this app will text me, have Alexa announce which door is open and light up a bulb yellow. Runs every night starting at 8pm. I have a busy household.

I was using the built in Notification app that comes with HE as it provides text and audio notifications... but no visual notification capability such a lighting up a bulb. The Device Status Announcer app has this capability as well as having the ability to be triggered and to trigger something. In my case it triggers a basic rule to light a bulb up if a door is found open. I don't carry my phone around while home so I miss the text and the Alexa announcement gets lost in the background noise of the house. I use a bulb that has lit up a certain color as my houses's check engine light.

Now... the built in Notification app in HE has the capability to monitor moisture sensors and unfortunately Device Status Announcer does not. I have two scenairo's where this would be useful:

  1. I have Linkind water sensors in the bathrooms, kitchen, fridge ice maker and washing machine. If one of these goes off I would like to be notified the same as my nightly door open rule where I receive a text, voice announcemet and light up a bulb. Maybe even flash it as a water leak is more important than a door left open. I'm currently using the Notification app for this... but wtihout visual capabilitys.

  2. I have a Linkind moisture sensor outside(waterproofed) on a small sponge that will trigger when it's raining. I would like to have Device Status Announcer to be triggered and check if a door or window has been left open and give me all the notifications. Happens more than I care to admit. It's Florida, it can rain alot here.

I'm sure there are ways to work around this but having moisture senor capability built into the app would keep me from having to create extra rules.

Can moisture sensors be added to this app? I'm open to any suggestions.

Thanks.

Yes, in a future release, I plan to add support for arbitrary/custom attributes, as mentioned above. I've already got something working, just need to test it a bit more before it gets released. As usual, no guarantees on when. :slight_smile:

While you're waiting for an update to this app you can also use Event Engine to provide audio, push, and visual feedback for your moisture sensors or for any other sensors that you'd like to try.

I think assuming Robert updates his app it's cleaner and simpler to do the kind of notifications you want for your water sensors in his app. That's what I would do when it's capable of that.

But Event Engine is worth looking into generally as it's a nice point and click automation app that is very powerful.

I've released version 3.0 of Device Status Announcer with one major new feature:

  • Support for "custom" device types

"Custom" attributes are actually still selected from list the app provides (I just chose device capabilities and attributes that seem reasonable), but it would be easy for anyone to extend this code if needed. In the future, it's possible I'll add truly arbitrary, user-suppliable custom attributes, but this is still much more flexible than it was before.

Oh, and one of them is water sensors, as requested... :slight_smile:
Screenshot of custom device group with water sensor capability selected

The upgrade is available in HPM or for manual install (see first post), as usual.]

NOTE FOR MANUAL UPGRADERS: You can (and should) overwrite the parent app code with the updated parent app, but you should add the child app as new app code and NOT overwrite the existing 2.x child code. You should leave the 2.x code in Apps Code as-is as long as you still have 2.x child apps, though you can delete it if/when you don't. If you do not follow these directions and instead copy/paste over the 2.x child apps and require re-configuring them in order to work correctly. (HPM users do not need to worry about this, as it will add the code as new for you.)

NOTE FOR ALL UPGRADERS: As you may surmise from the above, new child instances created will be version 3.x child apps. Existing child apps will remain 2.x. They can be left as-is indefinitely, or you can manually re-create them in v3 and remove the v2 app if you want. There is no reason to do, as v2 child apps will continue working indefinitely (compare to Rule Machine and rule versions; significant changes between v2 and v3 made automatic upgrading difficult to achieve without breaking existing installs, hence this choice).

2 Likes

Updating now! Woot!! :slightly_smiling_face:

1 Like

Great news and thanks a ton! Your hard work is contributing to my fun factor.

As a small token of appreciation, is there a way to donate towards your favorite beverage?

What we usually do, is people send me a root beer, and then I take a picture of myself drinking it and send the picture to Robert. (He's trying to watch his sugar.)

:wink: :cup_with_straw:

2 Likes

Well what are the odds... tonight at dinner I recieved a Pushover notification of a water leak. My daughter calls and says Alexa is announcing an emergency about a water leak and a light bulb has turned blue. The refrigerator is also beeping. Turns out the ice maker water line has been leaking a little every time it refilled and the puddle finally got to the Linkind sensor behind the fridge causing it to beep.

This is exactly what I wanted to happen. Have Alexa announce the issue, receive a text of the issue and to light a bulb blue, to indicate a water issue. The Linkind sensor beeps constantly when wet and stops when dry. I also had it placed on top of a folded paper towel hoping any water a few inches from the sensor would be absorbed and "pulled" to the Linkind's contacts. This worked as well.

As far as the light goes, it's green when Alexa sets the alarm, Yellow if a door is left open after a certain time, blue for a water leak(may change that to flashing red).

The leak has been fixed and that was my Friday evening. There is a hardwood floor on the other side of the wall so things could have gotten expensive quickly if this leak was worse. Matter of fact, I'd say with just this one incident Hubitat and all the sensors just paid for themselves.

To me, this is what's fun about this "hobby". Automate stuff while also being notified of anything going on that shouldn't be.

Cheers

7 Likes

This app is exactly what I needed. On minor issue that I haven't solved - I have some announcements at rather loud volumes, and I can set the volume using the built-in Notifications app. The announcements from this app are not setable, and sometimes it gets announced at a very loud volume. Is it possible to add a volume setting on the announcements?

Seems easy enough! Just released an update:

Version 3.0.1:

  • Added optional volume preference for "Speak" command under "Advanced Options"

(100% untested, BTW, but seems simple enough...let me know if there are problems :smiley: )

@bertabcd1234 Thanks, Robert. I'll check it over the next few days and see if the level stays correct. You really need to get a beer fund going.

I'm feeling blind, I don't see the new option?

Should be under “Advanced Options” (maybe it would make more sense to put up by the speech device...).

disregard, I had the original beta installed child app that you sent me long ago and it was interfering with the release code. All Good now!

Agreed!

1 Like

@bertabcd1234

Robert, looks like some debugging is logging even with the option disabled?


Try just hitting "Done" to save the settings again (or perhaps enabling and re-disabling the setting). I have an idea of what might be causing that, and this would be a workaround if so.

1 Like

Going in to each of the child apps enabling/disabling logging has resolved the debug logging ignoring the setting

EDIT: my apps are no longer showing debug logging after your suggestion, thanks.