[Altes Modul] GoogleCast (98_GOOGLECAST.pm)

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

Vorheriges Thema - Nächstes Thema

dominik



Bitte das neue Modul hier verwenden:
https://forum.fhem.de/index.php/topic,116455.0.html

Dieses hier wird nicht weiter supported.






Hallo zusammen,

das Modul 98_GOOGLECAST.pm ist ab morgen, 13.8.2017, per Update verfügbar. Mit dem Modul lassen sich Chromecast (Audio & Video) sowie Google Home steuern. Beachtet bitte die Voraussetzungen!!

Voraussetzungen
Siehe commandref: https://fhem.de/commandref.html#GOOGLECAST

Funktionsweise
define livingroom.chromecast GOOGLECAST livingroom
Paar Sekunden warten bis das Reading presence auf "online" geht...
set livingroom.chromecast play https://www.youtube.com/watch?v=YE7VzlLtp-4
Teilweise kann es etwas länger dauern, bis das Cast Device den Stream ladet. Abgespielt wird immer mit dem Default Media Receiver (nicht mit der YouTube App!).

Für alle die das neue Modul testen wollen (inkl. Youtube App Support), bitte folgende Anleitung beachten:
https://github.com/dominikkarall/fhem_pythonbinding

Gruß
Dominik
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

siggi85

Ich greife das Thema mal auf, denn ich wäre auch potentieller Anwender eines Chromecastmoduls. :)

harway2007

 8) hat schon jemand was tun können mit dem Chromecast ?

NCC1701D

Ich würde mich dem anschließen.
Das Problem scheint aber zu sein, dass es keine API für Linux gibt.
Alles was ich gefunden habe war für Google Chrome, Android, iOS.
Kodi verwendet z.B. einen Workaround über Bubblepnp.
Nativ wäre aber definitiv schöner.

Ich verwende bei mir einen Mix aus Chromecast Audio Adaptern und LG Music Flow Serie (sind ein Schnäppchen im Gegensatz zu den Sonos und meiner Meinung nach genauso gut).

dominik

Zur Info, ich habe soeben mal mit einer kleinen Testimplementierung gestartet. Werde in den nächsten Wochen eine erste Testversion bereitstellen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

#5
So...hier mal ein erster Prototyp

Bugs / Herausforderungen
- 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 keine 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
Linux Distribution jessie
sudo pip install pychromecast
sudo cpanm Inline::Python

Define
define ccWohnzimmer CHROMCECAST Wohnzimer
Wohnzimmer = Name des Chromecast Devices

Set
set ccWohnzimmer playAudio http://swr-mp3-m-swr3.akacast.akamaistream.net:80/7/720/137136/v1/gnl.akacast.akamaistream.net/swr-mp3-m-swr3
set ccWohnzimmer playVideo http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4
set ccWohnzimmer pause/play/stop/quitApp

Getestet mit Chromecast (erste Version) und Chromecast Audio. Multiroom sollte mit dem Chromecast Audio Devices auch funktionieren.

Verbesserungsvorschläge und Codebeitrage natürlich gerne willkommen.
Viel Spaß beim Testen :)

Gruß,
Dominik
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

ErzGabriel

Ist das Thema noch in arbeit?
Währe auch dran interessiert aber komme nicht klar.
Die zu installierenden Paket kann ich nicht finden und das Modul wird in Fhem auch nicht gefunden.

Kai Hawaii

Hi ErzGabriel,

super, dass der Chromecast etwas Einzug in FHEM erhält.

Bei Dir hat sich ein Tippfelher eingeschlichen:

ZitatRequirements
sudo pip install pychromecast
sudo cpanm Inline::Python

Das 'm' muss weg :-)

2. Bei mir auf dem Raspi kommt folgende Fehlermeldung beim reload 98_CHROMECAST:

Zitatfhem> reload 98_CHROMECAST
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_CHROMECAST.pm line 214.

ErzGabriel

Hi Kai Hawaii.
Wieso hat sich bei mir ein Tippfehler eingeschlichen???
Ich habe geschrieben, das ich die Pakete nicht installieren kann, weil ich sie nicht finde.

FranzB94

@ErzGabriel: Mit dem m als Tippfehler ist dominik gemeint, bei dir ist es das h im Wort
ZitatWähre
;)

Kai Hawaii

Ah verflixt - ich meinte den Post von dominik.
Dort ist das 'm' zu viel.

Sorry

ErzGabriel

Bringt mich aber alles nicht weiter, weil ich die Pakete nicht installieren kann.
Befehl pip ist nicht bekannt und pychromecast wird nicht gefunden.

dev0

cpanm ist eine Alternative zu cpan. Siehe App::cpanminus

Kai Hawaii

Zitat von: ErzGabriel am 18 November 2016, 19:27:25
Bringt mich aber alles nicht weiter, weil ich die Pakete nicht installieren kann.
Befehl pip ist nicht bekannt und pychromecast wird nicht gefunden.

Dann installier es :
sudo apt-get install python-pip

Quelle: https://wiki.ubuntuusers.de/pip/

dominik

@Kai Hawaii, bekommst du den gleichen Fehler nach einem shutdown restart?

Wie dev0 schon schrieb, cpanm ist eine (bessere) Alternative zu cpan. Bin davon ausgegangen, dass cpanm und pip überall installiert sind.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik