Zanzito - A lightweight bridge between your Android device and your MQTT/home automation system

I’m not sure if this is the right spot for feature request but anyway… Is it possible to manage bookmarks ie rename/delete? Or at least delete them? I’ve searched app and read the manual so if this is already possible apologies but I can’t find how to.

Hi, there’s just one local location bookmark you can add to Zanzito’s map and it updates whenever you manually set it. At the moment it’s not possibile to delete it.
The other markers on Zanzito’s map come from your MQTT server: you can delete them by deleting the whole device from the Admin devices list, or manually with a third party desktop MQTT client.

I hope I answered your question!

gl

1 Like

Ok thanks. I’ve had the bookmark sitting in a random location. I’ll update it to something more convenient

Is it possible for Zanzito to use the ca cert already present in Android or will I have to import the cert again just for the app? So far in my testing it seems that even though I have a cert setup in Android my Zanzito connections doesn’t work until I actually add the same cert to the app. Also is it possible to get the back button action to not prompt to exit out of the app? Thanks again for a great app, it has really opened up a world of endless possibilities for me.

Hi,

It should work even with just the system level CA, but I added the import button because on some devices it wasn’t working: maybe it’s your case.

It’s kind of annoying, isn’t it? :slight_smile:
I suppose I could move it to the menu. Added to the list…

Thank you!

gl

1 Like

Is there anyway to set the app up to have a transparent app notification icon or just show up in the notification pulldown but not show an icon? I have other background apps that show up in drawer but don’t have an icon in the top bar.

1 Like

I’m having a lot of battery drain issues both my phone (Nexus 6P) and my wife’s (Nexus 5X). I went from making it mostly through the day to charging half way through the day. I removed Zanzito and it went back to normal, which is a shame since I want to use the features.

I had it set to connect to my local MQTT server (not CloudMQTT) and to report location. I never got much further other than testing some notifications and things like that.

High precision was OFF and I was not using FIND.

I use AccuBattery and it never showed Zanzito as a battery hog, but when I removed Zanzito, my battery life went back to normal. I’m assuming this is because AccuBattery saw location as more of a system call??

Any thoughts here?

I’ll look into that…

gl

Hi,
the four main sources of energy consumption in Zanzito should be:

  1. General connectivity: due to the nature of MQTT, there’s a permanent connection open to your server that gets renewed every time it drops (for any reason);
  2. Location services (both normal & High precision, the latter being obviously higher);
  3. FIND (wifi scanning always active);
  4. Sensors (depending on the type of sensor, but in general the sole fact that they are powered clearly drains energy).

Some considerations:

  1. If the connection to your server is unstable (for any reason), energy consumption might be higher. Also, if you have a lot of reports or some report that is often updated, that might have an impact too. TLS/SSL connection might have a little impact too: I would configure the Home server without TLS, if possibile.
  2. As I said before, Zanzito relies on system location updates, so the thing is managed completely by the system. The only custom parameter is a preferred update interval that, in the case of “normal” precision, is 30 seconds. So this has definitely an impact on battery drainage, but it should be according accepted standards (that might be the reason why battery monitors don’t complain about Zanzito).
  3. This definitely drains battery. Normally WiFi scanning is automatically disabled when the device sleeps: When FIND is active, Zanzito locks the WiFi and prevents it to be put at sleep.
  4. The more frequently they update, the more energy they drain. Also, some sensor requires more power per se.

So, in your case, I would try setting up a Home server configuration without TLS for when you are home. But mainly, as long as you don’t activate any sensor, I would try setting “Instant updates” and deselect “Heartbeat”: that might drain less energy, but it really depends on how much you move around :slight_smile: Give it a try!

Also, try having a look at how much your connection to the server is dropped and re-established: it might not be your case, but I noticed that when mosquitto has a lot of persistence data, it tends to drops connections with clients. In my case, I had to disable persistence, but I have a few things that send a lot of updates.

Let me know!
gl

Thanks for the feedback. I will give your suggestions a try later this week. On business for a few days so won’t have much time right away.

1 Like

Problem solved :slight_smile:
I made an automation in Home Assistant and every time my device tracker status changes to “not_home” Home Assistant posts MQTT message and turns on Location High Precision option on my mobile phone. This way I get very precise location updates. When I get to Home or Work zones then Home Assistant posts another MQTT message and turns off Location High Precision to save battery.

There is one more thing which I’m having problems with. Zanzito looses the connection with my MQTT server every few minutes and device goes offline. It is not that big problem if it looses connection for few seconds but sometimes it stays offline for more then 5 minutes. Any ideas what maybe causing this problem?

I tried different MQTT server and it is the same so I don’t think it is the problem with server

Hey MrMep i’ve still been experiencing problems with the FIND functions not working unless my phone is awake. Still only an issue with the phones that are using custom firmware it seems like. Would having root options available give you more access to ensure that WiFi doesn’t go to sleep?

Also another thing i was curious about was the alarm functions. In the app it gives you the option to choose 1 file to play as the alarm. Is there a way to call a specific file to be played?

Just want to say, a huge fan of what this app offers and it’s TTS/Voice Command feaures have quickly become a focal point of my HA setup. The only issue I’ve come to notice is that when continuous listening is on, all videos I play on the phone (youtube, vimeo, downloaded files) are automatically muted and if the phone volume is raised Zanzito starts beeping non-stop, as if it’s receiving an incomplete voice command. Is there a way around this, or is that just part and parcel with having the voice command feature enabled?

Hi,
yeah, that’s part of the deal: that’s why the continuous voice recognition in Zanzito is experimental and will remain so until google gives more options to developers. There’s no other way I’m aware of other then continuously looping Google’s voice recognizer: I’ve tried some third party library but, understandably, they’re nowhere near Google’s efficiency.

gl

That’s the beauty of Android (unless you are a developer :smiley: ): so many flavors…

No, seriously: I’m calling a standard android method to keep the WiFi awake: it could probably be done via root terminal commands, but I think that would be clumsy, don’t you think?

at the moment this is not possibile, it would be a new feature.
The problem is that (multimedia) files on Android are not managed transparently and there’s no “absolute path” to the SD card, for example, that would work on all Android versions/devices.
Let me think about it…

gl

@IKROWNI: I use the ‘Reports’ option to play specific sound files, this is meant for custom MQTT topics.
So, when you add a subscription to your alarm topic this way, just tick the ‘Android notification’ box and with the ‘Ringtone’ button you then can select your own sound file.

I use this for custom notification sounds for my doorbell and mailbox notifications. This feature was the first request I made to MrMep during the beta test.

Loving this app! Thanks a bunch! I was thinking about the battery drain issues and how my typical day goes. Like most, I spend the day at work and then on with other things in evenings and weekends.

When I am at work, I don’t really need it reporting my location all day long, so if there was a way to send an SMS message to the Zanzito App (maybe NFC trigger, etc.) that would tell it to disconnect, then it would save battery all day by not staying connected. Then, when leaving work, you could re-connect and then it would start tracking me again.

Would that be something that is possible?

Hi,
it’s an interesting proposal. What about having a list of Wifis (SSIDs) that, when connected to them, trigger Zanzito to stop sending updates?

gl

5 Likes

If you can please provide these options
Do not update if not moved more than say 500m from previous location- like GPSLogger.
Or do not update if not moving - from accelerometer.

I could expose this parameter in the prefs: at the moment it’s 10 meters and it’s hard coded.
But this wouldn’t save much energy, and even less with accelerometer…