Rhasspy with Master and Raspi zeros

IMPORTANT:

After dowloading (./download-dependencies.sh), you have to change:

1.) In “requirement.txt”:**

change networkx >= 2.2
to
networkx == 2.3
If not, V2.4 will be installed, which is not compatible

2.) in “create-venv”:

change line 276 to: (add “l armv6l”)

271-# -----------------------------------------------------------------------------
272-# Snowboy
273-# -----------------------------------------------------------------------------
274-
275-case “${CPU_ARCH}” in
276- x86_64|armv7larmv6l)

I use snowboy/jarvis.umdl with 0.6,0.6
Every client got a sitId (Enable MQTT in Settings, write siteID, Disable MQTT)

Controlled with nodered and WebSocket In-Node.
SiteID is stored to global variable (global.siteId)
At end of nodred, answer ist send to clients with WebSocket out
(one Websocket out for each client, output depends on global.siteId

Everything is perfekt.
Same performance as snips.
I will explain nodered configuration later here.

4 Likes

Did you managed to install picoTTS on the pizero ?

Have a 0WH with buster lite, install goes without error but:

pico2wave -l fr-FR -w test.wav “Bonjour”

-> illegal instruction

ok, on pi 0 WH raspbian buster lite, this works:

wget http://archive.raspberrypi.org/debian/pool/main/s/svox/libttspico-utils_1.0+git20130326-3+rpi1_armhf.deb
wget http://archive.raspberrypi.org/debian/pool/main/s/svox/libttspico0_1.0+git20130326-3+rpi1_armhf.deb
sudo apt-get install -f ./libttspico0_1.0+git20130326-3+rpi1_armhf.deb ./libttspico-utils_1.0+git20130326-3+rpi1_armhf.deb

pico2wave -l fr-FR -w test.wav "Bonjour"
aplay test.wav

:upside_down_face:

[{“id”:“1a63faa2.992aa5”,“type”:“websocket in”,“z”:“21f11887.571048”,“name”:“client_wohnzimmer”,“server”:“ff5e9bb4.86a7e8”,“client”:"",“x”:130,“y”:520,“wires”:[[“8bfe9bed.087f28”]]},{“id”:“e018a3e7.18e02”,“type”:“websocket in”,“z”:“21f11887.571048”,“name”:“client_badezimmer”,“server”:“7be5bdf3.1d85f4”,“client”:"",“x”:130,“y”:640,“wires”:[[“8bfe9bed.087f28”]]},{“id”:“8bfe9bed.087f28”,“type”:“switch”,“z”:“21f11887.571048”,“name”:“slots.room ?”,“property”:“slots.room”,“propertyType”:“msg”,“rules”:[{“t”:“null”},{“t”:“else”},{“t”:“else”}],“checkall”:“false”,“repair”:false,“outputs”:3,“x”:370,“y”:560,“wires”:[[“1069d4bd.29dcab”],[“c7b8dd14.a92c2”],[]]},{“id”:“1069d4bd.29dcab”,“type”:“change”,“z”:“21f11887.571048”,“name”:“siteId -> slots.room”,“rules”:[{“t”:“set”,“p”:“slots.room”,“pt”:“msg”,“to”:“siteId”,“tot”:“msg”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:610,“y”:520,“wires”:[[“c7b8dd14.a92c2”]]},{“id”:“c7b8dd14.a92c2”,“type”:“change”,“z”:“21f11887.571048”,“name”:“global.siteId”,“rules”:[{“t”:“set”,“p”:“siteId”,“pt”:“global”,“to”:“siteId”,“tot”:“msg”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:870,“y”:560,“wires”:[[“4eb02bff.670de4”]]},{“id”:“f6d29c2a.5d2bd”,“type”:“websocket in”,“z”:“21f11887.571048”,“name”:“client_schlafzimmer”,“server”:“7b62cbee.a065b4”,“client”:"",“x”:130,“y”:600,“wires”:[[“8bfe9bed.087f28”]]},{“id”:“ea8b4be4.94f1a8”,“type”:“websocket in”,“z”:“21f11887.571048”,“name”:“client_küche_____”,“server”:“9bfd55e8.6866b8”,“client”:"",“x”:130,“y”:560,“wires”:[[“8bfe9bed.087f28”]]},{“id”:“ff5e9bb4.86a7e8”,“type”:“websocket-listener”,“z”:"",“path”:“ws://10.2.30.1:12101/api/events/intent”,“wholemsg”:“true”},{“id”:“7be5bdf3.1d85f4”,“type”:“websocket-listener”,“z”:"",“path”:“ws://10.2.30.4:12101/api/events/intent”,“wholemsg”:“true”},{“id”:“7b62cbee.a065b4”,“type”:“websocket-listener”,“z”:"",“path”:“ws://10.2.30.3:12101/api/events/intent”,“wholemsg”:“true”},{“id”:“9bfd55e8.6866b8”,“type”:“websocket-listener”,“z”:"",“path”:“ws://10.2.30.2:12101/api/events/intent”,“wholemsg”:“true”}]

node_output

‘[{“id”:“da3c33ce.1cf8f”,“type”:“link in”,“z”:“21f11887.571048”,“name”:“to-Answer”,“links”:[“30891a19.059636”,“40d03058.321ef”,“4bddebca.073a74”,“572ea58c.5813fc”,“7292021c.0edb8c”,“93bfaa03.be2c78”,“c353ad17.3b3e”,“cb5d707f.eca”,“e260aa56.06e828”,“ec037c87.5b545”,“f3ee94cf.b530d8”,“cb4ca0f5.aa211”,“db33c7b7.6270c8”,“af2cb1e1.57b1e”,“5653bc5d.debf64”,“203eabbf.02dad4”,“9ddab69d.17d9e8”,“afe50baf.4a9498”,“ba54b4f0.819818”],“x”:175,“y”:860,“wires”:[[“5d7ba474.1791fc”]]},{“id”:“caff38fb.2ffbd8”,“type”:“comment”,“z”:“21f11887.571048”,“name”:“Antworten___”,“info”:"",“x”:110,“y”:860,“wires”:[]},{“id”:“c4f9369f.236bf8”,“type”:“comment”,“z”:“21f11887.571048”,“name”:"---------- AUSGANG ----------",“info”:"",“x”:650,“y”:740,“wires”:[]},{“id”:“ec69f81b.708e98”,“type”:“http request”,“z”:“21f11887.571048”,“name”:"-> Wohnzimmer",“method”:“POST”,“ret”:“txt”,“paytoqs”:false,“url”:“http://10.2.30.1:12101/api/text-to-speech",“tls”:"",“persist”:false,“proxy”:"",“authType”:“basic”,“x”:680,“y”:820,“wires”:[[]]},{“id”:“5d7ba474.1791fc”,“type”:“switch”,“z”:“21f11887.571048”,“name”:“global.siteId”,“property”:“siteId”,“propertyType”:“global”,“rules”:[{“t”:“eq”,“v”:“telegram”,“vt”:“str”},{“t”:“eq”,“v”:“wohnzimmer”,“vt”:“str”},{“t”:“eq”,“v”:“küche”,“vt”:“str”},{“t”:“eq”,“v”:“schlafzimmer”,“vt”:“str”},{“t”:“eq”,“v”:“badezimmer”,“vt”:“str”}],“checkall”:“false”,“repair”:false,“outputs”:5,“x”:470,“y”:860,“wires”:[[“c2ad07df.517ca8”],[“ec69f81b.708e98”],[“9139132b.7579c”],[“4698c6c3.f965c8”],[“cf8777c.c7ee988”]]},{“id”:“cf8777c.c7ee988”,“type”:"http request”,“z”:“21f11887.571048”,“name”:"-> Badezimmer",“method”:“POST”,“ret”:“txt”,“paytoqs”:false,“url”:“http://10.2.30.4:12101/api/text-to-speech",“tls”:"",“persist”:false,“proxy”:"",“authType”:“basic”,“x”:680,“y”:940,“wires”:[[]]},{“id”:“c2ad07df.517ca8”,“type”:“function”,“z”:“21f11887.571048”,“name”:"-> Telegram___”,“func”:“if(msg.chatId){\n msg.payload = {chatId : msg.chatId,\n type : “message”,\n content : msg.payload,\n options: msg.ops\n }\nreturn msg;\n}”,“outputs”:1,“noerr”:0,“x”:680,“y”:780,“wires”:[[“21df72e1.9732de”]],“icon”:“node-red-contrib-telegrambot/telegram.png”},{“id”:“9139132b.7579c”,“type”:“http request”,“z”:“21f11887.571048”,“name”:"-> Küche",“method”:“POST”,“ret”:“txt”,“paytoqs”:false,“url”:“http://10.2.30.2:12101/api/text-to-speech",“tls”:"",“persist”:false,“proxy”:"",“authType”:“basic”,“x”:660,“y”:860,“wires”:[[]]},{“id”:“4698c6c3.f965c8”,“type”:"http request”,“z”:“21f11887.571048”,“name”:"-> Schlafzimmer",“method”:“POST”,“ret”:“txt”,“paytoqs”:false,“url”:“http://10.2.30.3:12101/api/text-to-speech",“tls”:"",“persist”:false,“proxy”:"",“authType”:“basic”,“x”:680,“y”:900,"wires”:[[]]}]’

Most of the time, you want to control your lights and blends an all the other stuff not only with a voice-control. For example You could use the switchers from IKEA (IKEA TRADFRI remote control ).
E1524-E1810
https://www.zigbee2mqtt.io/devices/E1524_E1810.html
I added them inside each room to the rhasspy control, so I only have to write one Execution node.
First I read the IKEA zigbee information with zigbee2mqtt:
https://www.zigbee2mqtt.io/


Inside each room is one Ikea Switch. All device have names like “room_device”. So I only have to store rooms name in the first part.
[{“id”:“1f84ffb3.43ed2”,“type”:“mqtt in”,“z”:“9e6edf1f.1371a”,“name”:“kueche_schalter_ikea”,“topic”:“zigbee2mqtt/kueche_schalter_ikea/#”,“qos”:“2”,“datatype”:“json”,“broker”:“6f747297.64151c”,“x”:260,“y”:260,“wires”:[[“9da84204.1240b”]]},{“id”:“9da84204.1240b”,“type”:“change”,“z”:“9e6edf1f.1371a”,“name”:“Räume”,“rules”:[{“t”:“set”,“p”:“slots.room”,“pt”:“msg”,“to”:“küche”,“tot”:“str”},{“t”:“set”,“p”:“next_room”,“pt”:“msg”,“to”:“schlafzimmer”,“tot”:“str”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:480,“y”:260,“wires”:[[“720eb064.68649”]]},{“id”:“4cc8999e.7c0198”,“type”:“comment”,“z”:“9e6edf1f.1371a”,“name”:“Küche”,“info”:"",“x”:470,“y”:220,“wires”:[]},{“id”:“c54cbe28.92cd6”,“type”:“mqtt in”,“z”:“9e6edf1f.1371a”,“name”:“wohnzimmer_schalter_ikea”,“topic”:“zigbee2mqtt/wohnzimmer_schalter_ikea/#”,“qos”:“2”,“datatype”:“json”,“broker”:“6f747297.64151c”,“x”:270,“y”:180,“wires”:[[“69875500.9c701c”]]},{“id”:“12110d38.18cbd3”,“type”:“comment”,“z”:“9e6edf1f.1371a”,“name”:“Wohnzimmer”,“info”:"",“x”:470,“y”:140,“wires”:[]},{“id”:“4fbff732.749f08”,“type”:“mqtt in”,“z”:“9e6edf1f.1371a”,“name”:“schlafzimmer_schalter_ikea”,“topic”:“zigbee2mqtt/schlafzimmer_schalter_ikea/#”,“qos”:“2”,“datatype”:“json”,“broker”:“6f747297.64151c”,“x”:280,“y”:340,“wires”:[[“c9edb2c1.8acd1”]]},{“id”:“f867db4b.99b738”,“type”:“comment”,“z”:“9e6edf1f.1371a”,“name”:“Schlafzimmer”,“info”:"",“x”:470,“y”:300,“wires”:[]},{“id”:“df44c6d1.5a1e28”,“type”:“mqtt in”,“z”:“9e6edf1f.1371a”,“name”:“badezimmer_schalter_ikea”,“topic”:“zigbee2mqtt/badezimmer_schalter_ikea/#”,“qos”:“2”,“datatype”:“json”,“broker”:“6f747297.64151c”,“x”:270,“y”:420,“wires”:[[“cfb596df.ee8c98”]]},{“id”:“b3be6729.8713b8”,“type”:“comment”,“z”:“9e6edf1f.1371a”,“name”:“Badezimmer”,“info”:"",“x”:470,“y”:380,“wires”:[]},{“id”:“69875500.9c701c”,“type”:“change”,“z”:“9e6edf1f.1371a”,“name”:“Räume”,“rules”:[{“t”:“set”,“p”:“slots.room”,“pt”:“msg”,“to”:“wohnzimmer”,“tot”:“str”},{“t”:“set”,“p”:“next_room”,“pt”:“msg”,“to”:“küche”,“tot”:“str”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:480,“y”:180,“wires”:[[“720eb064.68649”]]},{“id”:“c9edb2c1.8acd1”,“type”:“change”,“z”:“9e6edf1f.1371a”,“name”:“Räume”,“rules”:[{“t”:“set”,“p”:“slots.room”,“pt”:“msg”,“to”:“schlafzimmer”,“tot”:“str”},{“t”:“set”,“p”:“next_room”,“pt”:“msg”,“to”:“badezimmer”,“tot”:“str”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:480,“y”:340,“wires”:[[“720eb064.68649”]]},{“id”:“cfb596df.ee8c98”,“type”:“change”,“z”:“9e6edf1f.1371a”,“name”:“Räume”,“rules”:[{“t”:“set”,“p”:“slots.room”,“pt”:“msg”,“to”:“badezimmer”,“tot”:“str”},{“t”:“set”,“p”:“next_room”,“pt”:“msg”,“to”:“flur”,“tot”:“str”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:480,“y”:420,“wires”:[[“720eb064.68649”]]},{“id”:“720eb064.68649”,“type”:“switch”,“z”:“9e6edf1f.1371a”,“name”:"",“property”:“payload.action”,“propertyType”:“msg”,“rules”:[{“t”:“nempty”}],“checkall”:“true”,“repair”:false,“outputs”:1,“x”:670,“y”:300,“wires”:[[“5d836107.b2f1d”]]},{“id”:“5d836107.b2f1d”,“type”:“link out”,“z”:“9e6edf1f.1371a”,“name”:“from-IKEA-Button”,“links”:[“9d1f5ac7.70eca8”],“x”:795,“y”:300,“wires”:[]},{“id”:“5167c4fe.829ccc”,“type”:“comment”,“z”:“9e6edf1f.1371a”,“name”:“to-IKEA-switch”,“info”:"",“x”:880,“y”:300,“wires”:[]},{“id”:“6f747297.64151c”,“type”:“mqtt-broker”,“z”:"",“name”:“MQTT”,“broker”:“10.2.254.1”,“port”:“1883”,“clientid”:"",“usetls”:false,“compatmode”:true,“keepalive”:“60”,“cleansession”:true,“birthTopic”:"",“birthQos”:“0”,“birthPayload”:"",“closeTopic”:"",“closeQos”:“0”,“closePayload”:"",“willTopic”:"",“willQos”:“0”,“willPayload”:""}]

After this Input, the differnt Action, that i will do by pressing one of the buttons will be created.
This Ikea Button has 5 Buttons, Each of them can be used to send a signal for:

  • press
  • release
  • long press
  • double click
    I use single press to:
  • Toggle the main Light (Center button)
  • Toggle the Light in the next room (Left Button)
  • Switch the diffent Scenes, I created (Right click)
  • Increase Brightness +25( (Up Click)
  • Decrease Brightness -25( (Down Click)
  • Increase and Decrease Brightness as long as I hold the Up/Down Buttons

[{“id”:“ad5c205a.6cb4a”,“type”:“switch”,“z”:“d3956bfe.d5e5c8”,“name”:“IKEA”,“property”:“payload.action”,“propertyType”:“msg”,“rules”:[{“t”:“eq”,“v”:“brightness_down_release”,“vt”:“str”},{“t”:“eq”,“v”:“brightness_up_release”,“vt”:“str”},{“t”:“eq”,“v”:“toggle”,“vt”:“str”},{“t”:“eq”,“v”:“arrow_left_click”,“vt”:“str”},{“t”:“eq”,“v”:“arrow_right_click”,“vt”:“str”},{“t”:“eq”,“v”:“brightness_up_click”,“vt”:“str”},{“t”:“eq”,“v”:“brightness_up_hold”,“vt”:“str”},{“t”:“eq”,“v”:“brightness_down_click”,“vt”:“str”},{“t”:“eq”,“v”:“brightness_down_hold”,“vt”:“str”}],“checkall”:“false”,“repair”:false,“outputs”:9,“x”:390,“y”:460,“wires”:[[“48d2c945.a2b4a8”],[“48d2c945.a2b4a8”],[“e3ebc15.df3444”],[“7ecaf4b9.f57c9c”],[“9ccfa159.7cb7e”],[“3ba2c003.d6719”],[“3ba2c003.d6719”,“7668deef.f9e29”],[“d7b37b28.38a3b8”],[“d7b37b28.38a3b8”,“7668deef.f9e29”]]},{“id”:“9d1f5ac7.70eca8”,“type”:“link in”,“z”:“d3956bfe.d5e5c8”,“name”:“to-IKEA-Switch”,“links”:[“7374d9b.2707128”,“20e22bcb.8e7754”,“bac67226.58015”,“5a33cf01.e8871”,“548fefac.397f5”,“9805e63.bfca218”,“e721de25.ba2ff”,“5d836107.b2f1d”],“x”:275,“y”:460,“wires”:[[“ad5c205a.6cb4a”]]},{“id”:“9ccfa159.7cb7e”,“type”:“function”,“z”:“d3956bfe.d5e5c8”,“name”:“Scenen ++”,“func”:“var numeric_array = [];\nvar arrScenes = global.get(‘arrScenes’);\nfor ( var scene in arrScenes[msg.slots.room]){\n numeric_array.push(scene);\n //node.send({payload:scene})\n}\n\n//node.send({payload:numeric_array})\n\nvar currentDeviceVariable = msg.currentLightDevice + “deviceScene"\nvar currentState = flow.get(currentDeviceVariable)|| 0;\n\n\ncurrentState += 1;\ncurrentState %= numeric_array.length;\nflow.set(currentDeviceVariable, currentState);\nmsg.intent = {“name”: “ChangeLightScene”}\nmsg.slots.scene=numeric_array[currentState]\nreturn msg\n",“outputs”:1,“noerr”:0,“x”:650,“y”:460,“wires”:[[“a50e25e6.ad9288”]]},{“id”:“7668deef.f9e29”,“type”:“change”,“z”:“d3956bfe.d5e5c8”,“name”:“hold -> True”,“rules”:[{“t”:“set”,“p”:“hold”,“pt”:“flow”,“to”:“true”,“tot”:“bool”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:650,“y”:600,“wires”:[[]]},{“id”:“48d2c945.a2b4a8”,“type”:“change”,“z”:“d3956bfe.d5e5c8”,“name”:“hold -> False”,“rules”:[{“t”:“set”,“p”:“hold”,“pt”:“flow”,“to”:“false”,“tot”:“bool”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:650,“y”:320,“wires”:[[]]},{“id”:“4c9acee4.f4f13”,“type”:“comment”,“z”:“d3956bfe.d5e5c8”,“name”:“from-IKEA-Button”,“info”:"",“x”:200,“y”:460,“wires”:[]},{“id”:“e3ebc15.df3444”,“type”:“change”,“z”:“d3956bfe.d5e5c8”,“name”:“Hauptraum”,“rules”:[{“t”:“set”,“p”:“slots.state”,“pt”:“msg”,“to”:“toggle”,“tot”:“str”},{“t”:“set”,“p”:“intent.name”,“pt”:“msg”,“to”:“ChangeLightState”,“tot”:“str”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:650,“y”:380,“wires”:[[“a50e25e6.ad9288”]]},{“id”:“f51a2491.ca9128”,“type”:“inject”,“z”:“d3956bfe.d5e5c8”,“name”:“ON”,“topic”:"",“payload”:“false”,“payloadType”:“bool”,“repeat”:"",“crontab”:"",“once”:true,“onceDelay”:0.1,“x”:190,“y”:320,“wires”:[[“48d2c945.a2b4a8”]]},{“id”:“a50e25e6.ad9288”,“type”:“change”,“z”:“d3956bfe.d5e5c8”,“name”:“Licht”,“rules”:[{“t”:“set”,“p”:“slots.device”,“pt”:“msg”,“to”:“licht”,“tot”:“str”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:1050,“y”:460,“wires”:[[“46020a69.5e8264”]]},{“id”:“51bd8b66.11ed64”,“type”:“delay”,“z”:“d3956bfe.d5e5c8”,“name”:“750ms”,“pauseType”:“delay”,“timeout”:“750”,“timeoutUnits”:“milliseconds”,“rate”:“1”,“nbRateUnits”:“1”,“rateUnits”:“second”,“randomFirst”:“1”,“randomLast”:“5”,“randomUnits”:“seconds”,“drop”:false,“x”:790,“y”:560,“wires”:[[“ae23dd73.8a8b8”]]},{“id”:“ae23dd73.8a8b8”,“type”:“switch”,“z”:“d3956bfe.d5e5c8”,“name”:“hold?”,“property”:“hold”,“propertyType”:“flow”,“rules”:[{“t”:“true”}],“checkall”:“true”,“repair”:false,“outputs”:1,“x”:910,“y”:560,“wires”:[[“ed98ac24.1f72f”]]},{“id”:“ed98ac24.1f72f”,“type”:“change”,“z”:“d3956bfe.d5e5c8”,“name”:"Schrittweises Erhöhen”,“rules”:[{“t”:“set”,“p”:“slots.unit”,“pt”:“msg”,“to”:“Steps”,“tot”:“str”},{“t”:“set”,“p”:“intent.name”,“pt”:“msg”,“to”:“ChangeLightBrightness”,“tot”:“str”}],“action”:”",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:850,“y”:520,“wires”:[[“a50e25e6.ad9288”,“51bd8b66.11ed64”]]},{“id”:“d7b37b28.38a3b8”,“type”:“change”,“z”:“d3956bfe.d5e5c8”,“name”:"-25",“rules”:[{“t”:“set”,“p”:“slots.value”,“pt”:“msg”,“to”:"-25",“tot”:“num”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:630,“y”:540,“wires”:[[“ed98ac24.1f72f”]]},{“id”:“3ba2c003.d6719”,“type”:“change”,“z”:“d3956bfe.d5e5c8”,“name”:"+25",“rules”:[{“t”:“set”,“p”:“slots.value”,“pt”:“msg”,“to”:“25”,“tot”:“num”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:630,“y”:500,“wires”:[[“ed98ac24.1f72f”]]},{“id”:“7ecaf4b9.f57c9c”,“type”:“change”,“z”:“d3956bfe.d5e5c8”,“name”:“Nebenraum”,“rules”:[{“t”:“set”,“p”:“slots.state”,“pt”:“msg”,“to”:“toggle”,“tot”:“str”},{“t”:“set”,“p”:“intent.name”,“pt”:“msg”,“to”:“ChangeLightState”,“tot”:“str”},{“t”:“set”,“p”:“slots.room”,“pt”:“msg”,“to”:“next_room”,“tot”:“msg”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:650,“y”:420,“wires”:[[“a50e25e6.ad9288”]]}]

In the change-nodes, I set the same slots as I used in Rhasspy.
Like:

  • intent.name
  • slots.state to switch On/Off/Toggle Lights
  • slots.value to set the difference for Brightness

After that, the flow enters the same Switch-Node as my Input from Rhasspy, as you can see in the first picture in this thread:
intent_input
The switch node “global.siteID N” sets the SiteID to nothing. Thats the different to Rhasspy Input. If this isset to nothing, no answer will be given. Otherwise Rhasspy answered to my command like:
“I switched on the Light in the living room”

Hope this helps someone