Wanted - Beta Testers for new iOS Dashboard & Control App

Hello Friends,
I've been working for the past several months on an Apple iOS app to act as a dashboard for both Hubitat devices and Apple HomeKit devices. The name of the app is HomeStat. I and a few family members have been using it for several months. The WAF for home automation was quickly and positively impacted while using HomeStat.

Would you be interested in Beta Testing HomeStat?

This is my first public app. I have been using HomeStat on 37 of my devices, which are mostly Motion Sensors, Door Contact Sensors, Virtual Switches and various Lights/Bulbs. Please let me know what works and what need improvement.

Here are a few screenshots. Better and more detailed documentation to follow.

A few quick notifications:

  • HomeStat sends log messages to a secure server. I am the only person who can see the names of the devices / groups that you associate with HomeStat, Hubitat and HomeKit. In the settings you can change the log level and cloak the device and group names sent to the log server. But it does have value in debugging and app usage to leave logging enabled.
  • I'm using a service from SwiftyBeaver for logging.
  • In the settings, you can control the amount of information sent to the log servers.
  • My long term goal is to make a few dollars from this App. Eventually, HomeStat will have a paid tier.
  • Those who are engaged beta testers, will receive free use of HomeStat for at least 1 year

HomeStat is a dashboard and device control application for your Apple HomeKit and Hubitat connected home automation devices. Assign each device to one or more Groups. Quickly visualize the status of devices from the main view. Watch the status change on devices as the real time status changes in your home. Drill down into a group for detailed status and the ability to send control commands to the devices to change brightness, color and toggle on/off. See the battery status, temperature and other attributes associated with devices. Another high WAF feature is the ability to assign an Alias to a device. A few of my devices have odd names for me. The family has given them their own names to meet their needs.

HomeStat uses the MakerAPI to poll the devices. Too many devices and too frequent polling could have a negative impact on the responsiveness of your Hubitat Hub. You can adjust the polling frequency and priority of devices. Additionally, when using HomeStat, I'm usually in it for a minute or so then I'm done, it's not yet a 24x7 dashboard.

EDIT
Originally I posted a public link here. I've reached the limit for that link.
Send me a PM with your email address and I will send a link unique to you.
I'm still need beta testers.

You will also need to download the TestFlight app from the Apple App Store. I don't yet allow this to run on an iPad.

Thanks for participating, have fun and please send feedback.
Steve Murphy

5 Likes

More documentation...

HomeStat is dependent on the Hubitat Maker API. You will need to add the Maker API app to your Hubitat Apps. In the configuration of the Maker API designate the devices that you would like to be part of HomeStat.

From the Maker API you will need the AppId, Access Token and the IP address of your Hubitat Hub.

See this link for basic documentation

1 Like

I gave your app a try.

Having some problems with getting it to get the devices. I added the token etc in Hubitat settup, this returned a list of devices when I used the local and cloud test functions. However when I go out of setup I seem to get no devices.

Some issues with app so far:

  1. When adding cloud token the input box is covered by the keyboard. This makes it a bit difficult to past the token in.
  2. If you exit the form without hitting save all is lost, maybe a confirmation dialog is needed.

Adam,
Thanks for the feedback. I will send you a PM with contact info. I would be happy to talk with you to identify my challenges.

1 - Cloud Token - I only tested on a few devices. I think I'm going to split the dialog box into smaller sections. Cloud Token is not required for use when on your own network, only for access when away from home. I also discovered a bug with the logic related to home / away access. I'm working on a fix. I do have a work-around if away access is needed.

2 - Form Exit - The logic is in place to save the settings when you exit. I'm using a newish Apple framework and it seems to be ignoring the save command. I will add logic to remind users to save.

Look for a PM.
Steve

Similar issues:

  • Cloud token: the way it should work is that the page should move above the keyboard when the keyboard is shown (even if field is at the end of the page) - I was unable to paste in the cloud toke at all on an iPhone X
  • Lag - I'm finding there is a lag of about 10 seconds or more between tapping on a light and seeing the response

