AutHomation Info

I am new to programming with Java and for the Android platform. I am not new to programming as I know other languages. I use to be an iphone user and switched to the android platform for many reasons. One of the things that I missed was a good Vera app for Android. There is homebuddy (I use and donated to the developer), but wanted something more. This is how AutHomation started.

The project started in the beginning of the year and I stopped working on it a month or so after for time reasons. A few months ago, I had some more time and started working on the project again. It first started off for the phone and than forked over for the Honeycomb tablet (bought an Asus Transformer in the summer). I made some huge progress and finally had a working version for Honeycomb tablets only.

Recently I got a few request asking if it will be ported to Android 2.3 and older. There was one problem with that. Many of the development api’s I am using for the tablet version was not available for the older versions of Android. I have been trying to conform to Google’s standards with developing for the tablets. Google did release a package that would allow for both platforms to work together. So I decided to see what I can do to port it over.

I spent the last week taking the tablet code and getting it to run on Android 2.3 and older. At first I wanted to make just one app. When getting deeper into the code and making changes to make it work on 2.3 and older, I lost features and functionality on the tablet side. That is something I did not want to do. So I decided to have two versions. It would require more time to maintain, but I felt it was for the best.

At the end of the weekend, I finally had a functional (with bugs, etc) version working on Android 2.3 and older. I have it working pretty well on my HTC Evo and also on a Android 2.3 emulator. All in all, I now have a version of my application for all versions of Android (well tested on Android 2.1 and newer). So what is AutHomation about?

I want to try and keep a simple interface and have the ability to have the controls in front of me when needed. I am trying to keep to the KISS method (Keep It Simple Stupid). There is still a lot of work that needs to be done. Right now as of 2011/10/04, I am still trying to get the Android 2.3 and older version (phone version) up to par with the Honeycomb Tablet version.

Here are some FAQ:

What can it do?

AutHomation can control both scenes and devices. It has controls for most devices (still adding support) and displays information about each device and scene. There is a Favorites section (devices supported only for now).

What version of Android is supported?

The tablet version (AutHomationHD) requires Honeycomb or newer.

The phone version (AutHomation) should work on Android 2.3 and older (Only tested down to 2.1).

When will it be released?

That is still unknown. But if you are interested in giving it a try, just shoot me a pm.

How much will it cost?

I believe in open source and free software. For right now, I am going to provide the app for free. Hopefully in the future, I’ll make it open source.

Any screen shots?

Android 2.3 and older (Phone version)

https://www.wuala.com/garrettwp/Photos/AutHomation/?key=pqXf8a3UT0xa

Honeycomb and newer version (Tablet version)

https://www.wuala.com/garrettwp/Photos/AutHomationHD/?key=xo0oZz1tDkEJ (need to update screen shots)

Current state of AutHomation

There is a lot to do and I need to work out all of the bugs that I find. There is a list of features that I need to still include. And many UI adjustments. This project has been a huge learning curve and I have a lot more to learn. It takes a good chunk of time and that is something that is limited. I will try update the state of the project as much as I can.

I will add more to this post over time. I will add a feature list when most of the code is implemented. I am sure there is a lot more to post. If there are any questions, suggestions, feature requests, etc let me know.

  • Garrett

Here is a link to the current release for both the tablet version and phone version:

https://www.wuala.com/garrettwp/Android/AutHomation/Releases/?key=LdQaEWPoonM4

AutHomation.apk = Android 2.3 and older

AutHomationHD.apk = Honeycomb Tablets and newer

The above link will contain an update to date release. I’ll post when I issue new releases. Just a word of caution. This is considered beta quality. There will be bugs and cosmetic issues. USE AT YOUR OWN RISK. I will not be held responsible for any damage this software may cause. Now that is out of the way. If you have any issues, let me know. Feedback is always welcome as well. I am up for all suggestions. Enjoy

  • Garrett

Nice work!

