Ariela - Home Assistant Android Client

This is exactly what I would like to achieve.

Great. You will have to install GitHub - MCrissDev/HANotify: Android actionable notifications for Home Assistant and Ariela client component. And i will have to make some modifications on Ariela, but it should be possible.

Great, I already use this component.

Ok, good news so far: ariela is not using much battery.

Bad news, device tracking is not working. No new devices are detected in known_devices and the old one I was tracking is not updating.

Well, you un-installed the application, so please clear the known_devices.yaml and let Ariela register the devices again . Please let me know if it works.
Also, i am glad to hear that battery drain reduced. Thank you very much for testing.

Ok, I got the tracker going again, turning off, killing app and turning on again.

Let’s see what happens wit battery now, fingers crossed.

Great to hear that is working. Please let me know the results regarding battery Thank you.

The conclusion for today with fresh install of Ariela is that battery drain is limited, even after device tracker started working. If it continue like this it would seem something was f’ed up about the previous install. The only difference is I set update minutes and meters to default value. Previously I had it higher (thinking it would improve battery).

I really hope it will continue like this because it’s a awesome app with fast growing feature list.

Thank you very much.i am glad to hear that the battery drain is fixed.
The application will still grow and many new features will be available soon.

Also like i said before: if anyone had in mind a feature that it will like to be included in the app please let me know.

I just noticed this …

, that’s rather a lot of background data , no? That’s the last 6 days … I have notifications off , device tracker on with 30 minutes and 300m options. Ive opened the app every day , but definetely not streamed alot of video etc

That’s a lot. Do you have by any chance some widgets installed? I will post today an update that should fix a issue regarding this.

LE: Version 1.2.2.3 is posted to Play store and should be available for download in few hours
What’s new:

  • changes in the Home view of the application
  • reduce the data consumption by caching images
  • other fixes

I have a problem connecting to my HA using Ariela from a WiFi network (not my home network). Through LTE it opens HA without any problems, and through WiFi it can’t establish a connection. The log shows that Ariela is trying to connect to the local IP address, although the phone is not in the home WiFi network.