Adam,
Thanks for the response.

I'm working on changes to the Cloud Token screen.

Lag
My testing usually has the device responding in less that a second. It feels immediate.

But, there are several factors to consider.

  • How many devices are you monitoring?
    • My Hubitat Hub has 87 devices. I'm only monitoring 52 of them in HomeStat.
  • Most of my devices are at the default priority of 3. Priority 3 devices are polled once every 4 cycles. That equates to 13 devices per cycle for me.
  • My Refresh interval is set at the default of 5 seconds.
  • Cycle Time
    • You can see the typical cycle time in the header.
    • The cycle time is displayed at the top of the screen next to "HomeStat",
    • Mine shows: "HomeStat. 1.8" or "HomeStat 2.023".
    • This tells us that it's taking about 2 seconds for the most recent polling cycles.
    • You don't want your cycle time to be greater than the refresh interval.

So...

  • How many devices are included in your API that is used by HomeStat?
  • What is your cycle time as shown in the top of the screen?
  • What is your refresh interval?
    • The default is 5 seconds
  • Have you changed the priority of many devices to something less that 3?

As you are running a beta app through TestFlight you can press the power and volume up button at the same time to take a screenshot. You can then send it to me via test flight. You can also post it here if you wish.

The refresh process changes when you are in a group screen. When in a group screen, HomeStat will only poll those devices in that list. This usually will shorten the overall cycle time.

Here is some more info about priority.

  • Priority 1 devices are polled every cycle
  • Priority 2 devices are polled every other cycle
    • Half are polled on the odd cycle, the other half are polled on the even cycle
  • Priority 3 devices are polled every 4th cycle
    • A quarter of the devices on cycle 1, then cycle 2, then cycle 3, then cycle 4.
  • Priority 4 devices are polled every 8th cycle
    • a eighth of the devices on cycle 1, yada, yada, yada
  • Priority 5 devices are polled every 12th cycle
    • was every 16th cycle
  • Priority 6 devices are polled every 16th cycle
    • was every 32nd cycle
  • Priority 7 devices are polled every 20th cycle
    • was every 64th cycle
    • These priority changes will be in the next release (hopefully this weekend)

More thoughts...

  • I would leave most devices at priority 3
  • Low use doors / windows to a 4
  • Exterior lights and environment sensors to a 4 or 5.

Please provide more info. This dialog is helpful!

Steve

All,
My Apple TestFlight portal shows 10 anonymous beta testers. It shows that most of those have provided some feedback. Unfortunately, The portal is not showing me any of that feedback.

Please send me feedback here in this thread or as a PM. From a PM, I'm happy to provide a cell phone contact or email address if you prefer.

Thank you much for your participation!
Steve

A new minor release has been submitted and available for testing.
2020.1.03

View Hubitat Settings

  • Added Scrolling so that Cloud Token Id is visible
  • Changed Save Logic to reduce need for Save Button

Device Refresh Priority

  • Reduced the cycles needed between reads for the following priorities:
    • Pri 7 from 64 to 20
    • Pri 6 from 32 to 16
    • Pri 5 from 16 to 12

Settings View

  • Added View to show the symbols used for various attributes
  • Reduced the hard coded strings for attributes

General

  • Refactor ReadOneDevice Logic
  • Consolidate Logging
  • Fixed a problem icon in DarkMode

Please test and post your observations.
Please describe one item to be enhanced.

Thanks
Steve

I was only testing this so only shared 13 devices from the hub

it was showing between 10 and 14 sec cycle time in the header. I haven't yet played around with overriding the cycle time.. but I'm not sure that that is something the user should have to do unless absolutely necessary in very specific circumstance.. for this to be a user friendly app, it needs to simply work without the user having to set this up for each device.

Anyway - I think it's a great start.. and I'll keep trying it out every now and again and see how it progresses - so best of luck

1 Like

Adam,
You are correct on many fronts. 10 to 14 seconds is way too long. For 13 devices your cycle time in the header should be about 1 second. Let me think about debug options.

