[Altes Modul] GoogleCast (98_GOOGLECAST.pm)

Begonnen von dominik, 10 Dezember 2015, 22:43:49

Vorheriges Thema - Nächstes Thema

Fixel2012

Zitat von: dominik am 13 Dezember 2016, 22:05:17
Gute Nachrichten, mein Change wurde in pychromecast aufgenommen :) Wird dann vermutlich in der Version 0.7.8 zur Verfügung stehen. Da ist auch das quitApp Problem behoben.
Definitiv eine hübsche Sache!
Ich bin weiter Gespannt, was sich noch im Laufe der Zeit entwickeln wird!
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

NCC1701D

So ich habe deine App installiert.
Dank euch und euren Nachfragen bzgl. abhängige Pakete usw. hat die Installation auch auf Anhieb geklappt.

Jetzt stehe ich aber an dem gleichen Problem wie Fixel2012.
Wenn ich z.B den SW3 Stream wiedergeben möchte, höre ich zwar das Wiedergabegeräusch und auch die Android App "Home" zeigt eine Zeit lang an, dass etwas wiedergegeben werden soll aber der Stream wird nicht ausgegeben.

Hier mal das FHEM Log:

set ccWohnzimmer playAudio http://swr-mp3-m-swr3.akacast.akamaistream.net:80/7/720/137136/v1/gnl.akacast.akamaistream.net/swr-mp3-m-swr3


RROR:pychromecast.socket_client:Exception caught while sending message to controller ReceiverController: Message urn:x-cast:com.google.cast.receiver from receiver-0 to *: {u'status': {u'volume': {u'muted': False, u'stepInterval': 0.05000000074505806, u'controlType': u'attenuation', u'level': 0.6359999775886536}, u'applications': [{u'displayName': u'Default Media Receiver', u'statusText': u'Ready To Cast', u'transportId': u'web-2', u'isIdleScreen': False, u'sessionId': u'abc3edc8-e425-4b97-af5b-f2fced5a9094', u'namespaces': [{u'name': u'urn:x-cast:com.google.cast.broadcast'}, {u'name': u'urn:x-cast:com.google.cast.media'}], u'appId': u'CC1AD845'}]}, u'type': u'RECEIVER_STATUS', u'requestId': 0}
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/socket_client.py", line 455, in _route_message
    message, data)
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/socket_client.py", line 768, in receive_message
    self._process_get_status(data)
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/socket_client.py", line 910, in _process_get_status
    self.app_launch_event_function()
TypeError: <lambda>() takes exactly 1 argument (0 given)



Ich hoffe der hilft dir weiter.
Probiert habe ich es auf einen Chromecast Audio und auf einen LG H5.
Bei beiden kein Erfolg.

Fixel2012

#77
Hatte mich dazu entschieden erstmal zu warten, bis was wirklich nützliches kommt.

Das Projekt steht ja erst in den Start Löchern...

Und dann fange ich nochmal an zu testen. War nur mein eigener Entschluss, deswegen bin ich auch nicht weiter auf mein Problem eingegangen.
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

NCC1701D

Ich bin schon erstmal begeistert, dass sich überhaupt jemand die Sache anschaut.
Hätte ehrlich gesagt nicht daran geglaubt, dass sich so schnell etwas tut.

Daher nochmal vielen Dank an Dominik.

dominik

@SilRe, bitte installier pychromecast nochmals neu. Danke dir für den Log Output, damit konnte ich den Fehler hoffentlich lokalisieren und beheben.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Fixel2012

@dominik habe es gerade nochmals mit deinem fix ausprobiert, funktioniert wieder wie vorher, sowohl Play Audio als auch Play YouTube!
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

dominik

Zitat von: Fixel2012 am 15 Dezember 2016, 16:11:52
@dominik habe es gerade nochmals mit deinem fix ausprobiert, funktioniert wieder wie vorher, sowohl Play Audio als auch Play YouTube!
Mit "wie vorher" meinst du, dass es auch wirklich funktioniert, oder?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Fixel2012

Ja, alles funktioniert, inklusive der neuen Youtube Funktion.
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

NCC1701D

Bei mir funktioniert die Wiedergabe jetzt auch.
Allerdings funktionieren nicht alle Streams.

Funktionieren:
http://mp3.querfunk.de/qfhi
http://freies-radio-wiesental.de:8000/frw.ogg
http://streaming.fueralle.org:8000/radiot.mp3

Funktionieren nicht:
http://www.masterssystems.com:8000/frs-hi.mp3.m3u
http://stream.fsk-hh.org:8000/fsk.ogg.m3u
http://www.masterssystems.com:8000/frs-lo.ogg.m3u

Im Log ist nichts ersichtlich.

Gibt es bei der Wiedergabe irgendwelche Einschränkungen?
Für mich sieht es so aus als würde m3u nicht unterstützt werden.

Was ich noch nicht probiert habe ist, ob Multiroom funktioniert.
Muss ich bei Multiroom die zuvor in der Google Home App definierte Gruppe auswählen oder kann man über dein Programm direkt mehrere Lautsprecher verknüpfen?
Letzteres wäre natürlich der Hammer.

Zwei Fragen/Bitten hätte ich noch.

Aktuell scheint es nicht möglich zu sein beim Befehl define ccWohnzimmer CHROMECAST Wohnzimer ein Gerät mit Umlauten anzugeben. Also z.B. "Küche" ist nicht möglich.
Das wäre noch ein tolles Feature.

Ist es möglich über FHEM die Lautstärke des Geräts zu ändern?

Ich bin jedenfalls schon mal begeistert.  ;D
Bin schon gespannt was noch folgt.
Wenn du dir mal ein extra Bier kaufen willst, gib mal deine Paypal Adresse an.

Fixel2012

