Using CATT

I tried that already but when I use atomic my calendar looks strange. Atomic puts all the items in my agenda on all day. I use the iCloud Caldav integration

The strange thing is that It still works when using the build in cast function

Hi all, when I try run this I my Home Hub shows the “Force Loading” message others have reported and doesn’t load if I have SSL configured for Hassio. If I disable the SSL certs for my Home Assistance instance to allow straight http traffic, things work. SSL certs are privately generated ones using OpenSSL for use within my network rather than being via lets-encrypt or anything like that.

Currently using HASSIO with the SSH Add-on as noted a few posts up.

Wondering if there’s any thing I need to do to make it work, ideally without needing to disable SSL? Unsure if using a public CA would help at all in this case? For my computers etc I can obviously set up devices to trust my own CA but that’s likely not the case for the Google Hub if that’s where the issue lies. Unsure if running CATT on a seperate PI could possibly help rather than my HASSIO setup?

Hi @Smigit

Just for my curiosity - why to use SSL internally (i assume home network) and not use Let’s encrypt cert?
This is not answer for Your question but my setup is: Let’s encrypt certificate on router + Nginx. So external traffic goes via https and internal via http. CATT works as expected.

I guess just preference and avoiding web browser warnings, although no reason really for using OpenSSL over Lets Encrypt other than maybe at the time I picked one over the other as I didn’t need to open any network ports to generate the OpenSSL certs. I have a Nabu Casa subscription so in theory I can disable the https for internal traffic and use the Nabu Casa URL for external via https. Am keen to see if internal https is doable but I do have that fallback position if needed.

Until now I’ve been using Cast which does allow me to retain the https too. Sort of like that CATT let’s me present an entire dashboard as opposed to a single view so multiple pages looks like it’ll be simpler.

I also had the forced loading issues when trying to fiddle with SSL. In the end I just stopped with the SSL as I only use it internally. By using trusted networks, the connection with the hub is straight forward.

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

Ok looks like I got https working with this. CATT is setup in HASSIO as per John2014’s post above.

To deal with the cert issue I’ve assigned a registered (sub) domain to HA instead of using my old internal hostname of Hassio.local. That domain has an SSL cert assigned to it via Lets Encrypt (using the HA plugin to manage renewals). Google trusts that CA unlike my previously used privately signed certs. I’m using Cloudflare for DNS so Lets-Encrypt can renew via DNS APIs rather than me needing to open up any ports on my network.

The last step was to have the domain resolve to the internal IP. In my case since I only need to cast this internally I’ve set the (sub) domain name in Cloudflare to resolve to a local IP (10.0.0.X). That IP is obviously useless if I’m not on my own network, which is fine (I have Nabu Casa for external access). If I didn’t want to mess around with the hosting DNS I imagine I could also just reroute the domain on my own networks DNS server (PiHole) to the IP and then block the Home Hub from using Google’s DNS (8.8.8.8 and 8.8.4.4, given it uses Googles by default and would bypass my pinhole instance), so that the Google Hub would fail back to my DNS server and then would use the correct IP address. Either way there’s a hostname with an SSL cert resolving to my HA instance.

Note I have no plan to expose my HA instance via the domain I registered externally. If you did that then the previous paragraph would need to change so that an internal IP wasn’t set for the domain to resolve to.

A bit of a hack but happy enough with it. Now hopefully Google fixes that 10 minute cast timeout.

edit: One thing that isn’t working is calendar data. Unsure why but it doesn’t appear to be related to a specific add-on but rather something to do with retrieving calendar data from HA. Even the HA calendar pane that’s built in shows no events when the above is in effect. Add-ons load but can’t retrieve anything. Odd.

2 Likes

hi, i’m try to start catt to cast my lovelace on the google nest hub , but impossible with your node red flow…
here is the data :
{
“addon”: “a0d7b954_ssh”,
“input”: “catt -d ‘Chambre Parents’ cast_site http://192.168.100.76:8123/lovelace/0
}

maybee i made a mistake?
i’m also trying with shell command but same issue :

here is the shell command :

cast_accueil: catt -d 'Chambre Parents' cast_site http://192.168.100.76:8123/lovelace/0

when i try in ssh there is no problem :

bin $ catt -d 'Chambre Parents' cast_site http://192.168.100.76:8123/lovelace/0
Casting http://192.168.100.76:8123/lovelace/0 on "Chambre Parents"...

thank you for reply

Hi,

Is use this

{“addon”:“a0d7b954_ssh”,“input”:“catt -d Homehub cast_site ‘http://192.168.1.101:8123/lovelace-homehub/frontdoor-cam’”}

Thanks
but same issue with

{
    "addon": "a0d7b954_ssh",
    "input": "catt -d nesthub cast_site 'http://192.168.100.76:8123/lovelace-nesthub/0'"
}

i tried lovelace-nesthub or lovelace…
but botj works in ssh with putty

I do the same using an input Boolean and a big ssh node to run Catt. I’m not at my PC at the moment but it basically shows a Lovelace view whenever I toggle the input Boolean or ask google to show a certain screen.

This is for Raspberry, how can i use linux commands from Hassio?

I’m interested to sée the code when you have Time for Share :slight_smile: thank you

You Can use those commands by ssh.directly on ha

From where do you do that?

Hope this helps?

[{"id":"d170f2cc.40761","type":"server-state-changed","z":"d1f81840.ef9ad8","name":"Cast Input Boolean","server":"82dafd4c.4d3b4","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_boolean.kitchen_catt","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"x":130,"y":1580,"wires":[["2ae893d7.d125cc","b34488de.909988"],[]]},{"id":"2ae893d7.d125cc","type":"stoptimer","z":"d1f81840.ef9ad8","duration":"1","units":"Minute","payloadtype":"num","payloadval":"0","name":"","x":360,"y":1620,"wires":[["b83d1f04.aef15","10e606e6.93b5a9"],[]]},{"id":"b34488de.909988","type":"bigssh","z":"d1f81840.ef9ad8","name":"Cast System Info","commandLine":"/home/matt/.local/bin/catt -d 'Kitchen Display' cast_site \"http://192.168.68.110:61208\"","commandArgs":"","minError":1,"minWarning":1,"noStdin":false,"format":"","payloadIsArg":false,"myssh":"6a7f26ce.981ca8","x":550,"y":1460,"wires":[[],[],[]]},{"id":"b83d1f04.aef15","type":"api-call-service","z":"d1f81840.ef9ad8","name":"Reset Cast Switch","server":"82dafd4c.4d3b4","version":1,"debugenabled":false,"service_domain":"input_boolean","service":"turn_off","entityId":"input_boolean.kitchen_catt","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":550,"y":1560,"wires":[[]]},{"id":"10e606e6.93b5a9","type":"bigssh","z":"d1f81840.ef9ad8","name":"Stop Cast","commandLine":"/home/matt/.local/bin/catt -d 'Kitchen Display' stop","commandArgs":"","minError":1,"minWarning":1,"noStdin":false,"format":"","payloadIsArg":false,"myssh":"6a7f26ce.981ca8","x":540,"y":1660,"wires":[[],[],[]]},{"id":"82dafd4c.4d3b4","type":"server","z":"","name":"Home Assistant","legacy":false,"addon":false,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true},{"id":"6a7f26ce.981ca8","type":"SSH_Credentials","z":"","host":"192.168.68.110","port":"228","userlabel":"[email protected]"}]

1 Like

Great!! thank you very much it seem to works !

Did you manage to get your scenario/situation working? Mine is the same.

I have a similar issue and want to achieve the same as you did. But your description is a little over my head. Maybe you can dumb it down a bit and step it out a little for me?

I’ve set up as per John post, and I can cast if “I disable the SSL certs for my Home Assistance instance to allow straight http traffic”. I’m using DuckDNS addon.

Cheers.

I have a node-red automation to cast the display every 9:59 mintuten, because I thought that every 10 min the cast is ended. Is this still a issue?