SmartThings Community

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



I want to use the speech synthesis capability to speak in other voices and languages. Don’t see anything there in the capability reference that would help me figure that part out.

(Brenden) #373

I’m having the same issue as @Jesus_Rodriguez. Running on a Win10 machine. Debug doesn’t give me any real indication of what is happening.

(Csietsema) #374

Hey so I have been trying to get this to work for awhile now and every time I get the same error. http:// error 500 When debugging in node I get this when I type IP:3000\castwebapi.js


If you could help me out this this error code I’d greatly appreciate it!

(Tobias) #375

Yes, because afaik ST doesn’t support it. I guess they want stuff like this to be implemented through external smartapps. Someone over on GitHub actually built support for Google TTS on the API side. I’m just not sure if that is the right place for this.
Since so many people ask me for this, I’ll figure something out for that.

Because it’s not activated properly. In your case the command would be DEBUG=cast-web-api cast-web-api This command will start the API as well. If it doesn’t start the API, Windows needs some special command again, just post the output here.

Ok, so the first error from the pic means that this address:port combination is already used by a different application. Either close that application or change the port by using the --port={your new port} argument.

Ahm… I have a hard time following what you’re trying to do. Where do you type this? This is not a command I recognize. It also looks like the command you used in the pic is node {your ip}:{your port}/castWebApi.js I don’t recognize this command either and don’t know how you ended up using it.

Which install instructions did you use? Also need to know the exact commands you’re using. Feel free to pm me with the un edited screenshots.

(Brenden) #376

Okay here is what I’m seeing:

throw err;

(Brenden) #377

Also, I saw that it was mentioned that the error I’m getting is from a port conflict… but any port I try to set it to I get the same result. Server shows it is running at [host]:port, I can get the cast-web-api version when going to that address, but trying it with the /getDevices switch just give an error 500.

(Tobias) #378

Just get back to me in pm now, thank you :slight_smile:


Anyone else have trouble uninstalling this app? I can’t seem to get it to remove. I’ve tried deleting all the child devices but still nothing.

(Tobias) #380

Also experienced that. Have no idea why. Uninstalling all child apps worked for me. If it doesn’t for you, go to the IDE and remove it from the installed smartapps section.


Tried that won’t uninstall from the IDE.

(Tobias) #382

And let me guess logging doesn’t give you a proper error message? That’s at least what I experienced…

(Tobias) #383

Hey there!

For the past weeks and months I’ve been quite busy working on version 1.0.0 of the API and DTHs.

Version 1.0.0 has now come to a stable point where I’m looking for beta testers, to find bugs and send me feedback.

I tried to address the most annoying shortcomings of cast-web and made the following improvements:

  • no more polling, the API stays constantly connected to the cast-device and updates ST the second that something changes
  • audio notifications can now resume the preset that was playing before the notification was played (or play on you specified in settings)
  • audio notifications can now use Google TTS in different languages/voices
  • playback of queued content
  • automatic group detection and new Google cast icons

The revamped API is the foundation for even more exiting features in the next release. It also allows for an easier transition should the groovy IDE go away in the future.

Here’s what you need to accept if you want to use the beta:

  • investing some time and work
  • replacing your current API with version 1.0.0 through npm@beta
  • removing all your current cast-web devices and Smartapp from ST
  • installing the new Smartapp and two new DTHs for the beta
  • things might crash
  • things might not be as reliable as they were before, until we can fix the bugs you’re experiencing
  • doing something good for other users since you made the release more stable :wink:

Of course, if things get too wild for you in the beta you can always revert to the current version of the API and cast-web. Just keep in mind that this will take a couple of minutes.

If you can accept everything that I mentioned above pm me and I’ll send you the links and install instructions for v1.0.0.

Every beta tester is highly appreciated :slight_smile:


I’m interested, but what are your intentions with regards to the beta channel- will you keep all the improvements there that eventually make it to the stable branch? (e.g. the final beta version will be equivalent to the public release)

Second, how easy would it be to transition from the beta to the stable release of v1.0.0?

Last, as far as existing v0.3.0 users, will they have to redo their setup to transition to v1.0.0 or will that happen automatically during the update?

(Tobias) #385

Yes. Once the beta channel reaches a stable and tested level, I’ll just relabel it to be v1.0.0 for release.

The beta is feature complete. So it should be npm update and then copy and paste the DTHs, smartapps. No need to reinstall.
But I cannot guarantee anything here. As said, it’s a beta, things can break. They shouldn’t and I’ll do my best that they won’t but there’s no 100% guarantee.

That’s a tough one… v1 brings a complete architectural change. It’s no longer just SM > cast-web, now it’s SM > cast-web-api > cast-web. Afaik it’s impossible to change that programmatically. But v0.3 won’t be going anywhere. Only if you want the new features you’ll need to take the time to remove/add your devices.

(dennis) #386

Well… i can’t figure it out. installed docker, found a image:

started it running, still doesn’t work. can’t find a way to give it a static ipadres, mayb thats all… can’t get it clear what’s still needed

Is it a option for anyone to make a guide how to get this working on synology?


Have been using your api all this while but have recently ditched ST and moved to Hubitat. Any chance that the api will run on that since most smart apps and dth can be quite easily ported over there.

Happy to beta test on Hubitat…

(Tobias) #388

After v1 is released I’ll look into Hubitat. I don’t own one, so I’ll definitely come back to you :slight_smile:

V1 still has some minor bugs I’m working on, but the beta test is going pretty good.

(Tobias) #389

Have you found a solution yet?

I’m sorry, I haven’t used Synology in years and never used docker. I think some people here are using it with Synology, not sure if all of them use docker.

From what I remember the options are:

  • node.js community packae
  • debian chroot (and install node on top)
  • docker


Sweet. Good to hear that. Can’t live without my notifications :slight_smile:

Is there a way to use webCore’s GET/POST request to send information to the app?

I still have the app on my Rpi and it’s still running. Managed so far to only get volume control by doing x.x.x.x:3000/setDeviceVolume?address= - this is working so far…

Can i send a text command through something similar?

(Tobias) #391

No, v0.3 completely relies on ST for TTS. However v1 can use Google TTS independent from ST.

You can install it through npm install cast-web-api@beta -g . After you started it you can use /playMedia (preferable POST) with the option "GoogleTTS":"{lang-code}", to read out text.

However you can use v0.3 if you use some kind of external TTS service. If you had the url of the TTS file, you can just play it like any other mp3 file on a cast device through the API..

Which app? Like bridge from ST to Hubitat through webCoRE?