# "hermes/tts/say" not working - Rhasspy or Node-Red issue?

**URL:** <https://discourse.nodered.org/t/hermes-tts-say-not-working-rhasspy-or-node-red-issue/45181>\
**Category:** General\
**Created:** [4 May 2021 20:43 UTC](https://discourse.nodered.org/t/hermes-tts-say-not-working-rhasspy-or-node-red-issue/45181 "2021-05-04T20:43:24Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![MyRandomThoughts](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/myrandomthoughts/32/41085_2.png) [@MyRandomThoughts](https://discourse.nodered.org/u/MyRandomThoughts)\
**Post date:** [4 May 2021 20:43 UTC](https://discourse.nodered.org/t/hermes-tts-say-not-working-rhasspy-or-node-red-issue/45181/1 "2021-05-04T20:43:24Z")

</div>

(This was originally posted on Reddit, but got no response. I have changed my system since then, it's mostly the same)

I have a very simple (for testing) flow to testing TTS - listed below. When I trigger it in Node-Red I get the debug output but nothing is spoken. If I then copy and paste the JSON into MQTT Explorer I get the speech.

- Node-Red version: 1.3.3 (in Linux Docker)
- Rhasspy version: 2.5.10 (on Raspberry Pi 4 Docker) with reSpeaker 2 hat.
- Mosquitto version 2.10 (on Linux Docker)

`[{"id":"296dc5d5.fa270a","type":"tab","label":"TESTING","disabled":false,"info":""},{"id":"1e20a9e9.83f226","type":"inject","z":"296dc5d5.fa270a","name":"","props":[{"p":"payload"},{"p":"siteId","v":"Lounge","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"Welcome to the thunder dome","payloadType":"str","x":290,"y":220,"wires":[["c6d77012.a0042"]]},{"id":"c6d77012.a0042","type":"function","z":"296dc5d5.fa270a","name":"To TTS","func":"msg.topic = \"hermes/tts/say\";\nmsg.text = msg.payload;\n\n//msg.topic = \"hermes/dialogueManager/startSession\";\n//msg.init = {};\n//msg.init.type = \"notification\";\n//msg.init.text = msg.payload;\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":440,"y":220,"wires":[["45eed33a.ecde3c","49e733e0.e6f3bc"]]},{"id":"45eed33a.ecde3c","type":"mqtt out","z":"296dc5d5.fa270a","name":"TTS Output","topic":"","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"3fa40965.92a3d6","x":610,"y":240,"wires":[]},{"id":"49e733e0.e6f3bc","type":"debug","z":"296dc5d5.fa270a","name":"TTS Output","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":610,"y":200,"wires":[]},{"id":"3fa40965.92a3d6","type":"mqtt-broker","name":"MQTT Server","broker":"192.168.1.100","port":"1883","clientid":"","usetls":false,"protocolVersion":"4","keepalive":"10","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}]`

Can anyone help or point me to where to look? Thanks

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [5 May 2021 08:01 UTC](https://discourse.nodered.org/t/hermes-tts-say-not-working-rhasspy-or-node-red-issue/45181/2 "2021-05-05T08:01:13Z")

</div>

What do you see in `msg.payload` in the debug node and what are you entering into MQTT Explorer?

---

<div class="post-metadata">

**Author:** ![MyRandomThoughts](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/myrandomthoughts/32/41085_2.png) [@MyRandomThoughts](https://discourse.nodered.org/u/MyRandomThoughts)\
**Post date:** [5 May 2021 10:01 UTC](https://discourse.nodered.org/t/hermes-tts-say-not-working-rhasspy-or-node-red-issue/45181/3 "2021-05-05T10:01:26Z")

</div>

`msg.payload` contains just the text entered into the inject node.  
I copy/paste the entire `msg` object into MQTT explorer entering `hermes/tts/say` into the Topic field.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [5 May 2021 10:13 UTC](https://discourse.nodered.org/t/hermes-tts-say-not-working-rhasspy-or-node-red-issue/45181/4 "2021-05-05T10:13:07Z")

</div>

The MQTT node only publishes what is in msg.payload, not the whole message, you need to construct the object to be sent to mqtt inside msg.payload. So you need to set msg.payload.text and msg.payload.siteId, not msg.text and msg.siteId

Also you could have seen that was the problem by looking in MQTT Explorer to see what node-red was publishing.

---

<div class="post-metadata">

**Author:** ![MyRandomThoughts](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/myrandomthoughts/32/41085_2.png) [@MyRandomThoughts](https://discourse.nodered.org/u/MyRandomThoughts)\
**Post date:** [5 May 2021 10:18 UTC](https://discourse.nodered.org/t/hermes-tts-say-not-working-rhasspy-or-node-red-issue/45181/5 "2021-05-05T10:18:32Z")

</div>

Thank you, it's working now.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [19 May 2021 10:18 UTC](https://discourse.nodered.org/t/hermes-tts-say-not-working-rhasspy-or-node-red-issue/45181/6 "2021-05-19T10:18:34Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
