Almond & Ada: privacy-focused voice assistant

If you need some support implementation-wise or only for testing, I’ve already worked on HA integrations for snips (e.g. GitHub - patrickjane/snipslightsha: Skills for homeassistant lights to use with snips voice assistant (german)), so I would be glad to help.

Since snips console is shutting down, I’ll probably move to some other solution, and my first try is going to be rhasspy. At some point, I’ll probably also port my other snips skills.

BTW: Is there some sort of skill-server already for rhasspy?

@masterkenobi This is actually why I stopped using Telegram… there’s no configuration in Telegram to make a bot “private”, as soon as you make the bot, it’s publicly available for anyone to use. You have to add in the “authentication logic” into your bot’s code, which basically involves making a check against a “white list” of user IDs before executing commands from Telegram. I didn’t want to deal with the overhead/concern of possibly compromising my entire home automation service if I messed it up at some point (or if Telegram changed something about their service), so I abandoned Telegram.

Obviously the odds of someone stumbling upon your specific Telegram bot and knowing the correct commands to activate your home automation is probably pretty small, but I really didn’t like how Telegram makes every bot public automatically, it just felt like I was forcing their tool to do something it wasn’t meant to do, which felt like shaky ground for me.

I wound up using Slack as my communication platform of choice, since privacy/security are baked into the service there (and I can even control specific people’s access to specific channels), and it even allows me to have some simple “cloud based logging” by having the bot write certain events to specific channels so I can easily review what’s happening at my house without having to open up ports or anything. Of course, I’m not sure if Slack has the same level of integration with the Almond components yet or not, haven’t dug into Almond much.

I am also getting error message on telegram_bot_conversation loading.

Component error: telegram_bot_conversation - cannot import name 'process' from 'homeassistant.components.conversation' (/usr/src/homeassistant/homeassistant/components/conversation/__init__.py).

Hass.io version 0.103.3

Hope someone look into this

Looking at this commit: (https://github.com/home-assistant/home-assistant/commit/c76f768a823f659f78be0cd58b26ffe008736068#diff-8eb3b929d6f5af4c3a2f52236df0948f)
I fixed it by changing the code to:

# Create as custom_components/telegram_bot_conversation/__init__.py
# Requires telegram_bot to be set up. 
from homeassistant import core
from homeassistant.core import Context
from homeassistant.components.telegram_bot import (
    EVENT_TELEGRAM_TEXT,
    ATTR_TEXT,
    SERVICE_SEND_MESSAGE,
    DOMAIN as TELEGRAM_DOMAIN,
    ATTR_MESSAGE,
    ATTR_TARGET,
    ATTR_USER_ID,
    ATTR_CHAT_ID,
)
from homeassistant.components.conversation import _async_converse

DOMAIN = "telegram_bot_conversation"


async def async_setup(hass: core.HomeAssistant, config: dict) -> bool:
    async def text_events(event: core.Event):
        # Only deal with private chats.
        if event.data[ATTR_CHAT_ID] != event.data[ATTR_USER_ID]:
            return

        response = await _async_converse(hass, event.data[ATTR_TEXT], "telegram-bot", Context())

        await hass.services.async_call(
            TELEGRAM_DOMAIN,
            SERVICE_SEND_MESSAGE,
            {
                ATTR_MESSAGE: response.speech["plain"]["speech"],
                ATTR_TARGET: event.data[ATTR_USER_ID],
            },
        )

    hass.bus.async_listen(EVENT_TELEGRAM_TEXT, text_events)
    return True

Thank you!

That works, thank you

Regarding telegram_bot_conversation, i am still having issues with getting it to work.
Using the newest version that @daenny posted, but still not working.
Looking through HA logs i see the component being initialized and started, but nothing more.

Btw, i added the init.py file and domain.json + add
"telegram_bot_conversation: "
to configuration.yaml
Am i missing a step?
Do i need HeyAda installed, or just Almond?

This is awesome! Has anyone seen anything about using an existing Echo Dot for the speaker and microphone tech and hooking Ada up to it? The tech in the echo dot is great, just the software we don’t like. :wink:

So I’m very interested in going down this route, but I host my HA on a VM in my homelab closet. I’d like to use wifi speakers or standalone Ada devices that I can place remotely in the kitchen, living room, etc… Any thoughts on remote distributed deployment of these features with other devices? Would love to have a wifi speaker feed my Home Assistant/ada/Almond deployment.

1 Like

I’m just wondering where the repo for the forum is?


I’ve submitted multiple submissions, and I’m wondering whether anyone is actually going to help train Almond.

Did you find a solution, I get the same

I don’t use Almond,for TTS I am using Alexa media player from HACS.

Almond is not a text to speech thing. It is a thing that turns words into actions, and executes them.

Yes revan415 you’re right! echo dot hardware is great and alexia like google are using a special echo cancellation hardware often arround xmos chips solutions! In the past I used snips it was amazing but now snips is reached by sonos. It worked fine but the only thing was the recognization words failed when the ambient sound was too hight. The best issue is to find a trick to integrate ada on axlexia or google platforms but this require to find a reverse engineering people to do that!

Is Ada / Almond still being progressed? I really hate the idea of using any of the “big Tech” companies solutions. mainly because I don’t like the idea of being “listened” to and recorded, nor do I want my movements and interests further catalogued for marking by the big tech firms. Snips worked well but is now gone. is there anything like Snips around the corner?

1 Like

Anyone can develop almond; it’s open source (I think). https://almond.stanford.edu/user/request-developer

You could look at this one:

Rhasspy looks interesting… thanks.

Looks to me Ada is no longer being actively developed/maintained.

2 Likes