Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pip install version of chromecast - PyChromecast-0.5.1.1-py3.4.egg-info #32

Closed
marchon opened this issue Feb 20, 2015 · 7 comments
Closed

Comments

@marchon
Copy link

marchon commented Feb 20, 2015

Has a bug causing it to fail talking to chromecasts. the bug was fixed in
home-assistant-libs/pychromecast@ac4eb58

but anyone installing from pip will have a failure.

I went and fixed it and was going to put in a pull request - only to find it was tracked down and done.

Is it possible for you to rebuild and republish the pychromecast library for pip referred to in requirements.txt or put a forked version up that fixes the problem and add that to the requirements.txt

(env)marchon@cargo:~/home-assistant/env/lib/python3.4/site-packages/PyChromecast-0.5.1.1-py3.4.egg-info$ cat *

../pychromecast/upnp.py
../pychromecast/websocket.py
../pychromecast/config.py
../pychromecast/dial.py
../pychromecast/error.py
../pychromecast/init.py
../pychromecast/youtube.py
../pychromecast/pycache/upnp.cpython-34.pyc
../pychromecast/pycache/websocket.cpython-34.pyc
../pychromecast/pycache/config.cpython-34.pyc
../pychromecast/pycache/dial.cpython-34.pyc
../pychromecast/pycache/error.cpython-34.pyc
../pychromecast/pycache/init.cpython-34.pyc
../pychromecast/pycache/youtube.cpython-34.pyc
./
not-zip-safe
SOURCES.txt
requires.txt
PKG-INFO
top_level.txt
dependency_links.txt

Metadata-Version: 1.1
Name: PyChromecast
Version: 0.5.1.1
Summary: Python module to talk to Google Chromecast.
Home-page: https://github.com/balloob/pychromecast
Author: Paulus Schoutsen
Author-email: [email protected]
License: MIT
Description: UNKNOWN
Platform: any
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries :: Python Modules
requests
ws4py
setup.cfg
setup.py
PyChromecast.egg-info/PKG-INFO
PyChromecast.egg-info/SOURCES.txt
PyChromecast.egg-info/dependency_links.txt
PyChromecast.egg-info/not-zip-safe
PyChromecast.egg-info/requires.txt
PyChromecast.egg-info/top_level.txt
pychromecast/init.py
pychromecast/config.py
pychromecast/dial.py
pychromecast/error.py
pychromecast/upnp.py
pychromecast/websocket.py
pychromecast/youtube.pypychromecast

@marchon
Copy link
Author

marchon commented Feb 20, 2015

the error that was generated was

Traceback (most recent call last):
  File "/home/marchon/home-assistant/homeassistant/__init__.py", line 273, in job_handler
    func(arg)
  File "/home/marchon/home-assistant/homeassistant/__init__.py", line 757, in _execute_service
    service(call)
  File "/home/marchon/home-assistant/homeassistant/components/chromecast.py", line 325, in <lambda>
    play_youtube_video_service(service, "eyU3bRy2x44"))
  File "/home/marchon/home-assistant/homeassistant/components/chromecast.py", line 297, in play_youtube_video_service
    pychromecast.play_youtube_video(video_id, cast.host)
  File "/home/marchon/home-assistant/env/lib/python3.4/site-packages/pychromecast/youtube.py", line 14, in play_youtube_video
    _start_youtube(data, host, cast, **filters)
  File "/home/marchon/home-assistant/env/lib/python3.4/site-packages/pychromecast/youtube.py", line 36, in _start_youtube
    cast = get_chromecast(strict=False, **filters)
  File "/home/marchon/home-assistant/env/lib/python3.4/site-packages/pychromecast/__init__.py", line 98, in get_chromecast
    results = get_chromecasts(**filters)
  File "/home/marchon/home-assistant/env/lib/python3.4/site-packages/pychromecast/__init__.py", line 62, in get_chromecasts
    if chromecast.host != filter['ip']:
TypeError: 'type' object is not subscriptable

@balloob
Copy link
Member

