Current Status

Hi all,

Sorry for the delay yet again in responding. I’ve been sick (again!!) for the last few days which has led to my absence from all my work on Home Assistant.

Here’s the current status of the app:

  • Apple rejected my first build because they wanted a video showing features of the app that they were unable to test. They also rejected it because they wanted more information about how iTunes file sharing is used (for custom push notification sounds). I began to research what kind of video they were specifically looking for when the following happened…
  • Since submitting to Apple a major breaking bug was found in the app which caused crashes whenever special notifications (attachments and content extensions) were used. This was due to not enabling Keychain Sharing between the primary application and the two notification extensions.
  • I also have come to realize that the UI is just an absolute mess. The reasons for this are as follows:
    • Realm, the database of choice, has a major problem in that anytime that you attempt to update a record and the update you provide doesn’t have a value set, it will be set back to its default. This manifests itself in many ways, such as state not being properly updated, as well as your location zone settings being reset. The reason it happens is because when the app opens or we receive an EventStream event I update the database by passing in the entire object. I would have to write a function that dumps the object out of the database into JSON, and then compare the database object with the inputting object and then execute an update with the difference of the two objects which is pretty complex IMHO.
    • Many expected UI functionalities are missing or broken. This is because, to be quite honest, I don’t use the app for controlling devices, I use it for location tracking and push notifications. Some of the implemented device types (components) are either half implemented (like light) or look bad (like media player).
  • I also discovered a new bug that was introduced in early January which only affects new installations of the iOS and causes instant crashes with no way to fix them, other than by disabling zeroconf manually in the code. This was introduced in this pull request. I hadn’t seen it before because I rarely test against my production Home Assistant instance as it adds a lot of unnecessary device trackers and sensors.
  • Finally, there are the well known issues with the settings screen that make the app confusing to setup, such as the weird way that I try to get you to use HTTPS, or not being able to change a password/detail without a full reinstall. The latter was implemented because I would have to clear out the entire database when changing URL because I couldn’t confirm which entities belonged to which servers.

So, quite a few problems, all of them needing to be fixed. Here is my proposal:

  1. A full rewrite of the Settings screen to fix all the weird behaviors and allow for changing the URL/password freely.
  2. Disabling of Realm for entity storage until they or I come up with a solution for the default values issues.
  3. Disabling the UI entirely, except for the Settings screen, and replacing it with a single web view which will load the existing front end so you can control your entities through that. This has a number of benefits, the biggest one being that Realm won’t be needed and most components are implemented in the existing web front end. My hope is to bring back the native UI once the problems with Realm are figured out and we have better support for the existing components we have UI for as well as adding more UIs to eventually implement all of the components. My ultimate dream is to start getting enough people to contribute to the iOS app and adding components since I don’t have all the component types and don’t always understand the use cases for all of them.
  4. Coming up with an alternate place to store the location settings since it can’t be in Realm. Most likely place will be UserDefaults.

I’ve been super busy with work recently, which has also added to the delays that you all have seen in my responses. Sadly, because my work load isn’t expected to lighten anytime soon, I am unsure when all these fixes can be completed so that I can get the app submitted to the store once again for review. I will add that the review will be much easier to pass with a missing UI, but would also say that it’s possible it will also be harder since Apple will be able to focus closer on the notifications and location features, some of which don’t always necessarily fall within previously implemented functions (like the push notification to update location or custom push notification sounds).

So we’re kinda stuck. I expect that I will be able to get the app done in the next 3-4 weeks, and will keep you all posted, but can’t firmly commit to that timeline right now. I would plan to fix issues 2, 3 and 4 first, and then number 1.

I know this isn’t what many of you wanted to hear, and trust me I didn’t want to get to this point either, but now we are here and have to deal with it. I ask you all to be patient. If you want to see where I’m at in getting things fixed up you can keep an eye on the GitHub repository which I recently open sourced in preparation for release.

Please accept my apologies for all this. I hope you can understand the situation I am in and also understand that I undertook this project as a labor of love that I can only commit free time outside of work to. Reply to this thread if you have any questions and i’ll do my best to answer them in a timely manner.

Thanks

14 Likes

Hey Robbie, thanks for all your work on this project! It is great to have people like you here, who really care about this! :blush:
Do you think it might be possible to get some more beta testers, so that more people can have a working copy of the current state on their phones?
Best regards

PS: ah sry I just found your answer:

I like the idea of just loading the web UI. Keeps it simple and loads it in the manner that many have pre-configured how they like. I’m all for this.

5 Likes

No problem Robbie! As much as many of us eagerly look forward to this exciting step of Home Assistant I’m sure everyone understands you have other commitments- like life and work!

Hope you are feeling better.

We appreciate all the work you and all the contributors put in.

Thanks for the update! Appreciate the insights into what’s going on… keep up the good work - we all love the effort your putting into the project and completely understand you have other commitments

1 Like

No apologizes needed Robbie. thanks for the update. I do like geekoftheweek idea. You will get nothing but support from us. thank you

First and foremost, thank you very much for your hard work on this app so far! It is becoming my default notification platform

Thank you very much for this update! I came here to ask one thing - hoping we can get the code open sourced. My dream has come true. The hass community is amazing - I’m sure, if you allow them, they’ll be able to take this app to where it should be. I would love to replace owntracks completely with this, or maybe an apple watch app.

Looking forward to the future

1 Like

Thanks for all your hard work. I am very happy with HA as it is. I think it is brilliant! App would be an added benefit, but not a necessity, so don’t stress or rush! Thanks again for all your hard work on this

Thanks for the update.
You are doing something for the good here, so there is no reason to apologize!

How about instead, you accept our thanks!
I support the idea of using a web view with the current UI. This makes a lot of sense, as @geekoftheweek suggested. I also really just want it for the notifications and tracking (no more OwnTracks). If one day the UI is much more awesomer than the Polymer one that would be cool, but I’d be happy with it for the foreseeable future.

4 Likes

Source Code and instructions are on Github or am I misunderstanding your question?

exactly my thoughts/opinion!

I cloned the git repo last night to build the app for my phone but I noticed that you can’t get push notifications unless you have a paid dev account.
Given this, is there any intention to add any more people to the beta?
That would be awesome - thanks!

I second this.

1 Like

Hi all,

I think the killer feature of the iOS app will be the actionable notifications. That’s just me, though, my personal opinion.

Starting out with a simple web view that embeds the current web UI seems perfectly fine, although eventually, I would definitely like to see a more native UI.

Just my two cents

BR

2 Likes

Robbie…given that the web UI is so smooth and fast (after 0.38), it may be better to re-use. The app can then only focus on notifications and location updates.

Some where @robbiet480 said, that he has reached the maximum invitations per year. (correct me if I’m wrong)

If that’s the case then thanks to Robbie for helping out so many people already, and fingers crossed to be included in the next cycle.

Agreed - scrap the UI. As a loyal beta tester, I can say that I do not even look at the UI.

Location detection and iOS notifications are absolutely essential however, now that I’m used to them! :slight_smile:
Awesome work nonetheless - keep it up, man. Thanks!

+1 on this. The location detection and notifications are the killer feature of the iOS app.

I generally use the web app to configure things anyway.

Wrapping the Web UI means you can focus on features not possible via the browser, like fingerprint login, and widgets.

2 Likes