Rhasspy Junior install problem

I’m trying to install Rhasspy Junior on my Home Assistant system to see the changes Michael made.

I have backed up, tried to uninstall as much Rhasspy as i can, then rebooted. Yes, I know that doesn’t make a clean systen, but hopefully it’s good enough for my purpose.

Installing Rhasspy Integration appears to work, but doesn’t seem to do anything. No user interface :frowning:

It seems I need to install the Rhasspy add-on as well … except that clicking [INSTALL] gives a delay then an error dialog:

Failed to install add-on
Get “https://registry-1.docker.io/v2/”: context deadline exceeded (Client.Timeout exceeded while awaiting headers)


Head “https://registry-1.docker.io/v2/rhasspy/junior-hass/manifests/latest”:
Get “https://auth.docker.io/token?scope=repository%3Arhasspy%2Fjunior-hass%3Apull&service=registry.docker.io”: net/http: request cancelled while waiting for connection (Client.Timeout exceeded while awaiting headers)

Any suggestions ?

That sounds like it can’t reach Dockerhub. I wonder if a lot of people are trying to download the Docker image?

I decided I am too used to Rhasspy on my production Home Assistant system to muck about with it; and so restored the backup I took before trying Junior.

After a couple of false starts burnt a new microSD with current HAOS for RasPi 3 … and it’s working. Should have done this to start to give a fresh test environment.

Pretending to be a noob, I have installed the HA > settings > Integrations … Not too impressed ;-(

  • Mostly there are gaps in the documentation and installation proceedure.
  • there is no user interface.
  • Rhasspy Junior installed on my production system, NOT my test machine … because the My | Add-on redirection went to homeassistant.local instead of the IP address of my test HA server :frowning:
  • Wait and more wait … should have an indication that something is happening, or how long it will take
  • I have a tiny USB microphone plugged in, and Junior detected “USB PnP Sound Device Mono” :slight_smile:
  • For Output there are two entries for “Built-in Audio Stereo” which is a little confusing as i haven’t yet plugged in a speaker. Neither seem to work when speaker connected to RasPi’s audio connector.
  • This time only a few moments before the dot goes green, and I get [stop] and [Restart] buttons. SUCCESS !
  • I have installed one LIFX light bulb. “Hey microft turn the light on” works without having to link spoken “light” with entity name :slight_smile: But “turn the light off” turns it ON :frowning:
  • I have installed an Arlec Tuya-firmware power switch with energy monitoring (model PC191HA) with no area; device switch.pc191ha_109. What is the keyword programmed into Junior for the switch ?
  • where is the user interface ? Nothing on port 12101. Log tab has huge number of debug statements, but very little meaningful (to me).

Now I’m not sure whether its still running. Info tab shows its using 4.6% CPU, but no response to voice commands, and nothing appears to be added to the log tab

There is not user interface for Rhasspy Junior, that is the whole point of it :slight_smile:
For logs I suggest you check System->logging in HA and the select the correct log on the dropdown menu at the top.

I must say I have not tried the Junior addon, because it is limited.

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 :frowning:

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: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]>

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.

I can understand, I have not yet tried it but I think I will. It should work out of the box if my readings are correct.
To me it seemed that Junior was created for that purpose.

The error 500 should not occur I guess, but like I said I will see if I get the same results :slight_smile:

I remember now, I do not have a mic or speakers on my HA instance so no use installing Rhasspy Junior…

I forked the rhasspy-junior github to add to the documentation.

I also looked at the code … but most went over my head. It looks though as though Junior is not simply auto-generating a standard Rhasspy profile and sentences, and running full Rhasspy “under the hood”. I can see that Junior uses arecord, Mycroft Precise, Silvero VAD, fsticuffs - but intent_service_map.toml instead of sentences file. I didn’t manage to work out how he is mapping the domains to specific devices, in order for it to recognise my switch.PC191HA

I have so far avoided the Docker learning curve; not sure if there’s any other way to see whats going on in the rhasspy-junior container.

Never mind, Michael has been very quiet since leaving Mycroft, so maybe he’s catching up on family time; or maybe he’s working hard on new versions of Rhasspy and/or Junior for us … in which case there’s no point continuing this discussion.

Did you miss this topic?

Not at all. In fact that topic (plus a private message from Michael) were the motivation for me to get familiar with Rhasspy Junior.