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

Offline dominik

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 539
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #30 am: 20 November 2016, 16:11:51 »
@Kai Hawaii, schau mal ob es den Ordner /opt/fhem/_Inline bei dir gibt. Den muss der FHEM Prozess anlegen können.

@ErzGabriel, sorry, aber da habe ich jetzt keine weitere Idee. Da musst du nun selbst weiter googeln um es richtig kompiliert zu bekommen.
Module: 10_EQ3BT (EQ-3 Bluetooth Thermostat), 98_BOSEST (BOSE SoundTouch), 98_DLNARenderer (DLNA Renderer), 98_CHROMECAST (Chromecast - work in progress)

Offline Kai Hawaii

  • New Member
  • *
  • Beiträge: 6
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #31 am: 20 November 2016, 18:51:16 »
Jau, das scheint soweit funktioniert zu haben:

Zitat
pi@smarthome:/opt/fhem/_Inline $ cat config-arm-linux-gnueabihf-thread-multi-64int-5.020002
version : 0.80
languages : %
    Foo : Foo
    PYTHON : Python
    Python : Python
    foo : Foo
    py : Python
    python : Python
types : %
    Foo : interpreted
    Python : interpreted
modules : %
    Foo : Inline::Foo
    Python : Inline::Python
suffixes : %
    Foo : foo
    Python : pydat

Offline vbs

  • Hero Member
  • *****
  • Beiträge: 1425
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #32 am: 20 November 2016, 19:15:53 »
Ist jetzt alles installiert. Fehler bleibt.
Ich denke, du brauchst das Paket "python-dev", wenn er sagt, dass er Python.h nicht finden kann.

Offline ErzGabriel

  • Full Member
  • ***
  • Beiträge: 195
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #33 am: 20 November 2016, 19:38:42 »
@vbs Danke, genau da lag das Problem.

Offline mahowi

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 662
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #34 am: 21 November 2016, 08:40:41 »
@mahowi, mach mal ein "shutdown restart" und gib Bescheid ob es dann funktioniert.

Nach "shutdown restart" kommt beim Versuch, einen Chromecast zu definieren dieselbe Meldung:
2016.11.21 08:38:25.511 1 : reload: Error:Modul 98_CHROMECAST deactivated: Failed to autogenerate /opt/fhem/_Inline/config-arm-linux-gnueabihf-thread-multi-64int-5.024001. at ./FHEM/98_CHROMECAST.pm line 214. BEGIN failed--compilation aborted at ./FHEM/98_CHROMECAST.pm line 214.

2016.11.21 08:38:25.511 0 : Failed to autogenerate /opt/fhem/_Inline/config-arm-linux-gnueabihf-thread-multi-64int-5.024001. at ./FHEM/98_CHROMECAST.pm line 214. BEGIN failed--compilation aborted at ./FHEM/98_CHROMECAST.pm line 214.
[/s]

Nach Neuinstallation von pychromecast und Inline::Python klappt es jetzt doch.
« Letzte Änderung: 21 November 2016, 09:01:34 von mahowi »
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Offline Fixel2012

  • Sr. Member
  • ****
  • Beiträge: 629
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #35 am: 25 November 2016, 13:15:27 »
Moin,

bin auch an dem Modul Interessiert, vielleicht eine Alternative zum teuren SONOS Lautsprecher?

Naja aufjedenfall habe ich keine Ahnung wie und wo ich die Datei 98_CHROMECAST.pm einfüge ;D

Würde mir jemand kurz den Pfad verraten?  :-[

Grüße

Felix

Offline ErzGabriel

  • Full Member
  • ***
  • Beiträge: 195
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #36 am: 25 November 2016, 13:18:26 »
Hi Felix.
Die Datei muss in den Pfad /opt/fhem/FHEMDa liegen auch die anderen pm Dateien.

Offline Fixel2012

  • Sr. Member
  • ****
  • Beiträge: 629
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #37 am: 25 November 2016, 13:21:35 »
Hi Felix.
Die Datei muss in den Pfad /opt/fhem/FHEMDa liegen auch die anderen pm Dateien.

Danke schön, muss ich sonst noch etwas beachten bzw Installieren?

Der command sudo pip install pychromecast lässt sich bei mir nicht ausführen :o

sudo: pip: command not found



Offline ErzGabriel

  • Full Member
  • ***
  • Beiträge: 195
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #38 am: 25 November 2016, 13:23:54 »
Da wirst Du das gleiche Problem haben wie ich es hatte. Dir fehlen Pakete auf dem Rechner.
Wenn du den kompletten Beitrag mal durchliest, dann findest du die Lösungen da, habe es auch mit Hilfe des Beitrages und der Leute, die geantwortet haben, hinbekommen.

Offline Fixel2012

  • Sr. Member
  • ****
  • Beiträge: 629
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #39 am: 25 November 2016, 14:48:12 »
Also, erstmal Danke für das Modul und die Hilfe bei der Installation!

Habe noch einige Verbesserungs Vorschläge/Wünsche ;)

