[RELEASE] HD+ - Android Dashboard

I think every once and a while the site stops responding to the request and I try not to re-request from it too often as well. It has always recovered for me after a little time.

That said - I should probably revisit that logic so when it fails:

  1. keep displaying the previous data and not just the pollen icon
  2. retry every minute or so until it succeeds.. it will but I think it waits too long to retry after a failure today
1 Like

There's a few things in this request I'd need to understand.. one is how to get a Hubitat driver to show as a 'notification device'. That's probably just a capability but more than that is -- when the driver gets a message, how does it 'send' it to a phone?

When you use the native Hubitat app as a notification device it almost certainly uses Firebase Cloud Messaging which is how notifications are received almost instantly.

I think the best way to really do this is to also go the FCM route too. It'd probably be best served as a separate Hubitat app since speaking notifications would be a feature independent of location. Implementing FCM isn't that hard but requires an API key; I'm not sure what the limits are and if a single free key would work for everyone or not. Anyway, I'd be willing to look into it

I then have another app "MacroDroid" that I have coded to take any notifications from that app and speak them aloud

Does this app intercept notifications that are for the native Hubitat app? While that's possible - it's also a pretty big security risk for most people - not to mention would be very difficult to get an app published on Google Play with.

Thanks!

Yes, I instruct MacroDroid to read all notifications coming in for any or a specific app... then I put that text into a variable, then I send the variable to the Operating Systems TTS. All built into the MacroDroid app. It is on the Play Store and you can download it for free to try it out.

HD+ does support TTS so this MacroDroid end of it is not so an issue. It is just getting HD+ to receive and then speak out the notifications.

There is a Hubtat app I installed that bridges the Amazon Alexa with Hubitat. My Echo Dots show up as notification devices. I am able to select them as a notification device and then whatever text I send comes out on the Alexa as TTS. It has been awesome in automating my house... Leave the freezer door open?? NO problem.. the Alexa speaks up to let you know.. Anyhow I imagine if you dig into that code a little or contact the author, you might find a lot of answers.

I feel like making it easy for people to prompt their phones to talk to them would be a game changer for some people. It was for me when I figured it out. My phone even tells me when the mail arrives due to the contact sensor on my mailbox.

1 Like

Next time you can update the beta version just by going to the "About" page in the app. :+1:

I've made a lot of progress on this one and I think it could be a game-changer for HD+ as well and let me explain why..

When I first started HD+ I was really excited to be learn about the 'eventstream' interface which lets the app receive 'push' updates from the Hub when any device status changes. But, this interface is only available locally and not when you're remote.

I even opened a thread 3 years ago to figure out if there was some way to access the eventstream remotely.

An possibly better alternative though would be having the Hub notify HD+ of any device updates via FCM (Google/Firebase Push Messaging).

Anyway, there's some work to do to get everything working but in the meantime I'm going to try to implement this notification / TTS feature. Later if all goes well I'll expand it to support what I originally wanted to do with pushing out device updates and removing the need to poll MakerAPI.

3 Likes

Would this require a server being setup somewhere or can this be accomplished direct between phone and hubitat? Bummer if it adds overhead for you maintaing a server.

Having something like this working could be pretty sweet and i think open up lots of possibilities for us android users.

I look forward to what you come up with. Your app is nothing short of brilliant.

It can all be done on the Hubitat Hub -- it (FCM) is the likely same thing that the native Hubitat App (Android/iOS) does when you send a notification to it.

The difference is -- instead of just displaying the notification in the system notification bar (which is the default behavior), I'm going to let users decide how they want the notification to behave. For example, it could be spoken via TTS, displayed as a system notification or both.

6 Likes

Wow, you might single handedly solved the issue of the lack of local tts. Goodbye Echos, FU Google, up yours Sonos!

Other then my laziness, your HD+ app is the only reason I haven't switched over to Home Assistant.

4 Likes

version 1.0.2196 (beta)

  • add support for new "HD+ Notifier" Hubitat driver (TTS and more)

I created a new Hubitat device driver which supports the 'notification' and 'audioNotification' capabilities. That will make it available for use displaying text and/or Text-to-speech (TTS) messages on your device.

Here's how to install and configure this driver: https://joe-page-software.gitbook.io/hubitat-dashboard/tiles/hd+-device

Once it's configured, Hubitat already has a good document explaining how to use it to send text or TTS notifications: Notifications App | Hubitat Documentation

NOTE: This only works with Google supported devices and not with Amazon Fire devices. This is because Amazon doesn't support Firebase Cloud Messaging (FCM). Once this is all working well I'll try to also support Amazon's version of push messaging as well

8 Likes

What "Start URL" do I use with Fully Kiosk to load my dashboard?

@pantheon use:

intent:#Intent;launchFlags=0x10000000;component=com.jpage4500.hubitat/com.jpage4500.hubitat.ui.activities.MainActivity;end?kiosk=true

Importantly once you've added it; if HD+ is running, close it and let Fully launch it. Similarly if you update HD+, close it once updated and re launch it with Fully. The reason being, if you already have HD+ running when you launch Fully, you get some strange results if using the idle timers to reload the page (such as the page constantly reloading even though there's no change)

1 Like

This one seems like it's fixed - at least I didn't get the keyboard on my Fire 10" tablet (which was the only place I saw it previously). I never figured out why it was displaying -- but I'm hiding it proactively anyway

1 Like

@jpage4500 I can't seem to get tts to work on any of my android devices. The driver works just fine for displaying a text notification, but it doesn't show up as a device for audio notifications. Any thoughts?

Which driver?

So I just discovered this "HD+ Device" driver! It says it supports TTS. This may be related to the above post by @jnosa899. I am having some issues...

I followed the directions.. as far as I know, to the letter... and here are my issues.

  1. Would not hurt if the directions told us to make sure our software was up to date. (I know that is a no-brainer but I failed this test) Or maybe if the app told us there was an update?
  2. I can only get the text I send to it from the PC to show up in the icon.. but no TTS and no android notification.
  3. In the rule manager the HD+ Device only shows as a "Notification Device" but not a "TTS Device". (It also does not show up as an Audio Capable device in the "Notification" manager App.)
  4. In the directions there are no steps instructing me on how to connect the device to a specific phone.
  5. It does not show up in "Location Tracking" if I try to change the device there.

I hope this helps.

I think I see.. I'm setting the driver as an AudioNotification capability but there's also a SpeechSynthesis capability. I'll update it

I updated the "HD+ Device" driver to 1.0.1 and it should now show up in 'audio notifications' dropdown for built-in Hubitat apps like Notifications. Easiest way is to install/update via HPM.

If you're having any trouble getting notifications or TTS to work check these things:

  1. running the latest beta version of HD+ ( 1.0.2199 or greater)
  2. running the latest version of HD+ Device driver (1.0.1 or greater) on Hubitat (installed via HPM)
  3. make sure the device driver is added to MakerAPI
  4. find this device in HD+ and check "Support Notifications"
  5. look at the HD+ Device driver page and ensure both client key and server key are set (HD+ will do this for you). If either one isn't set - you might need to email me device logs along with what device you're using. It's not going to work (today) with Fire Tablets


...
image

version 1.0.2199 (beta)

ensure both client key and server key are set (HD+ will do this for you).

I also see another issue where the server key isn't getting set. I pushed out a new version of HD+ which should fix this.

It's still a work in progress but thanks for helping get the bugs ironed out!

EDIT: Nevermind.. Google rejected the update because it contained the FCM server key; I'll have to update both app and driver and will do it in the next few hours