11-16 11:05:23.758 16889 16916 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
11-16 11:05:23.763 17239 20108 D HA_HassWebSocket: Request 4 successful
11-16 11:05:23.763 17239 20108 D HA_HassWebSocket: Result: []
11-16 11:05:23.763 17239 20108 D HA_HassWebSocket: Error : null
11-16 11:05:23.772 16889 16916 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
11-16 11:05:23.779 16889 17403 D HA_Utils: getObjectResultFromString: Request 4 successful
11-16 11:05:23.779 16889 17403 D HA_Utils: Result: []
11-16 11:05:23.779 16889 17403 D HA_Utils: Error : null
11-16 11:05:23.782 17239 20108 D HA_HassWebSocket: mRequests size is now = 1
11-16 11:05:23.782 17239 20108 D HA_HassWebSocket: removing mRequest with id = 4
11-16 11:05:23.782 17239 20108 E HA_HassWebSocket: handleActionsQueue: no actions to execute
11-16 11:05:23.783 17239 20108 E HA_WidgetsUpdater: updateSwitchShortcuts: null items
11-16 11:05:23.788 16889 16889 D HA_DashboardActivity: onEntitiesAvailable: called
11-16 11:05:23.788 16889 16889 D HA_DBSettings: getStringProperty: key = setting_lovelace_ui
11-16 11:05:23.789 16889 16889 D HA_DashboardActivity: isLovelace = true
11-16 11:05:23.789 16889 16889 E HA_DashboardActivity: updateEntities: entities already created
11-16 11:05:23.789 16889 16916 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
11-16 11:05:24.161 16889 16916 I chatty  : uid=10051(com.surodev.ariela) RenderThread identical 21 lines
11-16 11:05:24.181 16889 16916 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
11-16 11:05:24.723 16889 16916 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
11-16 11:05:24.760 16889 16916 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
11-16 11:05:24.824 16889 16916 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
11-16 11:05:24.909 16889 16916 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
11-16 11:05:24.927 16889 16916 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
11-16 11:05:25.142 16889 16916 I chatty  : uid=10051(com.surodev.ariela) RenderThread identical 4 lines
11-16 11:05:25.158 16889 16916 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
11-16 11:05:25.175 16889 16916 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
11-16 11:05:25.378 16889 16916 I chatty  : uid=10051(com.surodev.ariela) RenderThread identical 12 lines
11-16 11:05:25.395 16889 16916 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
11-16 11:05:26.312 16889 16916 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
11-16 11:05:27.254 16889 17403 D DecorView: onWindowFocusChangedFromViewRoot hasFocus: true, DecorView@6424[DashboardActivity]
11-16 11:05:30.939 17239 17239 D HA_HassWebSocket: ConnectionReceiver intent = Intent { act=android.net.wifi.STATE_CHANGE flg=0x4000010 (has extras) }
11-16 11:05:30.940 17239 17239 D HA_HassWebSocket: onReceive: current wifi name = 
11-16 11:05:30.985 17239 17239 D HA_HassWebSocket: ConnectionReceiver intent = Intent { act=android.net.wifi.STATE_CHANGE flg=0x4000010 (has extras) }
11-16 11:05:30.985 17239 17239 D HA_HassWebSocket: onReceive: current wifi name = 
11-16 11:05:31.001 17239 17239 D HA_HassWebSocket: ConnectionReceiver intent = Intent { act=android.net.wifi.STATE_CHANGE flg=0x4000010 (has extras) }
11-16 11:05:31.001 17239 17239 D HA_HassWebSocket: onReceive: current wifi name = 
11-16 11:05:31.005 17239 17239 D HA_HassWebSocket: ConnectionReceiver intent = Intent { act=android.net.wifi.STATE_CHANGE flg=0x4000010 (has extras) }
11-16 11:05:31.005 17239 17239 D HA_HassWebSocket: onReceive: current wifi name = 
11-16 11:05:31.010 17239 17239 D HA_HassWebSocket: ConnectionReceiver intent = Intent { act=android.net.wifi.STATE_CHANGE flg=0x4000010 (has extras) }
11-16 11:05:31.010 17239 17239 D HA_HassWebSocket: onReceive: current wifi name = 
11-16 11:05:31.359 17239 17239 D HA_HassWebSocket: ConnectionReceiver intent = Intent { act=android.net.wifi.STATE_CHANGE flg=0x4000010 (has extras) }
11-16 11:05:31.359 17239 17239 D HA_HassWebSocket: onReceive: current wifi name = 
11-16 11:05:31.380 17239 17239 D HA_HassWebSocket: ConnectionReceiver intent = Intent { act=android.net.wifi.STATE_CHANGE flg=0x4000010 (has extras) }
11-16 11:05:31.380 17239 17239 D HA_HassWebSocket: onReceive: current wifi name = 
11-16 11:05:31.405 17239 17239 D HA_HassWebSocket: ConnectionReceiver intent = Intent { act=android.net.wifi.STATE_CHANGE flg=0x4000010 (has extras) }
11-16 11:05:31.406 17239 17239 D HA_HassWebSocket: onReceive: current wifi name = 
11-16 11:05:31.656 17239 20108 E HA_HassWebSocket: Error from onFailure()
11-16 11:05:31.656 17239 20108 E HA_HassWebSocket: javax.net.ssl.SSLException: Read error: ssl=0x7d1a242988: I/O error during system call, Software caused connection abort
11-16 11:05:31.656 17239 20108 E HA_HassWebSocket: 	at com.android.org.conscrypt.NativeCrypto.SSL_read(Native Method)
11-16 11:05:31.656 17239 20108 E HA_HassWebSocket: 	at com.android.org.conscrypt.NativeSsl.read(NativeSsl.java:399)
11-16 11:05:31.656 17239 20108 E HA_HassWebSocket: 	at com.android.org.conscrypt.ConscryptFileDescriptorSocket$SSLInputStream.read(ConscryptFileDescriptorSocket.java:546)
11-16 11:05:31.656 17239 20108 E HA_HassWebSocket: 	at okio.Okio$2.read(Okio.java:140)
11-16 11:05:31.656 17239 20108 E HA_HassWebSocket: 	at okio.AsyncTimeout$2.read(AsyncTimeout.java:237)
11-16 11:05:31.656 17239 20108 E HA_HassWebSocket: 	at okio.RealBufferedSource.request(RealBufferedSource.java:68)
11-16 11:05:31.656 17239 20108 E HA_HassWebSocket: 	at okio.RealBufferedSource.require(RealBufferedSource.java:61)
11-16 11:05:31.656 17239 20108 E HA_HassWebSocket: 	at okio.RealBufferedSource.readByte(RealBufferedSource.java:74)
11-16 11:05:31.656 17239 20108 E HA_HassWebSocket: 	at okhttp3.internal.ws.WebSocketReader.readHeader(WebSocketReader.java:117)
11-16 11:05:31.656 17239 20108 E HA_HassWebSocket: 	at okhttp3.internal.ws.WebSocketReader.processNextFrame(WebSocketReader.java:101)
11-16 11:05:31.656 17239 20108 E HA_HassWebSocket: 	at okhttp3.internal.ws.RealWebSocket.loopReader(RealWebSocket.java:273)
11-16 11:05:31.656 17239 20108 E HA_HassWebSocket: 	at okhttp3.internal.ws.RealWebSocket$2.onResponse(RealWebSocket.java:213)
11-16 11:05:31.656 17239 20108 E HA_HassWebSocket: 	at okhttp3.RealCall$AsyncCall.execute(RealCall.java:153)
11-16 11:05:31.656 17239 20108 E HA_HassWebSocket: 	at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
11-16 11:05:31.656 17239 20108 E HA_HassWebSocket: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
11-16 11:05:31.656 17239 20108 E HA_HassWebSocket: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
11-16 11:05:31.656 17239 20108 E HA_HassWebSocket: 	at java.lang.Thread.run(Thread.java:764)
11-16 11:05:31.656 17239 20108 D HA_HassWebSocket: disconnect: called
11-16 11:05:31.656 17239 20108 D HA_AutoReconnectionModule: onWebsocketDisconnected: called
11-16 11:05:31.662 16889 17403 D HA_ServiceClient: onWebsocketDisconnected
11-16 11:05:31.679 16889 16889 D HA_DashboardActivity: onWebsocketDisconnected
11-16 11:05:31.743 16889 17417 W DpmTcmClient: read failed bytes countRead: -1
11-16 11:05:31.746 16889 16889 E libc    : Access denied finding property "vendor.perf.iop_v3.enable"
11-16 11:05:31.746 16889 16889 E libc    : Access denied finding property "vendor.perf.iop_v3.enable.debug"
11-16 11:05:31.770 16889 16916 I OpenGLRenderer: Initialized EGL, version 1.4
11-16 11:05:31.770 16889 16916 D OpenGLRenderer: Swap behavior 2
11-16 11:05:31.780 16889 16916 E libc    : Access denied finding property "vendor.debug.egl.changepixelformat"
11-16 11:05:31.793 16889 16916 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
11-16 11:05:33.156 16889 16889 D HA_DBSettings: getStringProperty: key = settings_webui
11-16 11:05:33.156 16889 16889 D HA_DBSettings: getStringProperty: key = setting_lovelace_ui
11-16 11:05:33.173 16889 20435 D DecorView: onWindowFocusChangedFromViewRoot hasFocus: true, DecorView@6424[DashboardActivity]
11-16 11:05:33.177 16889 16916 E libc    : Access denied finding property "vendor.debug.egl.changepixelformat"
11-16 11:05:33.191 16889 16916 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
11-16 11:05:34.556 17239 17254 D HA_HassWebSocket: connectServer: called
11-16 11:05:34.570 16889 16916 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
11-16 11:05:34.574 17239 17254 D HA_DBSettings: getStringProperty: key = server_wifi_network_key
11-16 11:05:34.575 17239 17254 D HA_HassWebSocket: getServerURL: getExtraInfo = null sn = MY_HOME_NETWORK_SSID
11-16 11:05:34.575 17239 17254 D HA_DBSettings: getStringProperty: key = ha_server_key
11-16 11:05:34.576 17239 17254 D HA_DBSettings: getStringProperty: key = ha_server_password_key
11-16 11:05:34.576 17239 17254 D HA_DBSettings: getStringProperty: key = has_server_token_access
11-16 11:05:34.576 17239 17254 D HA_HassWebSocket: connect: ServerHome Assistant URL = http://192.168.2.20:8123/api/websocket
11-16 11:05:34.576 17239 17254 D HA_HassWebSocket: connect: server = http://192.168.2.20:8123/api/websocket password = _redacted_ token auth = true
11-16 11:05:34.577 17239 17254 D HA_HassWebSocket: disconnect: called
11-16 11:05:34.577 17239 17254 E HA_HassWebSocket: disconnect : null socket
11-16 11:05:34.598 16889 16916 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
11-16 11:05:34.601 16889 16916 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
...
11-16 11:05:49.589 17239 20441 E HA_HassWebSocket: java.net.SocketTimeoutException: failed to connect to /192.168.2.20 (port 8123) from /192.168.10.192 (port 45338) after 15000ms

