Using CATT

Youtube videos don’t seem to time out.

Meaning that there must be a way to keep a stream alive.

I’m using HASSIO image on Rasp Pi.
Initially I installed catt by SSH-ing in and ran “pip3 install catt” in the command line.
I can execute catt from SSH terminal but not via shell_command. Turning on debug logs showed that catt was not found when executing shell_command.

Solution
Added a pip_install shell command and I only have to call it once.
After that, it’s able to run my shell_command.cast command.

shell_command: 
  pip_install : pip3 install catt
  cast : catt -d "your Device" cast_site http://...   
2 Likes

I wonder if the new chromecast with remote might resolve this? https://www.youtube.com/watch?v=9sj0UrJ-BeE&ab_channel=GoogleNest

1 Like

Ah this is great, works so much better for me than the Cast integration.

I’ve set up voice control via Google Assistant so I can say “Hey Google, set bedside display to <home/cameras/media/etc>” and it fires the corresponding shell command to show that Lovelace dash on the display. (In my case, Lenovo 7").

The only way I’ve found so far to have a “menu” of options via Google Assistant is to publish a Universal Media Player with the source_list set up with each menu item, and a template in UMP’s select_source command to fire the relevant action based on the chosen source.

In this instance, each display is a separate shell command, as it didn’t seem possible to pass variables (like a specific dash name/id) to a command. This results in each service being uniquely named, and it also seems like you can’t template the service name in a UMP. It took a few steps to bridge this gap:

  • Create a UMP where the select_source command is configured with template list of "if source = , set value to " conditions
  • Use an input_number helper to store the ID changes
  • Add a list of possible display names in customize.yaml under a source_list for the UMP
  • Make an automation that triggers when the input number updates, and executes the corresponding shell command
  • Ensuring that the source names configred in the UMP and customize.yaml are both identical to what Google Assistant sends through. There’s very little room for error; Initially it wouldn’t work with “Cameras 1”, had to change it to “Cameras One”

While this works well enough and is far from the biggest integration hassle I’ve seen in HA, I was wondering if I missed something obvious to have a simpler config that allows me to select a dashboard with Google Assistant via CATT?

Hello grate job and thanks first.
I have a rpi3+ with home assistant (old hassio) wit version 0.92 (i stop because is my stabe system).
I have installed catt i manage to do it with ssh addon but it opens the hme page in a google hub with the autentication…
I tried to add in my config.yalm
In the homeassistant part:
auth_providers:

  • type: trusted_networks
    trusted_networks:
    - xxx.xxx.xx.1/24
    trusted_users:
    xxx.xxx.xx.1/24: my_id
    allow_bypass_login: true
    • type: homeassistant
      I restarted the server and i doest start… i had to delete the auth providers. Does someone why it doest work?? Is the ip directio ending in 1 ok?? Or should it be ending in 0…i want to allow fro internal acces no to log in in home assistant…or my 0.92.ha version doesnt supoort auth providers?? Thanks a lot

Please post your code properly. See here point 11 How to help us help you - or How to ask a good question

Try to tap on your Google Hub under the Autentication Fild. There is a button under it, its hard to see becouse of the colore, but its there.

Sorry I was with mobile phone
I recopy. I hope its ok.

Hello grate job and thanks first.
I have a rpi3+ with home assistant (old hassio) wit version 0.92 (i stop because is my stabe system).
I have installed catt i manage to do it with ssh addon but it opens the hme page in a google hub with the autentication…

I restarted the server and i doest start hassio… i had to delete the auth providers part in configuration.yalm.
Does someone why it doest work??
Is the ip direction ending in 1/24 ok?? Or should it be ending in 0/24…i want to allow for internal acces no to log in in home assistant…
Doesnt my 0.92.ha version support auth providers??
Thanks a lot

This what i added in my config.yalm. the formating is no ok but it wasnt a formaring problem. Thanks

In the homeassistant part:

auth_providers:
type: trusted_networks
trusted_networks:
xxx.xxx.xx.1/24
trusted_users:
xxx.xxx.xx.1/24: my_id
allow_bypass_login: true
type: homeassistant

Hey thanks. Yes i read this. My ploblem is i dont know how to configure alright the auth providers in configuration.yalm. mainly i dont kwow wearher the ip addres of my lan shluld ve wnding in 0/24 or 1/24. I want to leave without loggin my whole internal lan…thanks again

Thanks. I have some strange issue on last step main manual provided by John
Testing from Developer tools call hassio.addon_stdin service

addon: a0d7b954_ssh
input: catt -d "Living Room display" cast_site https://192.168.XX.YYY:8123/lovelace-cast/downstairs

Nest hub DashCast shows force loading of page and then just exits with casting sound.
All other sites casting using same line works.
Even accessing from https:// duckdns works, but in that case I don’t have trusted network.
Is tihs because of https:?

Would it be possible to catt a camera stream directly to the google home hub? I got it working with the build in cast but then the image of the camera is verry small. When I just show the camera which is also added to google home it will fill the whole screen.

What i’m creating is to just show the camera image when the frontdoor bell rings.

I tried this at my place,
However , it didnt work… not sure whats wrong
I do use the terminal & ssh addon instead, but that shouldnt be the problem?
I tried it manually then by typing in python3 -m pip install catt
but i get an error python 3 command not found

I do use the terminal & ssh addon instead, but that shouldnt be the problem?

That is actually the problem I think, If you execute the commands with that addon, it will only work in the container of the terminal&ssh addon. So CATT wont be seen by other applications. And python is not available in the terminal&ssh addon container

I had so many issues with using https, so thats why i have everything just http. I do remember the force loading error also, but its been a while. Do you really need https? If not, just use http

yes this should work fine as long as the stream is screen filling when you use it in the browser.
For example if I use

catt -d "Living Room display" cast_site http://192.168.178.41:8081/

This will show my Camera full screen on my Google Hub. If I use http://192.168.178.41:8081/ in a browser it will also show the camera feed full screen. I actually use MotionEye’s streaming URL for this.

You want “SSH & Web Terminal”, not “Terminal & SSH”. The difference is key to making CATT run.

1 Like

You are right! now it installed catt
i tried to cast it manually

now i see on the hub “dash cast” i hear a sound that of chromecast and then another sound but i cant see the dashboard

Also not sure but in the url, does it need to contain the port 8123 ?
Also i see in example lovelace-hub/0
for me its lovelace-tablet/Home

or does that home need to be 0 ? or 1?
Or home without capital letter?

it should be the url that also works in your browser. So type the URL in a browser on your local LAN to check if you have the correct URL. 8123 is that standard port for Home Assistant.
Once you are sure that it works in a browser, then continue with the casting part, but it is important that you first check you have the correct url

ok i see the login page now on the hub
but i cant enter the credentials

Did you add the trusted network in your configuration.yaml

homeassistant:
  auth_providers:
    - type: trusted_networks
      trusted_networks:
        - 192.168.178.0/24

The first 3 numbers of the IP address should be YOUR ip range. Once you do that, you should see a selection box on the google hub where you can select a user, after selecting the user, it is logged in.