Snips - Local voice control. Any chance this will be available for HE anytime soon?

I am very very intrigued by the idea and concept behind Snips. In fact, technology like Snips, is what steered me towards the Hubitat in the first place. Local Control of my HA world.

Has anyone looked into this?

3 Likes

very intriguing ... however I thought their video was way off the mark. On one hand marketing towards someone who thought programming a remote control was difficult...then a project to make your coffee that requires taking apart the coffee maker, a 3d printer and soldering and programming. I think they need to stick to it's a tinkerers paradise rather than a solution for a techno-newb.

Another alternativa to mycroft....

I agree with you as it is an interesting product I would prefer to have Snips instead of Alexa integration at all the times when internet provider is not providing :wink:

Hubitat and Snips promote the same possibility - offline stability, would make sense to have partnership on products that extend the idea. And perfect product is for those who code allowing newbies to have a "normal" environment.

3 Likes

Just ran across this demo using Snips

1 Like

I've been using Snips with Hubitat with good results. I started with the Voice Panel app for home assistant and used node-red to relay the mqtt messages to a custom app I made to handle the intents. You'll need a mqtt server like mosquitto to connect the app to unless you setup snips on a raspberry pi which will start it's own mosquitto server.

[
    {
        "id": "90fc89c0.d66738",
        "type": "tab",
        "label": "Voice Panel",
        "disabled": false,
        "info": ""
    },
    {
        "id": "d79e1071.b074",
        "type": "mqtt in",
        "z": "90fc89c0.d66738",
        "name": "",
        "topic": "hermes/intent/#",
        "qos": "2",
        "broker": "d8154470.8a8f08",
        "x": 100,
        "y": 60,
        "wires": [
            [
                "a8d76f1c.1738a",
                "cd74c870.b61dc8"
            ]
        ]
    },
    {
        "id": "84c90695.f35588",
        "type": "mqtt out",
        "z": "90fc89c0.d66738",
        "name": "",
        "topic": "",
        "qos": "",
        "retain": "",
        "broker": "d8154470.8a8f08",
        "x": 890,
        "y": 220,
        "wires": []
    },
    {
        "id": "a8d76f1c.1738a",
        "type": "debug",
        "z": "90fc89c0.d66738",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "x": 890,
        "y": 60,
        "wires": []
    },
    {
        "id": "cd74c870.b61dc8",
        "type": "function",
        "z": "90fc89c0.d66738",
        "name": "Parse",
        "func": "if(typeof msg.payload == 'string'){\n    msg.payload = JSON.parse(msg.payload)\n}\n\nnode.log(\"Received message: \" + JSON.stringify(msg.payload))\n\nvar sessionId = msg.payload.sessionId;\nnode.log(\"Session id: \" + sessionId)\nmsg.sessionId = sessionId\n\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "x": 290,
        "y": 220,
        "wires": [
            [
                "e646569a.c59678"
            ]
        ]
    },
    {
        "id": "e646569a.c59678",
        "type": "http request",
        "z": "90fc89c0.d66738",
        "name": "",
        "method": "POST",
        "ret": "obj",
        "url": "http://192.168.2.123/apps/api/{appid}/message?access_token={token}",
        "tls": "",
        "x": 530,
        "y": 140,
        "wires": [
            [
                "a8d76f1c.1738a",
                "93453a61.aedd08"
            ]
        ]
    },
    {
        "id": "d64597fa.7296d8",
        "type": "inject",
        "z": "90fc89c0.d66738",
        "name": "",
        "topic": "",
        "payload": "{\"customData\":null,\"input\":\"turn on the kitchen lights\",\"intent\":{\"confidenceScore\":0.92189515,\"intentName\":\"hass:HassTurnOn\"},\"sessionId\":\"be343c7b-e587-438f-bb2c-39938a84dc17\",\"siteId\":\"default\",\"slots\":[{\"confidenceScore\":1,\"entity\":\"hass_entity\",\"range\":{\"end\":26,\"start\":12},\"rawValue\":\"kitchen lights\",\"slotName\":\"name\",\"value\":{\"value\":\"dining room\",\"kind\":\"CUSTOM\"}}]}",
        "payloadType": "json",
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "x": 90,
        "y": 140,
        "wires": [
            [
                "cd74c870.b61dc8"
            ]
        ]
    },
    {
        "id": "93453a61.aedd08",
        "type": "function",
        "z": "90fc89c0.d66738",
        "name": "End Session",
        "func": "msg.topic = \"hermes/dialogueManager/endSession\"\nmsg.payload = {\n    sessionId : msg.sessionId,\n    text : msg.payload.text\n}\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "x": 530,
        "y": 220,
        "wires": [
            [
                "84c90695.f35588",
                "a8d76f1c.1738a"
            ]
        ]
    },
    {
        "id": "d8154470.8a8f08",
        "type": "mqtt-broker",
        "z": "",
        "name": "pi32",
        "broker": "192.168.2.50",
        "port": "1883",
        "clientid": "",
        "usetls": false,
        "compatmode": true,
        "keepalive": "60",
        "cleansession": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": "",
        "closeTopic": "",
        "closeQos": "0",
        "closePayload": "",
        "willTopic": "",
        "willQos": "0",
        "willPayload": ""
    }
]

It handles lights, setting light level, the weather (with a custom weather driver), and the time.

I later put snips on a raspberry pi and deployed my own snips apps to get it to handle routines. Quick Start Raspberry Pi - Snips Dev Center

7 Likes

I am very interested in doing this. I take it this can't connect directly to Hubitat yet? I don't have any coding experience would this be something that a determined novice could get up and running?

3 Likes

I have a bunch of parts I had planned on using to make a snips setup, but just haven't gotten around to it. Hopefully this isn't the death of the open assistant portion of the project.

Having been a long time Sonos customer and watching them grow up, I think you should expect that Sonos will take this all internal and not continue to support the hobbyist markets. Certainly looks like a move to hedge its bets against the rising tide of home privacy by the big tech guys.

1 Like

I'm really hoping that I can get something set up on a raspberry pi before Sonos gets rid of everything. I had such high hopes for snips. I really just want some sort of integration between hubitat and a voice assistant that isn't google lr or Amazon.

Good call. Off course, that's exactly what's happened.

2 Likes