Great to see more Android devs in here. I’m looking forward to giving this a spin. The favorites option will be useful.
I would like to see widgets for select devices so we can run straight from the home screen, or another Tasker plugin.

Oh yea, Firsties!

Sent from my SPH-D710 using Tapatalk

I would like to give it a try on Samsung Galaxy tab 10.1 but I cannot find a link/button to pm you.

I have an Android Tablet running 2.3 - would love to give this a try.

I have provided a link to the releases for both the tablet version and phone version in it’s current state. Just a reminder:

AutHomation.apk = Android 2.3 and older (Phone version)

AutHomationHD.apk = Honeycomb and newer (Tablet version)

Enjoy

  • Garrett

Cannot get AutHomationHD.apk to install on Samsung Galaxy Tab running Android 3.1. Get message “There is a problem parsing the package”

Let me investigate and I’ll upload a new package.

Thanks for the heads up.

  • Garrett

UPDATE:

I found the issue for not installing and corrected a few glitches for running on Honeycomb 3.1. I uploaded the new package for AutHomationHD. I also uploaded a new AutHomation package for Android 2.3 and older.

Some changes in both versions:

  • Added support for turning security devices (motion sensors, door, and window sensors) in armed or bypass state.

  • Updated some icons e.g. security sensor toggle buttons.

  • Enabled fast scrolling if the list has many items. When scrolling, you’ll see a larger scroll button.

For AutHomationHD:

  • Fixed issues for not running on Honeycomb 3.1.
  • Updated the progress circle when refreshing to run on top of the refresh button when it getting data or sending commands.
  • Added icons for high density displays (future proofing).

That installs ok now, thanks. I only have Everspring on/off switches, Foscam cameras & Everspring Temperature/Humidity sensor but everything seems to work correctly.

Nice to have a bit more screen space. I like the sliding on/off as it does not seem to get switched by accident. As a left hander my suggestion/request would be for a handed option to put everything to the right leaving the blank area for scrolling on the left.

[quote=“pncarrerars, post:8, topic:169295”]That installs ok now, thanks. I only have Everspring on/off switches, Foscam cameras & Everspring Temperature/Humidity sensor. Everything seems to work correctly except humidity reading which shows “?”. The Google weather plugin humidity does display correctly.

Nice to have a bit more screen space. I like the sliding on/off as it does not seem to get switched by accident. As a left hander my suggestion/request would be for a handed option to put everything to the right leaving the blank area for scrolling on the left.[/quote]

Can you provide me your lu_sdata so I can add support for the everspring? You can retrieve the lu_sdata by going to the following link:

http://ip:3480/data_request?id=lu_sdata

Where ip is the vera ip address. Before you send it off, please go through the data and carefully remove any passwords or sensitive data you might have. You can take the data and put it into a json formatter found here: http://jsonformatter.curiousconcept.com/ to have the data be easily readable. You can than send the data to authomation at garrettpower.com.

  • Garrett

I think that I need new glasses, the Everspring temperature/humidity sensor works fine. I updated my original post but you were too quick for me!

I just uploaded newer versions of the app. I realized I forgot to enable the code for changing the fan mode on the thermostats.

There is one slight bug with this. This is beyond my control. The issue is that the app will not display the state of the fan state e.g. auto or on. The issue relies in the lu_sdata. MCV forgot to add the data for the fan mode. So I have no way of knowing what state the fan is in. So you will see a “-” instead. There is good news, I just got word a few moments ago that this has been resolved in UI5. The bad news is that there is no set date on when UI5 will be available.

  • Garrett

I wanted to mention that for cameras, It only supports getting the image for now. I have not implemented the code for the controls. To have the image refresh, just tap on the image and it should retrieve the latest image.

  • Garrett

[quote=“pncarrerars, post:8, topic:169295”]That installs ok now, thanks. I only have Everspring on/off switches, Foscam cameras & Everspring Temperature/Humidity sensor but everything seems to work correctly.

