[solved] Intents appear twice


#1

My setup: 1 snips satellite running o RPi 0w, connected to snips running in docker container on x64. Hass.io docker container running on same server as the snips docker container. Mosquitto is running in the snips container to bridge between snips and hass.io.

Before I had the bridge working, the snips setup was working well. The snips app I had installed would understand my request, and reply appropriately. After much confusion, I finally got the MQTT bridge working. Initially, the configuration I used was bridging hermes/intent/# in both directions. This resulted in getting 4 replies for one request to the snips app. My first thought was to change the bridge configuration, so that hermes/intent/# was only bridged for “out”. That reduced the replies from snips to only 2 per request. Additionally, any intent that is handled by hass.io works just fine.

By running mosquitto_sub to see what’s going over MQTT on my snips server, I can see two identical intents when I tell snips to do something. If I connect to hass.io’s mosquitto server instead, I see the intent only once (which is why hass.io doesn’t do things twice).

I’m pretty sure I’ve simply misconfigured something, but I have no idea how to fix it. :frowning: Because of that, I’m not sure what other configuration information would be useful to include.


#2

You only need to bridge on one of the two mqtt server instances. Here is a good configuration to use on your snips MQTT instance to bridge the relevant topics back and forth.


connection snipsmqtt
address HASS_MQTT_ADDRESS:1883
#remote_username HASS_MQTT_USER
#remote_password HASS_MQTT_PASSWORD
remote_clientid snips
start_type automatic
topic hermes/dialogueManager/# in
topic hermes/asr/# in
topic hermes/hotword/# out

topic hermes/intent/# out
topic hermes/asr/# out
topic hermes/hotword/# out
topic hermes/nlu/# out

#3

There is only one bridge. That is, only the mosquitto server running in the snips container is configured to bridge. The mosquitto server running in the hass.io container has no bridge configuration.


#4

I found it. The suggestion of multiple bridges gave me a hint on where to look. It was a docker misconfiguration, with the hass.io container running mosquitto exposing port 1883 by mistake. I’ve not tried to think it through all the way, to determine why/how that was causing the problem, but since that was not how I intended to configure it, I’m not too concerned for now.