#84
Zitat von: SilRe am 15 Dezember 2016, 22:41:46
Bei mir funktioniert die Wiedergabe jetzt auch.
Allerdings funktionieren nicht alle Streams.

Funktionieren:
http://mp3.querfunk.de/qfhi
http://freies-radio-wiesental.de:8000/frw.ogg
http://streaming.fueralle.org:8000/radiot.mp3

Funktionieren nicht:
http://www.masterssystems.com:8000/frs-hi.mp3.m3u
http://stream.fsk-hh.org:8000/fsk.ogg.m3u
http://www.masterssystems.com:8000/frs-lo.ogg.m3u

Im Log ist nichts ersichtlich.

Gibt es bei der Wiedergabe irgendwelche Einschränkungen?
Für mich sieht es so aus als würde m3u nicht unterstützt werden.

Was ich noch nicht probiert habe ist, ob Multiroom funktioniert.
Muss ich bei Multiroom die zuvor in der Google Home App definierte Gruppe auswählen oder kann man über dein Programm direkt mehrere Lautsprecher verknüpfen?
Letzteres wäre natürlich der Hammer.

Zwei Fragen/Bitten hätte ich noch.

Aktuell scheint es nicht möglich zu sein beim Befehl define ccWohnzimmer CHROMECAST Wohnzimer ein Gerät mit Umlauten anzugeben. Also z.B. "Küche" ist nicht möglich.
Das wäre noch ein tolles Feature.

Ist es möglich über FHEM die Lautstärke des Geräts zu ändern?

Ich bin jedenfalls schon mal begeistert.  ;D
Bin schon gespannt was noch folgt.
Wenn du dir mal ein extra Bier kaufen willst, gib mal deine Paypal Adresse an.

Zur Zeit gehen laut Dominik nur .mp3 streams, .m3u also Playlisten gehen noch nicht.

Am besten wäre es natürlich wenn man in Fhem auswählen könnte welchen Chromecast man ansprechen will. Lauter/Leiser und Spotify wäre dann auch noch super.

Aber ich glaube so weit ist dominik noch lange nicht, aber das wird schon!  ;D
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

siggi85

Ich habe das Modul noch nicht ausprobiert, aber an dieser Stelle auch von mir ein riesiges Danke an dominik, dass sich jemand der Thematik annimmt!!!
Wenn ich mal wieder ein freies Zeitfenster habe, werde ich das sicher mal testen. :) Ich selbst habe 2 Chromecast und 3 Audio Chromecast zu Hause und nutze darauf hauptsächlich YouTube, Netflix und Spotify.

dominik

Update
v1.0.2 - 20161216
- FEATURE: support play of every mime type which is supported
            by Chromecast (see https://developers.google.com/cast/docs/media)
            including youtube URLs
- CHANGE:  change play* methods to play <url>
- FEATURE: support very simple .m3u which contain only URL
- BUGFIX:  non-blocking playYoutube
- BUGFIX:  fix play if media player is already running

Bugs / Herausforderungen
- Umlaute für Chromecast Devices funktionieren aktuell nicht
- playYoutube blockiert FHEM für einige Sekunden
- vor jedem Abspielen muss quitApp ausgeführt werden
- Beim Define (also auch beim Starten) wird FHEM für ca. 10s geblockt
- Bei jedem Set wird die gesamte FHEM Instanz für ca. 10s geblockt
- Zeitverzögerung des Commands von ca. 10s bei jedem Set Befehl
- Aktuell nur 2 technische Readings
- Ich verwende die pychromecast Library (in Python geschrieben) um auf die Chromecasts zuzugreifen. Leider habe ich noch keine Möglichkeit gefunden die Library so zu verwenden, dass man nicht bei jedem Set den Chromecast komplett neu verbinden muss. Im Python Code funktioniert das, nur in Kombination mit Inline::Python tut es nicht da da scheinbar der Thread im Hintergrund nicht weiterläuft wenn der Perl Code ausgeführt wird. Wenn jemand Ideen hat, gerne melden :)

Requirements
sudo apt-get install libwww-perl <== NEU
Linux Distribution jessie
sudo pip install youtube-dl
sudo pip install git+https://github.com/dominikkarall/pychromecast.git (eine von mir abgeänderte Version)
sudo cpanm Inline::Python

Define
define ccWohnzimmer CHROMECAST Wohnzimer
Wohnzimmer = Name des Chromecast Devices

Set
set ccWohnzimmer play https://www.youtube.com/watch?v=tERRFWuYG48
set ccWohnzimmer play http://swr-mp3-m-swr3.akacast.akamaistream.net:80/7/720/137136/v1/gnl.akacast.akamaistream.net/swr-mp3-m-swr3
set ccWohnzimmer play http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4
set ccWohnzimmer pause/play/stop/quitApp

@NCC1701D, die .m3u URLs mit ogg werden nicht funktionieren, da ogg von Chromecast nicht unterstützt wird. Ein Bier nehme ich gerne per Paypal (dominik.karall@gmail.com) an. Danke dir & Prost :)

Bugs und Verbesserungsvorschläge bitte direkt hier melden.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Fixel2012

@Dominik

Nur für dich als Rückmeldung, alle Funktionen funktionieren nach dem Update noch Einwandfrei.

Das man nun nur nicht mehr Play Youtube bzw audio auswählen muss macht es schöner und leichter, eine nette Idee!
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

NCC1701D

Testen konnte ich die neue Version noch nicht aber ein Bier solltest du dir jetzt kaufen können.  ;)

dominik

Zitat von: NCC1701D am 17 Dezember 2016, 00:12:35
Testen konnte ich die neue Version noch nicht aber ein Bier solltest du dir jetzt kaufen können.  ;)
Danke dir, vielleicht wird es doch ein Glühwein :D
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik