Interesting perspective.
I personally believe the point of any hardware or software is to do something useful - and (here I know I’m going against the official position) that the advantages of HA and Rhasspy should not be limited to experienced developers who already have the skills and expertise to understand all the underlying technologies. I shouldn’t have to be an engineer (or even a mechanic) to take advantage of the benefits of driving a car.
I want a limited version of Rhasspy for new users. Ghod knows how long it took me to climb the learning curves (more like mountains) to fit all the pieces together and get mine working - and that is why i am trying Rhasspy Junior on a test system.
And in my case the out-of-box experience is, well, disappointing.
Voice commands are not being actioned; no interface to find the error, and more importantly no way to fix whatever the problem might be. And (as you have shown) no support
Maybe its due to the hardware I have connected not being recognised. Or by my stupidly in not understanding all the unsaid assumptions in the “documentation”. Fortunately these should be easily addressed through user documentation.
Fortunately I am not a new user.
After a week, I did a power cycle (to ensure Rhasspy Junior and Home Assistant VMs have both been restarted), and saying “Hey Mycroft, turn the light on” results in the following appended to the Rhasspy Junior log tab:
DEBUG:rhasspy_junior.stt.stt_fsticuffs.transcribe:ready
DEBUG:rhasspy_junior.stt.stt_fsticuffs.transcribe:Decoder started
DEBUG:rhasspy_junior.loop:Hotword detected
DEBUG:rhasspy_junior.stt.stt_fsticuffs:Processing speech to text
DEBUG:rhasspy_junior.loop:Recording ended
DEBUG:rhasspy_junior.stt.stt_fsticuffs.transcribe:Finished stream. Getting transcription.
DEBUG:rhasspy_junior.stt.stt_fsticuffs.transcribe:1.49137 are 0.601979 0 0 lifx 0.99926 0.255996 0.865824 color-142 0.99926 0.865824 2.07376 on 0.823996 2.20015 3.44
DEBUG:rhasspy_junior.stt.stt_fsticuffs:Transcription(text='are lifx color-142 on', likelihood=0, transcribe_seconds=3.8534008229999017, wav_seconds=3.456, tokens=[TranscriptionToken(token='are', start_time=0.0, end_time=0.0, likelihood=0.601979), TranscriptionToken(token='lifx', start_time=0.255996, end_time=0.865824, likelihood=0.99926), TranscriptionToken(token='color-142', start_time=0.865824, end_time=2.07376, likelihood=0.99926), TranscriptionToken(token='on', start_time=2.20015, end_time=3.44, likelihood=0.823996)])
DEBUG:rhasspy_junior.loop:IntentResult(intent_name='HassLightGetState', entities=[IntentEntity(name='verb', value='are'), IntentEntity(name='name', value='LIFX Color-142'), IntentEntity(name='entity_id', value='light.lifx_color_142')])
DEBUG:rhasspy_junior.handle:Posting intent to http://supervisor/core/api/intent/handle: {'name': 'HassLightGetState', 'data': {'verb': 'are', 'entity_id': 'light.lifx_color_142'}}
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): supervisor:80
DEBUG:urllib3.connectionpool:http://supervisor:80 "POST /core/api/intent/handle HTTP/1.1" 500 55
ERROR:rhasspy_junior.handle:Error from http://supervisor/core/api/intent/handle: <Response [500]>
DEBUG:rhasspy_junior.loop:IntentHandleResult(handled=False)
OK, based on my experience with full rhasspy I see that hotword was detected, and that fsticuffs mis-transcribed the command as ‘are lifx color-142 on’. Intent was posted to http://supervisor/core/api/intent/handle: {‘name’: ‘HassLightGetState’, ‘data’: {‘verb’: ‘are’, ‘entity_id’: ‘light.lifx_color_142’}} - but this resulted in a HTTP Error from http://supervisor/core/api/intent/handle: <Response [500]> … and it stops listening.
Restarting Rhasspy Junior add-on and giving command “Hey Mycroft, turn the switch off” is mis-transcribed as ‘is lifx color-142 off’ and results in another HTTP 500 error.