balloob commented Feb 21, 2015

The current Chromecast support broken. Chromecasts have migrated to use a new API last year based on Google Protobuf. PyChromecast has been updated but it does not support Python 3 yet, it is waiting for the new release of Protobuf 3 that will support Python 3 to push a new version to PIP.

@marchon
Copy link
Author

marchon commented Feb 21, 2015

pip currently supports cloning over git, git+http and git+ssh:

git+git://git.myproject.org/MyProject#egg=MyProject
git+http://git.myproject.org/MyProject#egg=MyProject
git+ssh://git.myproject.org/MyProject#egg=MyProject

On Sat, Feb 21, 2015 at 1:06 PM, Paulus Schoutsen [email protected]
wrote:

The current Chromecast support broken. Chromecasts have migrated to use a
new API last year based on Google Protobuf. PyChromecast has been updated
but it does not support Python 3 yet, it is waiting for the new release of
Protobuf 3 that will support Python 3 to push a new version to PIP.


Reply to this email directly or view it on GitHub
#32 (comment)
.

P THINK BEFORE PRINTING: is it really necessary?

This e-mail and its attachments are confidential and solely for the
intended addressee(s). Do not share or use them without approval. If
received in error, contact the sender
and delete them.

@hansmbakker
Copy link
Contributor

protobuf 3 currently has alpha2 on PyPi with alpha3 in the works. Is it worth spending time/effort trying to get this to work with pychromecast / python 3 / home assistant?

@balloob
Copy link
Member

balloob commented May 25, 2015

It shouldn't be too hard to get it working with Protobuf 3. There have been some API breaking changes between PyChromecast 0.5 and 0.6, but nothing major.

@hansmbakker
Copy link
Contributor

have a look at home-assistant-libs/pychromecast#44 :)

@hansmbakker
Copy link
Contributor

I think that this bug can be closed since new chromecast support is in the works and a new pychromecast version is on PyPi

balloob pushed a commit that referenced this issue Jan 21, 2017
* cec client object

* cec command structure

* autodetect source

* volume support and native source select

* switch device

* media player device

* detecting of state

* friendly names

* hdmi cec properties

* presence detection

* simplified callbacks

* stable names

* renamed methods

* code cleanup

* name with vendor

* fixed standby call name

* fake standby/poweron

* domain switch

* domain switch

* async updating

* update separated

* cec -> hass event bridge

* fixed name generation

* code cleanup

* code cleanup

* icon constants

* code cleanup

* do not register unavailable devices

* discovery of deevices

* code cleanup

* cec device discovery

* moved method implementation into child

* service descriptions

* service descriptions

* service descriptions

* changed entity init sequence

* logging cleanup

* add remove as job

* closing cec, no service schemas

* correct iterate over dictionary

* Volume by commands

* threading

* logging minimized

* get load out of main thread

* naming cleanup

* get load out of main thread

* optimized discovery

* async where possible

* cleanup logging, constructors first

* pydoc

* formatting

* no async_update from out of loop
no hiding entities
removed redundant device_state_attributes
async updating presence

* no async

* working async cec

* cec in thirdparty lib

* cec initialized oudsice

* working without SIGSEGV

* rollbacked file changed by mistake

* sending of commands

* working with ha

* using hass loop and device driven updates

* version up

* version up

* Command types in pycec, cleanup for HA integration

* Removed media player, state moved to switch

* service descriptions

* requirements: pyCEC

* line width to 79

* doc

* doc

* overindentation solved

* HDMI to uppercase

* minimal dependency on cec

* removed unwanted line

* doc wording

* margin 79

* line continuation indent

* imperative doc

* lint: indentation

* fixed overindented

* fixed overindented

* fixed overindented

* fixed overindented

* order of imports

* PEP8

* keep signature of overriding

* removed redundant blank line

