Autor Thema: Chromecast (98_CHROMECAST.pm)  (Gelesen 14444 mal)

Offline dominik

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 539
Chromecast (98_CHROMECAST.pm)
« am: 10 Dezember 2015, 22:43:49 »
//Update 06.07.2017
Anbei eine funktionierende Version für die Chromecast Steuerung. Bitte um ausführliche Tests.
Die letzte Version werde ich immer im 1. Post dieses Threads bereitstellen.

Voraussetzungen
sudo apt-get install libwww-perl python-
sudo pip install pychromecast
sudo pip install youtube-dl
sudo cpanm Inline::Python

Gruß
Dominik

Hi,
gibt es eigentlich jemanden der an einem Chromecast support arbeitet? Ich wäre daran interessiert den Status meines Chromecasts mit zu verarbeiten.

Z.B. soll Kodi gestoppt werden, wenn der Chromecast streamt. Oder der HDMI Eingang automatisch wieder auf HDMI2 geschaltet werden sobald der Chromecast aus ist. Oder der TV automatisch ausgeschalten werden wenn Chromecast Wiedergabe beendet wird...

Nun habe ich gesehen, dass es bereits eine fertig Python Library auf github gibt:
https://github.com/balloob/pychromecast/

Das könnte man ja gleich als Grundlage nutzen :)
« Letzte Änderung: 06 Juli 2017, 13:50:44 von dominik »
Module: 10_EQ3BT (EQ-3 Bluetooth Thermostat), 98_BOSEST (BOSE SoundTouch), 98_DLNARenderer (DLNA Renderer), 98_CHROMECAST (Chromecast - work in progress)
Gefällt mir Gefällt mir x 2 Liste anzeigen

Offline siggi85

  • Full Member
  • ***
  • Beiträge: 326
Antw:Chromecast
« Antwort #1 am: 22 September 2016, 09:53:37 »
Ich greife das Thema mal auf, denn ich wäre auch potentieller Anwender eines Chromecastmoduls. :)
Raspberry Pi mit FHEM, (Hue, Chromecast, Harmony, PRESENCE, SYSMON, WEATHER, SVG, WOL etc.) CULv3 bisher nur mit Baumarktsteckdosen (Modul IT)
Ich gebe es zu... ich bin ein FHEMinist!

Offline harway2007

  • Full Member
  • ***
  • Beiträge: 117
Antw:Chromecast
« Antwort #2 am: 25 Oktober 2016, 02:34:34 »
 8) hat schon jemand was tun können mit dem Chromecast ?

Offline NCC1701D

  • New Member
  • *
  • Beiträge: 13
Antw:Chromecast
« Antwort #3 am: 11 November 2016, 14:31:47 »
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).

Offline dominik

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 539
Antw:Chromecast
« Antwort #4 am: 13 November 2016, 11:23:12 »
Zur Info, ich habe soeben mal mit einer kleinen Testimplementierung gestartet. Werde in den nächsten Wochen eine erste Testversion bereitstellen.
Module: 10_EQ3BT (EQ-3 Bluetooth Thermostat), 98_BOSEST (BOSE SoundTouch), 98_DLNARenderer (DLNA Renderer), 98_CHROMECAST (Chromecast - work in progress)
Gefällt mir Gefällt mir x 2 Liste anzeigen

Offline dominik

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 539
Antw:Chromecast
« Antwort #5 am: 15 November 2016, 22:15:38 »
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
« Letzte Änderung: 19 November 2016, 09:38:39 von dominik »
Module: 10_EQ3BT (EQ-3 Bluetooth Thermostat), 98_BOSEST (BOSE SoundTouch), 98_DLNARenderer (DLNA Renderer), 98_CHROMECAST (Chromecast - work in progress)
Gefällt mir Gefällt mir x 2 Liste anzeigen

Offline ErzGabriel

  • Full Member
  • ***
  • Beiträge: 195
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #6 am: 18 November 2016, 09:21:24 »
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.

Offline Kai Hawaii

  • New Member
  • *
  • Beiträge: 6
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #7 am: 18 November 2016, 18:28:57 »
Hi ErzGabriel,

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

Bei Dir hat sich ein Tippfelher eingeschlichen:

Zitat
Requirements
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:

Zitat
fhem> 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.

Offline ErzGabriel

  • Full Member
  • ***
  • Beiträge: 195
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #8 am: 18 November 2016, 18:41:20 »
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.

Offline FranzB94

  • Full Member
  • ***
  • Beiträge: 321
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #9 am: 18 November 2016, 19:17:26 »
@ErzGabriel: Mit dem m als Tippfehler ist dominik gemeint, bei dir ist es das h im Wort
Zitat
Währe
;)
Zustimmung Zustimmung x 1 Liste anzeigen

Offline Kai Hawaii

  • New Member
  • *
  • Beiträge: 6
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #10 am: 18 November 2016, 19:22:42 »
Ah verflixt - ich meinte den Post von dominik.
Dort ist das 'm' zu viel.

Sorry

Offline ErzGabriel

  • Full Member
  • ***
  • Beiträge: 195
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #11 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.

Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2654
    • _.:|:._
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #12 am: 18 November 2016, 20:00:41 »
cpanm ist eine Alternative zu cpan. Siehe App::cpanminus

Offline Kai Hawaii

  • New Member
  • *
  • Beiträge: 6
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #13 am: 18 November 2016, 21:11:55 »
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/

Offline dominik

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 539
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #14 am: 18 November 2016, 21:46:05 »
@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.
Module: 10_EQ3BT (EQ-3 Bluetooth Thermostat), 98_BOSEST (BOSE SoundTouch), 98_DLNARenderer (DLNA Renderer), 98_CHROMECAST (Chromecast - work in progress)

 

decade-submarginal