[Deprecated] CATT Director (App and Driver)

Introducing 'CATT Director' App
Take control of a Chromecast device using CATT.

No longer actively supporting this app.

Introducing 'Send Dashboard (and MORE) to Hub using CATT' Driver
This driver is designed to send the HE dashboard to a Nest Hub using CATT.

Requires Cast All The Things and Telnet be installed on a local server (ie. rPI)

Features:

  • Send your HE dashboards (and MORE) to any Chromecast
  • Can be used to send ANY webpage to the Nest Hub
  • Triggers manually, by switch, motion sensor, contact sensor or a set time
  • Send video, control the volume and more... all from HE

Thanks to this post and @AndyM for bringing the CATT app to our attention!

Apps can be found on my GitHub or by using the Hubitat Package Manager.
(HPM is highly recommended)

When reporting problems...

  • Be sure you are on the latest version. I won't troubleshoot an older version.
  • Turn on debug and screenshot the issue happening in the log. One line or just the error doesn't cut it. I need a log.
  • Post the screenshot of the log with an explanation of the problem.

Thanks

12 Likes

What's required on the server side other than install CATT? Does some type of telnet receiver need to be running on your RPi? I get connection refused when trying to use this driver. Normally you connect to an RPi using SSH which is port 22, not telnet which is port 23. I wasn't able to get this to work even though I use CATT through a different method, so I know CATT isn't the problem.

Will the telnet connection be persistent?

Also, the audio volume capability is not currently implemented in Rule Machine. There's a known issue with it in the current implementation so you have to send those commands via a custom action instead of the rule machine command for Volume Up and Volume down in the "Control Audio device" section. The commands in the driver still work, just have to use custom action or they won't work.

Yes, mine already had it installed so I assumed it was part of the standard software. I've edited the original post.

There is always more than one way to do things. This is the one that I got to work. If there is a better way than please let me know.

Should be

Okay? This has nothing to do with RM. I have the volume controls working perfectly through CATT to my Nest Hub.

This was just to note so folks don't spend hours trying to figure out why it won't work issuing a volumeUp command from Rule Machine, expecting it to work, like I did when working on the Cast-Web-API drivers. :smiley:

2 Likes

So, there are two lines of code necessary to enable the Telnet connection.

sudo apt-get install telnetd
sudo /etc/init.d/openbsd-inetd restart

So, if you want to include those, that's all you need. I got mine working now! I was using another method via an HTTP endpoint. I'll have to compare and see which is faster. :slight_smile: Thanks!

I tried to use an http Post but I couldn't figure it out. So I tried the telnet and it worked right away. I would think the http would use less resources since it doesn't stay open but I don't know. If we could get asynchttp that would be awesome.

I got just about all of the commands working now. Should have a new version out later today.

I was using a system call OmniThing. It was developed by the son of the guy who developed Hubduino (ST_Anything). It supports RPi and can issue bash commands directly from the device's configuration. So, I created a switch and then on issued one command and off issued the stop. But then I would have to have one switch per dashboard, although I only have one tablet dashboard as it is. What i am really using this for is to cast my non-Google supported cameras to my Home Hub on certain actions. So, all my IP cameras have an HTTP stream that I can cast directly to my Home Hub using CATT.

2 Likes

@Ryan780, let me know how well this pans out. I plan to play with this soon but haven't had enough time as experiment with anything new recently. Hopefully by the time I'm ready, there'll be a docker container...and off we go :wink:

Alright, not done yet but the wife is making me go out for a while, lol.

Here's a new version to play with...

V1.0.1 - 08/16/19 - Name changed to 'Send to Hub with CATT', added a ton more commands, added some suggestions from @Ryan780, Thank you!

2 Likes

You're quite welcome!

New versions on Github...

Parent App: (CATT Director)
V1.0.0 - 08/15/19 - Initial release.

Child App: (CATT Director Child)
V1.0.0 - 08/17/19 - Initial release.

Driver Version: (Send to Hub with CATT)
V1.0.2 - 08/17/19 - Added more commands, fixed typo in volume

Looking forward to when I have time to play with this. Hopefully I can get this Sonos-Web UI working with it and itā€™s usable on the small screen.

1 Like

@bptworld What system did you use for this? I tried on a MacBook Pro tgatvis running High Sierra, but I often run into issue with getting updated versions of python working on a Mac, and did this time as well. I only have RPi Zero W right now, which Iā€™m assuming would be too underpowered for this. I have some spare PCs and spare old MacBook that I could load up with a flavor of Linux if that might do the trick. Any suggestions?

Step away from anything Apple... far far away! :wink: lol

I have it setup on my rPI 3. I used the same one that has my weeWX and Google Home Assistant Relay on it.

This is it here... amazon.com/gp/product/B01EKBJ1I6/

1 Like

:joy: Apple has served me well, and all the MacBooks I have used to run multiple node.js applications at once were no cost to me for the task.

Iā€™ll try the Zero W and see how it works out. If not Iā€™ll order a Pi3. Thanks!

suggestion on the telnet connection. instead of keeping a telnet connection open, which could be disconnected if idle depending on the pi config. how about setting it up to connect to a port you could still use telnet on the hubitat. it would take a little bit of config on the pi to tell init.d to fireup CATT and take the input.

personally I think having a telnet server running is a security issue.. :>

and Thank you for putting this together. definitely makes my hub useful compared to using the google interface to IOT..

The driver should automatically reconnect is the connection is dropped. As for the config of the pi (init.d). If it's not complicated, sure. I'd love to see how this is done. But remember, any 'extra' work and people just won't do it. Simple is always best.

If it's good enough to use with Lutron... then it's good enough for me. I now have 3 sessions open... Lutron, Send IP2IR and CATT. I guess I'm not a member of the tinfoil hat club! lol.

It's been years, and I'm having trouble remembering how to do it.

I guess my job is showing. note to self, must remember to take tinfoil hat off in public. telnet and r.services rsh rcp etc should never be used. so insecure. :>

OmniThing is the perfect thing to pair this with. It creates new child devices automatically. The OmniThing software or Catt don't have to be modified at all. You can issue "stop" command using the native integration or GAR or Cast web, which is much faster, and the connection is via HTTP calls. All around a very clean implementation. If theres interest I can document the steps I took sometime this weekend.

Has anyone dried making multiple CATT driver devices? Seems like "bad things happen", based on my testing.

When I add a 2nd driver (setup same as 1st driver except device name), then neither driver works.

EDIT: Never mind... sigh I tried it again and it is working now... Dunno.