* fixed update call method (#4)

* Preparation for merge to upstream (#5)

* newer version of pyCEC
* updated services.yaml
* fixed lint scrpt to operate only on python files

* pycec version up

* update services

* no coverage report

* exclude non python files from lint

* lint only on python files

* Dev (#6)

* reordered
* sending nonserialized data through hass.data
* code formatting
* code formatting
* import order

* Dev (#7)

* newer version of pyCEC
* updated services.yaml
* fixed lint scrpt to operate only on python files

* pycec version up

* update services

* no coverage report

* exclude non python files from lint

* lint only on python files

* reordered

* sending nonserialized data through hass.data

* import order

* fixed object handling

* code formatting

* Backwards compatibility of hdmi_cec (#10)

* services:
power_on
standby
active_source

* new version of pyCEC (#12)

* newer version of pyCEC

* devices config (#13)

* getting device name from config

* shutdown fix (#14)


* correct call on shutdown

* remove misplaced annotations (#15)

* Preparation for merge to upstream (#5)

* newer version of pyCEC
* updated services.yaml
* reordered
* sending nonserialized data through hass.data
* services:
power_on
standby
active_source
* code formatting
* getting device name from config
* correct call on shutdown

* pyCEC version 0.3.6 (#18)

* newer version of pyCEC
* updated services.yaml
* sending nonserialized data through hass.data
* services:
** power_on
** standby
** active_source
* getting device name from config
* correct call on shutdown
* fork new thread on multicore machines
* support both config schemas: original and new (#16)
* volume press and release support (#17)

* support for media_player (#21)

* accept hexadecimal format of commands
* support for media player
* platform customization
* type constants

* Dev (#23)

* accept hexadecimal format of commands
* support for media player
* platform customization

* TCP CEC support (#24)

* accept hexadecimal format of commands
* support for media player
* platform customization
* preparing tcp support

* volume handling (#25)

* Incorporated CR remarks (#26)

* cleanup imports
* cleanup and enhance services description
* removed unwanted file

* implemented CR remarks (#27)

* pyCEC v0.4.6
* pined dependency version
* tighten service schemas

* requirements (#28)

* incorporate remarks from users (#32)

* home-assistant-31 make mute schema better (#31)

* pycec-30 pyCEC version up (#30)

* pycec-30 pyCEC version up (#30)

* home-assistant-30 OSD display name from configuration (#30) (#33)

* Home assistant 29 (#34)

* home-assistant-29 counting from 0 (#29)

* Home assistant 31 (#35)

* home-assistant-31 add support for mute-on and mute-off (#31)

* home-assistant-31 pyCEC version up (#31)

* Home assistant 31 (#36)

* home-assistant-31 Limit OSD name to 13 chars (#31)

* home-assistant-31 Limit OSD name to 13 chars moved to CEC adapter (#31)

* home-assistant-31 version up (#31)

* home-assistant-31 formatting (#31)

* formatting

* service description

* service description

* single attribute for volume

* fixed mute on -> mute off

* moved config constant from core into component
balloob pushed a commit that referenced this issue Jan 23, 2017
* cec client object

* cec command structure

* autodetect source

* volume support and native source select

* switch device

* media player device

* detecting of state

* friendly names

* hdmi cec properties

* presence detection

* simplified callbacks

* stable names

* renamed methods

* code cleanup

* name with vendor

* fixed standby call name

* fake standby/poweron

* domain switch

* domain switch

* async updating

* update separated

* cec -> hass event bridge

* fixed name generation

* code cleanup

* code cleanup

* icon constants

* code cleanup

* do not register unavailable devices

* discovery of deevices

* code cleanup

* cec device discovery

* moved method implementation into child

* service descriptions

* service descriptions

* service descriptions

* changed entity init sequence

* logging cleanup

* add remove as job

* closing cec, no service schemas

* correct iterate over dictionary

* Volume by commands

* threading

* logging minimized

* get load out of main thread

* naming cleanup

* get load out of main thread

* optimized discovery

* async where possible

* cleanup logging, constructors first

* pydoc

* formatting

* no async_update from out of loop
no hiding entities
removed redundant device_state_attributes
async updating presence

* no async

* working async cec

* cec in thirdparty lib

* cec initialized oudsice

* working without SIGSEGV

* rollbacked file changed by mistake

* sending of commands

* working with ha

* using hass loop and device driven updates

* version up

* version up

* Command types in pycec, cleanup for HA integration

* Removed media player, state moved to switch

* service descriptions

* requirements: pyCEC

* line width to 79

* doc

* doc

* overindentation solved

* HDMI to uppercase

* minimal dependency on cec

* removed unwanted line

* doc wording

* margin 79

* line continuation indent

* imperative doc

* lint: indentation

* fixed overindented

* fixed overindented

* fixed overindented

* fixed overindented

* order of imports

* PEP8

* keep signature of overriding

* removed redundant blank line

* fixed update call method (#4)

* Preparation for merge to upstream (#5)

* newer version of pyCEC
* updated services.yaml
* fixed lint scrpt to operate only on python files

* pycec version up

* update services

* no coverage report

* exclude non python files from lint

* lint only on python files

* Dev (#6)

* reordered
* sending nonserialized data through hass.data
* code formatting
* code formatting
* import order

* Dev (#7)

* newer version of pyCEC
* updated services.yaml
* fixed lint scrpt to operate only on python files

* pycec version up

* update services

* no coverage report

* exclude non python files from lint

* lint only on python files

* reordered

* sending nonserialized data through hass.data

* import order

* fixed object handling

* code formatting

* Backwards compatibility of hdmi_cec (#10)

* services:
power_on
standby
active_source

* new version of pyCEC (#12)

* newer version of pyCEC

* devices config (#13)

* getting device name from config

* shutdown fix (#14)


* correct call on shutdown

* remove misplaced annotations (#15)

* Preparation for merge to upstream (#5)

* newer version of pyCEC
* updated services.yaml
* reordered
* sending nonserialized data through hass.data
* services:
power_on
standby
active_source
* code formatting
* getting device name from config
* correct call on shutdown

* pyCEC version 0.3.6 (#18)

* newer version of pyCEC
* updated services.yaml
* sending nonserialized data through hass.data
* services:
** power_on
** standby
** active_source
* getting device name from config
* correct call on shutdown
* fork new thread on multicore machines
* support both config schemas: original and new (#16)
* volume press and release support (#17)

* support for media_player (#21)

* accept hexadecimal format of commands
* support for media player
* platform customization
* type constants

* Dev (#23)

* accept hexadecimal format of commands
* support for media player
* platform customization

* TCP CEC support (#24)

* accept hexadecimal format of commands
* support for media player
* platform customization
* preparing tcp support

* volume handling (#25)

* Incorporated CR remarks (#26)

* cleanup imports
* cleanup and enhance services description
* removed unwanted file

* implemented CR remarks (#27)

* pyCEC v0.4.6
* pined dependency version
* tighten service schemas

* requirements (#28)

* incorporate remarks from users (#32)

* home-assistant-31 make mute schema better (#31)

* pycec-30 pyCEC version up (#30)

* pycec-30 pyCEC version up (#30)

* home-assistant-30 OSD display name from configuration (#30) (#33)

* Home assistant 29 (#34)

* home-assistant-29 counting from 0 (#29)

* Home assistant 31 (#35)

* home-assistant-31 add support for mute-on and mute-off (#31)

* home-assistant-31 pyCEC version up (#31)

* Home assistant 31 (#36)

* home-assistant-31 Limit OSD name to 13 chars (#31)

* home-assistant-31 Limit OSD name to 13 chars moved to CEC adapter (#31)

* home-assistant-31 version up (#31)

* home-assistant-31 formatting (#31)

* formatting

* service description

* service description

* single attribute for volume

* fixed mute on -> mute off

* moved config constant from core into component

* check cec message length when asking physical address (#38) (#38)

* cec turn on/turn off commands instead of power

* cec turn on/turn off commands instead of power
@home-assistant home-assistant locked and limited conversation to collaborators Mar 17, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants