If anyone is interested in, here is whole NodeRed flow, which works perfectly on local HomeAssistant installation with HA conversation API. This actually replaces missing HA Conversation integration in Rhasspy 2.5. It also includes switching on speaker, muting music playing via snapcast client on it (managed as well via HA) and unmuting snapcast afterward Rhasspy terminates the session.
[{"id":"b01d537b.89964","type":"tab","label":"Rhasspy","disabled":false,"info":""},{"id":"16403908.3e491f","type":"mqtt in","z":"b01d537b.89964","name":"Session Start","topic":"hermes/dialogueManager/sessionStarted","qos":"0","datatype":"json","broker":"f49b320f.8c6958","x":150,"y":140,"wires":[["a1d9654a.320f58","7100a56b.1339ac"]]},{"id":"383dc077.9f584","type":"ha-get-entities","z":"b01d537b.89964","server":"e55307b8.8b98e8","name":"is snapcast","rules":[],"output_type":"random","output_empty_results":false,"output_location_type":"msg","output_location":"payload.entity","output_results_count":1,"x":550,"y":140,"wires":[["89b596b0.4e40e8"]]},{"id":"a1d9654a.320f58","type":"function","z":"b01d537b.89964","name":"","func":"\nmsg.payload.rules = [ { property: \"entity_id\", logic: \"is\", value: \"media_player.snapcast_client_\" + msg.payload.siteId, valueType: \"str\" } ]\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":360,"y":140,"wires":[["383dc077.9f584"]]},{"id":"69a842ea.7a0184","type":"api-call-service","z":"b01d537b.89964","name":"mute snapcast","server":"e55307b8.8b98e8","version":1,"debugenabled":false,"service_domain":"media_player","service":"volume_mute","entityId":"","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":940,"y":140,"wires":[[]]},{"id":"89b596b0.4e40e8","type":"function","z":"b01d537b.89964","name":"","func":"\nif (! msg.payload.entity.attributes.is_volume_muted ) {\n return { payload: { data: { entity_id: msg.payload.entity.entity_id, is_volume_muted: true } } };\n} else {\n return null;\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":740,"y":140,"wires":[["69a842ea.7a0184"]]},{"id":"4774c243.91801c","type":"function","z":"b01d537b.89964","name":"","func":"\nif ( msg.payload.entity.state === \"off\" ) {\n return { payload: { data: { entity_id: msg.payload.entity.entity_id } } };\n} else {\n return null;\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":740,"y":200,"wires":[["606249be.8fbe48"]]},{"id":"7100a56b.1339ac","type":"function","z":"b01d537b.89964","name":"","func":"\nmsg.payload.rules = [ { property: \"entity_id\", logic: \"is\", value: \"switch.\" + msg.payload.siteId, valueType: \"str\" } ]\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":360,"y":200,"wires":[["9f753624.a196"]]},{"id":"9f753624.a196","type":"ha-get-entities","z":"b01d537b.89964","server":"e55307b8.8b98e8","name":"is speaker","rules":[],"output_type":"random","output_empty_results":false,"output_location_type":"msg","output_location":"payload.entity","output_results_count":1,"x":550,"y":200,"wires":[["4774c243.91801c"]]},{"id":"606249be.8fbe48","type":"api-call-service","z":"b01d537b.89964","name":"speaker on","server":"e55307b8.8b98e8","version":1,"debugenabled":false,"service_domain":"switch","service":"turn_on","entityId":"","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":930,"y":200,"wires":[[]]},{"id":"d0efc196.57503","type":"mqtt in","z":"b01d537b.89964","name":"Input text","topic":"hermes/nlu/query","qos":"2","datatype":"json","broker":"f49b320f.8c6958","x":140,"y":340,"wires":[["4ca5d53.dcb782c"]]},{"id":"b273070b.f4692","type":"ha-api","z":"b01d537b.89964","name":"Conversation API","server":"e55307b8.8b98e8","debugenabled":false,"protocol":"websocket","method":"get","path":"","data":"","dataType":"json","location":"payload.result","locationType":"msg","responseType":"json","x":550,"y":300,"wires":[["ee106ba2.8a9d68"]]},{"id":"4ca5d53.dcb782c","type":"function","z":"b01d537b.89964","name":"","func":"\nif ( msg.payload.input !== \"\" ) {\n msg.payload.data = { \"type\": \"conversation/process\", \"id\": msg.payload.sessionId, \"text\": msg.payload.input };\n return [msg, null];\n} else {\n return [null, msg];\n}\n\n","outputs":2,"noerr":0,"initialize":"","finalize":"","x":360,"y":340,"wires":[["b273070b.f4692"],["ee106ba2.8a9d68"]]},{"id":"ee106ba2.8a9d68","type":"function","z":"b01d537b.89964","name":"","func":"\nvar newMsg = { \"payload\": { \"siteId\": msg.payload.siteId, \"sessionId\": msg.payload.sessionId, \"text\": msg.payload.result.speech.plain.speech } };\n\nreturn newMsg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":740,"y":340,"wires":[["370df68b.17bfe2"]]},{"id":"45891d11.d1c3f4","type":"mqtt in","z":"b01d537b.89964","name":"Session End","topic":"hermes/dialogueManager/sessionEnded","qos":"2","datatype":"json","broker":"f49b320f.8c6958","x":150,"y":480,"wires":[["3617b3c9.96dbac"]]},{"id":"ac2d6cde.a2e448","type":"ha-get-entities","z":"b01d537b.89964","server":"e55307b8.8b98e8","name":"is snapcast","rules":[],"output_type":"random","output_empty_results":false,"output_location_type":"msg","output_location":"payload.entity","output_results_count":1,"x":550,"y":480,"wires":[["e80a4025.35a69"]]},{"id":"3617b3c9.96dbac","type":"function","z":"b01d537b.89964","name":"","func":"\nmsg.payload.rules = [ { property: \"entity_id\", logic: \"is\", value: \"media_player.snapcast_client_\" + msg.payload.siteId, valueType: \"str\" } ]\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":360,"y":480,"wires":[["ac2d6cde.a2e448"]]},{"id":"1afa8327.5dd235","type":"api-call-service","z":"b01d537b.89964","name":"unmute snapcast","server":"e55307b8.8b98e8","version":1,"debugenabled":false,"service_domain":"media_player","service":"volume_mute","entityId":"","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":950,"y":480,"wires":[[]]},{"id":"e80a4025.35a69","type":"function","z":"b01d537b.89964","name":"","func":"\nif ( msg.payload.entity.attributes.is_volume_muted ) {\n return { payload: { data: { entity_id: msg.payload.entity.entity_id, is_volume_muted: false } } };\n} else {\n return null;\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":740,"y":480,"wires":[["1afa8327.5dd235"]]},{"id":"370df68b.17bfe2","type":"mqtt out","z":"b01d537b.89964","name":"Output text","topic":"hermes/dialogueManager/endSession","qos":"2","retain":"false","broker":"f49b320f.8c6958","x":930,"y":340,"wires":[]},{"id":"f49b320f.8c6958","type":"mqtt-broker","z":"","name":"local","broker":"192.168.3.2","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"e55307b8.8b98e8","type":"server","z":"","name":"Home Assistant","addon":true}]