Nice to have a bit more screen space. I like the sliding on/off as it does not seem to get switched by accident. As a left hander my suggestion/request would be for a handed option to put everything to the right leaving the blank area for scrolling on the left.[/quote]

I wish I could add an option for moving the scroll bar to the left side. But android does not support this. Sorry I looked all over.

  • Garrett

[quote=“garrettwp, post:13, topic:169295”]I wish I could add an option for moving the scroll bar to the left side. But android does not support this. Sorry I looked all over.

  • Garrett[/quote]

Thanks for looking.

Not sure about Android, but in the raw Java frameworks you can often trigger the Right-2-Left (BiDi) behaviors by setting Language and/or BiDi properties on the panel.

That typically flips the scrollbar for native language support of R2L languages (Arabic etc)

I’ll try and get a new build out tonight. Been busy with house work. :frowning: But I have fixed a few issues that guessed brought to my attention and added a few little features. Just trying to mess with the UI side (the most pain in the butt part of the whole app). Hopefully I can get some of the major features in soon (e.g. camera controls, etc). Also need to implement the search feature for the phone version to get it on par with the tablet version.

  • Garrett

If anyone has any issues or feedback, please let me know.

I have released a new version of AutHomation and AutHomationHD:

Changes:

Version 1.01

AutHomation:

  • Fixed the way the comments show up. It will now not push the device row down.
  • Fixed an issue with the seekbar not always showing the correct thumb icon.
  • Auto refrsh was not working when display scenes or devices from a room.
  • Added additional categories for devices.
  • Updated the libraries that the application relies on (e.g. gson, android-query)
  • A progress wheel will show when retrieving image for camera
  • Updated a few icons for hdpi devices
  • Application version number should now change with each release. *SEE NOTE

AutHomationHD:

  • Added additional categories for devices.
  • Updated the libraries that the application relies on (e.g. gson, android-query)
  • A progress wheel will show when retrieving image for camera
  • Some additional layout tweaks (mostly minor)
  • Application version number should now change with each release. *SEE NOTE

NOTE:

With each version change, after you install the app and run it, it will load the settings section.
This is to make sure that proper settings get updated.

I was hoping to get more changes in but have been busy the last few days. Please report any issues and feedback. You can get the latest release from the link posted at the end of the first post.

  • Garrett

Custom plugins don’t work very well with Non-MCV-GUIs.

I think you found a quite elegant solution to the problem by providing the device information in a separate window.

IMHO the best solution would be to parse [tt]D_.json[/tt] for the information how the device would like to present itself to the user.
But AFAIK remote clients cannot access [tt]D_
.json[/tt] …

If there is no access to the presentation definition, a Luup plugin could provide its intended GUI appearance via an UPnP variable:

variable name:
[tt]GUI_PRESENTATION[/tt]
value:
[tt],,,[;…][/tt]

Example:
futzle’s EnviR plugin would provide an UPnP variable [tt]GUI_PRESENTATION[/tt] with value
[tt]Power: ,urn:micasaverde-com:serviceId:EnergyMetering1,Watts, W[/tt]

The Non-MCV-GUI rendering engine could even render the contents of the as HTML. :slight_smile:

Any thoughts?

Yes, I know this would be an (ugly?) hack, but I never heard any news about [tt]http://forum.micasaverde.com/index.php?topic=1784.msg6450#msg6450[/tt]

… and even the end user could add the variables GUI_PRESENTATION to the plugins.

[quote=“Ap15e, post:18, topic:169295”]Custom plugins don’t work very well with Non-MCV-GUIs.

I think you found a quite elegant solution to the problem by providing the device information in a separate window.

IMHO the best solution would be to parse [tt]D_.json[/tt] for the information how the device would like to present itself to the user.
But AFAIK remote clients cannot access [tt]D_
.json[/tt] …[/quote]

It’s possible, this is what Automator.app does, and thus can render custom plug-ins. All the information is available to remote clients, it’s just a matter of figuring out how it all works with Vera now.