Wie du schon in deinen Bugs aufgelistet hast, braucht der set Command leider circa 10 sec zum ausführen der Aktion! - ist leider sehr störend, ein Fix wäre super!  :)

Außerdem wäre die Funktion Songs zu skippen und lauter/leiser noch super hilfreich! Ist das machbar?

Die Implementierung von Spotify wäre auch Super, habe eben schon versucht einen Playlist Link oder Song Link unter "set playAudio" einzufügen, ging aber leider nicht. Webradio hingegen funktioniert Super!

Gibt es Außerdem eine Möglichkeit Webradios "abzuspeichern" und mit einem Mausklick wiederzugeben? - Denke das ist kein Problem ich weiß nur leider nicht wie  ;D

Grüße

Felix
« Letzte Änderung: 25 November 2016, 15:44:01 von Fixel2012 »

Offline dominik

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 539
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #40 am: 26 November 2016, 14:06:15 »
@Fixel2012, danke für dein Feedback. Zu deinen Punkten:

 - set Command dauert zu lange: Arbeite noch an einen Fix dafür. Liegt im Moment an der Verwendung des Python Codes welcher eine eigene Eventloop hat die im Hintergrund nicht weiter läuft. Es kann noch etwas dauern bis ich da einen passenden Fix finde.

 - skippen/lauter/leiser: Sofern pychromecast diese Funktionalitäten unterstützt, ist das kein Problem mit einzubauen. Möchte aber zuerst das Problem mit den 10s Bug lösen bis ich weitere Features mit aufnehme.

 - Spotify: Kann ich mangels Spotify Premium aktuell nicht testen. Könnte mir vorstellen, dass man da ähnlich wie bei Youtube einen "Controller" in pychromecast implementieren muss.

 - Webradios speichern: Kann ich gerne mit aufnehmen, das ist überhaupt kein Problem das in den Attributen zu speichern. Da ich beim BOSE Modul gleiches gemacht habe, frage ich mich aber mittlerweile, ob es nicht sinnvoller ist ein "Radio" Modul zu erstellen welches standardisierte Interfaces zu den Abspielmodulen (BOSE, CHROMECAST, SONOS, ...) unterstützt.

Also Prio 1 hat bei mir weiterhin die vernünftige Integration von pychromecast ohne 10s Bug. Solange das nicht gefixed ist, werde ich vorerst noch keine neuen Features aufnehmen.
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 Fixel2012

  • Sr. Member
  • ****
  • Beiträge: 629
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #41 am: 26 November 2016, 14:17:16 »
Als prio 1 das 10 sekunden Problem zu setzen scheint in meinen Augen sinnvoll zu sein!


Verstehe ich das richtig, dass du so zu sagen "abhängig" von pychromecast bist?

Werden die  pychromecast Funktionen noch weiter entwickelt?

Freue mich über alle Funktionen die noch dazu kommen, ich bin gespannt!

Lass dir nur Zeit bei der weiterentwicklung! :)

Grüße
Felix

Gesendet von meinem LG-H815 mit Tapatalk


Offline dominik

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 539
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #42 am: 26 November 2016, 14:22:14 »
pychromecast wird noch aktiv weiterentwickelt (https://github.com/balloob/pychromecast/). Daher möchte ich keine eigene Implementierung des Protokolls vornehmen. Perl Implementierungen konnte ich keine finden und die anderen Implementierungen schienen mir auch nicht so aktiv zu sein wie pychromecast.
Module: 10_EQ3BT (EQ-3 Bluetooth Thermostat), 98_BOSEST (BOSE SoundTouch), 98_DLNARenderer (DLNA Renderer), 98_CHROMECAST (Chromecast - work in progress)

Offline dominik

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 539
Antw:Chromecast
« Antwort #43 am: 04 Dezember 2016, 20:57:00 »
Zweiter Prototyp :)

Update
Habe es geschafft die pychromecast Library so umzubauen, dass keine 10s mehr geblockt werden. Bislang ist das eine fork Version von mir, werde dann versuchen die Änderungen in die offizielle Version mit aufzunehmen.
Requirements durchlesen vor der Verwendung!

Bugs / Herausforderungen
 - 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 - NEU
Linux Distribution jessie
sudo pip uninstall pychromecast (zuerst muss die aktuelle Lib deinstalliert werden)
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 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

Bugs und Verbesserungsvorschläge bitte direkt hier melden.
« Letzte Änderung: 05 Dezember 2016, 19:17:47 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 Fixel2012

  • Sr. Member
  • ****
  • Beiträge: 629
Antw:Chromecast (98_CHROMECAST.pm)
« Antwort #44 am: 04 Dezember 2016, 21:03:26 »
Wow, Super!

Das ging ja schnell! Werde es gleich morgen ausprobieren :D

Was ist damit gemeint?:
Zitat
- Beim Define (also auch beim Starten) wird FHEM für ca. 10s geblockt

Beim define wird Fhem geblockt - ist klar


Zitat
(also auch beim Starten)
Starten von Fhem? Oder welcher Start ist hier gemeint?

Grüße und einen schönen Abend noch
Felix

 

decade-submarginal