Additionally, you are also correct about typical users should not have to tweak the settings. I know many people in this community have LOTS of devices and like to fine tune their setups. But in general, most users should not have to modify priority or refresh interval.

Thanks for testing
Steve

Hello All,
Looking at logs this morning, I can see that someone was experiencing cycle times of 15 to 20 seconds. That's unusually high. The time was between 5 and 8 am CDT. If you send me a PM, I will assist with troubleshooting.

Anyone else with questions or troubles, please post here or send me a PM.

Steve

Group,
Thanks for the testing. I took down the original link from the first post. I'm still in need of beta testers, but would prefer to assign them individually.

Please send me a PM and I will send you an invite.

Thanks for your participation.
Steve

A post was split to a new topic: How to send a Private Message

Hello all,
A new release of HomeStat is available for testing.
I submitted v. 2020.01.07 to TestFlight earlier today.

Change Log

  • Fixed bug related to adding groups

  • Schlage Door Lock should be recognized for HomeKit, may also work for other Locks and Hubitat.

  • Windows contact sensors work like Door Sensors

  • Fixed MixedType Groups to show more icons

  • Compressed space between icons

  • Added percent humidity for group type humidity

Please evaluate and let me know what you like and don't like. When you get something nice, please post it in the Hubitat Community.

If something is not working right, you can post a screenshot in TestFlight, in this thread or send me a PM.

Thanks for testing
Steve

Steve has a great app here. I have started using his app and am happy thus far.

Here are some things I see.

HomeKit & Hubitat devices need to be linked. This would prevent the duplication of devices. Can’t delete them from one or the other systems for them we can’t use those apps.

Linking them would fix this. However this might be hard.

As recommended I could change the names but this is just a bandaid.

Attached is an example of the issue.

Notice the recycle times. I don’t know if this is because of HomeStat app of just how much faster HomeKit is over Hubitat.

I could just delete them from one or the others system. HomeKit or hubitat however I can’t see or control them there if I do that.

I have a ton of rules in hubitat that make my house work. This is why linking them is the best option. I have 283 devices in Home stat. But only 1/2 that in each system. Hubitat will allow much more types of devices that HomeKit.

Erik,
Thanks for the reply. I realize I have quite a bit of work before this is ready for a general release, and need this feedback to identify "opportunities for improvement."

I'm working on a solution, but not sure what direction the app will take to solve this problem.

HomeKit and Hubitat are quite different. My iPhone seems to always know the status of its HomeKit devices. I don't have to query a hub. For Hubitat I query the hub and wait for a reply. I have 48 devices that are allowed to communicate via the API. It typically reads these in ~5.2 seconds. HomeKit reads are instant, no hub to query. I'm trying to balance the frequency of read requests to Hubitat with hub responsiveness. I don't want to degrade the performance of Hubitat.

Additionally, HK pushes changes to me when the device status changes. I know that the new API has this functionality, but I've not explored that path yet.

Thanks for the info. Keep the feedback coming

Steve

Hey all,
One of our beta testers found an issue with devices in a group. As you know you can reorder them. But it turns out that the data is not saved to your database. Additionally, in some cases devices are duplicated within the group.

I'm working on a resolution and expect to issue a new release later this week.

Thanks for testing.
Steve

Steve hope your week has been good. Are you making any progress with your wishlist of tasks for your app? If your like me work and family keeps you from making any headway thru the week. Hope your successful and oh by the way everytime I use your app it is working as you would expect and I am happy with it. I love it when out of the house too for it allows me to quickly press a button to turn on of odd a scene.

Keep up the good work.

Eric,
Thanks for the encouraging words.

I am making progress. My goal was to submit a new build to Apple on Thursday evening and release it on Friday afternoon / evening.

But... I've got stuck in a few rabbit holes this week. I've made a few improvements, but still working to get device reordering to work as desired. I will let you all know when I sent it to Apple.

Thanks
Steve

2 Likes

What happened?