All Projects → nohum → chromecast-mqtt-connector

nohum / chromecast-mqtt-connector

Licence: MPL-2.0 license
Make your Chromecast devices discoverable and controllable via MQTT.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to chromecast-mqtt-connector

Pychromecast
Library for Python 3 to communicate with the Google Chromecast.
Stars: ✭ 2,262 (+5555%)
Mutual labels:  chromecast, internet-of-things, cast
android-cast-remote-display-sample
📻 Google Cast's Remote Display Sample for Android
Stars: ✭ 38 (-5%)
Mutual labels:  chromecast, cast
chromecast-api
📺 Chromecast Node.js module
Stars: ✭ 122 (+205%)
Mutual labels:  chromecast, cast
casita
A macOS menubar app to control media playing on your Google Cast enabled devices. 🏡
Stars: ✭ 22 (-45%)
Mutual labels:  chromecast, cast
Pi-OpenCast
📺 Transform your Raspberry Pi into an awesome streaming device.
Stars: ✭ 29 (-27.5%)
Mutual labels:  chromecast, cast
punchtop
A power hour written in rust with Chromecast support
Stars: ✭ 26 (-35%)
Mutual labels:  chromecast, cast
vlitejs
🦋 vLitejs is a fast and lightweight Javascript library for customizing video and audio player in Javascript with a minimalist theme (HTML5, Youtube, Vimeo, Dailymotion)
Stars: ✭ 162 (+305%)
Mutual labels:  chromecast, cast
path planning GAN
Path Planning using Generative Adversarial Network (GAN)
Stars: ✭ 36 (-10%)
Mutual labels:  internet-of-things
ioBroker.chromecast
ioBroker Chromecast Adapter
Stars: ✭ 17 (-57.5%)
Mutual labels:  chromecast
IOThook
IOT, Restful, Web service, Web Api
Stars: ✭ 25 (-37.5%)
Mutual labels:  internet-of-things
AVPlayerItemHomeOutput
Coordinate the output of content associated with your HomeKit lightbulbs. #Ambilight
Stars: ✭ 38 (-5%)
Mutual labels:  internet-of-things
Home-Assistant
Home-Assistant-Config
Stars: ✭ 186 (+365%)
Mutual labels:  internet-of-things
CheerLights
CheerLights is an “Internet of Things” project created by Hans Scharler that allows people’s lights all across the world to synchronize to one color set by Twitter. This is a way to connect physical things with social networking experiences and spread cheer at the same time. We are all connected.
Stars: ✭ 34 (-15%)
Mutual labels:  internet-of-things
Chromecast
Chromecast desktop app: Node.js, Electron, React & Material-UI.
Stars: ✭ 49 (+22.5%)
Mutual labels:  chromecast
shellcast
Shellcasting client and server
Stars: ✭ 26 (-35%)
Mutual labels:  cast
awesome-IoT
A curated list of awesome Internet of Things(IoT) platforms, libraries and apps.
Stars: ✭ 22 (-45%)
Mutual labels:  internet-of-things
edje
Edje project (ARCHIVED)
Stars: ✭ 16 (-60%)
Mutual labels:  internet-of-things
MicrosoftCloudWorkshop-Asia
Microsoft Cloud Workshop Asia for Intelligent Cloud / Intelligent Edge
Stars: ✭ 20 (-50%)
Mutual labels:  internet-of-things
balena-rpiplay
Turn a Raspberry Pi into an Airplay server using RPiPlay to enable screen mirroring on tvs, monitors and projectors.
Stars: ✭ 1,341 (+3252.5%)
Mutual labels:  cast
sky-remote
NodeJS module to send remote control commands to a Sky TV box
Stars: ✭ 53 (+32.5%)
Mutual labels:  internet-of-things

Chromecast MQTT connector

Provides status information and control capabilities of your Chromecast devices via MQTT.

Installation requirements

  • Python 3.6+
  • pychromecast
  • paho-mqtt

You can install the requirements in their correct versions using pip3 install -r requirements.txt.

Discovery and control

Using MQTT you can find the following topics. friendly_name is the name used to connect to each Chromecast.

# - read only
chromecast/friendly_name/friendly_name
chromecast/friendly_name/connection_status
chromecast/friendly_name/cast_type
chromecast/friendly_name/current_app
chromecast/friendly_name/player_duration
chromecast/friendly_name/player_position
chromecast/friendly_name/player_state
chromecast/friendly_name/volume_level
chromecast/friendly_name/volume_muted
chromecast/friendly_name/media/title
chromecast/friendly_name/media/album_name
chromecast/friendly_name/media/artist
chromecast/friendly_name/media/album_artist
chromecast/friendly_name/media/track
chromecast/friendly_name/media/images
chromecast/friendly_name/media/content_type
chromecast/friendly_name/media/content_url

# - writable
chromecast/friendly_name/command/volume_level
chromecast/friendly_name/command/volume_muted
chromecast/friendly_name/command/player_position
chromecast/friendly_name/command/player_state

Control the player by publishing values to the four topics above.

Change volume using values from 0 to 100:

  • Absolute: publish e.g. 55 to chromecast/friendly_name/command/volume_level
  • Relative: publish e.g. +5 or -5 to chromecast/friendly_name/command/volume_level

Change mute state: publish 0 or 1 to chromecast/friendly_name/command/volume_muted.

Play something: Publish a json array with two elements (content url and content type) to chromecast/friendly_name/command/player_state, e.g. ["http://your.stream.url.here", "audio/mpeg"]. You can also just publish a URL to player_state (just as string, not as json array, e.g. http://your.stream.url.here), the application then tries to guess the required MIME type.

For other player controls, simply publish e.g. RESUME, PAUSE, STOP, SKIP or REWIND to chromecast/friendly_name/command/player_state. Attention: This is case-sensitive!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].