[RELEASE] OwnTracks for Hubitat Presence Detection

I found the HE app new entry to add geocoding api by provider.

@lpakula Awesome!

1 Like

If it's an iPhone, you just need to swipe left to remove the "old user". If it's Android, you need to force stop and restart the app to clear off those orphans.

1 Like

You don't necessarily have to, it just protects the key should it get released into the wild. I secured mine to the IP address that my home is at. Mine is static and doesn't change, which wouldn't work for most ISP's that roll your IP.

I need to play with the scaling. I was having issues that the map could grow and then push the bottom text off the screen. The way it is now, the bottom banner on the HE app exactly covers that great area on a 2x4 tile.

I'm missing something with it properly getting the actual parent screen size... Need to try a couple more things....

I installed Fully Kiosk Browser (Free) on the 10" Fire HD. I pointed it to the HE, and then when I bring up dashboards, those member tiles are displaying the same as on a PC or phone. Is that how they get viewed on yours?

Can you check the logs on those "lazy phones"? Which version of the OT mobile app is that? Play Store or the 2.4.17?

@lpakula,
Great app, just recently started using it.
Could you please advise on the error below"
App v2.4.17

Logs

2024-01-29 21:56:00.139 E MessageProcessor/onMessageDeliveryFailed/364: Message delivery failed. queueLength: 5, messageId: 1706559127232-86843d 2024-01-29 21:56:00.143 W MessageProcessor/sendAvailableMessages/270: Error sending message. Re-queueing 2024-01-29 21:56:00.163 I MessageProcessor/sendAvailableMessages/299: Waiting for 120 s before retrying 2024-01-29 21:58:10.282 E MessageProcessorEndpointHttp/sendMessage/271: HTTP Delivery failed java.net.SocketTimeoutException: timeout at okio.SocketAsyncTimeout.newTimeoutException(JvmOkio.kt:147) at okio.AsyncTimeout.access$newTimeoutException(AsyncTimeout.kt:158) at okio.AsyncTimeout$source$1.read(AsyncTimeout.kt:337) at okio.RealBufferedSource.indexOf(RealBufferedSource.kt:427) at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.kt:320) at okhttp3.internal.http1.HeadersReader.readLine(HeadersReader.kt:29) at okhttp3.internal.http1.Http1ExchangeCodec.readResponseHeaders(Http1ExchangeCodec.kt:178) at okhttp3.internal.connection.Exchange.readResponseHeaders(Exchange.kt:106) at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.kt:79) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:34) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) at org.owntracks.android.services.MessageProcessorEndpointHttp.sendMessage(MessageProcessorEndpointHttp.java:238) at org.owntracks.android.services.MessageProcessor.lambda$sendAvailableMessages$0$org-owntracks-android-services-MessageProcessor(MessageProcessor.java:252) at org.owntracks.android.services.MessageProcessor$$ExternalSyntheticLambda2.call(Unknown Source:4) at java.util.concurrent.FutureTask.run(FutureTask.java:264) at android.os.Handler.handleCallback(Handler.java:958) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:230) at android.os.Looper.loop(Looper.java:319) at android.os.HandlerThread.run(HandlerThread.java:67) Caused by: java.net.SocketException: Socket closed at java.net.SocketInputStream.read(SocketInputStream.java:188) at java.net.SocketInputStream.read(SocketInputStream.java:143) at org.conscrypt.ConscryptEngineSocket$SSLInputStream.readFromSocket(ConscryptEngineSocket.java:920) at org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:884) at org.conscrypt.ConscryptEngineSocket$SSLInputStream.readUntilDataAvailable(ConscryptEngineSocket.java:799) at org.conscrypt.ConscryptEngineSocket$SSLInputStream.read(ConscryptEngineSocket.java:772) at okio.InputStreamSource.read(JvmOkio.kt:94) at okio.AsyncTimeout$source$1.read(AsyncTimeout.kt:125) ... 26 more 2024-01-29 21:58:10.290 E MessageProcessor/onMessageDeliveryFailed/364: Message delivery failed. queueLength: 5, messageId: 1706559127232-86843d 2024-01-29 21:58:10.294 W MessageProcessor/sendAvailableMessages/270: Error sending message. Re-queueing 2024-01-29 21:58:10.305 I MessageProcessor/sendAvailableMessages/299: Waiting for 120 s before retrying 2024-01-29 21:59:07.242 I ServiceStarter$Impl/startService/16: starting service

I have (4) 10" Fire HD tablets, all with Fully Kiosk Browser (Plus) and all bring up the dashboard with text on top and bottom but no Map in the middle, clicking in he middle does nothing either. Which of the 4 URLs did you use for yours, Local, Cloud, or Legacys?

@lpakula - SSID updates appear to have cleared my issues, back to boringly perfect. [yawn] :wink:

2 Likes

Sorry?!?! :sweat_smile:

2 Likes

LOL :rofl:

It's OK, I fogive you. :zzz:

History would require the 'recorder' to get that information. When you say 'restored' you mean imported from Life 360? If that is the question, then, no, that isn't possible.

Recorder does leave all the breadcrumb trails for each location (up to 7-days). You can click any dot and get the time/location/speed/accuracy. It doesn't break it into segments like life360 did. Same... but different... :slight_smile:

Just to confirm, you pasted the host URL from the HE app into the "preferences->connection->host" field? If you did, can you paste that same link into a browser on your phone to see if it returns a bunch of text?

Just scroll to the bottom of the Owntracks app and Delete Family Members.

@lpakula
If this is a beta 14 issue it's likely to be a real issue in the 14 release for Android
Maybe supress the logs if it really doean't matter?
I get them everytime my phone checks in.

dev:21422024-01-29 16:01:12.105debugApp settting: 'App battery usage' is 'Optimized' or 'Restricted'. Please change to 'Unrestricted'

dev:21422024-01-29 16:01:12.057debugUpdating 'Location' presence for OwnTracks - DaveOT -- 0.0 km from Home, Battery: 33%, accuracy: 100 m, Location:

I just got 14 on my S21 and I'm not getting those logs from the device.

I think you said you're on a Pixel? I do have Battery Use set as Unrestricted on my S21, not sure if the settings are different on a Pixel:

But I see no issue suppressing those log entries if they are an annoyance on other Android devices.

Yes Pixel has different wording.
I have "Allow Backgroud Usage" for battery
How can you be on the beta with a Sammy?

Not on a beta, never been on a beta w/this phone. Just got the update yesterday.

image

Where are you seeing that wording? On my Pixel 7, the Jan 5th version of Android 14, I have the same screen as @danabw

You can just toggle the "debug logging" slider on that device to suppress those. Those logs aren't meant to be enabled all the time.

Some minor tweaks to improve the member tile experience:

  • Fixed issue where unit conversion could cause error.
  • @albertsmark Fix issue where member tile would not update as expected (delayed from other attributes).
  • @dnickel Fixed issue with member tile with disabled extended attributes causing null locations.
1 Like