Android App Beta

I have a PR with an updated theme engine. It supports more accent colors and Android Q’s dark mode. I uploaded a debug apk here: (rename to .apk and install) https://github.com/openhab/openhab-android/pull/1547#issuecomment-534714887

Known issues are:

  • Crash when opening About on Android 5
  • Section switch widgets are too high
1 Like

Rollout for 2.9.0-release is starting at 20%. Now at 50%.

3 Likes

Version 2.9.2-beta comes with an updated theme engine (3 accent color * 2 background color), support for Android’s dark mode and a new activity to write NFC tags.

1 Like

Hi mueller-ma,
really like the new theme engine approach. From my point of view it is the right way (a good start) to give the good app a more appealing look. It definitely deserves it!

This will attract more people using the app. I aggree the app should have a similar appearance as the BasicUI and/or other openHAB Ui’s (at least by default?). If I got the discussions on github right, Kai prefers more or less to stick with the traditional BasicUI coloring (blue/pink) and/or the the openHAB-orange.

But respectfully, the downside is this leads to a somewhat boring look too :wink:

So color theming is the way to fullfil user wishes while maintaining the “openHAB corporate idendity” with the standard color schemes.

Theming Improvements?
Personally, I would prefer having (#1) a kind of a color picker for the accent colors providing more than the three colors and (#2) automatically choose a darker shade of the selected color for the headline/title bar or add a picker for the header color too.
Additionally, I propose (#3) a configuration option to enable the accent color to be used for value color rendering if not “overridden” by the sitemap’s valuecolor=....

Green Example (inspired by the HABpanel matrix theme):
Accent color:
image
Dark shade of the accent color to be used in the title bar/headline
image

Example in BasicUI (with CSS injection):

Exactly, this is why we didn’t add more colors to the color picker and won’t do so :slight_smile:

Those two directly contradict themselves. One can either have a ‘branding color’ or let the user choose a color to his liking…if one does the latter, the former isn’t the case anymore.

Understood. I have to admit, that’s more/less the answer I have expected :wink:

Though: It’s a pity. The app is very good from the functional side. If the design would match more the users personal preference, it would get more recognition and more use. I guess, more people would then just put this app on their wall tablet/Android desk phone/etc. and avoid the hassle with perfecting HABpanel dashboards and simply use the generic sitemap concept.
I’d do so :+1:

Why? I think you can have both.

Aren’t there different needs? One thing is to show the relation to the openHAB project in the public. This would be needed when show-casing openHAB on presentations/conferences.
For this case you can choose one of the openHAB color schemes to show the consistence with BasicUI for example. Matching the openHAB “ci” is a must here.

Daily use is different. I do know, that I’m using openHAB. No need to have orange accent color to remind me :wink:
Here I would like to adjust the color to match those colors of my club/society/organization or simply my personal preference.

openHAB is that open. You can integrate (almost) everything you want. The beauty of it is that it can be adopted perfectly to your needs. There are no limits. That’s why we love it.

Honestly, why is coloring/theming in the openHAB-app (as well as in the BasicUI) such an issue then? Why limiting the selectable colors?

To be clear: I really like the app and will use it even if the above is not considered. I can live with that :wink:
I’m just unhappy with the predefined color sets and would appreciate more choices…

FTR: I raised an issue to ask for reconsidering the coloring policy:

In the demo sitemap there are two scene selections in the widget overview, the first provides a dropdown list of options, the second provides three buttons: TV, DINNER and READING. How is the second option that uses buttons achieved?

Is there a change to get the location info from an android phone into openhab only with the installed android app? I know the already working possibility with the binding, but my question is if it will come in future with only habdroid installed.

To have buttons next to each other use a Switch element in your sitemap. For the drop down use a Selection element. An example is shown in the documentation.

1 Like

Hahaha! Unbelievable! I’ve used OH for years and had never noticed that you could do that with a switch! I had thought that you had to use a switch for on/off items and a selection for items with multiple states.

Thank you! :slight_smile:

1 Like

Is someone using the new AlarmClock feature from the app?

I have a xiaomi phone with the xiaomi clock and the app “Wecker extrem”.

In xiaomi app there is no alarm activated and in “Wecker extrem” i have set one daily alarm.

I only get the date of the next day, but with time 00:00.

Any idea? Is this working with every clock-app on android? Is this working for someone?

It is working with every app that uses the AlarmManger api of Android. However some apps mis-use this api and thus you don’t get the correct time. Tasker is one of these apps, so the app ignores alarms set by Tasker.

Yes, it it.

I installed google alarm clock and made a new alarm at tomorrow morning 3 am.

My other alarms in the other apps are about 7am.

But still only 00:00.

I also disabled it inside openhab android app and enabled it again.

You can post your item, sitemap and rule definition for the alarm clock?

Inside Android app:
Prefix: Phone_
Item: AlarmClock

Items:

Number Phone_AlarmClock   "Alarm Clock Phone  [%d]"
DateTime Phone_AlarmClock_DT   "nächster Alarm Phone [%1$tA, %1$td.%1$tm.%1$tY %1$tT]"

Rule:

rule "Alarm Clock to DateTime"
when
    Time cron "0/5 * * * * ?" or     // only for testing
    Item Phone_AlarmClock changed
then
    logInfo("RULES", "AlarmClock - übergebener Wert: " + Phone_AlarmClock.state)
    if (Phone_AlarmClock.state != NULL) {
			if (Phone_AlarmClock.state as Number != 0) {
        			var alarmtime = new DateTime((Phone_AlarmClock.state as Number).longValue)
        			logInfo("RULES", "AlarmClock - alarmtime " +  alarmtime.toString)
				Phone_AlarmClock_DT.postUpdate(alarmtime.toString)
			}
    }
end

So i can see the data every 5 seconds in my openhab.log. When i change something inside the items-file, the value will get NULL, after editing the Item inside the android app, i get values again.

Most likely because you haven’t set up a persistence service for the alarm clock item.

It should be enough to set a new alarm.

What values do you get?

I know this, without persistence. It should show you, that it is working in general.

With new alarm i always get the time 00:00. The real alarm time is not showing in openhab.

Just to be clear: The log file has every 5 seconds the entry AlarmClock - übergebener Wert: 0?