Ariela thinks that phone is in my home WiFi network (it isn’t):

11-16 11:05:34.575 17239 17254 D HA_HassWebSocket: getServerURL: getExtraInfo = null sn = MY_HOME_NETWORK_SSID

and try to connect with local HA address

11-16 11:05:34.576 17239 17254 D HA_HassWebSocket: connect: server = http://192.168.2.20:8123/api/websocket password = _redacted_ token auth = true

Its by any change your phone running Android P?

Yes, OnePlus 6 with Android 9.0.

Thank you. I will add the fix for this issue on my TODO list.

1 Like

Hello all,
Version 1.2.2.4 is out.
What’s new:

  • fixed connection issue
  • small improvements

@Ionut I found next issue. Sorry :wink: App doesn’t save device name on settings. I change the name, exit settings, go to settings once against and there is old device name.

EDIT:
Name of the my phone in Ariela is Maciek [OnePlus 6]. An attempt to send this to HA causes an error in the HA log:

2018-11-16 17:53:20 ERROR (MainThread) [homeassistant.core] Error executing service <ServiceCall device_tracker.see (c:8033effeb43c4f97be693a4d15ca0a9a): dev_id=Maciek_[OnePlus_6], gps=[52.108326, 19.9405726], gps_accuracy=18, battery=42, host_name=Maciek_[OnePlus_6]>
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/core.py", line 1177, in _event_to_service_call
    await service_handler.func(service_call)
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/device_tracker/__init__.py", line 223, in async_see_service
    await tracker.async_see(**data)
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/device_tracker/__init__.py", line 289, in async_see
    dev_id = cv.slug(str(dev_id).lower())
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/config_validation.py", line 323, in slug
    raise vol.Invalid('invalid slug {} (try {})'.format(value, slg))
voluptuous.error.Invalid: invalid slug maciek_[oneplus_6] (try maciek_oneplus_6)

Thank you for reporting this. I will fix it asap

1 Like

Hi! Pro user here :smiley: Love your app!

Any chance that Notification Channels / Notification Categories is on your to-do list?

If not is there any chance I can convince you to add it :star_struck:

I really want to be able to set a notification channel in my automation to fire the push notification the same way (or similar way) that I set a tag so that I would be able to customize the notification tone on my phone based on that channel. So a notification my alarm is going off because someone kicked my door in has different notification settings (IE: will still sound when on DND mode, and has a much more distinct sound so I know not to ignore it) than my alarm being armed or a leak sensor going off.

Hello,
Push notifications are already supported via GitHub - MCrissDev/HANotify: Android actionable notifications for Home Assistant and Ariela client component. If this is not what you require, can you explain a little bit more what you want to achieve? :smiley: