[RELEASE] cast-web 1.1.0 - Chromecast Device Handler & SmartApps


(Scott Bronder) #742

I have a problem. I have cast-web running on a linux box and everything seems to be working until after I run discovery. It finds all my devices, but if I pick a device and then hit next I just get a blank screen. I used to run this service on windows and when I clicked next it would verify the device I picked with a long string of characters. Any thoughts?


Are you using the classic app or STSC?

(Scott Bronder) #744

Classic App


Try rebooting your sever. You’ve enabled Oauth for the app?

When you moved from one server to the other, did you uninstall and re-install the app or just modify the IP address of the server in the cast-web connect app?

(Scott Bronder) #746

Oath is not enabled. When I moved from windows to Linux I removed all my devices and the smart app through Smarthings API web. I then added a new smart app, gave it my linux machines IP/port and went from there.

(Scott Bronder) #747

Rebooted, same outcome. After I discover my devices, it finds all my devices but when I select one and hit next I just get a blank screen. Is there something on the server I can look for (logs) that will help? I just started the cast-web-api up from the command line to watch it’s output and after it starts I see it run discovery and return all my devices.

I do see the command line also return errors as such as well as my device discovery:

2018-12-27T17:42:52.485Z discover(): exception while prcessing service: TypeError: Cannot read property ‘0’ of undefined


What type of GH devices are you trying to add? Did they work before?

(Scott Bronder) #749

I’m adding a few different things that all worked when I was hitting my windows sever.

  1. 2 Google Home’s
  2. 6 Google Mini’s
  3. 3 Insignia Smart Speakers
  4. 1 Lenovo Home Hub

Just to test sanity I removed the smart app and then added it back with my windows server and everything works as described. Maybe something else I’m running on that Linux box? That Linux machine is running mqtt to smarthings server on it and I feel like I’ve had issues with something else due to that piece running.


That’s possible. What ports does that use? Cast web API will use several different ports in addition to 3000 it uses to connect to ST. You might want to try using a docker installation with the Docker Bridge network. I haven’t figured out how to do that yet though. You can try to test it by stopping the MQTT server and seeing if it works.
Just out of curiosity, what type of Linux server are we talking about here? They do meet the minimum requirements for the Google Assistant SDK, right? Has to be at least ARM7 (not AM6) for example.

(Scott Bronder) #751

I’m running image

I stopped the dock running smart-things mqtt server and still get nothing. Same old story.

Add a new cast-web, enter the linux machines IP/Port (running on 4000 as 3000 gets in the way of UNMS), discover (it finds all 19 devices), go to add one… and then i’m greeted with a blank page in the classic Smartthings app.

** I also tried stopping all my docker containers as well. UNMS, Node-Red, Smartthings-mqtt


Is Cast web running in Docker? Do you have all ports forwarded to your container or just 4000? I’m willing to bet it’s docker that’s doing it.

(Joe) #753

For a while I’ve been having an issue where I try to cast via Webcore to a GH device and all I get is a beep with no spoken text. Using the same webcore script I’m able to have my Amazon tablets speak the same text, so it isn’t the script. Not sure if issue is with the Cast-Web app or my router settings (I haven’t customized any or changed routers but it is possible Verizon did something on their end to change security) or maybe something else. Any suggestions?

(Alwas) #754

Are you using the default Google TTS? Or did you change to a different voice?

(Joe) #755

Yes - default voice

(Joe) #756

Got this to work by doing npm update on node.js. Can’t say I exactly knew what I was doing but followed some web directions after seeing error message in node.js log of “get key failed from google”. If anyone else is having this problem I hope this helps.

(Ricky Turner) #757

Good afternoon,

I’ve read and tried everything here, and I still have all devices showing up as cast-web-device.

Everything went very smoothly. I’m running the api on a raspberry pi.

  • When I Test API connection in the SmartApp, it says “Connected OK: 200”
  • When I discover devices, it finds 12, all listed perfectly as I have them named.
  • When I add devices from the list, it lists them with their IDs fine
  • I can access the api from any device or browser just fine, and it shows me v1.0.2
  • The devices listed can pause and playback something I’ve already started casting
  • When I try to open the cast-web-device devices, it flashes white and goes back to the things list.
  • I’ve definitely done everything on the FAQ page, including individually reinstalling every DTH and the smartapp, even reinstalled the api on the pi.

I’m definitely on the same network (only have one) and do not have any kind of firewall…

Is there something I can try next, or log something somehow? I know that when I runn the api manually, there are a lot of red errors that come up when I’m trying to access the cast-web-device in the things list, and at other times when I add devices, etc. Thanks in advance for your help. This looks like exactly what I’ve been looking for!

Update: I just installed node.js and the api on a Windows machine, and everything is the same. Same exact issues.


What do you mean, when you try to open the cast web devices? Where are you trying to open them?

(Ricky Turner) #759

I’m referring to clicking the thingsIn the things list, all of which are named cast-web-device.
When I click the play/pause directly from the list, they actually do that function. But I can’t open the things


Can you provide a screenshot of what you are talking about? in the device list? in the smartapp? where?

(Ricky Turner) #761