Announcing MQTT/Android bridging app: Zanzito. Beta testers wanted!

A bit too difficult for me. I have letsencrypt for my pi3 with hassbian, but have no idea where the CA certificate is

letsencrypt stores it in
/etc/letsencrypt/live/youremail

and there are
cert.pem
chain.pem
fullchain.pem
privkey.pem

tried to send one with email to my phone, downloaded but there are no program to open it …

Hi Claudio, I suspect you are referring to SSL configuration for HA front-end, which is a different task.
Zanzito connects directly to the MQTT broker, not to HA, so you should configure the MQTT server too to accept encrypted connections.
Are you using the embedded MQTT server or an external mosquitto?

mmhhh how to check this?

This is my configuration, and I did install mosquitto (as per hassbian scripts) and paho

mqtt:
  broker: 192.168.1.2
  port: 1883
  client_id: home-assistant-2
  username: username
  password: password

EDIT

maybe I should use this?
https://mosquitto.org/2015/12/using-lets-encrypt-certificates-with-mosquitto/

or following the instructions of your manual?

They look equivalent, it’s different just the method for generating the certificates.
The certificate (the file) you need to copy on your Android device is the one whose name starts or contains CA (certificate authority)

Ok will try your method. How do I know if I am using mosquitto or the embedded?

EDIT I guess I am using the internal one since I use my pi3 address. Now have to see how to use SSL for it … have no clue how to

No, you are using a standalone MQTT broker: the tutorials should work well.

Now I’m playing around with the voice command. It gives me the idea of replacing my echo dot with zanzito (installed in my old android tablet).

I’m wondering is it possible to make it always listening for a wake word. Once it detects the wake word, it will wait for the command. Also, the wake word can be customised to anything such as Jarvis.

I was wondering the same, some time ago, but I couldn’t figure it out. I’ll dig deeper :wink:

1 Like

How about multiple voice commands for a single activity? For example saying “turn on lights” or “switch on lights” will trigger the same activity.

Also a widget on the home screen would be great. I can just tap on the widget icon for zanzito to start listening to my voice command.

Hi, multiple voice commands: it should be doable, although the whole process is managed by google, but I’ll have a look.

I thought about the widget, but have you tried the notification button? If you configure your system properly, it is available even when the screen is locked. What do you think?

Where is the notification button? How to configure it?

It’s in the Zanzito’s main notification, in the drop down Android menu…
Sometimes notification buttons are not visible (especially if there are other notifications): you can drag down Zanzito’s notification with two fingers and the buttons will appear: Voice command, Save location and Take photo.

ah… ok. two fingers show the buttons. but i feel it still too many steps to reach the mic. i have to…

  1. Wake up phone
  2. unlock the phone
  3. open the notification menu
  4. two fingers to drag down the notification
  5. tap on the mic

it would be great if I can just…

  1. Wake the phone
  2. unlock the phone
  3. tap on the mic

It would be greater if I can just…

  1. Wake the phone
  2. Tap on the mic

But of course the best if I can… Straight away speak without touch on anything

tasker+autovoice

i have tried that. doesn’t work reliably IMHO. So far Zanzito is the best solution I have came across. Communication between HA and my phone works the best via MQTT. It is fast and reliable. I just created a bunch of activities to turn on/off my switches in Zanzito way faster than in tasker. IMHO only thing missing is the always listen feature.

I use HTTP shortcut, is very fast

Valid points.
What I advice is to allow Zanzito to show the full content of notifications on the locked screen, it’s a system preference not zanzito’s. Then you’d just have to wake your phone. Depending on Android’s version, device brand and the presence of other notifications, zanzito’s notification might already be expanded, so you’d just have to press the mic button, without unlocking the phone. It’s not perfect from the p.o.v. of security, but it’s handy.
If zanzito’s notification is compressed, you’d have to two finger swipe down and then press the mic.

I explored other solutions:

  • a general hardware button combination to trigger vocal recognition, not possible because Android doesn’t allow it (you’d have to recompile the whole OS and flash your own ROM, that’s how some manufactures do it)
  • A widget (as you asked) is possible and it’s on my todo list. It requires some coding though, I don’t know how soon I will implement it.
  • We could use Google general voice recognition capabilities, so you could say something like “Ok Google, Zanzito, switch porch lights on”, but it would work only if the device is connected to a power source, otherwise you’d have to reach for Google app (or widget), which at the end seems more complicated. For example, look here, I might be wrong, but it doesn’t look very user friendly…
  • I could write Zanzito’s own voice recognition module, or use one of the other existing libraries, but I think it’s not worth the effort, considering all the implications… Google is there and it’s free for all Android apps, it comes with limitations, but as you said, it works…
  • There’s a vague chance to write a lock screen widget, like the meteo or the battery ones, but again Google looks very protective towards this things, with some reason: if any developer could write a widget that could easily bypass the screen lock, it wouldn’t be nice…

So, after all, I decided that a notification button would be easy enough to be reached for most uses.
A widget will come, sooner or later…

In my opinion you could you use a configurable trigger command to be always on listen. Because i.e. my Android devices that use zanzito are constantly on charge so I did enjoyed if you could put the mic in always listen for example if I would say "Zanzito, "

Just my 2 cents

Yes, that would be my next attempt, but it doesn’t look simple, we’ll see.