All Projects β†’ iobroker-community-adapters β†’ ioBroker.chromecast

iobroker-community-adapters / ioBroker.chromecast

Licence: MIT license
ioBroker Chromecast Adapter

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to ioBroker.chromecast

casita
A macOS menubar app to control media playing on your Google Cast enabled devices. 🏑
Stars: ✭ 22 (+29.41%)
Mutual labels:  chromecast, google-home
Go Chromecast
cli for Google Chromecast, Home devices and Cast Groups
Stars: ✭ 325 (+1811.76%)
Mutual labels:  chromecast, google-home
mirrorcast
Open Source Alternative to Chromecast, Mirror Desktop and Play media remotely.
Stars: ✭ 37 (+117.65%)
Mutual labels:  chromecast
ioBroker.smartcontrol
Control devices smarter: by grouping, including triggers like motion, opening window, etc. and set target devices accordingly
Stars: ✭ 20 (+17.65%)
Mutual labels:  iobroker
ioBroker.discovergy
Receive all data of Discovery API into ioBroker to have your energy consumption and delivery monitored
Stars: ✭ 15 (-11.76%)
Mutual labels:  iobroker
ioBroker.node-red
Instantiate the server with node-red
Stars: ✭ 50 (+194.12%)
Mutual labels:  iobroker
AirConnect-Synology
Updated AirConnect packages for Synology NAS and Synology Router
Stars: ✭ 200 (+1076.47%)
Mutual labels:  chromecast
ioBroker.denon
Denon AVR adapter for ioBroker
Stars: ✭ 15 (-11.76%)
Mutual labels:  iobroker
ioBroker.iqontrol
Fast Web-App for Visualization.
Stars: ✭ 59 (+247.06%)
Mutual labels:  iobroker
ioBroker.epson stylus px830
Zustand Druckerpatronen im EPSON Stylus PX830 fΓΌr ioBroker auslesen
Stars: ✭ 18 (+5.88%)
Mutual labels:  iobroker
ioBroker.ring
Ring Video Doorbell Adapter
Stars: ✭ 25 (+47.06%)
Mutual labels:  iobroker
ioBroker.alarm
little alarm sytem for iobroker
Stars: ✭ 22 (+29.41%)
Mutual labels:  iobroker
ha-google-home
Home Assistant Google Home custom component
Stars: ✭ 285 (+1576.47%)
Mutual labels:  google-home
castblock-legacy
Automatically skip integrated ads on youtube playing on chromecast
Stars: ✭ 82 (+382.35%)
Mutual labels:  chromecast
ioBroker.devices
Create and manage devices for other adapters like material, iot...
Stars: ✭ 19 (+11.76%)
Mutual labels:  iobroker
cast
A flutter cast plugin
Stars: ✭ 23 (+35.29%)
Mutual labels:  chromecast
ioBroker.lametric
Send notifications and other important information to your LaMetric time
Stars: ✭ 15 (-11.76%)
Mutual labels:  iobroker
Home-Assistant-Configuration
HomeAssistant Configuration
Stars: ✭ 14 (-17.65%)
Mutual labels:  google-home
ioBroker.hm-rpc
Connects HomeMatic Interface-Processes to ioBroker
Stars: ✭ 55 (+223.53%)
Mutual labels:  iobroker
bravia-node
No description or website provided.
Stars: ✭ 14 (-17.65%)
Mutual labels:  google-home

Logo

ioBroker.chromecast

Number of Installations Number of Installations NPM version

Test and Release Translation status Downloads

This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers. For more details and for information how to disable the error reporting see Sentry-Plugin Documentation! Sentry reporting is used starting with js-controller 3.0.

A Google Home adapter for ioBroker

This plugin allows to detect video and/or audio Google Home devices. For each detected Home device an ioBroker device is created. This device displays the status of the device and allows to send it a new URL to cast.

Build on top of the following projects:

Join the Discord server to discuss everything about ioBroker integration!

Instructions

  1. Install into ioBroker
    1. Go to your ioBroker Adapters tab
    2. Select and install Google Home adapter
  2. Add an instance of the Google Home adapter
    • it should automatically run after it is installed
  3. (optional) If you plan to stream local files you need to configure the adapter
    • you need to have an ioBroker web server instance
  4. Check your log: you should see logs about the detected devices
  5. Write an URL such as http://edge.live.mp3.mdn.newmedia.nacamar.net/ps-dieneue_rock/livestream_hi.mp3 to the chromecast.0.<your chromecast name>.player.url2play
  6. The URL should start playing on your device

Features

  • detect devices with multicast-dns
    • optionally add additional manually configured devices in admin pannel
  • create ioBroker objects for each found device
  • status, player, media and metadata channels
  • control Google Home device from adapter
    • set volume
    • mute/unmute
    • stop broadcasting
    • pause
    • play url (chromecast.0.<your Google Home name>.player.url2play)
      • tested with MP3
        • Full list of formats here.
      • when the url does not start with http then assume that this is a local file
        • export file via ioBroker web server
      • it only plays fist file from playlist files such as .m3u
  • Vis widget
  • Initial support for Chromecast audio groups
    • Note: this does not work with SSDP -> disable by default in adapter settings
  • Play again last played stream: just set chromecast.0.<your device>.status.playing to true

