SmartThings Community

[RELEASE] cast-web v1.2.1 - Chromecast Device Handler & SmartApp

I ended up figuring this out. So I thought I’d post in case anyone else ran into this.

The response from the getDevices call was returning a malformed object (missing some key value pairs) in the JSON. In my case, it was for my Vizio display. Rather than mess around with the with node API, I just took it offline while I did the discovery and it worked.

Maybe this one works on 4.4.2?

@vervallsweg Will these objects cause issues during the healthcheck (I removed the good ones to reduce confusion)?

    "deviceName": "ec8248721fb73ccc7903b5bc9edc18b4",
    "deviceAddress": "",
    "devicePort": 8009
    "deviceAddress": "",
    "devicePort": 9000

My Vizio TV seems to be reporting that for its Chromecast capabilities so when I took it offline temporarily, everything else worked.

I don’t remember on top of my head how the matching is done. I’ll look into it though. Someone opened a pull request to solve the issue your having on the API side. Honestly I just never expected that the OEM implementation could be that off.
I’m close to releasing v0.2, so that should be fixed in the update.


Sweet! Looking forward to the new release! Thanks!

Well what you have created here works. And works better than all the other solutions that send Chromecasts TTS audio. You have created a way for 1 to use true announcements and 2 to utilize the built in grouping function and 3 volume control (especially through webcore)! First thing I implemented was to change the volume on my Google Home’s based on time of day and location of that particular GH. I have one upstairs near my children’s bedroom that now get’s turned completely down at night so there is no fear of an announcement or a random wakeup making noise.

And while something like this is interesting:

What you have here is much more useful/powerful as far as groupings, individual GH assignment and webcore integration. Hell I bought a PI3 just for this project.


FYI, I tested “Speak and resume…” pretty thoroughly and no matter what I did it does not resume. Volume change does work however.

edit: and now that I started looking at the code I see why. :slight_smile: sorry for the obvious.

1 Like

Dory node.js Android app worked flawlessly for me.


Any questions on that pull request, feel free to ask. I spend a lot of time with node and js in general.

1 Like


Well it’s planned that resume at least works with presets. Just API needs one more feature then it should work already.

Is there a way to turn off and on a TV with Video Chromecast just like Google home can do it?

1 Like

What do you mean by that? Proper power control, like on and/off? That is not even supported by the GHome app. You can only reboot a cast device afaik. Reboot could be implemented.

If there is a way to power control a connected TV through a Cast device, let me know!

You can control TV’s that have CEC capable HDMI ports. At the moment I can tell my Google home to Turn Off my TV and it will infact power off the TV. When the TV is off I can tell my Google Home to play something on Netflix and it automatically turns my TV on. Here is a link that talks about this feature.

EDIT It is only available through voice control (Not through the app)

1 Like

:flushed: that’s awesome! Didn’t even know that exists! I’m definitely going to look into that.

1 Like

Thanks for all of your efforts. This DTH has made a big difference for me. Another feature I might add is Video Playback. Currently when I played a .MP4 it works but it doesn’t seem optimized. It showed a big semi transparent icon in front of the actual video playing.

1 Like

Can you maybe pm me the .mp4? Tried playing some blender videos when I developed the playback methods and at that time I didn’t see that…

Should be generic commands because I never at any point configured my TV to the Chromecast to know what model of TV that I had.

Sent. Thanks again.

1 Like

It’s HDMI CEC I’d assume. I knew the Chromecast did input switching via HDMI CEC, but not power control. I’ll look into it, but I cannot promise. Everything here is reverse engineered and not supported by Google. Thanks again.

Update: Yes it does use CEC and it never worked for me since I have Android TV. Will get a Chromecast from my old place and try it out the other day.


When using cast-web I’ve noticed that SHM can send audio notifications to Google home with several built in chime sounds (alarm, bell, dogs barking, fire alarm, piano, lightsaber, etc) when the SHM alarm is triggered. Are these sounds also available in webcore? If so, how can they be activated in webcore?