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


#1

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?


#2

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.


#3

Another alternativa to mycroft....


#4

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.


#5

Just ran across this demo using Snips


#6

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

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?