What is missing?

  • add state machine to track states: detected ->connected -> player loader -> playing
  • add retries: sometimes the Google Home fails to respond to a request
  • more testing

Changelog

3.0.3 (2022-08-26)

  • (jey cee) Breaking change: Object IDs are now mac addresses instead names
  • (Bjoern3003) set album name as song if provided in icy-name
  • (Apollon77/aortmannm) Make compatible with Node.js 16+
  • (Apollon77) Add Sentry for crash reporting

2.3.1 (2019-10-23)

  • (angelnu) Tested compact mode works in Linux and Windows

2.2.3 (2019-03-19)

  • news

2.2.2 (2019-02-01)

  • Fix missing reference when mDNS update is received

2.2.1 (2019-01-29)

  • Remove mandatory dependency on vis adapter

2.2.0 (2019-01-15)

  • Option to configure device URLs manually (when devices are in a different subnetwork)

2.1.5 (2019-01-14)

  • Reconnect on mDNS updates

2.0.2 (2019-01-06)

  • (angelnu) compact mode support

2.0.0 (2018-07-22)

  • (bluefox) refactoring and add new states for material

1.4.3 (2018-04-03)

  • Added enabled flag so some adapters can be ignored

1.4.2 (2018-01-30)

  • Always use volume parameter for announcements

1.4.1 (2018-01-06)

  • Fix for languages in io-package

1.4.0 (2017.11.26)

  • (angelnu) Support for additional languages
  • (angelnu) Support for version 3 of the Admin adapter

1.3.4 (2017.11.26)

  • (angelnu) Update to latest cast2-player - wait for announcement

1.3.4 (2017.11.25)

  • (angelnu) Rename to Google Home

1.3.3 (2017.11.24)

  • (bluefox) bump a version

1.3.2

  • (Vegetto) recognize uncompleted playlist status and trigger a new getStatus

1.3.1

  • (Vegetto) Fix updateStates to accept null values
  • (Vegetto) Add playlist currentItemdId

1.3.0

  • (Vegetto) Create playlist channel with raw playlist and repeat modes
  • (Vegetto) Moved jump and repeatMode from player to plalist channel

1.2.2

  • (Vegetto) Forgot to step up version.

1.2.2

  • (Vegetto) Update to player 1.1.3 - support relative paths in playlists

1.2.1

  • (Vegetto) Update to player 1.1.2 - reconnect on url2play

1.2.0

  • (Vegetto) Mayor rework
    • Chromecast player and scanner splitted into a separated module
    • Support for playlists
    • Improved MIME detection - OGG files work now
    • Support for announcements - playlist resume after completing announcement
    • Support to jump between playlist entries

1.1.3

  • (Vegetto) bugfix - media title was not kept to url when streamTitle not present

1.1.2

  • (Vegetto) Update npm dependencies in package.json to latest versions

1.1.1

  • (Vegetto) bugfix - not playing when another chromecast playing same url
  • (Vegetto) added additional logs

1.1.0

  • (Vegetto) Added support for playlist m3u, asx and pls files - play first entry

1.0.9

  • (Vegetto) Do not use this in callbacks. Replaced with that
  • (Vegetto) Fix contentId not being updated. This was breaking the play last stream feature

1.0.8

  • (Vegetto) Do not try to stop if not playing

1.0.7

  • (Vegetto) Show MultizoneLeader as playing
  • (Vegetto) Set pause state to false when modified and device is not playing

1.0.6

  • (Vegetto) Fix widget crashing when devId is not set

1.0.2

  • (Vegetto) Fix deprecation warning - use dns-txt instead of mdns-txt

1.0.1

  • (Vegetto) Fix exception

1.0.0

  • (Vegetto) Try to play last played URL when setting playing state to true
  • (Vegetto) Fix jshint and jscs findings

0.2.1

  • (Vegetto) Update readme
  • (Vegetto) Integrated into iobroker: listed there

0.2.0

  • (Vegetto) Add vis widget (Alpha)
  • (Vegetto) Performance improvements

0.1.4

  • (Vegetto) Stability fixes - error handling, race-condition fixes, etc
  • (Vegetto) Clean getMediaInfo handler when disconnecting player
  • (Vegetto) Added support to retrieve ICY metadata from https sources
  • (Vegetto) Moved code for querying media info to a separate class
  • (Vegetto) Support dynamic IP/port changes (audio groups)

0.1.3

  • (Vegetto) Added re-connection with retries. Will try for up 42 hours.
  • (Vegetto) Support for triggering a reconnection by writing to .status.connected
  • (Vegetto) Fixed race condition when playing local file
  • (Vegetto) Added support for playing local files
  • (Bluefox) Russian translations
  • (Vegetto) Update stale metadata when not present in player status
  • (Vegetto) Initial support for audio groups
  • (Vegetto) Retrieve media type and title from URLs that support ICY
  • (Vegetto) Added displayName, isActiveInput and isStandBy status

0.1.2

  • (Vegetto) Merge base

0.1.1

  • (Vegetto) Fix package syntax
  • (Vegetto) Fix package dependencies

0.1.0

  • (Vegetto) Initial release

License

The MIT License (MIT)

Copyright (c) 2015-2022 Vegetto [email protected], 2022 ioBroker Community Developers

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

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].