FHEM Forum

FHEM - Anwendungen => Multimedia => Thema gestartet von: dominik am 10 Dezember 2015, 22:43:49

Titel: [Altes Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 10 Dezember 2015, 22:43:49


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
Titel: Antw:Chromecast
Beitrag von: siggi85 am 22 September 2016, 09:53:37
Ich greife das Thema mal auf, denn ich wäre auch potentieller Anwender eines Chromecastmoduls. :)
Titel: Antw:Chromecast
Beitrag von: harway2007 am 25 Oktober 2016, 02:34:34
 8) hat schon jemand was tun können mit dem Chromecast ?
Titel: Antw:Chromecast
Beitrag von: NCC1701D 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).
Titel: Antw:Chromecast
Beitrag von: dominik 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.
Titel: Antw:Chromecast
Beitrag von: dominik 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
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: ErzGabriel 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.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Kai Hawaii 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:

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.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: ErzGabriel 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.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: FranzB94 am 18 November 2016, 19:17:26
@ErzGabriel: Mit dem m als Tippfehler ist dominik gemeint, bei dir ist es das h im Wort
ZitatWähre
.  ;)
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Kai Hawaii am 18 November 2016, 19:22:42
Ah verflixt - ich meinte den Post von dominik.
Dort ist das 'm' zu viel.

Sorry
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag 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.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dev0 am 18 November 2016, 20:00:41
cpanm ist eine Alternative zu cpan. Siehe App::cpanminus
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Kai Hawaii am 18 November 2016, 21:11:55
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/
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik 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.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: ErzGabriel am 18 November 2016, 21:54:18
Ich habe das cpanm auch nicht installiert und weiß auch nicht wie ich das Paket finde.
Wenn ich ein reload der 98_CHROMECAST.pm versuche, erhalte ich folgende Meldung.
ZitatCan't locate Inline.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/98_CHROMECAST.pm line 214.
BEGIN failed--compilation aborted at ./FHEM/98_CHROMECAST.pm line 221.

Fhem neu gestartet habe ich.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 18 November 2016, 22:27:41
Ohne Installation wird es auch nicht funktionieren...

sudo apt-get install cpanminus
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: ErzGabriel am 18 November 2016, 22:38:32
Komischerweise kriege ich den Befehl cpanm Inline::Python nicht ausgeführt, wird immer mit failed beendet.
Im Log File steht folgendes.
ZitatRunning Makefile.PL
ExtUtils::MakeMaker version 6.64 required--this is only version 6.57_05 at Makefile.PL line 4.
BEGIN failed--compilation aborted at Makefile.PL line 4.
-> N/A
-> FAIL Configure failed for Inline-Python-0.51. See /root/.cpanm/build.log for details.

Ich verstehe das so, das ich die falsche Version von MakeMaker drauf habe aber wo kriege ich denn jetzt die richtige Version her?
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 18 November 2016, 22:59:52
sudo apt-get install libextutils-makemaker-cpanfile-perl
mal ausprobieren.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: ErzGabriel am 18 November 2016, 23:04:58
Trotzt sudo apt-get update, kann kein Paket gefunden werden.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 18 November 2016, 23:06:14
Verwendest du auf wheezy oder jessie? Ich habe bereits jessie.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: ErzGabriel am 18 November 2016, 23:09:15
ich habe wheezy drauf.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 18 November 2016, 23:14:52
Zitat von: ErzGabriel am 18 November 2016, 23:09:15
ich habe wheezy drauf.
Ich glaub da musst du nun auf jessie um weiter zu kommen.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: ErzGabriel am 19 November 2016, 09:45:55
Habe auf jessie geupdatet aber es klappt immer noch nicht.
Nach dem Update, habe ich Python 2.7 nach installiert, weil ich diverse Fehler erhalten habe aber nichts hat sich geändert. Bricht immer noch die Konfiguration von inline-Python ab.
Erhalte diverse Fehler aus der Python 2.7 Lib, zu viele um sie hier alle aufzulisten.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 19 November 2016, 09:48:22
Poste bitte mal den Fehler welcher bei "cpanm Inline::Python" kommt.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: mahowi am 19 November 2016, 09:50:35
Ich habe das Modul gerade mal runtergeladen. Nach "reload 98_CHROMECAST" bekomme ich die Fehlermeldung 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.


Inline::Python und pychromecast sind installiert.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: ErzGabriel am 19 November 2016, 09:52:16
Im build.log steht folgendes.

ZitatUnpacking Inline-Python-0.51.tar.gz
Entering Inline-Python-0.51
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.98)
Configuring Inline-Python-0.51
Running Makefile.PL
Found these python executables on your PATH:
1. /usr/bin/python
Using the only python executable I could find
Set the INLINE_PYTHON_EXECUTABLE environment variable to the full path to your python executable to override this selection.
Using /usr/bin/python
Could not find Python.h in include path. make will not work at Makefile.PL line 66.
-> N/A
-> FAIL Configure failed for Inline-Python-0.51. See /root/.cpanm/work/1479544974.10953/build.log for details.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 19 November 2016, 09:55:48
@mahowi, mach mal ein "shutdown restart" und gib Bescheid ob es dann funktioniert.

@ErzGabriel, ist python-dev installiert? Zumindest erhalte ich das als Hinweis in der Google Suche beim 1. Link (http://stackoverflow.com/questions/8282231/i-have-python-on-my-ubuntu-system-but-gcc-cant-find-python-h).
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: ErzGabriel am 19 November 2016, 11:55:05
Ist jetzt alles installiert. Fehler bleibt.

ZitatFound these python executables on your PATH:
1. /usr/bin/python
Using the only python executable I could find
Set the INLINE_PYTHON_EXECUTABLE environment variable to the full path to your python executable to override this selection.
Using /usr/bin/python
Could not find Python.h in include path. make will not work at Makefile.PL line 66.
-> N/A
-> FAIL Configure failed for Inline-Python-0.51. See /root/.cpanm/work/1479552666.25020/build.log for details.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Kai Hawaii am 19 November 2016, 12:27:37
Zitat von: dominik 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.

Hi hoh,

ich habe das Paket nochmal neu installiert:

Zitatpi@smarthome:~ $ sudo cpanm --reinstall Inline::Python
--> Working on Inline::Python
Fetching http://www.cpan.org/authors/id/N/NI/NINE/Inline-Python-0.51.tar.gz ... OK
Configuring Inline-Python-0.51 ... OK
Building and testing Inline-Python-0.51 ... OK
Successfully reinstalled Inline-Python-0.51
1 distribution installed

Der Fehler bleibt leider bestehen. Shutdown restart lief vorab.

Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik 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.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Kai Hawaii am 20 November 2016, 18:51:16
Jau, das scheint soweit funktioniert zu haben:

Zitatpi@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
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: vbs am 20 November 2016, 19:15:53
Zitat von: ErzGabriel am 19 November 2016, 11:55:05
Ist jetzt alles installiert. Fehler bleibt.
Ich denke, du brauchst das Paket "python-dev", wenn er sagt, dass er Python.h nicht finden kann.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: ErzGabriel am 20 November 2016, 19:38:42
@vbs Danke, genau da lag das Problem.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: mahowi am 21 November 2016, 08:40:41
Zitat von: dominik am 19 November 2016, 09:55:48
@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.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 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
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: ErzGabriel am 25 November 2016, 13:18:26
Hi Felix.
Die Datei muss in den Pfad /opt/fhem/FHEM
Da liegen auch die anderen pm Dateien.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 25 November 2016, 13:21:35
Zitat von: ErzGabriel am 25 November 2016, 13:18:26
Hi Felix.
Die Datei muss in den Pfad /opt/fhem/FHEM
Da 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



Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: ErzGabriel 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.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 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
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik 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.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 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

Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik 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.
Titel: Antw:Chromecast
Beitrag von: dominik 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.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 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
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 04 Dezember 2016, 21:09:54
Genau, beim Start von FHEM meinte ich, weil da ja immer ein "Define" ausgeführt wird.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: meddie am 05 Dezember 2016, 08:09:30
Ich finde es Klasse, dass Chromecast in FHEM Einzug findet. Ich habe mir diverse Systeme angesehen, aber entweder können sie nicht alles (was ich gerne hätte) oder sie sind einfach zu teuer.

Mir der Chromecast und Plex Kombo kriegt man ein schönes System.

Was ich noch richtig Klasse finden würde wenn man TTS über Chromecast ausgeben könnte. Und eine Gruppierung von mehreren Chromecasts.

Vielen Dank Dominik für Deine Arbeit. Ich freue mich auf Neuigkeiten.

Gruß Eddie
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 05 Dezember 2016, 13:24:53
Beim Versuch deine Libary zu verwenden, hatte ich immer eine Fehlermeldung. Musste das hier nach installieren:
sudo apt-get install git-core
Vielleicht kann man das noch in die Beschreibung packen?
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: meddie am 05 Dezember 2016, 14:28:36
Hallo Dominik,

ich habe hier noch was gefunden: https://github.com/xat/castnow. Vielleicht ist es nützlich für Dich
Ich kenne mich in der Modulentwicklung für FHEM überhaupt nicht aus. Aber vielleicht ist das eine Alternative zu der Python Lib für Chromecast.

Gruß Eddie
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 05 Dezember 2016, 15:41:57
Bin nun alle Schritte zur Neuinstallation durch gegangen, aber kann das Modul nun nicht mehr definieren.

Unknown module CHROMCECAST

1. Die alte Libary habe ich entfernt, die neue Installiert.

2. Phyton upgedated, und auch die neue .pm Datei in den fhem/FHEM ordner rein kopiert.

3. einen Neustart habe ich auch gemacht.

Sonst noch jemand Probleme?

Oder bin ich mal wieder nur zu Dumm?  ;D
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 05 Dezember 2016, 18:54:14
@Fixel2012, ich will nicht sagen zu blöd....aber CHROMCECAST ;)

@meddie, die Library habe ich auch gefunden. Der Maintainer ist aber nicht mehr aktiv, daher möchte ich diese nicht verwenden.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 05 Dezember 2016, 19:05:23
ZitatDefine
define ccWohnzimmer CHROMCECAST Wohnzimer

Oh man, ich sollte nicht immer Copy Pasten, der Fehler is bei dir :D

Aber Danke  :D
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 05 Dezember 2016, 19:18:18
Zitat von: Fixel2012 am 05 Dezember 2016, 19:05:23
Oh man, ich sollte nicht immer Copy Pasten, der Fehler is bei dir :D

Aber Danke  :D
:D ausgebessert
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 05 Dezember 2016, 19:50:31
Habe es dank deiner Bemerkung nun definieren können.  ::) :P

Habe direkt mal ausprobiert eine WEB Url abzuspielen, negativ, man hört leider nichts.

Das gleiche bei allen Befehlen außer set ChromecastAudio_Felix quitApp

Dies Funktioniert.

Hoffe es ist nicht wieder ein Fehler von mir... ;D
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 05 Dezember 2016, 20:14:02
Mach mal quitApp und spiel dann den SWR3 Link von meinen Post ab. Ich habe bei playAudio im Moment fix audio/mp3 als Typ hinterlegt. Eventuell probierst du gerade m3u oder so abzuspielen.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 05 Dezember 2016, 21:12:19
TTS Prototyp :)

set <name> playAudio http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Das%20ist%20ein%20Chromecast%20Test
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 05 Dezember 2016, 21:21:22
Das ist die Ausgabe im Event Monitor, wenn ich die SWR URL abspielen will:
2016-12-05 21:13:18 CHROMECAST ChromecastAudio_Felix playAudio http://swr-mp3-m-swr3.akacast.akamaistream.net:80/7/720/137136/v1/gnl.akacast.akamaistream.net/swr-mp3-m-swr3

Mir fällt auf das dort das "set" vor Chromecastaudio_Felix fehlt. Ist das gewollt?
Bei quitapp fehlt es auch, aber dort geht es :o

Aber auch das geht nicht:
2016-12-05 21:17:26 CHROMECAST ChromecastAudio_Felix playAudio http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Das%20ist%20ein%20Chromecast%20Test

Habe vorher wie du gesagt hast  "quitApp" ausgeführt.

Funktioniert es denn bei dir so wie es soll?  :o ???
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 05 Dezember 2016, 21:30:15
Ja, funktioniert bei mir.

Mach eventuell nochmals ein pip uninstall pychromecast und installier es neu. Habe heute noch paar Änderungen gemacht die eventuell zu einem Bug führten.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 05 Dezember 2016, 21:40:42
Zitat von: dominik am 05 Dezember 2016, 21:30:15
Ja, funktioniert bei mir.

Mach eventuell nochmals ein pip uninstall pychromecast und installier es neu. Habe heute noch paar Änderungen gemacht die eventuell zu einem Bug führten.

Aha, es funktioniert! Super, wie schnell es nun reagiert   :D

Habe festgestellt, dass ein appquit oder Stop benötigt wird, wenn man zwischen zwei Webradio URL's wechseln will. Ist nicht störend, ist mir nur aufgefallen    ;D

Hattest dann wohl einen Bug in deiner neuen Version?  ???

Grüße und Dankeschön

Felix

Edit: Hast du nun vor die Libary selber zu pflegen und zu erweitern? Oder wartest du bis das Skippen lauter/leiser usw von den eigentlichen Entwicklern der Libary "erstellt" wird?
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 05 Dezember 2016, 23:01:59
Den Fehler habe ich auch schon bemerkt, dass man jedes mal appQuit machen muss. Das muss ich wohl noch bearbeiten.

Ich habe bereits einen Pull Request für die Änderungen im offiziellen pychromecast Repository gestellt. Dem möchte ich nachgehen damit das mal offiziell unterstützt wird bevor ich mehr Zeit in das Modul investiere.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 11 Dezember 2016, 16:58:52
Update
YouTube Support mit der Standard Media Play App (nicht Youtube App) hinzugefügt
set <name> playYoutube https://www.youtube.com/watch?v=tERRFWuYG48

Bugs / Herausforderungen
- 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 - 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 playYoutube https://www.youtube.com/watch?v=tERRFWuYG48
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.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 11 Dezember 2016, 17:19:29
Super, wie immer mehr dazu kommt!

Ich werd's gleich ausprobieren  :P

Wie ist das mit Werbung? Bei Youtube Videos ist ja oft Werbung vorgeschaltet, ist das hier auch der Fall?

Grüße und Danke für die weiterarbeit

Felix
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 11 Dezember 2016, 17:21:36
So wie ich den youtube-dl (die Library die ich dazu nutze) Code verstanden habe, ist die Werbung im generierten Link nicht mit dabei.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 11 Dezember 2016, 17:22:26
Zitat von: dominik am 11 Dezember 2016, 17:21:36
So wie ich den youtube-dl (die Library die ich dazu nutze) Code verstanden habe, ist die Werbung im generierten Link nicht mit dabei.

Super, sehr praktisch!
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 11 Dezember 2016, 17:52:36
Mhh, bei mir scheint es leider nicht zu funktionieren, weder Youtube noch PlayAudio/Video.

Play/Pause/Stop und Quitapp funktionieren.

Die neu dazu gekommenden Requirements habe ich natülich beachtet.

Hoffe ich habe nicht wieder irgendeinen dämlichen fähler gemacht... ::)
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 11 Dezember 2016, 18:08:23
Hast du zuvor quitApp gemacht?
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 11 Dezember 2016, 18:08:46
Zitat von: dominik am 11 Dezember 2016, 18:08:23
Hast du zuvor quitApp gemacht?
ja
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 11 Dezember 2016, 18:52:09
Hast mal shutdown restart probiert? Wenn ja, bitte mal den Log Output posten.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 11 Dezember 2016, 19:33:18
2016.12.11 19:17:33 3: CHROMECAST: ChromecastAudio_Felix initializing...
2016.12.11 19:17:44 3: CHROMECAST: ChromecastAudio_Felix initialized successful


Mhh mehr steht in dem Log nach dem shutdown restart nicht.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 12 Dezember 2016, 09:45:41
Sorry, jetzt ist mir gerade eingefallen wieso es bei dir nicht geht. Ich habe die pyhromecast API noch etwas adaptiert damit der Change hoffentlich bald ins offizielle pychromecast mit aufgenommen wird.

Bitte nochmals pychromecast aus meinem Repository installieren, dann sollte es klappen.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 12 Dezember 2016, 17:19:06
Zitat von: dominik am 12 Dezember 2016, 09:45:41
Sorry, jetzt ist mir gerade eingefallen wieso es bei dir nicht geht. Ich habe die pyhromecast API noch etwas adaptiert damit der Change hoffentlich bald ins offizielle pychromecast mit aufgenommen wird.

Bitte nochmals pychromecast aus meinem Repository installieren, dann sollte es klappen.

Leider tut sich wieder nicht so viel... Höre nur das Wiedergabe Geräusch(habe ich vorher nicht gehört gehabt), aber anschließend kein Sound. Weder mit PlayAudio noch mit PlayYoutube, scheint wohl noch irgendwas faul zu sein :o
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: NCC1701D am 13 Dezember 2016, 19:09:30
Hey super was sich hier getan hat.
Aus irgend einem Grund ist die Benachrichtigung im Spam Ordner gelandet.
Hab heute nur durch Zufall mal wieder vorbeigeschaut.
Ich werd's die Tage gleich mal ausprobieren.

Super Dominik das du dich dem Thema FHEM und Chromecast annimmst.
Danke dafür.

Frage vorab.
Braucht man definitiv jessie oder reicht auch wheezy?

Super wäre eine Spotify Integration, da wir mittlerweile sicherlich 90% unserer Musik darüber beziehen.
Wenn ich deine Erweiterung zum laufen bekommen habe, könnte ich mich auch als Tester zur Verfügung stellen.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 13 Dezember 2016, 19:17:48
Zitat von: SilRe am 13 Dezember 2016, 19:09:30
Hey super was sich hier getan hat.
Aus irgend einem Grund ist die Benachrichtigung im Spam Ordner gelandet.
Hab heute nur durch Zufall mal wieder vorbeigeschaut.
Ich werd's die Tage gleich mal ausprobieren.

Super Dominik das du dich dem Thema FHEM und Chromecast annimmst.
Danke dafür.

Frage vorab.
Braucht man definitiv jessie oder reicht auch wheezy?

Super wäre eine Spotify Integration, da wir mittlerweile sicherlich 90% unserer Musik darüber beziehen.
Wenn ich deine Erweiterung zum laufen bekommen habe, könnte ich mich auch als Tester zur Verfügung stellen.

Auf Spotify warte ich auch. Dominik sagte ja er wolle erstmal auf die Integration in die Offizielle Libary warten, bevor er irgend etwas hinzu fügt etc..

Bin aber wie gesagt weiterhin gespannt, was noch so kommt!
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: ErzGabriel am 13 Dezember 2016, 19:39:36
Ich kann aus eigener Erfahrung sagen, mit Wheezy geht es nicht, man muss auf Jessie updaten.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag 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.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 13 Dezember 2016, 23:08:19
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!
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: NCC1701D am 14 Dezember 2016, 23:28:46
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.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 14 Dezember 2016, 23:32:58
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.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: NCC1701D am 14 Dezember 2016, 23:45:07
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.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 15 Dezember 2016, 00:37:40
@SilRe, bitte installier pychromecast nochmals neu. Danke dir für den Log Output, damit konnte ich den Fehler hoffentlich lokalisieren und beheben.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag 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!
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 15 Dezember 2016, 18:45:18
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?
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 15 Dezember 2016, 18:47:23
Ja, alles funktioniert, inklusive der neuen Youtube Funktion.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: NCC1701D 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.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 15 Dezember 2016, 22:45:37
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
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: siggi85 am 16 Dezember 2016, 08:12:35
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.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 16 Dezember 2016, 23:23:33
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.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 16 Dezember 2016, 23:42:13
@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!
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag 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.  ;)
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 17 Dezember 2016, 00:25:23
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
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: NCC1701D am 17 Dezember 2016, 18:12:10
Ich habe es nun gerade testen können. Ist jetzt noch besser. Super!

Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 18 Dezember 2016, 00:19:55
@NCC1701D, kannst du mal folgende Commandos ausführen
pi@raspberrypi ~ $ python
Python 2.7.9 (default, Mar  8 2015, 00:52:26)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pychromecast
>>> chromecasts = pychromecast.get_chromecasts()
>>> [cc.device.friendly_name for cc in chromecasts]
[u'Wohnzimmer']
>>>


Mich würde interessieren wieso dein Device mit Umlaut nicht gefunden werden kann.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: alexmetz am 18 Dezember 2016, 09:32:59
Hallo zusammen,

habe nach einigem Lesen hier endlich geschafft die "Voraussetzungen" zu erfüllen, insbesond. das "cpanm Inline::Python" hat mir Probleme bereitet.
Hat aber dann geklappt.

Jetzt bekomme ich beim Start von fhem allerdings folgende Fehlermeldung:
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 318.

Leider bin ich nicht sehr bewandert im Programmieren. Vielleicht kann jemand helfen, wo das Problem liegt.

LG
Alex.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 18 Dezember 2016, 10:45:58
Hi Alex,

da dürfte noch etwas mit der Inline::Python Installation nicht richtig laufen. Erstell mal folgende Datei:

inlinetest.pl
use Inline Python => << "ENDE";

print "inline python is working"

ENDE


Danach im gleichen Verzeichnis
perl inlinetest.pl
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: alexmetz am 18 Dezember 2016, 11:26:17
Habs gemacht. Ergebnis:
root@raspberrypi:~# perl inlinetest.pl
inline python is working
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 18 Dezember 2016, 13:25:07
pychromecast hast du aus meinem Repository installiert mit pip? Such mal bitte im CHROMECAST.pm Modul nach "logging.ERROR" und schreib dort "logging.DEBUG" rein. Danach shutdown restart. Poste danach bitte dein Log inkl. verbose=5.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: alexmetz am 18 Dezember 2016, 13:53:04
ja so wie in der letzten Anleitung von Dir auf S. 5 oder 6.

Habs mal gemacht. LOG ist angehängt.

UPDATE:
hab nochmal reload gemacht. Kommt folgendes im LOG:
2016.12.18 13:56:12 4: WEB_192.168.180.129_63524 POST /fhem&fw_id=447&cmd=reload+98_CHROMECAST.pm; BUFLEN:0
2016.12.18 13:56:12 5: Cmd: >reload 98_CHROMECAST.pm<
2016.12.18 13:56:13 5: Loading ./FHEM/98_CHROMECAST.pm
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 14, in <module>
    from . import socket_client
ImportError: cannot import name socket_client
2016.12.18 13:56:13 4: name: /fhem&fw_id=447&cmd=reload+98_CHROMECAST.pm / RL:1462 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2016.12.18 13:56:13 4: WEB_192.168.180.129_63524 GET /fhem?XHR=1&inform=type=status;filter=;since=1482065772;fmt=JSON&fw_id=447×tamp=1482065772200; BUFLEN:0
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 18 Dezember 2016, 14:04:58
Da stimmt was mit der pychromecast Installation nicht. Mach bitte mal
sudo pip uninstall pychromecast
sudo pip install git+https://github.com/dominikkarall/pychromecast.git

und probier es dann nochmals.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: alexmetz am 18 Dezember 2016, 14:07:57
erledigt.
root@raspberrypi:/opt/fhem/FHEM# sudo pip uninstall pychromecast
Uninstalling PyChromecast:
  /usr/local/lib/python2.7/dist-packages/PyChromecast-0.7.7.egg-info
  /usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py
  /usr/local/lib/python2.7/dist-packages/pychromecast/__init__.pyc
  /usr/local/lib/python2.7/dist-packages/pychromecast/authority_keys_pb2.py
  /usr/local/lib/python2.7/dist-packages/pychromecast/authority_keys_pb2.pyc
  /usr/local/lib/python2.7/dist-packages/pychromecast/cast_channel_pb2.py
  /usr/local/lib/python2.7/dist-packages/pychromecast/cast_channel_pb2.pyc
  /usr/local/lib/python2.7/dist-packages/pychromecast/config.py
  /usr/local/lib/python2.7/dist-packages/pychromecast/config.pyc
  /usr/local/lib/python2.7/dist-packages/pychromecast/controllers/__init__.py
  /usr/local/lib/python2.7/dist-packages/pychromecast/controllers/__init__.pyc
  /usr/local/lib/python2.7/dist-packages/pychromecast/controllers/media.py
  /usr/local/lib/python2.7/dist-packages/pychromecast/controllers/media.pyc
  /usr/local/lib/python2.7/dist-packages/pychromecast/controllers/plex.py
  /usr/local/lib/python2.7/dist-packages/pychromecast/controllers/plex.pyc
  /usr/local/lib/python2.7/dist-packages/pychromecast/controllers/youtube.py
  /usr/local/lib/python2.7/dist-packages/pychromecast/controllers/youtube.pyc
  /usr/local/lib/python2.7/dist-packages/pychromecast/dial.py
  /usr/local/lib/python2.7/dist-packages/pychromecast/dial.pyc
  /usr/local/lib/python2.7/dist-packages/pychromecast/discovery.py
  /usr/local/lib/python2.7/dist-packages/pychromecast/discovery.pyc
  /usr/local/lib/python2.7/dist-packages/pychromecast/error.py
  /usr/local/lib/python2.7/dist-packages/pychromecast/error.pyc
  /usr/local/lib/python2.7/dist-packages/pychromecast/logging_pb2.py
  /usr/local/lib/python2.7/dist-packages/pychromecast/logging_pb2.pyc
  /usr/local/lib/python2.7/dist-packages/pychromecast/socket_client.py
  /usr/local/lib/python2.7/dist-packages/pychromecast/socket_client.pyc
Proceed (y/n)? y
  Successfully uninstalled PyChromecast
root@raspberrypi:/opt/fhem/FHEM# sudo pip install git+https://github.com/dominikkarall/pychromecast.git
Downloading/unpacking git+https://github.com/dominikkarall/pychromecast.git
  Cloning https://github.com/dominikkarall/pychromecast.git to /tmp/pip-v2lel4-build
  Running setup.py (path:/tmp/pip-v2lel4-build/setup.py) egg_info for package from git+https://github.com/dominikkarall/pychromecast.git
   
    warning: no previously-included files matching '*.py[co]' found under directory '*'
Requirement already satisfied (use --upgrade to upgrade): requests>=2.0 in /usr/lib/python2.7/dist-packages (from PyChromecast==0.7.7)
Requirement already satisfied (use --upgrade to upgrade): protobuf==3.0.0b2 in /usr/local/lib/python2.7/dist-packages (from PyChromecast==0.7.7)
Requirement already satisfied (use --upgrade to upgrade): zeroconf>=0.17.4 in /usr/local/lib/python2.7/dist-packages (from PyChromecast==0.7.7)
Requirement already satisfied (use --upgrade to upgrade): six>=1.10.0 in /usr/local/lib/python2.7/dist-packages (from PyChromecast==0.7.7)
Installing collected packages: PyChromecast
  Running setup.py install for PyChromecast
   
    warning: no previously-included files matching '*.py[co]' found under directory '*'
Successfully installed PyChromecast
Cleaning up...


Hat nix geholfen. ;-(
ist es vielleicht ein REchte-Problem, weil ich pychromecast als root installiert habe?
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 18 Dezember 2016, 14:17:37
Ne, Rechteproblem dürfte es keines sein. Mach mal
pi@raspberrypi ~ $ python
Python 2.7.9 (default, Mar  8 2015, 00:52:26)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pychromecast
>>>
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: alexmetz am 18 Dezember 2016, 14:19:03
root@raspberrypi:/opt/fhem/FHEM# python
Python 2.7.9 (default, Sep 17 2016, 20:26:04)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pychromecast
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 15, in <module>
    from .discovery import discover_chromecasts
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/discovery.py", line 6, in <module>
    from zeroconf import ServiceBrowser, Zeroconf
  File "/usr/local/lib/python2.7/dist-packages/zeroconf.py", line 26, in <module>
    import enum
ImportError: No module named enum
>>>
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 18 Dezember 2016, 14:25:23
Versuch mal
sudo pip install enum
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: alexmetz am 18 Dezember 2016, 14:29:12
musste außerdem noch netifaces installieren. Jetzt kommt ein Fehler den ich nicht mehr selbst beheben kann...

root@raspberrypi:/opt/fhem/FHEM# sudo pip install enum
Downloading/unpacking enum
  Downloading enum-0.4.6.tar.gz
  Running setup.py (path:/tmp/pip-build-uyszhC/enum/setup.py) egg_info for package enum
   
Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/lib/python2.7/dist-packages (from enum)
Installing collected packages: enum
  Running setup.py install for enum
   
Successfully installed enum
Cleaning up...
root@raspberrypi:/opt/fhem/FHEM# python
Python 2.7.9 (default, Sep 17 2016, 20:26:04)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pychromecast
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 15, in <module>
    from .discovery import discover_chromecasts
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/discovery.py", line 6, in <module>
    from zeroconf import ServiceBrowser, Zeroconf
  File "/usr/local/lib/python2.7/dist-packages/zeroconf.py", line 37, in <module>
    import netifaces
ImportError: No module named netifaces
>>>
root@raspberrypi:/opt/fhem/FHEM# sudo pip install netifaces
Downloading/unpacking netifaces
  Downloading netifaces-0.10.5.tar.gz
  Running setup.py (path:/tmp/pip-build-zHduJt/netifaces/setup.py) egg_info for package netifaces
   
Installing collected packages: netifaces
  Running setup.py install for netifaces
    checking for getifaddrs...found.
    checking for getnameinfo...found.
    checking for IPv6 socket IOCTLs...not found.
    checking for optional header files...netash/ash.h netatalk/at.h netax25/ax25.h neteconet/ec.h netipx/ipx.h netpacket/packet.h linux/irda.h linux/atm.h linux/llc.h linux/tipc.h linux/dn.h.
    checking whether struct sockaddr has a length field...no.
    checking which sockaddr_xxx structs are defined...at ax25 in in6 ipx un ash ec ll atmpvc atmsvc dn irda llc.
    checking for routing socket support...no.
    checking for sysctl(CTL_NET...) support...no.
    checking for netlink support...yes.
    will use netlink to read routing table
    building 'netifaces' extension
    arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DNETIFACES_VERSION=0.10.5 -DHAVE_GETIFADDRS=1 -DHAVE_GETNAMEINFO=1 -DHAVE_NETASH_ASH_H=1 -DHAVE_NETATALK_AT_H=1 -DHAVE_NETAX25_AX25_H=1 -DHAVE_NETECONET_EC_H=1 -DHAVE_NETIPX_IPX_H=1 -DHAVE_NETPACKET_PACKET_H=1 -DHAVE_LINUX_IRDA_H=1 -DHAVE_LINUX_ATM_H=1 -DHAVE_LINUX_LLC_H=1 -DHAVE_LINUX_TIPC_H=1 -DHAVE_LINUX_DN_H=1 -DHAVE_SOCKADDR_AT=1 -DHAVE_SOCKADDR_AX25=1 -DHAVE_SOCKADDR_IN=1 -DHAVE_SOCKADDR_IN6=1 -DHAVE_SOCKADDR_IPX=1 -DHAVE_SOCKADDR_UN=1 -DHAVE_SOCKADDR_ASH=1 -DHAVE_SOCKADDR_EC=1 -DHAVE_SOCKADDR_LL=1 -DHAVE_SOCKADDR_ATMPVC=1 -DHAVE_SOCKADDR_ATMSVC=1 -DHAVE_SOCKADDR_DN=1 -DHAVE_SOCKADDR_IRDA=1 -DHAVE_SOCKADDR_LLC=1 -DHAVE_PF_NETLINK=1 -I/usr/include/python2.7 -c netifaces.c -o build/temp.linux-armv7l-2.7/netifaces.o
    arm-linux-gnueabihf-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security build/temp.linux-armv7l-2.7/netifaces.o -o build/lib.linux-armv7l-2.7/netifaces.so
   
Successfully installed netifaces
Cleaning up...
root@raspberrypi:/opt/fhem/FHEM# python
Python 2.7.9 (default, Sep 17 2016, 20:26:04)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pychromecast
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 15, in <module>
    from .discovery import discover_chromecasts
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/discovery.py", line 6, in <module>
    from zeroconf import ServiceBrowser, Zeroconf
  File "/usr/local/lib/python2.7/dist-packages/zeroconf.py", line 1423, in <module>
    @enum.unique
AttributeError: 'module' object has no attribute 'unique'
>>>
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 18 Dezember 2016, 14:33:45
pip install -r /usr/local/lib/python2.7/dist-packages/PyChromecast-0.7.7.egg-info/requires.txt
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: alexmetz am 18 Dezember 2016, 14:36:40
scheint alles da zu sein. Ich mach mal raspi-update.

root@raspberrypi:/opt/fhem/FHEM# pip install -r /usr/local/lib/python2.7/dist-packages/PyChromecast-0.7.7.egg-info/requires.txt

Requirement already satisfied (use --upgrade to upgrade): requests>=2.0 in /usr/lib/python2.7/dist-packages (from -r /usr/local/lib/python2.7/dist-packages/PyChromecast-0.7.7.egg-info/requires.txt (line 1))
Requirement already satisfied (use --upgrade to upgrade): protobuf==3.0.0b2 in /usr/local/lib/python2.7/dist-packages (from -r /usr/local/lib/python2.7/dist-packages/PyChromecast-0.7.7.egg-info/requires.txt (line 2))
Requirement already satisfied (use --upgrade to upgrade): zeroconf>=0.17.4 in /usr/local/lib/python2.7/dist-packages (from -r /usr/local/lib/python2.7/dist-packages/PyChromecast-0.7.7.egg-info/requires.txt (line 3))
Requirement already satisfied (use --upgrade to upgrade): six>=1.10.0 in /usr/local/lib/python2.7/dist-packages (from -r /usr/local/lib/python2.7/dist-packages/PyChromecast-0.7.7.egg-info/requires.txt (line 4))
Cleaning up...


UPDATE: raspi-update hat auch nix geholfen. apt-get update und upgrade hatte ich gestern erst gemacht.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 18 Dezember 2016, 14:48:39
Ich glaub die "enum" Installation war doch falsch.

http://stackoverflow.com/questions/34165522/attributeerror-module-object-has-no-attribute-unique

sudo pip uninstall enum
sudo pip uninstall enum-compat
sudo pip install enum32
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: alexmetz am 18 Dezember 2016, 14:55:11
versuche es  miss jetzt familiären Verpflichtungen nachkomnen...
Danke schon mal für die Hilfe!!!
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: alexmetz am 18 Dezember 2016, 16:50:45
also: hab wie aus dem Link enum deinstalliert und enum34 installiert.
das hier scheint jetzt zu funktionieren:
root@raspberrypi:~# python
Python 2.7.9 (default, Sep 17 2016, 20:26:04)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pychromecast
>>>


nach einem "shutdown restart" gabs auch beim reload keine Fehlermeldung mehr und ich konnte ein device erstellen. Teste mal weiter.

Vielen Vielen Dank für die Hilfe!!!
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: NCC1701D am 19 Dezember 2016, 01:09:29
Hallo Dominik.
Hier ist die Ausgabe:

pi@raspberrypi ~ $ python
Python 2.7.9 (default, Sep 17 2016, 20:26:04)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pychromecast
>>> chromecasts = pychromecast.get_chromecasts()
>>> [cc.device.friendly_name for cc in chromecasts]
[u'B\xfcro von Mausi', u'Abendessen', u'Schlafzimmer', u'K\xfcche', u'Supersound', u'Wohnzimmer', u'Hasenbau', u'Bad', u'K\xfcche - B\xfcro']


Wie man sieht gibt er die Umlaute ganz merkwürdig aus z.B. 'K\xfcche' für Küche oder B\xfcro' für Büro
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: febus am 19 Dezember 2016, 11:05:49
Hi, ich verfolge aufmerksam dieses Thema... Gibt es technisch gesehen eine Chance, das Modul auf einer Synology NAS zum Laufen zu bringen?
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 19 Dezember 2016, 20:42:50
Update
v1.0.3 - 20161219
- FEATURE: support volume
- FEATURE: add new readings and removed
            castStatus, mediaStatus reading
- FEATURE: add attribute favoriteURL_[1-5]
- FEATURE: add playFavorite [1-5] set function
- FEATURE: retry init chromecast every 10s if not found on startup
- BUGFIX:  support special characters for device name

Bugs / Herausforderungen
- Beim Define (also auch beim Starten) wird FHEM für ca. 10s geblockt
- Umlaute für Chromecast Devices funktionieren aktuell nicht
- playYoutube blockiert FHEM für einige Sekunden
- vor jedem Abspielen muss quitApp ausgeführt werden
- 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
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

Bugs und Verbesserungsvorschläge bitte direkt hier melden.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 19 Dezember 2016, 21:33:30
Zitat von: dominik am 19 Dezember 2016, 20:42:50
Update
v1.0.3 - 20161219
- FEATURE: support volume
- FEATURE: add new readings and removed
            castStatus, mediaStatus reading
- FEATURE: add attribute favoriteURL_[1-5]
- FEATURE: add playFavorite [1-5] set function
- FEATURE: retry init chromecast every 10s if not found on startup
- BUGFIX:  support special characters for device name

Bugs / Herausforderungen
- Beim Define (also auch beim Starten) wird FHEM für ca. 10s geblockt
- Umlaute für Chromecast Devices funktionieren aktuell nicht
- playYoutube blockiert FHEM für einige Sekunden
- vor jedem Abspielen muss quitApp ausgeführt werden
- 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
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

Bugs und Verbesserungsvorschläge bitte direkt hier melden.

Wow schöne Sache! Allerdings funktioniert das Attribut FavoritName nicht. Ich denke mal das soll den Namen Favorite 1 durch einen eigenen Namen ersetzen? Falls ich das falsch interpretiert habe verbesser mich!

Freut mich echt, dass jemand das Projekt so schnell weiterführt wie du!

Grüße und nochmals Danke für die schnelle Entwicklung!

Felix
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: mahowi am 21 Dezember 2016, 08:50:51
Zitat von: dominik am 19 Dezember 2016, 20:42:50
Update
v1.0.3 - 20161219
[...]
- FEATURE: retry init chromecast every 10s if not found on startup
[...]

Kann man zumindest die Meldung dazu im Log unterdrücken? Bei mir ist der Fernseher aus, solange ich nicht zuhause bin, und damit auch der Chromecast, da er daran angeschlossen ist. Jetzt bekomme ich natürlich den halben Tag lang alle 10 sec. einen Eintrag ins Log.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 22 Dezember 2016, 20:52:35
@mahowi, berechtigter Einwand, daran hatte ich nicht gedacht. Werde das entsprechend anpassen.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: alexmetz am 27 Dezember 2016, 23:12:19
mal eine Frage: kann ich auch lokale Dateien abspielen? Das hier geht nämlich nicht:
set Chromecast play /opt/fhem/tts/template/test.mp3

Eigentlich geht es mir um eine Integration mit dem Text2Speech-Modul. Ich möchte mit diesem einen Text erzeugen und ihn dann auf dem Chromecast ausgeben. Noch einfacher wäre natürlich, wenn das Chromecast-Modul einen Befehl "playTTS" hätte, das auf das Text2SpeechModul zugreift.

LG
Alex.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 27 Dezember 2016, 23:52:34
Als schnelle Lösung

set <name> play http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Das%20ist%20ein%20Chromecast%20Test

Lokale Files kann man noch nicht abspielen, das setzt nämlich einen laufenden http Server voraus.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: alexmetz am 28 Dezember 2016, 00:22:49
Zitat von: dominik am 27 Dezember 2016, 23:52:34
Als schnelle Lösung

set <name> play http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Das%20ist%20ein%20Chromecast%20Test

perfekt. Und so einfach! Danke!
Zitat von: dominik am 27 Dezember 2016, 23:52:34
Lokale Files kann man noch nicht abspielen, das setzt nämlich einen laufenden http Server voraus.
Fhem ist doch ein http-Server. Deshalb hatte ich auch versucht, das mp3 unter /opt/fhem/www/tts/... abzulegen. Das klappt über den Browser, nicht aber über das Chromecast-Modul. Selbst mit http://usr:pwd@192.xxx.xxx.xxx:8083/fhem/...

Gruß,
Alex.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: alexmetz am 28 Dezember 2016, 19:02:23
Zitat von: mahowi am 21 Dezember 2016, 08:50:51
Kann man zumindest die Meldung dazu im Log unterdrücken? Bei mir ist der Fernseher aus, solange ich nicht zuhause bin, und damit auch der Chromecast, da er daran angeschlossen ist. Jetzt bekomme ich natürlich den halben Tag lang alle 10 sec. einen Eintrag ins Log.

Im Anschluss an obiges. Ich habe den Chromecast auch nur an, wenn mein Receiver an ist. Das führt dazu dass Fhem immer dann unendlich langsam wird, wenn der Chromecast aus ist. Zuletzt ist fhem sogar abgestürzt. Letzter Log-Eintrag:
ERROR:pychromecast.socket_client:Failed to connect, retrying in 2.000000s
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/socket_client.py", line 246, in initialize_connection
    self.socket.connect((self.host, self.port))
  File "/usr/lib/python2.7/ssl.py", line 824, in connect
    self._real_connect(addr, False)
  File "/usr/lib/python2.7/ssl.py", line 811, in _real_connect
    socket.connect(self, addr)
  File "/usr/lib/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 113] Keine Route zum Zielrechner


Übrigens stürzt er nicht sofort ab sondern hängt erst ein paar Minuten (keine Reaktion, aber Fhem läuft laut "ps -A" noch).

Gruß,
Alex.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fhernsteuerer am 29 Dezember 2016, 06:37:33
Guten Abend,

hatte soeben auch vor, dein Plugin ausgiebig zu testen. Allerdings scheitert es bei mir schon an der Installation.
Ich komme bis zu folgendem Punkt:

pi@raspberrypi:~ $ sudo cpanm Inline::Python
Inline::Python is up to date. (0.52)



pi@raspberrypi:~ $ perl inlinetest.pl
Can't load '/usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/auto/Inline/Python/Python.so' for module Inline::Python: /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/auto/Inline/Python/Python.so: undefined symbol: PyMethod_Type at /usr/lib/arm-linux-gnueabihf/perl/5.20/DynaLoader.pm line 187.
at -e line 0.
Compilation failed in require at (eval 5) line 1.
Error. You have specified 'Python' as an Inline programming language.

I currently only know about the following languages:
    Foo, foo

If you have installed a support module for this language, try deleting the
config-arm-linux-gnueabihf-thread-multi-64int-5.020002 file from the following Inline DIRECTORY, and run again:

    /home/pi/_Inline

(And if that works, please file a bug report.)

at inlinetest.pl line 1.
BEGIN failed--compilation aborted at inlinetest.pl line 1.
pi@raspberrypi:~ $


Woran liegt das?

Grüße
fns
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 01 Januar 2017, 14:31:11
@fhernsteuerer, hast du schon versucht das in der Fehlermeldung angegebene Verzeichnis zu löschen?

@Alex, bin noch dabei da eine vernünftige Lösung zu finden.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 01 Januar 2017, 20:06:44
Update
v1.0.4 - 20170101
- BUGFIX:  support non-blocking chromecast search => kein Blocking mehr beim Suchen
- FEATURE: support all services supported by youtube-dl (if the video/audio format can be decoded by chromecast)
            https://github.com/rg3/youtube-dl/blob/master/docs/supportedsites.md
            playlists not yet supported!

shutdown restart notwendig.

Bugs / Herausforderungen
- Beim Define (also auch beim Starten) wird FHEM für ca. 10s geblockt
- Umlaute für Chromecast Devices funktionieren aktuell nicht
- playYoutube blockiert FHEM für einige Sekunden
- vor jedem Abspielen muss quitApp ausgeführt werden
- 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 - ACHTUNG UPDATE!!!
sudo pip uninstall pychromecast (NEU!)
sudo pip install git+https://github.com/balloob/pychromecast.git (NEU!)
sudo apt-get install libwww-perl
Linux Distribution jessie
sudo pip install youtube-dl
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

Bugs und Verbesserungsvorschläge bitte direkt hier melden. Wer mir ein kleines Bier zahlen will (oder Pampers finanziert, da ich Vater geworden bin ;)), darf mir gerne per Paypal an dominik.karall@gmail.com etwas transferieren.
Danke euch für das ausführliche Testen!

Gruß,
Dominik
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: alexmetz am 02 Januar 2017, 18:09:03
vielen Dank für das Update. Stürzt leider immer noch ab:
checkConnection
2017.01.02 07:25:06 5: CHROMECAST (Chromecast): checkConnection
...
2017.01.02 07:46:35 5: CHROMECAST (Chromecast): checkConnection
2017.01.02 07:46:35 5: CHROMECAST (Chromecast): checkConnection
2017.01.02 07:46:36 5: CHROMECAST (Chromecast): checkConnection
2017.01.02 07:46:36 5: CHROMECAST (Chromecast): checkConnection
2017.01.02 07:46:37 5: CHROMECAST (Chromecast): checkConnection
2017.01.02 07:46:37 5: CHROMECAST (Chromecast): checkConnection
2017.01.02 07:46:38 5: CHROMECAST (Chromecast): checkConnection
2017.01.02 07:46:38 5: CHROMECAST (Chromecast): checkConnection
No handlers could be found for logger "pychromecast.socket_client"


Danach war fhem abgestürzt.
LG
Alex
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 02 Januar 2017, 20:48:09
Kannst du erklären welche Schritte du ausgeführt hast? Ich vermute mal, dass der Chromecast schon mal erkannt wurde und danach offline war, oder?
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: alexmetz am 02 Januar 2017, 22:41:06
genau. Habe das define gemacht als der Chromecast an war und später dann ausgemacht.

LG
Alex
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: MartinMW am 04 Januar 2017, 09:25:18
Hallo dominik, danke für das super Modul!
Brauchte übrigens bei meinem pi 2 noch:
sudo pip install netiface
sudo pip install enum34  (enum32 gab es nicht  ;))

Habe eine Sony CMT-SX7B und Sony SRS-X77. Wenn mit meinem Androidhandy mit GoogleCast eine Multiroom Gruppe eingerichtet habe, kann ich gar die als cc device einrichten. Echt super!!

Danke

VG

Martin
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Esjay am 15 Januar 2017, 13:18:55
Hallo dominik,
erstmal danke,das du dich der Sache angenommen hast,und meinen Glückwunsch zum Nachwuchs.Gestern sind meine Cromecast gekommen,und hab sie direkt versucht in Fhem einzubinden.Allerdings habe ich folgendes im log.Hast du eine Idee dazu?
2017.01.15 11:49:41 3: CHROMECAST: Wohnzimmer initializing...
2017.01.15 11:49:50 1: ERROR evaluating {CHROMECAST_findChromecastsResult('ccWohnzimmer|CCDEVICE|192.168.178.59|8009|d372ca47-74bf-cde9-8ef2-f911853f12f9|Chromecast Audio|Wohnzimmer')}: exceptions.AttributeError: 'module' object has no attribute '_get_chromecast_from_host' at line 13


Gruß Esjay
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 15 Januar 2017, 20:16:47
Hast du pychromecast über git installiert?

sudo pip install git+https://github.com/balloob/pychromecast.git
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Esjay am 15 Januar 2017, 21:23:38
Zitat von: dominik am 15 Januar 2017, 20:16:47
Hast du pychromecast über git installiert?

sudo pip install git+https://github.com/balloob/pychromecast.git

Hallo dominik,

ja, das habe ich so installiert.Vll kannst du ja mehr aus der Ausgabe herauslesen,oder sehen,ob etwas fehltgeschlagen/schiefgegangen oder sonst was ist.


sudo pip install git+https://github.com/balloob/pychromecast.git
Downloading/unpacking git+https://github.com/balloob/pychromecast.git
  Cloning https://github.com/balloob/pychromecast.git to /tmp/pip-ar1h5e6g-build
  Running setup.py (path:/tmp/pip-ar1h5e6g-build/setup.py) egg_info for package from git+https://github.com/balloob/pychromecast.git

    warning: no previously-included files matching '*.py[co]' found under directory '*'
Requirement already satisfied (use --upgrade to upgrade): requests>=2.0 in /usr/lib/python3/dist-packages (from PyChromecast==0.7.7)
Downloading/unpacking protobuf>=3.0.0 (from PyChromecast==0.7.7)
  Downloading protobuf-3.1.0.post1-py2.py3-none-any.whl (347kB): 347kB downloaded
Downloading/unpacking zeroconf>=0.17.4 (from PyChromecast==0.7.7)
  Downloading zeroconf-0.17.6-py2.py3-none-any.whl
Downloading/unpacking six>=1.10.0 (from PyChromecast==0.7.7)
  Downloading six-1.10.0-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/lib/python3/dist-packages (from protobuf>=3.0.0->PyChromecast==0.7.7)
Requirement already satisfied (use --upgrade to upgrade): netifaces in /usr/local/lib/python3.4/dist-packages (from zeroconf>=0.17.4->PyChromecast==0.7.7)
Downloading/unpacking enum-compat (from zeroconf>=0.17.4->PyChromecast==0.7.7)
  Downloading enum-compat-0.0.2.tar.gz
  Running setup.py (path:/tmp/pip-build-49or2850/enum-compat/setup.py) egg_info for package enum-compat

Installing collected packages: protobuf, zeroconf, six, PyChromecast, enum-compat
  Found existing installation: six 1.8.0
    Not uninstalling six at /usr/lib/python3/dist-packages, owned by OS
  Running setup.py install for PyChromecast

    warning: no previously-included files matching '*.py[co]' found under directory '*'
  Running setup.py install for enum-compat
    deleting enum_compat.egg-info/requires.txt

Successfully installed protobuf zeroconf six PyChromecast enum-compat
Cleaning up...


Edit:
Ich habe gestern Abend meinen Cromecast nochmal auf den Namen Test umbenannt,und erneut angelegt.
Nun wurde zusätzlich das Log mit der Meldungen gefüllt.
2017.01.15 23:35:15 3: CHROMECAST: Test initializing...
2017.01.15 23:35:23 1: PERL WARNING: Use of uninitialized value $devName in string eq at ./FHEM/98_CHROMECAST.pm line 162.
2017.01.15 23:35:23 1: PERL WARNING: Use of uninitialized value $devName in concatenation (.) or string at ./FHEM/98_CHROMECAST.pm line 170.
2017.01.15 23:35:33 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_CHROMECAST.pm line 132.
2017.01.15 23:35:33 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_CHROMECAST.pm line 133.
2017.01.15 23:35:48 3: CHROMECAST: Test initializing...
2017.01.15 23:35:52 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_CHROMECAST.pm line 132.
2017.01.15 23:35:52 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_CHROMECAST.pm line 133.
2017.01.15 23:35:58 1: ERROR evaluating {CHROMECAST_findChromecastsResult('ccTest|CCDEVICE|192.168.178.59|8009|d372ca47-74bf-cde9-8ef2-f911853f12f9|Chromecast Audio|Test')}: exceptions.AttributeError: 'module' object has no attribute '_get_chromecast_from_host' at line 13

Da ich gestern Abend das Device nicht gelöscht habe,ging das die Gamze Nacht so. Vll hilft es ja bei der Diagnose..

Hat nichts mit dem Device an sich zu tun.Die Meldungen treten weiterhin auf!
Grüße
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Diektator am 17 Januar 2017, 12:49:13
Hallo Dominik,

ich hab erst gestern angefangen mir FHEM auf meinem RPi 2b einzurichten und bisher lief alles ganz gut.
Bei deinem Modul spuckt mein Log allerdings folgendes aus, wenn ich meinen Chromecast definen will:

Can't load '/usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/auto/Inline/Python/Python.so' for module Inline::Python: /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/auto/Inline/Python/Python.so: undefined symbol: PyMethod_Type at /usr/lib/arm-linux-gnueabihf/perl/5.20/DynaLoader.pm line 187.
at -e line 0.
Compilation failed in require at (eval 5) line 1.
2017.01.17 12:39:06 1: reload: Error:Modul 98_CHROMECAST deactivated:
Failed to autogenerate /opt/fhem/_Inline/config-arm-linux-gnueabihf-thread-multi-64int-5.020002.

at ./FHEM/98_CHROMECAST.pm line 446.
BEGIN failed--compilation aborted at ./FHEM/98_CHROMECAST.pm line 446.

2017.01.17 12:39:06 0: Failed to autogenerate /opt/fhem/_Inline/config-arm-linux-gnueabihf-thread-multi-64int-5.020002.

at ./FHEM/98_CHROMECAST.pm line 446.
BEGIN failed--compilation aborted at ./FHEM/98_CHROMECAST.pm line 446.


leider hab ich keine Ahnung, was genau ich falsch gemacht habe. :(
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Esjay am 17 Januar 2017, 21:31:24
Hallo dominik,
ich habe es jetzt hinbekommen,meinen Cromecast einzubinden.Die folgenden Meldungen treten allerdings noch auf!


2017.01.17 21:20:18 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_CHROMECAST.pm line 132.
2017.01.17 21:20:18 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_CHROMECAST.pm line 133.
2017.01.17 21:20:36 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_CHROMECAST.pm line 132.
2017.01.17 21:20:36 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_CHROMECAST.pm line 133.
2017.01.17 21:20:55 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_CHROMECAST.pm line 132.
2017.01.17 21:20:55 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_CHROMECAST.pm line 133.
2017.01.17 21:21:14 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_CHROMECAST.pm line 132.
2017.01.17 21:21:14 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_CHROMECAST.pm line 133.
2017.01.17 21:21:33 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_CHROMECAST.pm line 132.
2017.01.17 21:21:33 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_CHROMECAST.pm line 133.
2017.01.17 21:21:52 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_CHROMECAST.pm line 132.
2017.01.17 21:21:52 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_CHROMECAST.pm line 133.
2017.01.17 21:22:10 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_CHROMECAST.pm line 132.
2017.01.17 21:22:10 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_CHROMECAST.pm line 133.
2017.01.17 21:22:29 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_CHROMECAST.pm line 132.
2017.01.17 21:22:29 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_CHROMECAST.pm line 133.
2017.01.17 21:22:48 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_CHROMECAST.pm line 132.
2017.01.17 21:22:48 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_CHROMECAST.pm line 133.
2017.01.17 21:23:07 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_CHROMECAST.pm line 132.
2017.01.17 21:23:07 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_CHROMECAST.pm line 133.
2017.01.17 21:23:26 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_CHROMECAST.pm line 132.
2017.01.17 21:23:26 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_CHROMECAST.pm line 133.
2017.01.17 21:23:44 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_CHROMECAST.pm line 132.
2017.01.17 21:23:44 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_CHROMECAST.pm line 133.
2017.01.17 21:24:03 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_CHROMECAST.pm line 132.
2017.01.17 21:24:03 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_CHROMECAST.pm line 133.
2017.01.17 21:24:22 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_CHROMECAST.pm line 132.
2017.01.17 21:24:22 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_CHROMECAST.pm line 133.


Grüße



Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: SoeK am 17 Januar 2017, 21:34:33
@Esjay: Hast Du evtl. ein Leerzeichen im Namen eines der Favoriten? Dann hatte ich zumindest eine sehr ähnliche Fehlermeldung. Nach umbenennen von "1 Live" in "1Live" und Reboot ging es
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Esjay am 17 Januar 2017, 21:40:27
Zitat von: SoeK am 17 Januar 2017, 21:34:33
@Esjay: Hast Du evtl. ein Leerzeichen im Namen eines der Favoriten? Dann hatte ich zumindest eine sehr ähnliche Fehlermeldung. Nach umbenennen von "1 Live" in "1Live" und Reboot ging es

Danke für deine Rückmeldung.Ich habe noch nichts mit den Favoriten gemacht,und bin mir auch noch nicht ganz sicher, wie das Attribut funktioniert. Ich habe die letzten 2 Tage darum gekämpft den Cromecast überhaupt einzubinden.
Ich vermute, dass ich per Attribut einen Link einem Favoriten zuordnen kann?!
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: SoeK am 17 Januar 2017, 21:42:57
Schade dann hab' ich auch keine Idee :-( Favoriten: Genau, es gibt jeweils ein Attribut für die Url & Namen der 5 Favoriten
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Esjay am 17 Januar 2017, 21:48:32
Zitat von: SoeK am 17 Januar 2017, 21:42:57
Schade dann hab' ich auch keine Idee :-( Favoriten: Genau, es gibt jeweils ein Attribut für die Url & Namen der 5 Favoriten

Kein Thema.Danke für den Versuch zu helfen ;-)
Habe jetzt verbose vorrübergehend auf 0 gestellt,und gut ist.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Diektator am 19 Januar 2017, 16:39:14
sudo cpanm --uninstall Inline::Python
sudo cpanm Inline::Python
sudo reboot

hat das Problem für mich gelöst, jetzt gehts ans Testen!  ;D
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: JPP88 am 19 Januar 2017, 22:02:44
Zu erst, vielen Dank für das Implementieren von Chromcast in FHEM

Ich bin der letzten Anweisung gefolgt, aber leider finden mein FHEM das Modul "Chromcast" nicht

Was kann ich tun?

Vielen Dank für eure Hilfe
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Esjay am 19 Januar 2017, 22:13:40
Zitat von: JPP88 am 19 Januar 2017, 22:02:44
Zu erst, vielen Dank für das Implementieren von Chromcast in FHEM

Ich bin der letzten Anweisung gefolgt, aber leider finden mein FHEM das Modul "Chromcast" nicht

Was kann ich tun?

Vielen Dank für eure Hilfe
Nabend..Schau mal in dein logfile..Dort steht welche Probleme es gibt..Zur not einach mal die Auszüge hier bereit stellen,und dann wird das schon!!
Grüße
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: JPP88 am 19 Januar 2017, 22:20:17
Vielen dank für die schnelle Antwort.

In meiner Logfile (FHEM) steht leider gar nichts, es kommt nur der Hinweiß "Unknown module CHROMECAST"

Habe auch geschaut in meinem Ordner (/opt/fhem/FHEM) gibt es kein Modul 98_CHROMECAST.pm
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Esjay am 19 Januar 2017, 22:23:43
Zitat von: JPP88 am 19 Januar 2017, 22:20:17
Vielen dank für die schnelle Antwort.

In meiner Logfile (FHEM) steht leider gar nichts, es kommt nur der Hinweiß "Unknown module CHROMECAST"

Habe auch geschaut in meinem Ordner (/opt/fhem/FHEM) gibt es kein Modul 98_CHROMECAST.pm
Das Modul gibt es noch nicht (offiziell )in Fhem..Lade dir aus dem Beitrag 120 die Chromecast.pm herunter,und verschieb es per Winscp oder wie auch immer in das Verzeichnis..Dann gehts wieder mit definieren los,und ggfs. Log prüfen!
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: JPP88 am 19 Januar 2017, 22:36:08
Okay, das war mein Fehler, hatte den Anhang nie gesehen.

Gut hier dann auch der Bericht aus der Logfile, klappte natürlich leider nicht: :(

2017.01.19 22:34:10 1: reload: Error:Modul 98_CHROMECAST deactivated:
Failed to autogenerate /opt/fhem/_Inline/config-arm-linux-gnueabihf-thread-multi-64int-5.020002.

at ./FHEM/98_CHROMECAST.pm line 446.
BEGIN failed--compilation aborted at ./FHEM/98_CHROMECAST.pm line 446.

2017.01.19 22:34:10 0: Failed to autogenerate /opt/fhem/_Inline/config-arm-linux-gnueabihf-thread-multi-64int-5.020002.

at ./FHEM/98_CHROMECAST.pm line 446.
BEGIN failed--compilation aborted at ./FHEM/98_CHROMECAST.pm line 446.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Esjay am 19 Januar 2017, 22:39:35
Zitat von: JPP88 am 19 Januar 2017, 22:36:08
Okay, das war mein Fehler, hatte den Anhang nie gesehen.

Gut hier dann auch der Bericht aus der Logfile, klappte natürlich leider nicht: :(

2017.01.19 22:34:10 1: reload: Error:Modul 98_CHROMECAST deactivated:
Failed to autogenerate /opt/fhem/_Inline/config-arm-linux-gnueabihf-thread-multi-64int-5.020002.

at ./FHEM/98_CHROMECAST.pm line 446.
BEGIN failed--compilation aborted at ./FHEM/98_CHROMECAST.pm line 446.

2017.01.19 22:34:10 0: Failed to autogenerate /opt/fhem/_Inline/config-arm-linux-gnueabihf-thread-multi-64int-5.020002.

at ./FHEM/98_CHROMECAST.pm line 446.
BEGIN failed--compilation aborted at ./FHEM/98_CHROMECAST.pm line 446.
Schau dir mal Beitrag 128 und 134 an
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: JPP88 am 20 Januar 2017, 15:28:03
Ich habe die Punkte vom Beitrag #143 befolgt und bekomme nun folgende Fehlermeldung:

FHEM: Cannot load module CHROMECAST

Logfile:

Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 15, in <module>
    from .discovery import discover_chromecasts, start_discovery, stop_discovery
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/discovery.py", line 5, in <module>
    from zeroconf import ServiceBrowser, Zeroconf
  File "/usr/local/lib/python2.7/dist-packages/zeroconf.py", line 1423, in <module>
    @enum.unique
AttributeError: 'module' object has no attribute 'unique'
2017.01.20 15:25:56 1: reload: Error:Modul 98_CHROMECAST deactivated:
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 446.

2017.01.20 15:25:56 0: 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 446.

Ich hoff Ihr könnt mir helfen
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Esjay am 20 Januar 2017, 16:03:26
Zitat von: JPP88 am 20 Januar 2017, 15:28:03
Ich habe die Punkte vom Beitrag #143 befolgt und bekomme nun folgende Fehlermeldung:

FHEM: Cannot load module CHROMECAST

Logfile:

Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 15, in <module>
    from .discovery import discover_chromecasts, start_discovery, stop_discovery
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/discovery.py", line 5, in <module>
    from zeroconf import ServiceBrowser, Zeroconf
  File "/usr/local/lib/python2.7/dist-packages/zeroconf.py", line 1423, in <module>
    @enum.unique
AttributeError: 'module' object has no attribute 'unique'
2017.01.20 15:25:56 1: reload: Error:Modul 98_CHROMECAST deactivated:
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 446.

2017.01.20 15:25:56 0: 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 446.

Ich hoff Ihr könnt mir helfen

Schau mal Beitrag #102 #103..Bin am Handy,da ist das mit dem Zitieren nicht so leicht..Grüße
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: JPP88 am 20 Januar 2017, 19:52:31
Wenn ich das beispiel aus Beitrag #102 nutzen kommt folgendes:
root@raspberrypi:~# /opt/fhem/FHEM# sudo pip install enum
-bash: /opt/fhem/FHEM#: No such file or directory

root@raspberrypi:~# /opt/fhem/FHEM# python
-bash: /opt/fhem/FHEM#: No such file or directory
root@raspberrypi:~# /opt/fhem/FHEM python


Wenn ich die Zeile aus Beitrag #103 eingeben kommt folgendes:

Requirement already satisfied (use --upgrade to upgrade): requests>=2.0 in /usr/lib/python2.7/dist-packages (from -r /usr/local/lib/python2.7/dist-packages/PyChromecast-0.7.7.egg-info/requires.txt (line 1))
Requirement already satisfied (use --upgrade to upgrade): protobuf>=3.0.0 in /usr/local/lib/python2.7/dist-packages (from -r /usr/local/lib/python2.7/dist-packages/PyChromecast-0.7.7.egg-info/requires.txt (line 2))
Requirement already satisfied (use --upgrade to upgrade): zeroconf>=0.17.4 in /usr/local/lib/python2.7/dist-packages (from -r /usr/local/lib/python2.7/dist-packages/PyChromecast-0.7.7.egg-info/requires.txt (line 3))
Requirement already satisfied (use --upgrade to upgrade): six>=1.10.0 in /usr/local/lib/python2.7/dist-packages (from -r /usr/local/lib/python2.7/dist-packages/PyChromecast-0.7.7.egg-info/requires.txt (line 4))
Cleaning up...


Leider weiß ich nicht mehr was ich machen solle....
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Esjay am 20 Januar 2017, 20:08:24
Zitat von: JPP88 am 20 Januar 2017, 19:52:31
Wenn ich das beispiel aus Beitrag #102 nutzen kommt folgendes:
root@raspberrypi:~# /opt/fhem/FHEM# sudo pip install enum
-bash: /opt/fhem/FHEM#: No such file or directory

root@raspberrypi:~# /opt/fhem/FHEM# python
-bash: /opt/fhem/FHEM#: No such file or directory
root@raspberrypi:~# /opt/fhem/FHEM python


Wenn ich die Zeile aus Beitrag #103 eingeben kommt folgendes:

Requirement already satisfied (use --upgrade to upgrade): requests>=2.0 in /usr/lib/python2.7/dist-packages (from -r /usr/local/lib/python2.7/dist-packages/PyChromecast-0.7.7.egg-info/requires.txt (line 1))
Requirement already satisfied (use --upgrade to upgrade): protobuf>=3.0.0 in /usr/local/lib/python2.7/dist-packages (from -r /usr/local/lib/python2.7/dist-packages/PyChromecast-0.7.7.egg-info/requires.txt (line 2))
Requirement already satisfied (use --upgrade to upgrade): zeroconf>=0.17.4 in /usr/local/lib/python2.7/dist-packages (from -r /usr/local/lib/python2.7/dist-packages/PyChromecast-0.7.7.egg-info/requires.txt (line 3))
Requirement already satisfied (use --upgrade to upgrade): six>=1.10.0 in /usr/local/lib/python2.7/dist-packages (from -r /usr/local/lib/python2.7/dist-packages/PyChromecast-0.7.7.egg-info/requires.txt (line 4))
Cleaning up...


Leider weiß ich nicht mehr was ich machen solle....

Ok vorweg eine Bitte..Bitte nutz Code Tags wenn du ausgaben oder ähnliches Postest.Das macht es übersichtlicher. Das ist das kleine rauten Symbol oberhalb des Eingabefeldes beim Antworten. Beitrag 102 sollte dir nur zeigen,das dort der selbe Fehler aufgetreten ist, welcher nun bei dir angezeigt wird.Wenn du dir nun Beitrag 104 anschaust, siehst du das deine Ausgabe die selbe ist wie dort.

Scheinbar half dort ein

sudo pip uninstall enum
sudo pip uninstall enum-compat
sudo pip install enum34


Grüße

Edit:

Meine Vorgehensweise war wie folgt.

sudo apt-get install python-dev
sudo cpanm Test::Warn --force
sudo cpanm Inline::Python
sudo pip install youtube-dl
sudo pip install git+https://github.com/balloob/pychromecast.git
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: JPP88 am 20 Januar 2017, 20:43:43
Ich werde mich versuchen zu bessern.

Habe deine Vorschläge befolgt und wie es aussieht scheint es jetzt zu gehen, vielen Dank für deine Mühe und schnelle Hilfe.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Esjay am 20 Januar 2017, 20:54:51
Zitat von: JPP88 am 20 Januar 2017, 20:43:43
Ich werde mich versuchen zu bessern.

Habe deine Vorschläge befolgt und wie es aussieht scheint es jetzt zu gehen, vielen Dank für deine Mühe und schnelle Hilfe.

Kein Problem, gern geschehen!!Wenn noch was sein sollte,einfach melden!
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: noname41 am 23 Januar 2017, 07:22:32
Auch von mir ein großes Danke für dieses Modul. Funktioniert sehr gut, auch mit dem Chromecast Audi, hier ist sogar ein direktes Abspielen von youtube-streams möglich :-o

Zwei Fragen hätte ich, ist es möglich eine Funktion ähnlich der squeezbox einzubauen mit der volume up und volume down möglich ist?
Was auch super wäre, wäre eine implementierung einer (Youtube)Playlist für den Chromecast audio, ist sowas möglich?

Danke!
LG
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: JPP88 am 23 Januar 2017, 07:57:19
Moin,

nachdem jetzt alles eingebunden ist, habe ich noch zwei Fragen:

1. Wenn ich einen *.m3u Link dem CC Audio via FHEM schicke, dauert es ziemlich lange bis die Wiedergabe beginnt, ca. 1 min.

2. Ich habe 4 CC Audio eingebunden, bei einem von diesen wird der Strom immer mal wieder ein- und ausgeschaltet. Nun ist vergangene Abend mein FHEM System eingefroren/ abgestürzt und das genau zu dem Zeitpunkt als der eine CC Audio via Funksteckdosen ausgeschaltet wurde.
Leider gab es keinen Eintrag im Logfile.

Könnt ihr mir helfen?
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: alexmetz am 23 Januar 2017, 08:29:21
Zitat von: JPP88 am 23 Januar 2017, 07:57:19

2. Ich habe 4 CC Audio eingebunden, bei einem von diesen wird der Strom immer mal wieder ein- und ausgeschaltet. Nun ist vergangene Abend mein FHEM System eingefroren/ abgestürzt und das genau zu dem Zeitpunkt als der eine CC Audio via Funksteckdosen ausgeschaltet wurde.
Leider gab es keinen Eintrag im Logfile.

Könnt ihr mir helfen?
Dieses Problem habe ich weiter oben bereits beschrieben. Ist bei mir genauso. Bislang noch nicht gelöst.
LG
Alex.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: JPP88 am 23 Januar 2017, 21:31:00
Okay, mal wieder überlesen, aber dann ist es nicht nur bei mir so.

Auf die Gefahr hinaus, dass dies auch schon gepostet wurde. Folgenden Eintrag habe ich jetzt ab und zu im Logfile:

No handlers could be found for logger "pychromecast.socket_client"

Stört mich jetzt direkt nicht, aber vielleicht interessant zum Debuggen.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 23 Januar 2017, 22:00:25
Ich habe mir das gerade nochmals angesehen und bei mir getestet. Habe auch schon erkannt woran es liegt. In pychromecast ist eine initialize_connection Methode mit einer endlos while-Loop.

Werde mal prüfen was ich da im pychromecast Code anpassen kann um diese Loop aufzulösen.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 24 Januar 2017, 21:43:10
Hier mal eine Version zum Testen. Damit wird 100ms geblockt wenn der Chromecast nicht erreicht erreichbar ist.

Ich überlege noch wie da eine vernünftige Lösung in pychromecast implementieren kann welche wirklich nicht blockt.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Esjay am 26 Januar 2017, 18:10:56
Hi dominik, du hattest am Anfang des Theard mal gesagt,dass du dir Geschichze mit Spotify mangels Premium Account nicht anschauen kannst.Wärest du bereit,bei bereitstellung eines Accounts bzw. einer Paypal "Spende" über 2 Monate dich der Sache anzunehmen?Ergebnisse kann man nicht versprechen,das ist mir klar,aber ich dachte ich frage mal.
Lg
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: siggi85 am 31 Januar 2017, 18:45:12
Hey,

ich wollte das Modul nun auch nutzen, da ich 5 Chromecasts zu Hause habe (3 davon Audio). Jedoch bekomme ich beim define folgende Meldungen im Log:
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 15, in <module>
    from .discovery import discover_chromecasts, start_discovery, stop_discovery
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/discovery.py", line 5, in <module>
    from zeroconf import ServiceBrowser, Zeroconf
  File "/usr/local/lib/python2.7/dist-packages/zeroconf.py", line 26, in <module>
    import enum
ImportError: No module named enum
2017.01.31 18:08:49 1: reload: Error:Modul 98_CHROMECAST deactivated:
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 446.

2017.01.31 18:08:49 0: 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 446.


Ich betreibe FHEM auf einem Rasperry Pi 2 und habe vorher von Wheezy auf jessie upgedatet. Danach habe ich alle Requirements nach bestem Gewissen ausgeführt.

Gruß
Siggi
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Esjay am 31 Januar 2017, 18:47:22
Zitat von: siggi85 am 31 Januar 2017, 18:45:12
Hey,

ich wollte das Modul nun auch nutzen, da ich 5 Chromecasts zu Hause habe (3 davon Audio). Jedoch bekomme ich beim define folgende Meldungen im Log:
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 15, in <module>
    from .discovery import discover_chromecasts, start_discovery, stop_discovery
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/discovery.py", line 5, in <module>
    from zeroconf import ServiceBrowser, Zeroconf
  File "/usr/local/lib/python2.7/dist-packages/zeroconf.py", line 26, in <module>
    import enum
ImportError: No module named enum
2017.01.31 18:08:49 1: reload: Error:Modul 98_CHROMECAST deactivated:
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 446.

2017.01.31 18:08:49 0: 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 446.


Ich betreibe FHEM auf einem Rasperry Pi 2 und habe vorher von Wheezy auf jessie upgedatet. Danach habe ich alle Requirements nach bestem Gewissen ausgeführt.

Gruß
Siggi

ImportError: No module named enum <--- hier liegt das Problem..Schau mal in meinen Post 144

Grüße
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: meddie am 31 Januar 2017, 21:33:31
Hallo das Modul liest sich schon echt interessant an. In Verbindung mit Plex könnte das eine feine Sache sein. Eine Frage habe ich zu TTS, ich habe ein paar Seiten vorher gelesen dass man über die Google translator API TTS Ausgaben machen kann. Wenn gerade nichts angehört wird ist klar die Chromecasts spielen die Ansage ab und gut ist, aber angenommen man hört gerade einen Radiosender oder eine MP3 Datei an und möchte mitten drin eine TTS Ansage machen, wird dann anschließend die MP3 Datei bzw der Radiosender weiter wiedergegeben oder wird es quasi durch die TTS Ansage unterbrochen und beleibt dann still?

Ich hoffe ich konnte mich verständlich ausdrücken. Hier ein Szenario was ich mit meiner Frage bezwecken wollte: am Abend möchte ich etwas Musik hören, um 20 Uhr wird es dunkel und ich möchte das FHEM mir über alle Lautsprecher kurz bevor die Jalousien heruntergelassen werden eine Info darüber ausgibt "Vorsicht in 10 Minuten schließen die Jalousien". Im Idealfall wäre es dann so, dass die aktuelle Wiedergabe pausiert wird ein kurzes Jingle abgespielt wird dann die Ansage kommt und anschließend wieder die Wiedergabe der Musik fortgesetzt wird.

Danke
Gruß Eddie
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 31 Januar 2017, 21:45:52
Zitat von: meddie am 31 Januar 2017, 21:33:31
Hallo das Modul liest sich schon echt interessant an. In Verbindung mit Plex könnte das eine feine Sache sein. Eine Frage habe ich zu TTS, ich habe ein paar Seiten vorher gelesen dass man über die Google translator API TTS Ausgaben machen kann. Wenn gerade nichts angehört wird ist klar die Chromecasts spielen die Ansage ab und gut ist, aber angenommen man hört gerade einen Radiosender oder eine MP3 Datei an und möchte mitten drin eine TTS Ansage machen, wird dann anschließend die MP3 Datei bzw der Radiosender weiter wiedergegeben oder wird es quasi durch die TTS Ansage unterbrochen und beleibt dann still?

Ich hoffe ich konnte mich verständlich ausdrücken. Hier ein Szenario was ich mit meiner Frage bezwecken wollte: am Abend möchte ich etwas Musik hören, um 20 Uhr wird es dunkel und ich möchte das FHEM mir über alle Lautsprecher kurz bevor die Jalousien heruntergelassen werden eine Info darüber ausgibt "Vorsicht in 10 Minuten schließen die Jalousien". Im Idealfall wäre es dann so, dass die aktuelle Wiedergabe pausiert wird ein kurzes Jingle abgespielt wird dann die Ansage kommt und anschließend wieder die Wiedergabe der Musik fortgesetzt wird.

Danke
Gruß Eddie
Das geht meine ich so leider nicht.

Nur mit entsprechend eigenen Code.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: siggi85 am 02 Februar 2017, 12:35:23
Zitat von: Esjay am 31 Januar 2017, 18:47:22
ImportError: No module named enum <--- hier liegt das Problem..Schau mal in meinen Post 144

Grüße

Danke für die schnelle Antwort. Leider hat das alleine nicht zum gewünschten Ergebnis geführt. Das lag aber daran, dass mein pip nicht mehr funktioniert hat und ich keine Module nachladen konnte. Nach einigem Troubleshooting konnte ich es wieder fixen, indem ich es über easy-install erneut installiert habe, danach waren alle erforderlichen Python Module anscheinend bereits dabei und ich konnte meinen ersten Chromecast erfolgreich einbinden. Danke für die Hilfe! :)
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: siggi85 am 03 Februar 2017, 13:14:18
Kurze Rückmeldung: Auch mit den Audio Chromecasts funktioniert das Modul wunderbar. Danke dafür! :)

Feature Requests meinerseits: Ich würde mich auch über eine Spotify Integration freuen. Und eine Sprachausgabe mit pausierter aktiver Wiedergabe wäre ebenso klasse (auch wenn ich mir vorstellen kann, dass es ggf. nicht möglich ist, alleine schon das Problem wenn der Chromecast gerade vom Tablet oder SMartphone gesteuert wird). Und eine Frage noch: Ist es über die Schnittstelle zum Chromecast möglich PopUp Fenster mit Text zu senden? Also wie das Fenster was aufgeht, wenn man über YouTube zB. ein neues Video in die Playlist packt.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 03 Februar 2017, 13:21:41
Zitat von: siggi85 am 03 Februar 2017, 13:14:18
Kurze Rückmeldung: Auch mit den Audio Chromecasts funktioniert das Modul wunderbar. Danke dafür! :)

Feature Requests meinerseits: Ich würde mich auch über eine Spotify Integration freuen. Und eine Sprachausgabe mit pausierter aktiver Wiedergabe wäre ebenso klasse (auch wenn ich mir vorstellen kann, dass es ggf. nicht möglich ist, alleine schon das Problem wenn der Chromecast gerade vom Tablet oder SMartphone gesteuert wird). Und eine Frage noch: Ist es über die Schnittstelle zum Chromecast möglich PopUp Fenster mit Text zu senden? Also wie das Fenster was aufgeht, wenn man über YouTube zB. ein neues Video in die Playlist packt.

Kann mich mit dem Wunsch nach einer Spotify Integration nur anschließen  :)
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: hosimpson am 05 Februar 2017, 17:43:19
Klasse Idee und folgen Infos von mir:

Es funktioniert, wie beschrieben, mit einem Lautsprecher "Raumfeld One S".

Mit dem "Raumfeld Connector" bekomme ich beim definieren schon folgende Fehlermeldungen ins LOG:
2017.02.05 17:37:41 3: CHROMECAST: wohnzimer initializing...
2017.02.05 17:37:41 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_CHROMECAST.pm line 132.
2017.02.05 17:37:41 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_CHROMECAST.pm line 133.


An der Stelle scheint er sich in einer Schleife verfangen, da die beiden Warnings alle 20 Sekunden neu ins LOG geschrieben werden.

Mit dem Chromecast Plugin aus dem Browser (Chrome) lassen sich beide Geräte ohne erkennbaren Unterschied auswählen und bedienen.

VG
Stefan
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: docb am 06 Februar 2017, 16:47:14
Moin zusammen,
ich habe jetzt alles installiert, was hier im Thema irgendwo empfohlen wurde (unter Rasperry Jessie):

Zitat
sudo apt-get install python-dev
sudo cpanm Test::Warn --force
sudo cpanm Inline::Python
sudo apt-get install libwww-perl
sudo pip install youtube-dl
sudo pip install git+https://github.com/dominikkarall/pychromecast.git (eine von mir abgeänderte Version)
sudo pip uninstall enum
sudo pip uninstall enum-compat
sudo pip install enum34

Ich nutze die am 24.01. gepostete Version von 98_chromecast.pm.

allerdings bekomme ich beim reload
reload 98_CHROMECAST.pm


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 446.


Hat jemand noch eine Idee?
Viele Grüße
doc
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Esjay am 06 Februar 2017, 19:16:09
Zitat von: docb am 06 Februar 2017, 16:47:14
Moin zusammen,
ich habe jetzt alles installiert, was hier im Thema irgendwo empfohlen wurde (unter Rasperry Jessie):

Ich nutze die am 24.01. gepostete Version von 98_chromecast.pm.

allerdings bekomme ich beim reload
reload 98_CHROMECAST.pm


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 446.


Hat jemand noch eine Idee?
Viele Grüße
doc
sudo pip install git+https://github.com/balloob/pychromecast.git
Vorher ein
sudo pip uninstall pychromecast

Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: docb am 06 Februar 2017, 19:21:45
Danke für den Tipp - habe ich versucht, Fehler bleibt:
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 446.


Im Log steht übrigens:
ImportError: cannot import name socket_client
    from . import socket_client
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 14, in <module>
  File "<string>", line 3, in <module>
Traceback (most recent call last):
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Maskottchen am 07 Februar 2017, 15:33:54
Hallo zusammen,

ich bin absoluter Anfänger und habe schon für meine Verhältnisse mega viel hier durch das Forum erreichen können. Vielen Dank dafür.

Leider habe ich auch das Problem mit dem Chromecast. Ich würde es gerne für einen Wecker nutzen. Auch ich habe aber den im letzten Post genannten Fehler trotz aller Versuche.

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 446.


Ich danke schon mal für Eure Unterstützung.

Maskottchen
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: stetaba am 17 Februar 2017, 13:09:31
Hallo zusammen,
Lese schon etwas länger interessiert mit und interessiere mich auch für eine Spotify Integration. Ich werde am Wochenende versuchen das ganze über einen Workarround ans laufen zu kriegen:
Ich habe bereits Mopidy auf meinem Pi samt Spotify Plugin installiert. Über das MPD Interface kann ich Spotify Songs direkt aus FHEM ansteuern und auf dem Pi ausgeben.
Am Wochenende werde ich noch das Icecast Plugin einrichten,um die Mopidy Ausgabe per Mp3 kodiert per Stream zur Verfügung zu stellen. Diese URL müsste sich dann genauso wie ein Webradio in das Chromecast Plugin einbinden lassen .
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: mahowi am 18 Februar 2017, 07:47:27
Ich habe gestern in diesem Thread (https://forum.fhem.de/index.php/topic,67263.msg587693.html#msg587693) über merkwürdige Abstürze von FHEM berichtet. Eventuell ist 98_CHROMECAST daran beteiligt. Die letzten Meldungen im Log sind:
2017.02.17 07:01:34.381 5: CHROMECAST (tv.chromecast): checkConnection
2017.02.17 07:01:34.897 5: CHROMECAST (tv.chromecast): checkConnection
No handlers could be found for logger "pychromecast.socket_client"


Mehr wird trotz "verbose 5" leider nicht angezeigt. Ich kann zwar nicht zu 100% sagen, daß es an diesem Modul lag, aber seit Entfernen des zugehörigen Devices läuft FHEM wieder durch.

98_CHROMECAST ist Version 1.0.4 vom 01.01..
pi@raspberrypi:~ $ pip show pychromecast
---
Name: PyChromecast
Version: 0.7.7
Location: /usr/local/lib/python2.7/dist-packages
Requires: requests, protobuf, zeroconf, six


Merkwürdig ist halt, daß ich am Modul oder der Konfiguration nichts geändert habe. Ich kann allerdings nicht sagen, ob eventuell irgendwelche System-Updates was damit zu tun haben. Zumindest läuft sonst alles auf dem Pi problemlos.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Esjay am 18 Februar 2017, 09:05:26
Zitat von: mahowi am 18 Februar 2017, 07:47:27
Ich habe gestern in diesem Thread (//http://) über merkwürdige Abstürze von FHEM berichtet. Eventuell ist 98_CHROMECAST daran beteiligt. Die letzten Meldungen im Log sind:
2017.02.17 07:01:34.381 5: CHROMECAST (tv.chromecast): checkConnection
2017.02.17 07:01:34.897 5: CHROMECAST (tv.chromecast): checkConnection
No handlers could be found for logger "pychromecast.socket_client"


Mehr wird trotz "verbose 5" leider nicht angezeigt. Ich kann zwar nicht zu 100% sagen, daß es an diesem Modul lag, aber seit Entfernen des zugehörigen Devices läuft FHEM wieder durch.

98_CHROMECAST ist Version 1.0.4 vom 01.01..
pi@raspberrypi:~ $ pip show pychromecast
---
Name: PyChromecast
Version: 0.7.7
Location: /usr/local/lib/python2.7/dist-packages
Requires: requests, protobuf, zeroconf, six


Merkwürdig ist halt, daß ich am Modul oder der Konfiguration nichts geändert habe. Ich kann allerdings nicht sagen, ob eventuell irgendwelche System-Updates was damit zu tun haben. Zumindest läuft sonst alles auf dem Pi problemlos.
Guten Morgen..Dein Link funktioniert nicht,oder geht es nur bei mir nicht? Schau mal eine Seite zurück,da gibt es eine Version vom 24.01. Ich glaube die wurde aufgrund diesen Fehlers durch dominilk erstellt.
Gruß
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: mahowi am 18 Februar 2017, 09:10:28
Link ist repariert.  :)

Ich werde mir mal die neuere Version ansehen, danke!
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: stetaba am 18 Februar 2017, 17:55:45
Hallo zusammen,

nur kurz zur Info: Die Spotify Integration (Mopidy ==> Icecast ==> CHROMECAST Plugin) hat funktioniert :)
Ich hätte noch eine Feature-Wunsch für die Liste: Ein Kommando zum itterieren über die Favoriten. Z.B. nextFav. Dann könnte man einen Schalter dazu benutzen um durch die Favoriten zu schalten.

Für Interessierte: Ich habe eine kleine Anleitung zusammengeschrieben (https://forum.fhem.de/index.php/topic,67446.0.html (https://forum.fhem.de/index.php/topic,67446.0.html))

Gruß
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: febus am 22 Februar 2017, 20:41:01
Habe mir extra einen Pi zugelegt, um dieses Modul nutzen zu können ;-) Vielen Dank für die ganze Arbeit!
Und ich habe es nach einigem Rumprobieren auch zum Laufen bekommen und kann endlich die Aktivboxen per Funksteckdose ein- und ausschalten, sobald der Chromecast Audio aktiv ist. Klasse!

Ist es möglich, Google Play Music direkt via FHEM zu starten?
An Youtube Playlists wäre ich auch interessiert!
Und ich würde gerne per Schalter die letzte Tagesschau-Sendung auf dem Chromecast starten. Hat jemand eine Idee, ob es eine URL gibt, die immer die letzte Sendung erwischt?

Viele Grüße!
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: stetaba am 22 Februar 2017, 21:49:05
Sollte über den gleichen Weg wie Spotify gehen (https://docs.mopidy.com/en/latest/ext/backends/#mopidy-gmusic)
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 26 Februar 2017, 10:56:05
@mahowi, diese Fehlermeldung kommt im Normalfall wenn die Verbindung zum CC verloren geht. Ist aber eigentlich nur ein Log Eintrag den ich auch nicht weg bekomme, da er direkt aus pychromecast kommt. Kannst du es mal nachstellen indem du den CC einfach vom Netz nimmst und prüfst ob dann FHEM abstürzt?

Bzgl. Spotify Integration, leider habe ich da noch keinen Weg gefunden an die Spotify Schnittstelle ran zu kommen.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: stetaba am 26 Februar 2017, 11:34:55
Hi,

es gibt eine python bibliothek als wrapper für die libspotify Bibliothek,  die Zugriff auf Spotify Songs übernimmt und diese als PCM Stream zur verfügung stellt: https://github.com/mopidy/pyspotify

Bezüglich des Absturz Problems ist es bei mir ähnlich: Wenn ich meinen Android Fernseher mit integriertem Cast vom Strom nehme friert FHEM ein und ich muss den Pi neu starten.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 26 Februar 2017, 12:00:36
@stetaba, verwendest du auch die letzte Version von 98_CHROMECAST? Das habe ich nämlich in der letzte Version gefixed.

pyspotify bietet leider nur ein Interface um auf die Spotify Library zuzugreifen. Ungern möchte ich den Standard Player vom CC verwenden um Spotify abzuspielen, schöner wäre eine richtige Integration mit Befehlen um die Spotify App zu steuern.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: stetaba am 26 Februar 2017, 13:01:47
Hmm, würde das denn dann auch auf Geräten laufen, die keine GUI zur App Installation auf dem CC haben wie z.b. Chromecast Audio oder integrierte Casts in AV Receivern?
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 26 Februar 2017, 13:25:01
Ja, das wären die gleichen Commands. Die App wird nie installiert, die wird nur gestreamt.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: stetaba am 26 Februar 2017, 14:32:38
Habe nochmal meine Datei geprüft. Es ist die aktuellste mit der Timeout Codezeile beim Aufruf.

    return pychromecast._get_chromecast_from_host((ip, int(port), uuid, model_name, friendly_name), blocking=False, timeout=0.1)
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: flolee am 06 April 2017, 12:15:40
Zitat von: Maskottchen am 07 Februar 2017, 15:33:54
Hallo zusammen,

ich bin absoluter Anfänger und habe schon für meine Verhältnisse mega viel hier durch das Forum erreichen können. Vielen Dank dafür.

Leider habe ich auch das Problem mit dem Chromecast. Ich würde es gerne für einen Wecker nutzen. Auch ich habe aber den im letzten Post genannten Fehler trotz aller Versuche.

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 446.


Ich danke schon mal für Eure Unterstützung.

Maskottchen

jup, leider habe auch ich das Problem. hast du es mittlerweile zum laufen bekommen?

danke
lg
flo
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: qu1nk am 11 April 2017, 00:20:47
Zitat von: flolee am 06 April 2017, 12:15:40
jup, leider habe auch ich das Problem. hast du es mittlerweile zum laufen bekommen?

danke
lg
flo

Hi,
mir hat das hier geholfen:
sudo pip install netifaces

Natürlich mit der angepassten Version aus Post #152.

Hoffe es klappt.
Gruß

Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: flolee am 13 April 2017, 19:08:27
nein, das wars leider auch nicht  :-[

aber danke trotzdem :)
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Alextronicde am 18 April 2017, 15:25:17
Hallo,

trotz der Verwendung der letzten Version des Moduls bleibt FHEM hängen wenn der Chromcast nicht erreicht wird. Sobald ich den Chromecast wieder mit Spannung versorge funktioniert alles wieder.

Sind vielleicht noch andere Teile der Installation zu updaten?

Gruß
Alex
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: siggi85 am 29 April 2017, 07:51:33
Hey. Kann es sein, dass das Chromecastmodul die komplette FHEM Instanz zum ABturz bringt, wenn man ein Chromecastdevice darüber betreibt, welches nicht dauerhaft an ist? Seit ich mein Wohnzimmer Chromecast aus der Konfiguration entfernt habe, läuft mein FHEM wieder stabil.  :o :(
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Fixel2012 am 29 April 2017, 13:55:13
Ihr könntet mal versuchen ein presence device auf die Chromecast IP zu triggern. Und immer wenn dieser erreichbar ist bzw nicht mehr erreichbar, das Modul unloaden/loaden.

Weiß nicht ob das hilft, ist nur so eine Idee.

Grüße Fixel
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: siggi85 am 02 Mai 2017, 07:46:32
Zitat von: Fixel2012 am 29 April 2017, 13:55:13
Ihr könntet mal versuchen ein presence device auf die Chromecast IP zu triggern. Und immer wenn dieser erreichbar ist bzw nicht mehr erreichbar, das Modul unloaden/loaden.

Weiß nicht ob das hilft, ist nur so eine Idee.

Grüße Fixel

Das würde sicher funktionieren, sieht aber eher nach einer symptomatischen statt ursächlichen Lösung des Problems aus. :) Hat dieses Verhalten denn noch jemand anderes? Da ich das Chromecastdevice nicht disable konnte (das Attribut hat nicht existiert), habe ich es erst mal wieder entfernt. Dadurch gehen mir natürlich einige Funktionen verloren...  :(

Gruß
Siggi
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: JPP88 am 07 Mai 2017, 22:39:50
Das Problem mit chromecast hatte ich auch.
FHEM ist eingefroren, wenn ein Chromecast kein Strom mehr hatte. Aber es so gelöst, dass der Chromecast immer am Strom hängt, ich weiß nicht wirklich eine Lösung.

Aber prinzipiell  habe ich das Gefühl, dass FHEM öfters mal hängen bleibt, ob dies im Zusammenhang mit dem Chromecast Modul liegt kann ich leider nicht sagen haben vielleicht haben andere ähnliche Symptome bemerkt?
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: siggi85 am 08 Mai 2017, 11:40:45
Zitat von: JPP88 am 07 Mai 2017, 22:39:50
Das Problem mit chromecast hatte ich auch.
FHEM ist eingefroren, wenn ein Chromecast kein Strom mehr hatte. Aber es so gelöst, dass der Chromecast immer am Strom hängt, ich weiß nicht wirklich eine Lösung.

Aber prinzipiell  habe ich das Gefühl, dass FHEM öfters mal hängen bleibt, ob dies im Zusammenhang mit dem Chromecast Modul liegt kann ich leider nicht sagen haben vielleicht haben andere ähnliche Symptome bemerkt?

Bei mir hat sich das Problem ohne den Chromecast behoben. Leider kann ich seit dem natürlich meine Harmonytasten nicht mehr nutzen um den Chromecastplayer zu bedienen...  :'(
Das Finden und Verbinden eines Chromecasts müsste im Modul etwas überarbeitet werden. Ein Ping vor einem Verbindungsversuch könnte ggf. eine Lösung bringen?! Habe schon mal über den Code geschaut, das übersteigt aber leider etwas meine Fähigkeiten.  ??? Kann sich jemand anderes ggf. daran versuchen?
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: siggi85 am 22 Mai 2017, 16:16:39
Gibt es niemand der das Chromecast Modul bearbeiten kann? Im Prinzip funktionieren die Key Features. Das Modul müsste nur in der Erkennung von aktiven Chromecasts angepasst werden.
Momentan kann das Modul die gesamte FHEM Instanz runterziehen wenn Chromecasts definiert sind, die nicht dauerhaft erreichbar sein (zB. wenn diese per USB vom Fernseher Strom beziehen). Ich hatte das Module über FakeRoku bereits auf meiner Harmony genutzt und vermisse diese Funktionen...  ::) :'(
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 04 Juli 2017, 00:07:38
Hallo zusammen,

leider fehlt mir im Moment die Zeit am Modul aktiv zu entwickeln. Dennoch will ich den "Blocking" Fehler in den nächsten Wochen ausmerzen.

Wenn ihr Probleme bei der Installation habt, bitte den Output von der Linux Konsole mit folgenden Kommandos posten:
python
>>> import pychromecast


Vorher sicherstellen, dass ihr folgende Pakete installiert habt:
sudo apt-get install python-enum34 python-netifaces

Gruß
Dominik
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 04 Juli 2017, 20:25:08
# v1.0.5 - 20170704
# - BUGFIX:  hopefuly fixed annoying hangs when chromecast offline
# - FEATURE: add presence reading (online/offline)

Bitte mal testen und mir Bescheid geben ob es nun FHEM ohne Hänger läuft wenn der Chromecast offline ist.

Gruß
Dominik
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 05 Juli 2017, 20:57:26
Habe heute noch eine Verbesserung implementiert. Aktuell benötigt die checkConnection Funktion nämlich ca. 12ms und wird alle 0.8s ausgeführt. Zukünftig benötigt die Funktion nur mehr 2ms und wird jede Sekunde ausgeführt. Nur beim Datenempfang wird diese öfter ausgeführt. Damit verbessert sich die Performance nochmals erheblich.

Update folgt heute oder morgen. Bitte dann um ausführliche Tests, wenn es gut läuft, würde ich es ins offiziell Repository aufnehmen wollen.

Gruß
Dominik
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 06 Juli 2017, 13:48:09
# v1.0.6 - 20170705
# - BUGFIX:  speed up youtube video URL extraction with youtube_dl
# - BUGFIX:  fixed one more issue when chromecast offline
# - BUGFIX:  improved performance by adding socket to FHEM main loop

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


Bitte um ausführliches Testing. Sowohl online und offline Modus sollten nun problemlos funktionieren.

Download im 1. Post.

Gruß
Dominik
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: LeoSum am 09 Juli 2017, 15:43:09
Hallo dominik,
ersteinmal danke dass du offenbar trotz Zeitstress hier noch die Probleme angehst!

ich wollte grade das gute Wetter nutzen um das Modul mal zu testen. Leider scheitere ich bislang kläglich.

Ich habe bereits händisch mehrfach auf verschiedenen Wegen die benötigte Pakete zu installieren. Leider hat das nicht zum Erfolg geführt.

Wenn ich das Modul mit reload 98_CHROMECAST laden möchte, erhalte ich im Log folgendes:
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 12, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/config.py", line 6, in <module>
    import requests
  File "/usr/lib/python2.7/dist-packages/requests/__init__.py", line 68, in <module>
    _attach_namespace(urllib3, 'requests.packages')
  File "/usr/lib/python2.7/dist-packages/requests/__init__.py", line 63, in _attach_namespace
    module = __import__(name)
  File "/usr/local/lib/python2.7/dist-packages/urllib3/contrib/_securetransport/bindings.py", line 43, in <module>
    security_path = find_library('Security')
  File "/usr/lib/python2.7/ctypes/util.py", line 253, in find_library
    return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name))
  File "/usr/lib/python2.7/ctypes/util.py", line 246, in _findSoname_ldconfig
    f.close()
IOError: [Errno 10] No child processes


Ich habe mir daraufhin mal deinen Code angesehen und versucht den Python-Teil einfach mal von Hand in die Python Console gehackt, und siehe da es geht:
root@pi:~# python
Python 2.7.9 (default, Sep 17 2016, 20:26:04)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from __future__ import unicode_literals
>>> import pychromecast
>>> import time
>>> import logging
>>> import youtube_dl
>>> def CHROMECAST_findChromecastsPython():
...     logging.basicConfig(level=logging.CRITICAL)
...     return pychromecast.discovery.discover_chromecasts()
...
>>> CHROMECAST_findChromecastsPython()
[('192.168.178.8', 8009, UUID('ad58ce14-dd5f-bf51-0fe2-b6a9e4e66fd2'), u'Chromecast', u'CCK')]


jetzt bin ich ein bisschen ratlos, woran das liegen könnte. Eigentlich doch nur noch an dem Inline Python Perl Modul, oder?

dieses habe ich aber auch sicherheitshalber wie an anderer Stelle beschrieben bereits neu installiert:
root@pi:~# sudo cpanm --uninstall Inline::Python
Inline::Python contains the following files:

  /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/Inline/Python.pm
  /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/Inline/Python.pod
  /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/auto/Inline/Python/Python.so
  /usr/local/man/man3/Inline::Python.3pm

Are you sure you want to uninstall Inline::Python? [y] y

Unlink: /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/Inline/Python.pm
Unlink: /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/Inline/Python.pod
Unlink: /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/auto/Inline/Python/Python.so
Unlink: /usr/local/man/man3/Inline::Python.3pm
Unlink: /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/auto/Inline/Python/.packlist

Successfully uninstalled Inline::Python
root@pi:~# sudo cpanm Inline::Python
--> Working on Inline::Python
Fetching http://www.cpan.org/authors/id/N/NI/NINE/Inline-Python-0.55.tar.gz ... OK
Configuring Inline-Python-0.55 ... OK
Building and testing Inline-Python-0.55 ... OK
Successfully installed Inline-Python-0.55
1 distribution installed
root@pi:~# sudo reboot
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 11 Juli 2017, 14:58:20
Hi,

hier habe ich was gefunden:
https://bugs.python.org/issue26439

Ist bei dir ldconfig installiert?

Gruß
Dominik
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: stetaba am 11 Juli 2017, 19:10:03
Hallo dominik,

vielen Dank für die Weiterentwicklung. Leider habe ich mit der aktuellen Version große Probleme mit der Wiedergabe von Radiostreams. Die Wiedergabe funktioniert nur extrem selten (habe es 1-2 mal hingekriegt. Die Chromecast app auf meinem Handy zeigt zwar an das etwas gestreamt wird, es ist aber nichts zu hören. Habe nochmal auf die vorherigen Version gewechselt: Dort funktioniert die Wiedergabe problemlos.

Gruß Stephan
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 22 Juli 2017, 10:04:38
Hi Stephan,
kannst du mir die Radiostream URLs nennen mit welchen du Probleme hast?
Gruß
Dominik
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: LeoSum am 22 Juli 2017, 17:57:58
Hallo dominik,
erstmal danke für den Hinweis auf ldconfig. War aber leider bereits installiert.

Ich habe mittlerweile meine FHEM Installation auf ein neues System umgezogen und hatte die Hoffnung, dass sich als Nebeneffekt auch meine Chromacast-Modul-Probleme in Luft auflösen.

Hat sich leider nicht bewahrheitet.
Auch mit meinem neuen System bekomme ich einen ähnlichen fehler:

Wenn ich das Modul mit reload 98_CHROMECAST laden möchte, erhalte ich im Log folgendes:
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/site-packages/pychromecast/__init__.py", line 12, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/site-packages/pychromecast/config.py", line 6, in <module>
    import requests
  File "/usr/local/lib/python2.7/site-packages/requests/__init__.py", line 100, in <module>
    from .api import request, get, head, post, patch, put, delete, options
  File "/usr/local/lib/python2.7/site-packages/requests/api.py", line 13, in <module>
    from . import sessions
  File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 41, in <module>
    if platform.system() == 'Windows':
  File "/usr/local/lib/python2.7/platform.py", line 1265, in system
    return uname()[0]
  File "/usr/local/lib/python2.7/platform.py", line 1232, in uname
    processor = _syscmd_uname('-p','')
  File "/usr/local/lib/python2.7/platform.py", line 967, in _syscmd_uname
    rc = f.close()
IOError: [Errno 10] No child processes


Wie auch bereits auf dem alten System funktioniert die manuelle Eingabe in der python console:


Da ich vermtutete, dass Inline Python bei mir nicht funktioniert, wollte ich das mit einem kleinen perl Script überprüfen, aber siehe da, auch das funktioniert:

#!/usr/bin/perl
use Inline Python => <<'PYTHON_CODE_END';

from __future__ import unicode_literals
import pychromecast
import time
import logging
import youtube_dl

def CHROMECAST_findChromecastsPython():
    logging.basicConfig(level=logging.CRITICAL)
    return pychromecast.discovery.discover_chromecasts()

PYTHON_CODE_END

my @ccResult = CHROMECAST_findChromecastsPython();
foreach my $ref_cc (@ccResult) {
    my @cc = @$ref_cc;                                                           
    $result .= "|CCDEVICE|".$cc[0]."|".$cc[1]."|".$cc[2]."|".$cc[3]."|".$cc[4];
}
print $result."\n";

Ergebnis:
root@fhem:/usr/home/fhemuser # perl testinline.pm
|CCDEVICE|192.168.178.211|8009|ad53ce14-da5f-bf31-0f02-b6a9f8f37fd2|Chromecast|CCK


Also zusammengefasst:
- pychromecast "pur" in python funktiert
- pychromecast per inline python in perl funktioniert
- CHROMECAST Modul funktioniert nicht

Wie kann das sein? Was läuft bei dem Aufruf aus dem Modul heraus anders als in meinem testscript?

EDIT:
Beim Versuch ein device anzulegen passiert im Log folgendes:
define CCK CHROMECAST CCK
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/site-packages/pychromecast/__init__.py", line 12, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/site-packages/pychromecast/config.py", line 6, in <module>
    import requests
  File "/usr/local/lib/python2.7/site-packages/requests/__init__.py", line 97, in <module>
    from . import utils
ImportError: cannot import name utils
2017.07.22 18:02:47 1: reload: Error:Modul 98_CHROMECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/perl5/site_perl/mach/5.24/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_CHROMECAST.pm line 531.

2017.07.22 18:02:47 0: Error -- py_eval raised an exception at /usr/local/lib/perl5/site_perl/mach/5.24/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_CHROMECAST.pm line 531.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 22 Juli 2017, 23:12:00
ZitatImportError: cannot import name utils

Liegt es vielleicht daran? "utils" für Python?
Probier auch dein Testscript mit dem fhem User auszuführen. Vielleicht hat es damit was zu tun.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: LeoSum am 23 Juli 2017, 15:25:06
ich komme einfach nicht dahinter.
Ich umgehe das Problem jetzt durch einen system Aufruf aus FHEM heraus:
{system("/usr/local/bin/python /usr/home/fhemuser/cast_infoscreen.py&")}
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: stetaba am 25 Juli 2017, 20:36:23
Hi,

hab es mit dem dem 1Live http://wdr-1live-live.icecast.wdr.de/wdr/1live/live/mp3/128/stream.mp3 und swr stream aus der Anleitung versucht.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: b4r7 am 27 Juli 2017, 00:05:22
Hallo Dominik,

Vielen Dank für das Modul!

Eine Bitte bzw. einen Verbesserungsvorschlag hätte ich:

Ein Reading das mir einfach und simpel sagt "streaming" wenn gerade irgendetwas gestreamt wird.
Hintergrund ich will so einfach wie möglich eine Steckdose schalten um die Boxen anzuwerfen wenn ich etwas aufm Smartphone auswähle.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: siggi85 am 27 Juli 2017, 12:07:54
Hey,

danke für die Weiterentwicklung!!! Habe das neue Modul gestern installiert und meinen Wohnzimmer Chromcast wieder definiert und bisher funktioniert FHEM noch. Sieht also gut aus.
Einfach herlich wieder über meine Harmony "Play", "Pause" und "Stop" für den Chromecast nutzen zu können.   :D

Gruß
Siggi
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: stetaba am 28 Juli 2017, 20:21:09
Hi,

Ich habe nochmal mein device entfernt und neu angelegt. Jetzt funktioniert alles. Perfekt !
Vielleicht gab es noch Probleme beim Update und Übernahme der readings.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Dersch am 29 Juli 2017, 22:53:06
Ich scheitere leider schon bei der Installation von pychromecast :(


sudo pip install pychromecast
Downloading/unpacking pychromecast
  Downloading PyChromecast-0.8.2.tar.gz
  Running setup.py egg_info for package pychromecast

    warning: no previously-included files matching '*.py[co]' found under directory '*'
Downloading/unpacking requests>=2.0 (from pychromecast)
  Downloading requests-2.18.2.tar.gz (125Kb): 125Kb downloaded
  Running setup.py egg_info for package requests

    warning: no files found matching 'NOTICE'
Downloading/unpacking protobuf>=3.0.0 (from pychromecast)
  Downloading protobuf-3.3.0.tar.gz (271Kb): 271Kb downloaded
  Running setup.py egg_info for package protobuf

    no previously-included directories found matching 'google/protobuf/internal/import_test_package'
    warning: no previously-included files found matching 'google/protobuf/internal/*_pb2.py'
    warning: no previously-included files found matching 'google/protobuf/internal/*_test.py'
    warning: no previously-included files found matching 'google/protobuf/internal/*.proto'
    warning: no previously-included files found matching 'google/protobuf/internal/test_util.py'
    warning: no previously-included files matching '*_test.py' found under directory 'google'
    warning: no previously-included files matching '*_test.proto' found under directory 'google'
    warning: no previously-included files matching 'unittest*_pb2.py' found under directory 'google'
    warning: no previously-included files matching '*.dll' found anywhere in distribution
    warning: no previously-included files matching '*.pyc' found anywhere in distribution
    warning: no previously-included files matching '*.pyo' found anywhere in distribution
    warning: no previously-included files matching '*.so' found anywhere in distribution
Downloading/unpacking zeroconf>=0.17.7 (from pychromecast)
  Downloading zeroconf-0.19.1.tar.gz
  Running setup.py egg_info for package zeroconf

Downloading/unpacking six>=1.10.0 (from pychromecast)
  Downloading six-1.10.0.tar.gz
  Running setup.py egg_info for package six

    no previously-included directories found matching 'documentation/_build'
Downloading/unpacking chardet>=3.0.2,<3.1.0 (from requests>=2.0->pychromecast)
  Downloading chardet-3.0.4.tar.gz (1.9Mb): 1.9Mb downloaded
  Running setup.py egg_info for package chardet

    warning: no files found matching 'requirements.txt'
Downloading/unpacking idna>=2.5,<2.6 (from requests>=2.0->pychromecast)
  Downloading idna-2.5.tar.gz (130Kb): 130Kb downloaded
  Running setup.py egg_info for package idna

    warning: no previously-included files matching '*.pyc' found under directory 'tools'
    warning: no previously-included files matching '*.pyc' found under directory 'tests'
Downloading/unpacking urllib3>=1.21.1,<1.23 (from requests>=2.0->pychromecast)
  Downloading urllib3-1.22.tar.gz (226Kb): 226Kb downloaded
  Running setup.py egg_info for package urllib3

    warning: no previously-included files matching '*' found under directory 'docs/_build'
Downloading/unpacking certifi>=2017.4.17 (from requests>=2.0->pychromecast)
  Downloading certifi-2017.7.27.1.tar.gz (348Kb): 348Kb downloaded
  Running setup.py egg_info for package certifi

Requirement already satisfied (use --upgrade to upgrade): distribute in /usr/lib/python2.7/dist-packages (from protobuf>=3.0.0->pychromecast)
Downloading/unpacking enum-compat (from zeroconf>=0.17.7->pychromecast)
  Downloading enum-compat-0.0.2.tar.gz
  Running setup.py egg_info for package enum-compat

Downloading/unpacking netifaces!=0.10.5 (from zeroconf>=0.17.7->pychromecast)
  Downloading netifaces-0.10.6.tar.gz
  Running setup.py egg_info for package netifaces

Downloading/unpacking enum34 (from enum-compat->zeroconf>=0.17.7->pychromecast)
  Downloading enum34-1.1.6.tar.gz (40Kb): 40Kb downloaded
  Running setup.py egg_info for package enum34

Installing collected packages: pychromecast, requests, protobuf, zeroconf, six, chardet, idna, urllib3, certifi, enum-compat, netifaces, enum34
  Running setup.py install for pychromecast

    warning: no previously-included files matching '*.py[co]' found under directory '*'
  Running setup.py install for requests

    warning: no files found matching 'NOTICE'
  Running setup.py install for protobuf
    Skipping installation of /usr/local/lib/python2.7/dist-packages/google/__init__.py (namespace package)

    no previously-included directories found matching 'google/protobuf/internal/import_test_package'
    warning: no previously-included files found matching 'google/protobuf/internal/*_pb2.py'
    warning: no previously-included files found matching 'google/protobuf/internal/*_test.py'
    warning: no previously-included files found matching 'google/protobuf/internal/*.proto'
    warning: no previously-included files found matching 'google/protobuf/internal/test_util.py'
    warning: no previously-included files matching '*_test.py' found under directory 'google'
    warning: no previously-included files matching '*_test.proto' found under directory 'google'
    warning: no previously-included files matching 'unittest*_pb2.py' found under directory 'google'
    warning: no previously-included files matching '*.dll' found anywhere in distribution
    warning: no previously-included files matching '*.pyc' found anywhere in distribution
    warning: no previously-included files matching '*.pyo' found anywhere in distribution
    warning: no previously-included files matching '*.so' found anywhere in distribution
    Installing /usr/local/lib/python2.7/dist-packages/protobuf-3.3.0-nspkg.pth
  Running setup.py install for zeroconf

  Running setup.py install for six

    no previously-included directories found matching 'documentation/_build'
  Running setup.py install for chardet

    warning: no files found matching 'requirements.txt'
    Installing chardetect script to /usr/local/bin
  Running setup.py install for idna

    warning: no previously-included files matching '*.pyc' found under directory 'tools'
    warning: no previously-included files matching '*.pyc' found under directory 'tests'
  Running setup.py install for urllib3

    warning: no previously-included files matching '*' found under directory 'docs/_build'
  Running setup.py install for certifi

  Running setup.py install for enum-compat

  Running setup.py install for netifaces
    checking for getifaddrs...found.
    checking for getnameinfo...found.
    checking for IPv6 socket IOCTLs...not found.
    checking for optional header files...netash/ash.h netatalk/at.h netax25/ax25.h neteconet/ec.h netipx/ipx.h netpacket/packet.h linux/irda.h linux/atm.h linux/llc.h linux/tipc.h linux/dn.h.
    checking whether struct sockaddr has a length field...no.
    checking which sockaddr_xxx structs are defined...at ax25 in in6 ipx un ash ec ll atmpvc atmsvc dn irda llc.
    checking for routing socket support...no.
    checking for sysctl(CTL_NET...) support...no.
    checking for netlink support...yes.
    will use netlink to read routing table
    building 'netifaces' extension
    gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DNETIFACES_VERSION=0.10.6 -DHAVE_GETIFADDRS=1 -DHAVE_GETNAMEINFO=1 -DHAVE_NETASH_ASH_H=1 -DHAVE_NETATALK_AT_H=1 -DHAVE_NETAX25_AX25_H=1 -DHAVE_NETECONET_EC_H=1 -DHAVE_NETIPX_IPX_H=1 -DHAVE_NETPACKET_PACKET_H=1 -DHAVE_LINUX_IRDA_H=1 -DHAVE_LINUX_ATM_H=1 -DHAVE_LINUX_LLC_H=1 -DHAVE_LINUX_TIPC_H=1 -DHAVE_LINUX_DN_H=1 -DHAVE_SOCKADDR_AT=1 -DHAVE_SOCKADDR_AX25=1 -DHAVE_SOCKADDR_IN=1 -DHAVE_SOCKADDR_IN6=1 -DHAVE_SOCKADDR_IPX=1 -DHAVE_SOCKADDR_UN=1 -DHAVE_SOCKADDR_ASH=1 -DHAVE_SOCKADDR_EC=1 -DHAVE_SOCKADDR_LL=1 -DHAVE_SOCKADDR_ATMPVC=1 -DHAVE_SOCKADDR_ATMSVC=1 -DHAVE_SOCKADDR_DN=1 -DHAVE_SOCKADDR_IRDA=1 -DHAVE_SOCKADDR_LLC=1 -DHAVE_PF_NETLINK=1 -I/usr/include/python2.7 -c netifaces.c -o build/temp.linux-armv7l-2.7/netifaces.o
    netifaces.c:1:20: fatal error: Python.h: No such file or directory
    compilation terminated.
    error: command 'gcc' failed with exit status 1
    Complete output from command /usr/bin/python -c "import setuptools;__file__='/home/pi/build/netifaces/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-L2coqa-record/install-record.txt:
    running install

running build

running build_ext

checking for getifaddrs...found.

checking for getnameinfo...found.

checking for IPv6 socket IOCTLs...not found.

checking for optional header files...netash/ash.h netatalk/at.h netax25/ax25.h neteconet/ec.h netipx/ipx.h netpacket/packet.h linux/irda.h linux/atm.h linux/llc.h linux/tipc.h linux/dn.h.

checking whether struct sockaddr has a length field...no.

checking which sockaddr_xxx structs are defined...at ax25 in in6 ipx un ash ec ll atmpvc atmsvc dn irda llc.

checking for routing socket support...no.

checking for sysctl(CTL_NET...) support...no.

checking for netlink support...yes.

will use netlink to read routing table

building 'netifaces' extension

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DNETIFACES_VERSION=0.10.6 -DHAVE_GETIFADDRS=1 -DHAVE_GETNAMEINFO=1 -DHAVE_NETASH_ASH_H=1 -DHAVE_NETATALK_AT_H=1 -DHAVE_NETAX25_AX25_H=1 -DHAVE_NETECONET_EC_H=1 -DHAVE_NETIPX_IPX_H=1 -DHAVE_NETPACKET_PACKET_H=1 -DHAVE_LINUX_IRDA_H=1 -DHAVE_LINUX_ATM_H=1 -DHAVE_LINUX_LLC_H=1 -DHAVE_LINUX_TIPC_H=1 -DHAVE_LINUX_DN_H=1 -DHAVE_SOCKADDR_AT=1 -DHAVE_SOCKADDR_AX25=1 -DHAVE_SOCKADDR_IN=1 -DHAVE_SOCKADDR_IN6=1 -DHAVE_SOCKADDR_IPX=1 -DHAVE_SOCKADDR_UN=1 -DHAVE_SOCKADDR_ASH=1 -DHAVE_SOCKADDR_EC=1 -DHAVE_SOCKADDR_LL=1 -DHAVE_SOCKADDR_ATMPVC=1 -DHAVE_SOCKADDR_ATMSVC=1 -DHAVE_SOCKADDR_DN=1 -DHAVE_SOCKADDR_IRDA=1 -DHAVE_SOCKADDR_LLC=1 -DHAVE_PF_NETLINK=1 -I/usr/include/python2.7 -c netifaces.c -o build/temp.linux-armv7l-2.7/netifaces.o

netifaces.c:1:20: fatal error: Python.h: No such file or directory

compilation terminated.

error: command 'gcc' failed with exit status 1

----------------------------------------
Command /usr/bin/python -c "import setuptools;__file__='/home/pi/build/netifaces/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-L2coqa-record/install-record.txt failed with error code 1 in /home/pi/build/netifaces
Storing complete log in /root/.pip/pip.log


Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 30 Juli 2017, 13:31:55
Probier mal "pip" zu aktualisieren, vielleicht liegt es daran?

Gruß
Dominik
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Dersch am 30 Juli 2017, 17:29:18
Das habe ich davor frisch installiert. Das youtube ging auch normal durch.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: cramu am 08 August 2017, 21:23:52
Zitat von: dominik am 10 Dezember 2015, 22:43:49
sudo apt-get install libwww-perl python-
sudo pip install pychromecast
sudo pip install youtube-dl
sudo cpanm Inline::Python


Kann mir jemand erklären, wie ich cpanminus unter Raspbian installiere?
Daran scheitert die Installation des Moduls bei mir.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: mahowi am 08 August 2017, 21:58:18
Zitat von: cramu am 08 August 2017, 21:23:52
Kann mir jemand erklären, wie ich cpanminus unter Raspbian installiere?
Daran scheitert die Installation des Moduls bei mir.

Wie wäre es mit sudo apt-get install cpanminus
;)
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: cramu am 09 August 2017, 18:35:17
Vielen Dank, jetzt läufts (übrigens über einen Google Home, dieser wird in den Readings auch als solcher ausgewiesen)!
Auf meinem jungfräulichen Raspbian war außerdem noch die Installation weiterer Pakete vonnöten.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: chtischer am 09 August 2017, 19:48:04
Welche Pakete? Bekomme das Module auch nicht zum laufen...
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: cramu am 10 August 2017, 22:54:37
Hallo @chtischer,

ich habe Deine Antwort und auch Deine PN gelesen.
Aktuell gibt es noch das Problem, dass ich nach einem Neustart des RasPi das Webinterface von FHEM nicht mehr aufrufen kann.
Sollte ich die Ursache lokalisieren und eliminieren können, werde ich die einzelnen Schritte hier nochmal posten.
Da am Wochenende ein Festival ansteht, werde ich wohl erst nächste Woche weiterkommen . .
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: cramu am 11 August 2017, 00:43:43
Hab mich heute doch nochmal drangesetzt.
Mit folgenden Paketinstallationen bereitet man ein frisch aufgesetztes Raspbian Jessie für die Installation von FHEM und dem Chromecast-Modul vor:

sudo apt-get update && sudo apt-get -y upgrade && sudo reboot

sudo apt-get -f install && sudo apt-get -y install perl-base libdevice-serialport-perl libwww-perl libio-socket-ssl-perl libcgi-pm-perl libjson-perl sqlite3 libdbd-sqlite3-perl libtext-diff-perl libtimedate-perl libmail-imapclient-perl libgd-graph-perl libtext-csv-perl libxml-simple-perl liblist-moreutils-perl ttf-liberation libimage-librsvg-perl libgd-text-perl libsocket6-perl libio-socket-inet6-perl libmime-base64-perl libimage-info-perl libusb-1.0-0-dev libnet-server-perl
sudo apt-get install python-dev
sudo apt-get install libextutils-makemaker-cpanfile-perl
sudo apt-get install python-pip
sudo pip install netifaces
sudo pip install enum34
sudo pip install pychromecast
sudo pip install youtube-dl
sudo apt-get install cpanminus
sudo cpanm Inline::Python


Danach kann man FHEM installieren und updaten, das Chromecast-Modul hinzufügen und nach einem 'shutdown restart' ein Chromecast Device anlegen.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: chtischer am 11 August 2017, 10:12:43
Vielen Dank!

Leider keine Besserung.

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 531.


Ich werde wohl den rpi neu aufsetzen.
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: Esjay am 11 August 2017, 10:28:34
Zitat von: chtischer am 11 August 2017, 10:12:43
Vielen Dank!

Leider keine Besserung.

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 531.


Ich werde wohl den rpi neu aufsetzen.

Hast du mal alles deinstalliert, was Pyton angeht? Bei mir ist es zwar schon länger her, aber ich hatte auch Probleme, bis ich dann mal radikal alles gelöscht habe, was mit Pyton betrifft. Danach sauber neu installiert, und ab dann ging es. Ich meine, wenn du eh neu aufsetzen willst, backup von fhem ziehen, und erfahrungen sammeln. Mehr "zerschießen" geht ja dann nicht.
Gruß
Titel: Antw:Chromecast (98_CHROMECAST.pm)
Beitrag von: dominik am 12 August 2017, 10:43:48
@carmu
Danke für deine Installationsanleitung. Ich werde diese ins Modul mit aufnehmen.

Werde das Modul auch noch in 98_GOOGLECAST.pm umbenennen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 12 August 2017, 14:54:54
Habe nun die letzte Version ins SVN commitet. Sollte also ab morgen per Update verfügbar sein.

Gruß
Dominik
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Enlightning Man am 12 August 2017, 15:42:22
Sehr cooles Modul schonmal. Danke dafür! :)

Habe eine Frage:
Ich benutze Dein Modul, um bei mir den Verstärker automatisch auf AUX einzuschalten sobald der Chromecast Audio im AUX Eingang angeht.

Leider gibt mir der CCA keine wirklich verlässlichen Statusinformationen was seinen aktuellen Zustand angeht.
Bspw. hatte ich heute n den letzten paar stunden ab und an mal Musik angemacht, aber gerade läuft nichts. Status ist trotzdem:


Ich sehe kein Reading anhand dessen ich sowas erkennen kann wie:

Ich habe das Problem für mich so gelöst, dass ich ein Notify auf den "mediaTitle" change gelegt habe:
define wz_cca_playback_notify notify wz_chromecast_audio:mediaTitle.* set boombox on;;set boombox input aux;
Der Effekt klappt soweit, dass wenn immer der per Google Play Music wiedergegebene Song aktualisiert wird, der Verstärker angeschaltet und auf AUX gestellt wird.
Aber irgendwie fände ich es schöner, wenn man tatsächlich den aktuellen Zustand irgendwie mitbekäme...

Zum Beispiel würde ich auch gerne den Verstärker wieder ausschalten sobald das Ding 10 Minuten auf Pause steht und ihn wieder anschalten wenn die Wiedergabe fortgesetzt wird oder so Dinge.

Gibt es da eine Möglichkeit?

(Benutze gerade die Version, die heute morgen noch hier im Thread verlinkt war)

Schöne Grüße!
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 12 August 2017, 17:00:12
Hi,

danke für das Feedback. Hab mir nochmals das MediaStatus Element angesehen. Dort gibt es auch player_state welches dann PLAYING, PAUSED anzeigt. Werde das im nächsten Update mit berücksichtigen :)

Gruß
Dominik
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 12 August 2017, 23:25:09
Ich hab das Modul gerade aktualisiert. State zeigt nun playing, usw. an, ein paar neue Readings habe ich auch gleich mit aufgenommen. :)

# v2.0.0 - 20170812
# - CHANGE:   renamed to 98_GOOGLECAST.pm
# - CHANGE:   removed favoriteName_X attribute, it was never used
# - BUGFIX:   updated commandref with further required packages
# - FEATURE:  state reading now represents status (online, offline,
#               playing, paused, buffering)
# - FEATURE:  new readings mediaContentId, mediaCurrentPosition,
#               mediaDuration, mediaPlayerState, mediaStreamType
# - BUGFIX:   change volume to represent integer values only

Gruß
Dominik
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Enlightning Man am 13 August 2017, 13:11:31
Hi dominik.

Hab direkt mal aktualisiert.
Bekomme beim update derzeit noch eine Warnung:

2017.08.13 11:41:37 1 : Calling /usr/bin/perl ./contrib/commandref_join.pl -noWarnings, this may take a while
2017.08.13 11:42:44 1 : *** EN FHEM/98_CHROMECAST.pm: ignoring text due to DOS encoding


Update selbst hat aber funktioniert und der device state und mediaPlayerState funktioniert jetzt prima! Danke schonmal :)

Für die, die es interessiert, hier mal ne kleine Variante das so in FTUI darzustellen. Noch nicht perfekt, aber ein Anfang:

<div class="card full-height">
                        <header>Musik</header>
                        <div class="vbox items-space-around">
                            Zuletzt / gerade gespielt
                            <div data-type="image" data-device="wz_chromecast_audio" data-get="mediaImage" class="mini"></div>
                            <div class="nowrap">
                                <div data-type="label"
                                     data-device="wz_chromecast_audio"
                                     data-get="mediaArtist"
                                     class="inline"
                                     ></div>-
                                <div data-type="label"
                                     data-device="wz_chromecast_audio"
                                     data-get="mediaTitle"
                                     class="inline"
                                     ></div>
                            </div>
                            <div class="hbox" style="height: auto;">
                                <div data-type="switch"
                                     data-device="wz_chromecast_audio"
                                     data-icon="fa-play"
                                     data-states='["playing", ".*"]'
                                     data-background-colors='["#aa6900", "#505050"]'
                                     data-set-on="play"
                                     data-set-off="pause"
                                ></div>
                                <div data-type="switch"
                                     data-device="wz_chromecast_audio"
                                     data-icon="fa-pause"
                                     data-states='["paused", ".*"]'
                                     data-background-colors='["#aa6900", "#505050"]'
                                     data-set-on="pause"
                                     data-set-off="play"
                                >
                                </div>
                                <div data-type="push" data-device="wz_chromecast_audio" data-icon="fa-power-off" data-set-on="quitApp"></div>
                            </div>
                        </div>
                    </div>


Screenshot im Anhang.


Nächster Feature request wären set Kommandos für Previous und Next Song :)

Grüße,
EM
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 13 August 2017, 14:05:00
Hi EM,

die Meldung bzgl. DOS Formatierung kam bei mir nicht. Werde beim nächsten Update aber nochmals sicherstellen, dass das Encoding stimmt.
Previous und Next kommt dann auch, das sollte kein Problem sein.

//Edit: Previous und Next ist leider beim Chromecast nicht unterstützt. Was geht ist "rewind" (Titel wird von Beginn abgespielt) und "skip" (Titel wird geskipped und das nächste Lied - wenn vorhanden - gestartet)

Die FTUI Integration sieht sehr schick aus.  :) Ich könnte das in einem "get ... ftui" Befehl oder so einbauen, weil eine andere Möglichkeit das direkt im Modul bereitzustellen ist mir leider nicht bekannt.

Gruß
Dominik
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: b4r7 am 13 August 2017, 19:26:44
Als kleiner Tipp an alle:

devStateIcon playing:rc_PLAY online:rc_GREEN offline:rc_RED paused:rc_PAUSE buffering:rc_YELLOW

Schaut ganz gut aus =)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: chtischer am 14 August 2017, 14:51:00
Alles neu... es läuft!

Einziges Problem. Wenn ich shutdown restart ausführe, bleiben sie Offline. Ich muss sie neu anlegen, sonst läuft nix. Auch wenn ich nur einen neu anlege, bleibt der andere offline.

Gruß
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: buki am 14 August 2017, 18:30:46
Hallo miteinander,

habe versucht das neue Modul zu benutzen und bekomme im Log diese Fehlermeldung:

Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 12, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/config.py", line 6, in <module>
    import requests
  File "/usr/local/lib/python2.7/dist-packages/requests/__init__.py", line 97, in <module>
    from . import utils
  File "/usr/local/lib/python2.7/dist-packages/requests/utils.py", line 42, in <module>
    if platform.system() == 'Windows':
  File "/usr/lib/python2.7/platform.py", line 1286, in system
    return uname()[0]
  File "/usr/lib/python2.7/platform.py", line 1253, in uname
    processor = _syscmd_uname('-p','')
  File "/usr/lib/python2.7/platform.py", line 988, in _syscmd_uname
    rc = f.close()
IOError: [Errno 10] Keine Kind-Prozesse
2017.08.14 18:16:04 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/i386-linux-gnu/perl/5.22.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.


Meine Hardware ist ein Intel Nuc mit Ubuntu 16.04.3 LTS.
Habe alle benötigten Pakete installiert, so wie in der commandref beschrieben.

Wäre für Anregungen sehr dankbar.

Gruß Sven
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: hillbicks am 14 August 2017, 19:45:33
Wie sucht das Modul eigentlich nach verfuegbaren Chromecast Devices? Per MDNS?

Mein Setup sieht momentan vor das die fhem Instanz in einem anderen subnetz laeuft als die Chromecast Devices. Ich hatte eh geplant eine zweite Instanz aufzusetzen die dann die im gleichen Subnetz ist, aber mich wuerde das doch interessieren wie das Modul hier funktioniert.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: neo_owl am 14 August 2017, 20:41:30
Hallo,

ich versuche mit dem Googlecast Modul meine Chromecast und mein Google Home zu steuern,
leider ohne erfolg. Ich bin nach der Anleitung vorgegangen erhalte aber beim define meines Chromecast
folgende Meldung im Log.


Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 12, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/config.py", line 6, in <module>
    import requests
  File "/usr/local/lib/python2.7/dist-packages/requests/__init__.py", line 97, in <module>
    from . import utils
  File "/usr/local/lib/python2.7/dist-packages/requests/utils.py", line 42, in <module>
    if platform.system() == 'Windows':
  File "/usr/lib/python2.7/platform.py", line 1288, in system
    return uname()[0]
  File "/usr/lib/python2.7/platform.py", line 1255, in uname
    processor = _syscmd_uname('-p','')
  File "/usr/lib/python2.7/platform.py", line 990, in _syscmd_uname
    rc = f.close()
IOError: [Errno 10] No child processes
2017.08.14 20:34:04 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.

2017.08.14 20:34:04 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.



Bin ich einfach nur blind oder habe ich was vergessen, OS ist Debian Stretch auf einem Banana Pi.

Vielen Dank für Ratschläge im Voraus.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 14 August 2017, 22:26:37
@chtischer, kannst du mal bei den beiden Chromecast Device verbose=5 einstellen und mir das Log posten?

@buki, neo_owl, der Fehler liegt wohl irgendwo bei der Inline::Python Installation. Den gleichen Fehler hatte schon mal jemand hier im Thread, aber da konnte ich noch keine Lösung dazu finden.
Könnt ihr mal "uname" auf der Konsole ausführen? Da ist nämlich das Command, welches in diesen Teil versucht wird auszuführen. Bitte auch prüfen welche $PATH Variable der fhem User nutzt und ob dort auch "uname" ausführbar ist.

@hillbicks, für das Discovery der Cast Devices wird mDNS verwendet. Die Grundlage dafür stellt jedoch die pychromecast Library in welcher die Suche ausgeführt wird.

Gruß
Dominik
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: chtischer am 15 August 2017, 09:23:41
2017.08.15 07:14:54.244 4: GOOGLECAST: search result: ccShield|CCDEVICE|192.168.1.150|8009|aaaaaaaa-9018-24e7-d623-c127bf9a4b3f|SHIELD Android TV|Wohnzimmer|CCDEVICE|192.168.1.251|8009|bbbbbbbb-e8d2-a130-5fdd-680b9c10cae5|Google Home|Quasselstrippe
2017.08.15 07:14:54.244 4: GOOGLECAST: search result: ccHome|CCDEVICE|192.168.1.150|8009|aaaaaaaa-9018-24e7-d623-c127bf9a4b3f|SHIELD Android TV|Wohnzimmer|CCDEVICE|192.168.1.251|8009|bbbbbbb-e8d2-a130-5fdd-680b9c10cae5|Google Home|Quasselstrippe

2017.08.15 07:24:53.328 1: BlockingInformParent (BlockingStart): Can't connect to localhost:7072: IO::Socket::INET: connect: Connection refused
2017.08.15 07:24:53.330 1: BlockingInformParent (GOOGLECAST_findChromecastsResult): Can't connect to localhost:7072: IO::Socket::INET: connect: Connection refused
2017.08.15 07:24:53.369 1: BlockingInformParent (BlockingStart): Can't connect to localhost:7072: IO::Socket::INET: connect: Connection refused
2017.08.15 07:24:53.371 1: BlockingInformParent (GOOGLECAST_findChromecastsResult): Can't connect to localhost:7072: IO::Socket::INET: connect: Connection refused

ccHome --> 192.168.1.251
ccShield --> 192.168.1.150

Lege ich ccHome neu an wird außerdem GOOGLECAST-ccHome definiert im hidden room. Dieser ist nach shutdown restart verschwunden.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Lucky2k12 am 15 August 2017, 09:44:21
Hallo, und danke für das  Modul. 8)

Ich habe hier je einen Chromecast Audio und einen Video und konnte ein device nach einigem hin und her anlegen, aber leider bleibt das presence reading auf "offline" und das device reagiert natürlich nicht auf "set play" Kommandos  :-[

device
defmod chromecast GOOGLECAST Fernseher
attr chromecast favoriteURL_1 http://swr-mp3-m-swr3.akacast.akamaistream.net:80/7/720/137136/v1/gnl.akacast.akamaistream.net/swr-mp3-m-swr3
attr chromecast favoriteURL_2 https://www.youtube.com/watch?v=tERRFWuYG48
attr chromecast room Wohnzimmer

setstate chromecast initialized
setstate chromecast 2017-08-15 09:14:28 presence offline


pychromecast erkennt beide Geräte:

>>> pychromecast.discover_chromecasts()
[('192.168.178.61', 8009, UUID('xxxxxx-6585-d7ff-16ec-yyyyy'), u'Chromecast', u'Chromecast Wozi'), ('192.168.178.65', 8009, UUID('xxxxxxx-d3eb-d669-26f4-yyyyy'), u'Chromecast Audio', u'ChromecastAudio7777')]



Hinweise zum weiteren Vorgehen wären willkommen.  ;)
Danke.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: buki am 15 August 2017, 16:32:47
Hallo Dominik,

ein "uname" ist ausführbar und gibt "Linux" zurück.
Die $PATH  Variable vom fhem-User ist "/opt/fhem"

Ich hoffe, das ist das was du wolltest.

Gruß Sven
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: neo_owl am 15 August 2017, 18:38:39
Hallo Dominik,

uname gibt "Linux" aus und /opt/fhem ist in PATH vorhanden.

Gruß
   Patrick
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 15 August 2017, 19:57:27
@chtischer, aktiver mal telnet. Blocking.pm benutzt nämlich die telnet Funktionalität. Wieso es aber durch ein normales Anlegen funktioniert, verstehe ich nicht ganz. Das müsste man den Blocking.pm Entwicklern mal mitteilen.

@Lucky2k12, bitte um Log mit verbose=5 für die Cast Devices.

@Patrick, Sven, wenn man nach "python popen no child processes" googelt kommen einige Einträge. Habe leider noch nichts passendes gefunden. Vielleicht findet ihr da was. Es dürften aber irgendwas mit popen in Python zu tun haben, welches uname aufruft und der Aufruft schlägt fehl.

Gruß
Dominik
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Lucky2k12 am 15 August 2017, 20:41:10
@dominik:

2017.08.15 20:39:21 3: GOOGLECAST: Fernseher initializing...
2017.08.15 20:39:30 4: GOOGLECAST: search result: chromecast|CCDEVICE|192.168.178.61|8009|xxxxxxx-6585-d7ff-zzz-yyyyyyyyyyy|Chromecast|Chromecast Wozi|CCDEVICE|192.168.178.65|8009|xxxxxx0-d3eb-d669-26f4-yyyyyyyy|Chromecast Audio|ChromecastAudio7777
2017.08.15 20:39:30 4: GOOGLECAST: Fernseher not found, retry in 10s.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 15 August 2017, 20:54:26
Heißt dein Device auch Fernseher? Laut Suche wären es "Chromecast Wozi" und "ChromecastAudio7777". Hast du noch einen 3. Chromecast der Fernseher heißt?

//Edit: Es könnte sein, dass Chromecast Wozi nicht gefunden wird - aufgrund des Leerzeichens. Bitte mal Testen und wenn möglich das Leerzeichen vorerst entfernen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Lucky2k12 am 15 August 2017, 21:00:02
Super, Danke. Das war's.
Den Audio-Chromecast kann ich sehen, den Video "Chromecast Wozi" krieg ich wegen des Leerzeichens nicht angelegt. Macht nix, den werd ich umbenennen.

Gruß
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 15 August 2017, 21:25:31
@Patrick, Sven, könnt ihr bitte folgendes testen:
pi@raspberrypi ~ $ python
Python 2.7.9 (default, Sep 17 2016, 20:26:04)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import platform
>>> print platform.system()
Linux
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: buki am 15 August 2017, 21:33:47
pi@nuc:~$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import platform
>>> print platform.system()
Linux
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 15 August 2017, 21:42:34
Erstell mal folgende Datei
testpython.pl
use Inline Python => << "ENDE";

print "inline python is working"

ENDE


Danach ausführen mit
perl testpython.pl
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: buki am 15 August 2017, 21:46:55
pi@nuc:~$ perl testpython.pl
inline python is working
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: buki am 15 August 2017, 21:51:48
pi@nuc:~$ sudo pip install pychromecast
[sudo] Passwort für pi:
The directory '/home/pi/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/pi/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Requirement already satisfied: pychromecast in /usr/local/lib/python2.7/dist-packages
Requirement already satisfied: protobuf>=3.0.0 in ./.local/lib/python2.7/site-packages (from pychromecast)
Requirement already satisfied: zeroconf>=0.17.7 in /usr/local/lib/python2.7/dist-packages (from pychromecast)
Requirement already satisfied: six>=1.10.0 in ./.local/lib/python2.7/site-packages (from pychromecast)
Requirement already satisfied: requests>=2.0 in ./.local/lib/python2.7/site-packages (from pychromecast)
Requirement already satisfied: setuptools in ./.local/lib/python2.7/site-packages (from protobuf>=3.0.0->pychromecast)
Requirement already satisfied: enum-compat in /usr/local/lib/python2.7/dist-packages (from zeroconf>=0.17.7->pychromecast)
Requirement already satisfied: netifaces!=0.10.5 in /usr/local/lib/python2.7/dist-packages (from zeroconf>=0.17.7->pychromecast)
Requirement already satisfied: enum34 in /usr/lib/python2.7/dist-packages (from enum-compat->zeroconf>=0.17.7->pychromecast)


Evtl liegt das Problem hier??
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Lucky2k12 am 15 August 2017, 22:00:40
Ich krieg leider nichts abgespielt. Auf dem TV erscheint nur ein blaues WLAN Logo.

URL: https://www.youtube.com/watch?t=4\&v=BaW_jenozKc
Loglevel 5:

2017.08.15 21:57:33 5: GOOGLECAST (cc_Fernseher): run_once
2017.08.15 21:57:39 5: GOOGLECAST (cc_Fernseher): run_once
2017.08.15 21:57:43 5: GOOGLECAST (cc_Fernseher): run_once
2017.08.15 21:57:49 5: GOOGLECAST (cc_Fernseher): run_once
2017.08.15 21:57:50 5: GOOGLECAST (cc_Fernseher): run_once
2017.08.15 21:57:51 5: GOOGLECAST (cc_Fernseher): run_once
2017.08.15 21:57:53 5: GOOGLECAST (cc_Fernseher): run_once
20

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: chtischer am 16 August 2017, 13:51:47
@dominik Vielen Dank für den Tip mit telnet. Hatte in meiner config bissl murxs drin. Läuft jetzt!

Grüße
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 16 August 2017, 21:32:13
@buki, probier mal
pi@raspberrypi ~ $ python
Python 2.7.9 (default, Sep 17 2016, 20:26:04)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pychromecast
>>> pychromecast.get_chromecasts()
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 16 August 2017, 21:34:41
@Lucky2k12, kannst du mal einen Stream (z.b. http://mp3-live.swr3.de/swr3_m.m3u) probieren? Teilweise dauert youtube bis zu einer Minute bis das Video geladen wurde, vielleicht lag es daran?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: buki am 16 August 2017, 21:40:58
>>> pychromecast.get_chromecasts()
[Chromecast('192.168.178.132', port=8009, device=DeviceStatus(friendly_name=u'Wohnzimmer', model_name=u'Google Home', manufacturer=u'Google Inc.', api_version=(1, 0), uuid=UUID('6cda17cb-47ac-1357-fb21-f959bbe18dda'), cast_type='cast')), Chromecast('192.168.178.22', port=8009, device=DeviceStatus(friendly_name=u'Schlafzimmerfernseher', model_name=u'Chromecast', manufacturer=u'Google Inc.', api_version=(1, 0), uuid=UUID('8678640d-edba-b5ea-ff6b-2332b1a7ff12'), cast_type='cast')), Chromecast('192.168.178.77', port=8009, device=DeviceStatus(friendly_name=u'SHIELD', model_name=u'SHIELD Android TV', manufacturer=u'NVIDIA', api_version=(1, 0), uuid=UUID('4c8da75d-265b-8d05-9d51-02da76096a13'), cast_type='cast')), Chromecast('192.168.178.131', port=8009, device=DeviceStatus(friendly_name=u'Mila', model_name=u'Google Home', manufacturer=u'Google Inc.', api_version=(1, 0), uuid=UUID('ae0f9d95-3448-f357-5247-d1a107abc57f'), cast_type='cast')), Chromecast('192.168.178.25', port=8009, device=DeviceStatus(friendly_name=u'Bad', model_name=u'Chromecast Audio', manufacturer=u'Google Inc.', api_version=(1, 0), uuid=UUID('6cb266cb-2b8a-fd2c-cc18-e699ef3b7baa'), cast_type='audio'))]
>>>
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Lucky2k12 am 18 August 2017, 16:05:04
Danke @dominik ,
Ich hab die Devices gelöscht und neu angelegt, dann ging es mit deinem  Streamlink, sowohl audio als auch am TV.
Nur der youtube-link (https://www.youtube.com/watch?v=tERRFWuYG48) geht aber immer noch nicht.
verbose 5 scheint auch keine weiteren Infos zu Tage zu fördern.

Device:
defmod cc_Fernseher2 GOOGLECAST ChromecastWozi
attr cc_Fernseher2 devStateIcon playing:rc_PLAY online:rc_GREEN offline:rc_RED paused:rc_PAUSE buffering:rc_YELLOW
attr cc_Fernseher2 favoriteURL_1 http://mp3-live.swr3.de/swr3_m.m3u
attr cc_Fernseher2 favoriteURL_2 https://www.youtube.com/watch?v=tERRFWuYG48
attr cc_Fernseher2 favoriteURL_3 http://swr-mp3-m-swr3.akacast.akamaistream.net:80/7/720/137136/v1/gnl.akacast.akamaistream.net/swr-mp3-m-swr3
attr cc_Fernseher2 room Wohnzimmer
attr cc_Fernseher2 verbose 5

setstate cc_Fernseher2 online
setstate cc_Fernseher2 2017-08-18 16:08:38 appId CC1AD845
setstate cc_Fernseher2 2017-08-18 16:08:38 appName Default Media Receiver
setstate cc_Fernseher2 2017-08-18 10:21:00 castType cast
setstate cc_Fernseher2 2017-08-18 10:21:00 idle 1
setstate cc_Fernseher2 2017-08-18 16:10:05 mediaContentId https://www.youtube.com/watch?v=tERRFWuYG48
setstate cc_Fernseher2 2017-08-18 16:02:21 mediaCurrentPosition 0
setstate cc_Fernseher2 2017-08-18 16:10:05 mediaPlayerState IDLE
setstate cc_Fernseher2 2017-08-18 16:10:05 mediaStreamType BUFFERED
setstate cc_Fernseher2 2017-08-18 10:21:00 model Chromecast
setstate cc_Fernseher2 2017-08-18 10:21:00 name ChromecastWozi
setstate cc_Fernseher2 2017-08-18 16:08:28 presence online
setstate cc_Fernseher2 2017-08-18 16:02:21 state online
setstate cc_Fernseher2 2017-08-18 10:21:00 uuid xxxxxx-6585-d7ff-16ec-yyyyyyyyyyy
setstate cc_Fernseher2 2017-08-18 16:09:48 volume 64
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 18 August 2017, 18:48:11
Kann ich mal ne blöde Frage stellen? Heute ist mein Google Home angekommen, hatte keine Lust mehr auf Alexa.
Kann ich Google Home mit diesem Modul als Chomecast ansprechen?


define GoogleHome GOOGLECAST Wohnzimmer


Meldet bei presence immer offline.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: oggy am 18 August 2017, 21:24:41
bei mir bekomme ich dieses Modul auch nicht zum laufen, aber der Google Home sollte wie jedes Chromecast-Device angesprochen werden können. Ich benutze das schon in die Jahre gekommene "castnow" und lasse so einen Status/eine Rückmeldung am Google Home ausgeben.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 18 August 2017, 22:02:20
Das hört sich interessant an, wie hast Du das realisiert? Ich möchte eigentlich nur hin-und-wieder sagen lassen, dass es z.B. Regnet und ein Fenster offen ist.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 19 August 2017, 11:57:52
@Lucky2k12, bitte das Log mit verbose 5 posten.

@Det20, ja, funktioniert auch mit Google Home. Bei mir "define wz.home CHROMECAST Home" (habe ihn mit den Namen "Home" konfiguriert).
Sprachausgabe: set wz.home play http://translate.google.com/translate_tts?ie=UTF-8&tl=de&client=tw-ob&q=Das%20ist%20ein%20Test

@oggy, bitte um Log mit verbose 5.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 19 August 2017, 12:24:37
Da tut sich leider nix und presence meldet auch offline.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 19 August 2017, 14:32:41
Log?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Lucky2k12 am 19 August 2017, 15:07:33
bei mir ist das log bei verbose 5 wie weiter oben angegeben:

2017.08.19 15:06:27 5: GOOGLECAST (chromecast): run_once
2017.08.19 15:06:32 5: GOOGLECAST (chromecast): run_once
2017.08.19 15:06:37 5: GOOGLECAST (chromecast): run_once
2017.08.19 15:06:43 5: GOOGLECAST (chromecast): run_once

wenn ich den stream http://swr-swr3-live.cast.addradio.de/swr/swr3/live/mp3/128/stream.mp3 abspiele, kommt auch nix anderes im log.
Einziger Unterschied: Der wird gespielt :)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 19 August 2017, 15:20:02
Hmmm, bei mir:


define GoogleHome GOOGLECAST Wohnzimmer
attr GoogleHome room Wohnzimmer
attr GoogleHome stateFormat presence
attr GoogleHome verbose 5


Log:


2017.08.19 15:15:47 3: GOOGLECAST: GoogleCast v2.0.0
2017.08.19 15:15:47 3: GOOGLECAST: Wohnzimmer initializing...


Abgespielt wird nix.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 19 August 2017, 15:21:44
@Lucky2k12, hast du youtube-dl richtig installiert? Probier mal youtube-dl auf der Console auszuführen.

@Det20, den Google Home hast du auch sicher als "Wohnzimmer" benannt? Mach bitte mal verbose=5 und poste das Log.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 19 August 2017, 15:29:05

2017.08.19 15:29:52 5: Cmd: >define GoogleHome GOOGLECAST Wohnzimmer<
2017.08.19 15:29:52 5: Loading ./FHEM/98_GOOGLECAST.pm
2017.08.19 15:29:53 3: GOOGLECAST: GoogleCast v2.0.0
2017.08.19 15:29:53 3: GOOGLECAST: Wohnzimmer initializing...
2017.08.19 15:29:53 4: BlockingCall (GOOGLECAST_findChromecasts): created child (5043), uses telnetPort to connect back
2017.08.19 15:29:53 5: Cmd: >attr GoogleHome room Wohnzimmer<
2017.08.19 15:29:53 5: Cmd: >attr GoogleHome stateFormat presence<
2017.08.19 15:29:53 5: Cmd: >attr GoogleHome verbose 5<

2017.08.19 15:30:02 4: GOOGLECAST: search result: GoogleHome|CCDEVICE|192.168.0.83|8009|66c449c9-d2f9-1a8f-fb4d-23cefa323dce|Google Home|Wohnzimmer

2017.08.19 15:34:54 5: Cmd: >set GoogleHome play http://translate.google.com/translate_tts?ie=UTF-8&tl=de&client=tw-ob&q=Das%20ist%20ein%20Test<
2017.08.19 15:34:54 4: BlockingCall (GOOGLECAST_setPlayYtDlBlocking): created child (5060), uses telnetForBlockingFn_1503149396.6992 to connect back
2017.08.19 15:34:54 5: Starting notify loop for GoogleHome, 1 event(s), first is play http://translate.google.com/translate_tts?ie=UTF-8&tl=de&client=tw-ob&q=Das%20ist%20ein%20Test
2017.08.19 15:34:54 5: End notify loop for GoogleHome

2017.08.19 15:34:58 4: Connection accepted from telnetForBlockingFn_1503149396.6992_127.0.0.1_36954
2017.08.19 15:34:58 5: Cmd: >{BlockingStart('4')}<
2017.08.19 15:34:58 5: Cmd: >{GOOGLECAST_setPlayMedia_String('GoogleHome|http://translate.google.com/translate_tts?ie=UTF-8&tl=de&client=tw-ob&q=Das%20ist%20ein%20Test|http://translate.google.com/translate_tts?ie=UTF-8&tl=de&client=tw-ob&q=Das%20ist%20ein%20Test')}<
2017.08.19 15:34:58 4: BlockingCall (GOOGLECAST_setPlayMediaBlocking): created child (5061), uses telnetForBlockingFn_1503149396.6992 to connect back
2017.08.19 15:34:58 4: Connection accepted from telnetForBlockingFn_1503149396.6992_127.0.0.1_36958
2017.08.19 15:34:58 5: Cmd: >{BlockingStart('5')}<
2017.08.19 15:34:58 5: Cmd: >{GOOGLECAST_setPlayType_String('GoogleHome|http://translate.google.com/translate_tts?ie=UTF-8&tl=de&client=tw-ob&q=Das%20ist%20ein%20Test|audio/mpeg')}<
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Lucky2k12 am 19 August 2017, 17:20:29

sudo youtube-dl https://www.youtube.com/watch?v=tERRFWuYG48
[youtube] tERRFWuYG48: Downloading webpage
[youtube] tERRFWuYG48: Downloading video info webpage
[youtube] tERRFWuYG48: Extracting video information
[youtube] tERRFWuYG48: Downloading MPD manifest
[download] Destination: Barfuß Am Klavier - AnnenMayKantereit-tERRFWuYG48.mp4
[download] 100% of 27.26MiB in 00:37

scheint ok.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: buki am 19 August 2017, 20:01:26
@dominik
Hast du evtl. für mein Problem eine Lösung gefunden?

Gruß Sven
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: hillbicks am 19 August 2017, 23:23:21
Ich schliesse mich den Problemen mit Debian Stretch an. Habe heute das Update gemacht und seitdem funktioniert das Chromecast Modul nicht mehr. Die python snippets die die anderen ausgefuehrt haben tun es aber, auch der pychromecast.get Befehl

Python 2.7.13 (default, Jan 19 2017, 14:48:08)
[GCC 6.3.0 20170124] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pychromecast
>>> pychromecast.get_chromecasts()
[Chromecast('192.168.0.100', port=8009, device=DeviceStatus(friendly_name=u'CHROMECASTAUDIO_wz', model_name=u'Chromecast Audio', manufacturer=u'Google Inc.', api_version=(1, 0), uuid=UUID('b6bedc97-b9fa-c635-4fb5-bfc3c119af0a'), cast_type='audio')), Chromecast('192.168.0.190', port=8009, device=DeviceStatus(friendly_name=u'CHROMECASTAUDIO_sz', model_name=u'Chromecast Audio', manufacturer=u'Google Inc.', api_version=(1, 0), uuid=UUID('e8eb82aa-1bca-e0dc-cfb3-35eeb5ca1ea6'), cast_type='audio')), Chromecast('192.168.0.100', port=42248, device=DeviceStatus(friendly_name=u'all', model_name=u'Google Cast Group', manufacturer=u'Google Inc.', api_version=(1, 0), uuid=UUID('d5f65f2d-1917-490e-93cc-2b3ba925ed5b'), cast_type='group')), Chromecast('192.168.0.190', port=42474, device=DeviceStatus(friendly_name=u'Oben', model_name=u'Google Cast Group', manufacturer=u'Google Inc.', api_version=(1, 0), uuid=UUID('88ca3864-db97-4c56-a9b0-4b75efab108c'), cast_type='group'))]


Auszug aus dem Log:
017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_Initialize redefined at ./FHEM/98_GOOGLECAST.pm line 113, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_Define redefined at ./FHEM/98_GOOGLECAST.pm line 130, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_findChromecasts redefined at ./FHEM/98_GOOGLECAST.pm line 149, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_initDevice redefined at ./FHEM/98_GOOGLECAST.pm line 164, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_findChromecastsResult redefined at ./FHEM/98_GOOGLECAST.pm line 173, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_Attribute redefined at ./FHEM/98_GOOGLECAST.pm line 207, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_Set redefined at ./FHEM/98_GOOGLECAST.pm line 219, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_setVolume redefined at ./FHEM/98_GOOGLECAST.pm line 249, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType redefined at ./FHEM/98_GOOGLECAST.pm line 259, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType_String redefined at ./FHEM/98_GOOGLECAST.pm line 269, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia redefined at ./FHEM/98_GOOGLECAST.pm line 280, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia_String redefined at ./FHEM/98_GOOGLECAST.pm line 288, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMediaBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 300, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDl redefined at ./FHEM/98_GOOGLECAST.pm line 322, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDlBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 330, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_setStop redefined at ./FHEM/98_GOOGLECAST.pm line 343, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_setPlayFavorite redefined at ./FHEM/98_GOOGLECAST.pm line 354, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_setPlay redefined at ./FHEM/98_GOOGLECAST.pm line 361, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_setPause redefined at ./FHEM/98_GOOGLECAST.pm line 378, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_setQuitApp redefined at ./FHEM/98_GOOGLECAST.pm line 389, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_Undef redefined at ./FHEM/98_GOOGLECAST.pm line 399, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_Get redefined at ./FHEM/98_GOOGLECAST.pm line 408, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_updateReading redefined at ./FHEM/98_GOOGLECAST.pm line 412, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_newChash redefined at ./FHEM/98_GOOGLECAST.pm line 425, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_checkConnection redefined at ./FHEM/98_GOOGLECAST.pm line 460, <$fh> line 48.
2017.08.19 23:05:14 1: PERL WARNING: Subroutine GOOGLECAST_Read redefined at ./FHEM/98_GOOGLECAST.pm line 480, <$fh> line 48.
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 12, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/config.py", line 6, in <module>
    import requests
  File "/usr/local/lib/python2.7/dist-packages/requests/__init__.py", line 97, in <module>
    from . import utils
  File "/usr/local/lib/python2.7/dist-packages/requests/utils.py", line 24, in <module>
    from . import certs
ImportError: cannot import name certs
2017.08.19 23:05:14 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.

2017.08.19 23:05:14 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.



@dominik: Kannst Du den Hinweis mit aufnehmen das debian stretch im Moment nicht funktioniert?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 20 August 2017, 16:06:50
So, alles neu aufgesetzt und dann genau diese Reihenfolge eingehalten. Hatte wohl irgendwo in den letzten 18 Seiten was falsches rausgelesen und installiert :)


sudo apt-get update && sudo apt-get -y upgrade && sudo reboot

sudo apt-get -f install && sudo apt-get -y install perl-base libdevice-serialport-perl libwww-perl libio-socket-ssl-perl libcgi-pm-perl libjson-perl sqlite3 libdbd-sqlite3-perl libtext-diff-perl libtimedate-perl libmail-imapclient-perl libgd-graph-perl libtext-csv-perl libxml-simple-perl liblist-moreutils-perl ttf-liberation libimage-librsvg-perl libgd-text-perl libsocket6-perl libio-socket-inet6-perl libmime-base64-perl libimage-info-perl libusb-1.0-0-dev libnet-server-perl
sudo apt-get install python-dev
sudo apt-get install libextutils-makemaker-cpanfile-perl
sudo apt-get install python-pip
sudo pip install netifaces
sudo pip install enum34
sudo pip install pychromecast
sudo pip install youtube-dl
sudo apt-get install cpanminus
sudo cpanm Inline::Python


Ist installiert, wird erkannt (Presence). Sprachausgabe läuft auch, ein Traum ...
Allerdings funktioniert das nur solange, bis ich FHEM und/oder den Pi neu starte. Dann ist GOOGLECAST angeblich wieder offline. Wenn ich das Gerät dann neu anlege geht es wieder (bis zum nächsten Neustart). Könntest Du da bitte bitte bitte nochmal schauen?

Aktuell habe ich es mit einer MyUtil und DOIF so gelöst, dass das Gerät ggf neu angelegt wird.


sub EnsureGoogleHome($$$)
{
  my ($device,$chromename,$room) = @_;
  if($device eq "") { $device = "GoogleHome" };
  if($chromename eq "") { $chromename = "Wohnzimmer" };
  if($room eq "") { $room = "Wohnzimmer" };
 
  my $Status = ReadingsVal($device,"presence","");
  return if(($Status eq "")||($Status eq "online")); # Nicht vorhanden oder schon online

  fhem("delete $device");
  fhem("define $device GOOGLECAST $chromename");
  fhem("attr $device room $room");
  fhem("save");
 
  return "1";
}




define di_EnsureGoogleHome DOIF ([+:05]) ( { EnsureGoogleHome("GoogleHome","Wohnzimmer","Wohnzimmer") } ) DOELSE ()
attr di_EnsureGoogleHome do always
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: oggy am 21 August 2017, 14:03:44
bei mir tritt das Problem auch auf einem Debian Stretch auf, auf einem Raspberry PI 3.

2017.08.21 13:46:58 5: Cmd: >define ccgh1 GOOGLECAST homie<
2017.08.21 13:46:58 5: Loading ./FHEM/98_GOOGLECAST.pm
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_Initialize redefined at ./FHEM/98_GOOGLECAST.pm line 113.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_Define redefined at ./FHEM/98_GOOGLECAST.pm line 130.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_findChromecasts redefined at ./FHEM/98_GOOGLECAST.pm line 149.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_initDevice redefined at ./FHEM/98_GOOGLECAST.pm line 164.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_findChromecastsResult redefined at ./FHEM/98_GOOGLECAST.pm line 173.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_Attribute redefined at ./FHEM/98_GOOGLECAST.pm line 207.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_Set redefined at ./FHEM/98_GOOGLECAST.pm line 219.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_setVolume redefined at ./FHEM/98_GOOGLECAST.pm line 249.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType redefined at ./FHEM/98_GOOGLECAST.pm line 259.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType_String redefined at ./FHEM/98_GOOGLECAST.pm line 269.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia redefined at ./FHEM/98_GOOGLECAST.pm line 280.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia_String redefined at ./FHEM/98_GOOGLECAST.pm line 288.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMediaBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 300.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDl redefined at ./FHEM/98_GOOGLECAST.pm line 322.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDlBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 330.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_setStop redefined at ./FHEM/98_GOOGLECAST.pm line 343.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_setPlayFavorite redefined at ./FHEM/98_GOOGLECAST.pm line 354.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_setPlay redefined at ./FHEM/98_GOOGLECAST.pm line 361.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_setPause redefined at ./FHEM/98_GOOGLECAST.pm line 378.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_setQuitApp redefined at ./FHEM/98_GOOGLECAST.pm line 389.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_Undef redefined at ./FHEM/98_GOOGLECAST.pm line 399.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_Get redefined at ./FHEM/98_GOOGLECAST.pm line 408.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_updateReading redefined at ./FHEM/98_GOOGLECAST.pm line 412.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_newChash redefined at ./FHEM/98_GOOGLECAST.pm line 425.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_addSocketToMainloop redefined at ./FHEM/98_GOOGLECAST.pm line 448.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_checkConnection redefined at ./FHEM/98_GOOGLECAST.pm line 460.
2017.08.21 13:46:58 1: PERL WARNING: Subroutine GOOGLECAST_Read redefined at ./FHEM/98_GOOGLECAST.pm line 480.
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/opt/fhem/.local/lib/python2.7/site-packages/pychromecast/__init__.py", line 12, in <module>
    from .config import *  # noqa
  File "/opt/fhem/.local/lib/python2.7/site-packages/pychromecast/config.py", line 6, in <module>
    import requests
  File "/opt/fhem/.local/lib/python2.7/site-packages/requests/__init__.py", line 97, in <module>
    from . import utils
  File "/opt/fhem/.local/lib/python2.7/site-packages/requests/utils.py", line 24, in <module>
    from . import certs
ImportError: cannot import name certs
2017.08.21 13:46:58 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.

2017.08.21 13:46:58 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.

2017.08.21 13:46:58 4: WEBtablet: /fhem&fw_id=468&fwcsrf=csrf_12121212121212&cmd=define+ccgh1+GOOGLECAST+homie / RL:1460 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2017.08.21 13:46:58 4: WEBtablet_192.168.178.78_57006 GET /fhem?XHR=1&inform=type=status;filter=;since=1503316017;fmt=JSON&fw_id=468&timestamp=1503316018649; BUFLEN:0



inline funktioniert auch:
pi@smarthome:~ $ /usr/src/scripts/test2.pl
inline python is working
pi@smarthome:~ $



und pychromecast auch:
pi@smarthome:~ $ python
Python 2.7.13 (default, Jan 19 2017, 14:48:08)
[GCC 6.3.0 20170124] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pychromecast
>>> pychromecast.discover_chromecasts()
[('192.168.178.65', 8009, UUID('<irgendeineid>'), u'SHIELD Android TV', u'Wohnzimmer'), ('192.168.178.20', 8009, UUID('<irgendeineid>'), u'Google Home', u'homie'), ('192.168.178.20', 42820, UUID('<irgendeineid>'), u'Google Cast Group', u'alle')]
>>>
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Macx am 03 September 2017, 08:35:38
Hey Zusammen,

bei mir funktioniert alles einwandfrei ... Coole Erweiterung!! Dankeschön !

Cool wäre es wenn man dem Google Home noch Befehle zukommen lassen würde ... zB.: "Spiele Radio Fritz auf Allen" Allen nennt sich meine Gruppe für alle LS

SetUp

FHEM RPI3 14965
Google Home, ZR5, ZR7 und NT5
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: drhirn am 11 Oktober 2017, 15:24:48
Ich frage jetzt mal auch auf die Gefahr hin, dass das Modul da nicht das richtige dafür ist:
Beim Netflix-Schauen wähle ich auf dem Tablet den Film aus und starte ihn damit auf dem Chromecast. Für Pause, "Unpause", nächste Folge würde ich aber gerne FHEM bemühen (weil ich sowieso TabletUI auf dem Tablet offen habe).
Das GOOGLECAST-Modul habe ich erfolgreich eingebunden, es zeigt mir auch schön den aktuellen Status des Chromecast. Ein set Chromecast pause funktioniert ebenfalls wunderbar.
Aber, um den Stream fortzusetzen fehlt mir leider eine Option. Mit play wird ja nur ein anderer Stream abgespielt. Was ich natürlich nicht will.
Übersehe ich da was? Ist das nicht implementiert? Oder lässt sich sowas gar nicht implementieren?

Danke!
Stefan
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: LordVoodoo am 17 Oktober 2017, 12:55:16
Hallo zusammen,

habe eine allgemeine Frage zu dem Modul:
Ist es möglich über Chromecast und dieses FHEM-Modul eine beliebige Website darzustellen?

Mein Gedanke ist es mir den Fahrplan der Deutschen Bahn (mittels dem DBPlaner Modul) in ein FHEM UI (Tablet UI) zu integrieren und mir morgens auf dem TV anzuzeigen, so dass ich mögliche Züge sehe...

Vielen Dank für eure Auskunft.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: LeoSum am 17 Oktober 2017, 21:28:55
Hallo LordVoodoo,

genau das habe ich umgesetzt. Leider ist es eine etwas umständliche Lösung, da ich bislang keine Möglichkeit gefunden habe, webseiten direkt auf den Chromecast zu streamen.
Ich gehe dazu folgendermaßen vor:

1. Über FTUI habe ich die Anzeige gebastelt, enthält Wetter, Bahnverspätungen etc.
2. Auf meinem Server, auf dem auch FHEM läuft, ruft ein Script morgens alle 2 Minuten diese Webseite auf und erstellt einen Screenshot, speichert diesen ab und stellt ihn über einen Webserver zur Verfügung.
3. Im Anschluss streamt ein weiteres script den neuen Screenshot mit pychromecast (das wird auch von diesem Modul hier verwendet) an meinen Chromecast.

Wenn du magst, kann ich mir mal die Mühe machen und das genauer dokumentieren. Gerade Schritt 2 erfordert aber etwas Handarbeit.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: ThomasJ am 22 Oktober 2017, 23:24:50
Leider konnte ich das Modul bisher nicht installieren.
Folgende Fehlermeldung bei "reload 98_GOOGLECAST.pm":

py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.

-neuer pi Version 3
-alle in der Commandref definierten Pakete sind aktuell
-98_GOOGLECAST.pm Version 2.0.0 vom 12.08.2017

Was mache ich falsch?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Tabu am 30 Oktober 2017, 13:35:00
Hallo,

dank Euch konnte ich schon viel erreichen und bislang habe ich mit viel Lesen auch alles hinbekommen. Leider haut das GOOGLECAST Modul nicht hin. Ich bin genau so weit wie oggy (siehe Antwort 261). Alle Python Erweiterungen schon deinstalliert, neu installiert (ohne cache).

Pi 3 (stretch)

Bin gerne bereit einige Tests zu machen, wenn ich nur wüsste wo ich anfangen soll...

Zeile 553 im Modul startet ja Python inline... das funktioniert ja in der Konsole...

Vielleicht erbarmt sich ja noch jemand  :'(

;D

Vielen Dank
Tabu
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: ThomasJ am 30 Oktober 2017, 14:56:35
Hallo,
irgendwie scheint es an der Rechtevergabe zu liegen.
Beim Laden des Moduls wird ein (temporäres?) Verzeichnis _Inline erstellt, wo Konfigurationsdatei(en) gespeichert werden.
Beim Schreiben/ überschreiben der Datei config-arm-linux-gnueabihf-thread-multi-64int-5.014002 fällt das Programm dann aus.
Gruß,
Thomas

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Tabu am 30 Oktober 2017, 16:05:49
Hallo Thomas,

vielen Dank für den Tipp. Ich habe mal alle Rechte auf das Verzeichnis und der Datei gegeben. Berechtigte sind fhem und dialout. Leider noch immer der Fehler. Muss ggf. noch Python in die Berechtigungen mit rein? (sorry, habe leider keine Ahnung von Linux :)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 31 Oktober 2017, 21:12:20
Hallo,

gibt es eigentlich ein Update des Moduls? Ich suche nach einem Fehler (Too many open files) und ich habe aktuell nur 2 Beta Module. Und auf GoogleCast möchte ich nur ungern verzichten, ist einfach zu geil :)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: LordVoodoo am 04 November 2017, 18:08:57
Hallo zusammen,

nach der kompletten Neuinstallation des Smart Homes auf Stretch bekomme ich das CHROMECAST-Modul nicht mehr eingerichtet. Im Log steht:

2017.11.04 18:02:07 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.


Hat jemand einen Hinweis für mich?

Vielen Dank!
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 06 November 2017, 10:19:14
Ich habe im Log regelmäßig den Fehler


... 3: GOOGLECAST: Wohnzimmer initialized successfully
... 1: ERROR: Select error -1 (9), error count= 0


Der "Select Error" kommt immer im Zusammenhang mit GoogleCast. Ich kann mit der Meldung "Select error -1 ..." leider überhaupt nichts anfangen, Google auch nicht.
Was hat es mit dem Fehler auf sich?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: oggy am 15 November 2017, 09:27:41
Zitat von: LordVoodoo am 04 November 2017, 18:08:57
nach der kompletten Neuinstallation des Smart Homes auf Stretch bekomme ich das CHROMECAST-Modul nicht mehr eingerichtet. Im Log steht:

2017.11.04 18:02:07 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.


Ich konnte bis heute das Modul auch nicht aktivieren. Ich hatte FHEM auf einem RaspberryPi3 laufen. Jetzt hatte ich FHEM auf einem NUC neu aufgesetzt und bekam das Modul ebenfalls nicht aktiviert. Jetzt habe ich mal am Skript-Anfang von 98_GOOGLECAST.pm einfach ein "use Inline::Python;" eingefügt und schwupps wird das Modul auch aktiviert. Kann das mal jemand verifizieren?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 15 November 2017, 09:55:29
Habe es erstmal wieder deaktiviert, scheint der Grund dafür zu sein, dass keine Handles mehr frei sind und FHEM deshalb absemmelt.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Tabu am 15 November 2017, 16:09:00
Zitat von: oggy am 15 November 2017, 09:27:41
Jetzt habe ich mal am Skript-Anfang von 98_GOOGLECAST.pm einfach ein "use Inline::Python;" eingefügt und schwupps wird das Modul auch aktiviert. Kann das mal jemand verifizieren?

Hatte schon Hoffnung, leider lässt es sich auch mit der Modifikation bei mir nicht aktivieren...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Esjay am 15 November 2017, 17:24:11
Zitat von: Tabu am 15 November 2017, 16:09:00
Hatte schon Hoffnung, leider lässt es sich auch mit der Modifikation bei mir nicht aktivieren...
Schau mal mit WinSCP was du alles an Python auf deinem Pi hast.Dann schmeiß das alles runter,und geh die Schritte nochmal durch..Ich habe hier im Theard in einem meiner Postings 4-5 Schritte aufgeschrieben..Also Python runterwerfen,anschließend meine Schritte befolgen..
Gruß
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: oggy am 15 November 2017, 19:36:44
ok, bei mir ging es komischerweise nachdem ich die Zeile eingefügt hatte. Vorher konnte ich im Log sehen, dass Zeile 553 angemeckert wurde. .... ich werde morgen nochmal bei meinem alten Pi schauen, ob ich es dort auch zum Laufen bekomme.

[edit]
auf dem Pi klappt es nach wie vor nicht. Debian für den Pi scheint so einiges anders zu behandeln als ein Debian i386/amd64. Auf meinem NUC läuft dieses Modul auf jeden Fall, obwohl die Installation auf gleichem Wege durchgeführt wurde.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 18 November 2017, 22:34:04
Prüft bitte nach einem Neustart von FHEM die Fehlermeldungen im fhem Log. Dort steht bei Inline Python Fehlern ein "Traceback" mit sehr guten Infos.

Ich musste bei mir gerade nach einem Update folgende Datei anpassen:
/usr/lib/python2.7/platform.py
def _syscmd_uname(option,default=''):

    """ Interface to the system's uname command.
    """
    if sys.platform in ('dos','win32','win16','os2'):
        # XXX Others too ?
        return default
    try:
        f = os.popen('uname %s 2> %s' % (option, DEV_NULL))
    except (AttributeError,os.error):
        return default
    output = string.strip(f.read())
    rc = 0
    try:
        rc = f.close()
    except:
        pass
    if not output or rc:
        return default
    else:
        return output

Fand leider keine bessere Lösung...noch dazu musste ich
sudo pip uninstall requests
sudo pip install --upgrade requests
sudo pip install --upgrade pychromecast

durchführen. Danach lief es wieder.

Bitte prüft nach Neustart (nicht reload) was im Log für Fehlermeldungen auftauchen und postet diese hier.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 19 November 2017, 09:41:19
Zur Info bzgl der Anzeige von Websites...sobald pychromecast mit DashCast Support released wird (aktuell nur auf github), werde ich das Modul erweitern damit man damit auch Websites anzeigen kann.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Tabu am 20 November 2017, 19:15:54
Nach der Änderung in der Datei /usr/lib/python2.7/platform.py kommt folgender Fehler:


2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_Initialize redefined at ./FHEM/98_GOOGLECAST.pm line 113.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_Define redefined at ./FHEM/98_GOOGLECAST.pm line 130.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_findChromecasts redefined at ./FHEM/98_GOOGLECAST.pm line 149.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_initDevice redefined at ./FHEM/98_GOOGLECAST.pm line 164.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_findChromecastsResult redefined at ./FHEM/98_GOOGLECAST.pm line 173.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_Attribute redefined at ./FHEM/98_GOOGLECAST.pm line 207.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_Set redefined at ./FHEM/98_GOOGLECAST.pm line 219.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_setVolume redefined at ./FHEM/98_GOOGLECAST.pm line 249.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType redefined at ./FHEM/98_GOOGLECAST.pm line 259.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType_String redefined at ./FHEM/98_GOOGLECAST.pm line 269.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia redefined at ./FHEM/98_GOOGLECAST.pm line 280.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia_String redefined at ./FHEM/98_GOOGLECAST.pm line 288.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMediaBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 300.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDl redefined at ./FHEM/98_GOOGLECAST.pm line 322.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDlBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 330.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_setStop redefined at ./FHEM/98_GOOGLECAST.pm line 343.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_setPlayFavorite redefined at ./FHEM/98_GOOGLECAST.pm line 354.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_setPlay redefined at ./FHEM/98_GOOGLECAST.pm line 361.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_setPause redefined at ./FHEM/98_GOOGLECAST.pm line 378.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_setQuitApp redefined at ./FHEM/98_GOOGLECAST.pm line 389.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_Undef redefined at ./FHEM/98_GOOGLECAST.pm line 399.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_Get redefined at ./FHEM/98_GOOGLECAST.pm line 408.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_updateReading redefined at ./FHEM/98_GOOGLECAST.pm line 412.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_newChash redefined at ./FHEM/98_GOOGLECAST.pm line 425.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_addSocketToMainloop redefined at ./FHEM/98_GOOGLECAST.pm line 448.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_checkConnection redefined at ./FHEM/98_GOOGLECAST.pm line 460.
2017.11.20 19:04:37 1: PERL WARNING: Subroutine GOOGLECAST_Read redefined at ./FHEM/98_GOOGLECAST.pm line 480.


Hier Traceback:


Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 12, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/config.py", line 6, in <module>
    import requests
  File "/usr/local/lib/python2.7/dist-packages/requests/__init__.py", line 97, in <module>
    from . import utils
  File "/usr/local/lib/python2.7/dist-packages/requests/utils.py", line 17, in <module>
    import platform
  File "/usr/lib/python2.7/platform.py", line 991
SyntaxError: Non-ASCII character '\xc3' in file /usr/lib/python2.7/platform.py on line 991, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
2017.11.20 19:08:31 0: Server shutdown


Hoffe, dass das die richtigen Angaben sind, leider haut es noch nicht hin.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 20 November 2017, 19:27:16
@Tabu, das dürfte ein copy/paste Fehler sein. Prüf bitte mal ob in platform.py nicht irgendein Sonderzeichen reingerutscht ist.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Tabu am 20 November 2017, 20:12:52
Habe es einfach noch einmal eingefügt und es funktioniert  ;D

Vielen Dank
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Wilm am 24 November 2017, 20:14:43
Das Modul funktioniert super, nur die Umlaute funktionieren bei mir nicht. Wenn ich ein Device Büro oder Küche über die Google Home App nenne, dann bekomme ich keine Verbindung mit dem Modul hin. Ich habe bereits einiges versucht, Python Module entfernt, neu hinzugefügt etc. leider ohne Erfolg. Hat noch jemand einen Tipp für mich warum bei mir keine Umlaute funktionieren?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: ih-sqeezer am 25 November 2017, 10:32:49
Hallo zusammen,

ich habe seit ein paar Tagen das Modul in Verbindung mit einem Google Home eingebunden. Einrichtung funktionierte super auf meinem RPI3. Vielen Dank für die Entwicklung dieses Modules!
Jedoch erscheinen jeden Tag folgende Fehlermeldungen im LOG:

2017.11.25 10:26:43 1: ERROR: Select error -1 (9), error count= 0
2017.11.25 10:26:43 1: Found and deleted bad fileno for GOOGLECAST-GoogleHome

Ich habe schon danach im Netz geschaut, aber nicht hilfreiches gefunden. Weiterhin erscheinen die Meldungen im log auch mit einem "attr GoogleHome verbose 0".

Ist dieses Problem bereits bekannt und gibt es dafür schon eine Lösung?

Danke und beste Grüße,
Ingo
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 25 November 2017, 18:28:39
Das Problem tritt auf wenn die Verbindung zum Google Home unterbrochen wird. In der fhem.pl Mainloop gibt es leider keine Möglichkeit diesen Fehler abzufangen, das müsste dort geändert werden.

Ist also kein größeres Problem, sondern nur ärgerlich im Log.

Gruß
Dominik
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Abercrombie1892 am 27 November 2017, 22:15:13
gibt es irgendwie eine möglichkeit prev und next ins modul einzubauen? in der home app kann man ja vor und zurückspulen. könnte man sowas auch ins modul einbauen?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: KOAL am 29 November 2017, 23:46:17
Hallo,

ERSTMAL DANKE!!!!! > für die Entwicklung :)
Aber hmm irgendwas mach ich falsch, TEXT kann das GoogleHome wiedergeben (1A > für TTS), nur Youtube nicht...er pipst einmal zur bestätiung und am Hamdy steht das der GoogleHome streamt, aber kein Ton. (siehe Bild)
ich hab die V 1.0.2 pychromecast "pip install pychromcast" geladen, nicht die aus dem git. <<falsch??

gehen bei euch Videos??


LG
KOAL
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: KOAL am 01 Dezember 2017, 00:23:18
Hi,

wenn man einen MP3 Datei in einen eigenen Webserver legt, kann man diese auch problemlos am Google Home abspielen:)


LG
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: oggy am 05 Dezember 2017, 08:16:43
hmmm, irgendwie läuft mein System komisch.

Bei mir sind die Googlecast-Geräte vor ein paar Tagen rausgeflogen und ich hatte gestern versucht sie wieder einzurichten. Das Modul ließ sich gestern nicht aktivieren. Eine Neuinstallation von Python, PIP und den entsprechenden Programmen über Pip brachte kein Erfolg. Ich hatte da schon aufgegeben. ... Heute probierte ich es noch mal und es funktioniert. Ich kann nicht wirklich nachvollziehen warum. Ich habe heute nur ein FHEM-Update durchgeführt, bei dem aber nur 2-3 Module aktualisiert wurden.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 09 Dezember 2017, 11:46:19
Anbei eine neue Version mit der Bitte um Tests.

Unbedingt sudo pip install pychromecast --upgrade vorher ausführen, Version >1.0.0 ist erforderlich

Neue Features:
- skip/rewind
- displayWebsite (reload 60s)

Gebt mir bitte Bescheid ob es bei euch läuft.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 09 Dezember 2017, 23:22:07
War ne blöde Idee, jetzt läuft es nicht mehr :(
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Abercrombie1892 am 09 Dezember 2017, 23:32:11
mach ein fhem update, dann läuft es wieder mit der alten version. leider lief es bei mir auch nicht. cannot load module, liegt aber warscheinlich daran, das er bei mir einfach nicht das update auf die 1.0.0 aufspielt.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 09 Dezember 2017, 23:33:52
Ne, jetzt bekomme ich auch diese nervigen Fehler nach dem --upgrade


Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    load_entry_point('pip==1.5.6', 'console_scripts', 'pip')()
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 572, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2752, in load_entry_point
    return ep.load()
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2405, in load
    return self.resolve()
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2411, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 74, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", line 9, in <module>
    from pip.download import path_to_url
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 25, in <module>
    from requests.compat import IncompleteRead


PIP uninstall, install und schon läuft es. Warte erstmal ab.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 09 Dezember 2017, 23:39:43
Kann es sein, dass du zuerst pip updaten musst? Der Fehler kommt ja bei pip und nicht fhem, oder?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 09 Dezember 2017, 23:58:26
PIP läuft wieder (uninstall/install). Aber nun nur noch "Cannot load module GOOGLECAST"
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 10 Dezember 2017, 00:01:29
Bitte noch um die Fehlermeldung aus dem Log.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 10 Dezember 2017, 00:02:33
Beim Reload. Hilft das?

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_GOOGLECAST.pm line 594.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Abercrombie1892 am 10 Dezember 2017, 00:14:34
bekomme das im logfile

2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_Initialize redefined at ./FHEM/98_GOOGLECAST.pm line 117.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_Define redefined at ./FHEM/98_GOOGLECAST.pm line 134.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_findChromecasts redefined at ./FHEM/98_GOOGLECAST.pm line 153.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_initDevice redefined at ./FHEM/98_GOOGLECAST.pm line 168.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_findChromecastsResult redefined at ./FHEM/98_GOOGLECAST.pm line 177.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_Attribute redefined at ./FHEM/98_GOOGLECAST.pm line 211.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_Set redefined at ./FHEM/98_GOOGLECAST.pm line 223.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_setVolume redefined at ./FHEM/98_GOOGLECAST.pm line 259.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_setWebsite redefined at ./FHEM/98_GOOGLECAST.pm line 269.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType redefined at ./FHEM/98_GOOGLECAST.pm line 278.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType_String redefined at ./FHEM/98_GOOGLECAST.pm line 288.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia redefined at ./FHEM/98_GOOGLECAST.pm line 299.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia_String redefined at ./FHEM/98_GOOGLECAST.pm line 307.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMediaBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 319.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDl redefined at ./FHEM/98_GOOGLECAST.pm line 341.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDlBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 349.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_setStop redefined at ./FHEM/98_GOOGLECAST.pm line 362.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_setPlayFavorite redefined at ./FHEM/98_GOOGLECAST.pm line 373.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_setPlay redefined at ./FHEM/98_GOOGLECAST.pm line 380.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_setPause redefined at ./FHEM/98_GOOGLECAST.pm line 397.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_setRewind redefined at ./FHEM/98_GOOGLECAST.pm line 408.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_setSkip redefined at ./FHEM/98_GOOGLECAST.pm line 419.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_setQuitApp redefined at ./FHEM/98_GOOGLECAST.pm line 430.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_Undef redefined at ./FHEM/98_GOOGLECAST.pm line 440.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_Get redefined at ./FHEM/98_GOOGLECAST.pm line 449.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_updateReading redefined at ./FHEM/98_GOOGLECAST.pm line 453.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_newChash redefined at ./FHEM/98_GOOGLECAST.pm line 466.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_addSocketToMainloop redefined at ./FHEM/98_GOOGLECAST.pm line 489.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_checkConnection redefined at ./FHEM/98_GOOGLECAST.pm line 501.
2017.12.10 00:11:55 1: PERL WARNING: Subroutine GOOGLECAST_Read redefined at ./FHEM/98_GOOGLECAST.pm line 521.
Traceback (most recent call last):
  File "<string>", line 7, in <module>
ImportError: No module named dashcast
2017.12.10 00:11:55 1: reload: Error:Modul 98_GOOGLECAST deactivated:
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_GOOGLECAST.pm line 594.

2017.12.10 00:11:55 0: 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_GOOGLECAST.pm line 594.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 10 Dezember 2017, 01:43:04
Ich habe zunächst alles rausgeworfen ("purge"), außerdem "/usr/local/lib/python2.6" und "/usr/local/lib/python2.6" gelöscht. Danach folgendes ausgeführt:


sudo apt-get install libwww-perl python-enum34 python-dev libextutils-makemaker-cpanfile-perl python-pip cpanminus
sudo pip install netifaces
sudo pip install enum34
sudo pip install pychromecast
sudo pip install youtube-dl
sudo cpan Inline::Python


Danach lief es wieder.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 10 Dezember 2017, 08:55:56
Danke für das Update. Läuft es nun mit der aktuellsten Version inkl. displayWebsite?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 10 Dezember 2017, 09:33:31
Startet zumindest mit neuer Version hoch, ist "online"
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 10 Dezember 2017, 09:49:08
Wenn displayWebsite funktioniert, dann läuft es definitiv mit der richtige pychromecast Version. Bitte das noch zu prüfen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 10 Dezember 2017, 09:52:49
Habe nur einen home, da gibt es kein Display. Kann ich also leider nicht bestätigen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 10 Dezember 2017, 14:21:49
Wir rätseln hier https://forum.fhem.de/index.php?topic=80712.msg728948#msg728948, wie es zu den vielen Verbindungen kommt. Vielleicht könntest Du da bei Zeiten mal nach schauen?


COMMAND  PID USER   FD   TYPE     DEVICE SIZE/OFF   NODE NAME
perl    4294 fhem   20u  IPv4      15763      0t0    TCP FHEM-LAN.fritz.box:40910->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   21u  IPv4      13667      0t0    TCP FHEM-LAN.fritz.box:39836->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   22u  IPv4      31739      0t0    UDP *:6767
perl    4294 fhem   23u  IPv4      11705      0t0    TCP FHEM-LAN.fritz.box:37916->GOOGLE-Home.fritz.box:8008 (ESTABLISHED)
perl    4294 fhem   24u  IPv4      11949      0t0    TCP FHEM-LAN.fritz.box:39018->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   25u  IPv4       9032      0t0    TCP FHEM-LAN.fritz.box:39284->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   26r   CHR        1,9      0t0   1032 /dev/urandom
perl    4294 fhem   27u  IPv4       9183      0t0    TCP FHEM-LAN.fritz.box:39424->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   28u  IPv4      13465      0t0    TCP FHEM-LAN.fritz.box:39632->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   29u  IPv4      39455      0t0    TCP FHEM-LAN.fritz.box:58892->GOOGLE-Home.fritz.box:8009 (CLOSE_WAIT)
perl    4294 fhem   30u  IPv4      13984      0t0    TCP FHEM-LAN.fritz.box:40164->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   31u  IPv4      15409      0t0    TCP FHEM-LAN.fritz.box:40570->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   32u  IPv4      16084      0t0    TCP FHEM-LAN.fritz.box:41186->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   33u  IPv4      17444      0t0    TCP FHEM-LAN.fritz.box:41518->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   34u  IPv4      31738      0t0    UDP *:6767
perl    4294 fhem   35u  IPv4      38376      0t0    TCP FHEM-LAN.fritz.box:57794->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   36u  IPv4      39224      0t0    TCP FHEM-LAN.fritz.box:58658->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   37u  IPv4      42791      0t0    TCP FHEM-LAN.fritz.box:34378->GOOGLE-Home.fritz.box:8009 (CLOSE_WAIT)
perl    4294 fhem   38u  IPv4      39970      0t0    TCP FHEM-LAN.fritz.box:59526->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   39u  IPv4      43324      0t0    TCP FHEM-LAN.fritz.box:35034->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   40u  IPv4      42562      0t0    TCP FHEM-LAN.fritz.box:34136->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   41u  IPv4      42806      0t0    TCP FHEM-LAN.fritz.box:34412->GOOGLE-Home.fritz.box:8009 (CLOSE_WAIT)
perl    4294 fhem   42u  IPv4      31736      0t0    TCP localhost:42505 (LISTEN)
perl    4294 fhem   43u  IPv4      43698      0t0    TCP FHEM-LAN.fritz.box:35362->GOOGLE-Home.fritz.box:8009 (CLOSE_WAIT)
perl    4294 fhem   44u  IPv4      43796      0t0    TCP FHEM-LAN.fritz.box:35444->GOOGLE-Home.fritz.box:8009 (CLOSE_WAIT)
perl    4294 fhem   46u  IPv4      49465      0t0    TCP FHEM-LAN.fritz.box:37976->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   47u  IPv4      45093      0t0    TCP FHEM-LAN.fritz.box:33950->GOOGLE-Home.fritz.box:8008 (ESTABLISHED)
perl    4294 fhem   48u  IPv4      49956      0t0    TCP FHEM-LAN.fritz.box:38442->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   50u  IPv4      52022      0t0    TCP FHEM-LAN.fritz.box:40530->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   51u  IPv4      51816      0t0    TCP FHEM-LAN.fritz.box:40332->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   52u  IPv4      52349      0t0    TCP FHEM-LAN.fritz.box:40886->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   53r   CHR        1,9      0t0   1032 /dev/urandom
perl    4294 fhem   54u  IPv4      54988      0t0    TCP FHEM-LAN.fritz.box:42406->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   55u  IPv4      48405      0t0    TCP FHEM-LAN.fritz.box:40904->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   56u  IPv4      54728      0t0    TCP FHEM-LAN.fritz.box:42138->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   57u  IPv4      55122      0t0    TCP FHEM-LAN.fritz.box:42540->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   58r  FIFO       0,10      0t0  69466 pipe
perl    4294 fhem   59u  IPv4      67513      0t0    TCP FHEM-LAN.fritz.box:52088->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   60u  IPv4      68802      0t0    TCP FHEM-LAN.fritz.box:52354->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   62u  IPv4      68832      0t0    TCP FHEM-LAN.fritz.box:52388->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   64u  IPv4      67553      0t0    TCP FHEM-LAN.fritz.box:52136->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)
perl    4294 fhem   65u  IPv4      62215      0t0    TCP FHEM-LAN.fritz.box:52114->GOOGLE-Home.fritz.box:8009 (ESTABLISHED)


Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 10 Dezember 2017, 19:56:22
Danke für den Hinweis. Werde mir das mal genauer ansehen woran das liegt.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: TWART016 am 15 Dezember 2017, 18:26:59
Ich möchte den Google Home Mini für das Modul einrichten. Beim define bekomme ich jedoch den Fehler:
Cannot load module GOOGLECAST

Die Voraussetzungen habe ich soweit installiert. Auch ein paar Codes aus den Beiträgen habe ich probiert.

Diesen Fehler bekomme ich u.a.

user@FHEM:~$ sudo pip install netifaces
The directory '/home/tim/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/tim/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Requirement already satisfied: netifaces in /usr/local/lib/python2.7/dist-packages
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 19 Dezember 2017, 15:47:29
Ursprünglich geschrieben, dass Google Home nicht mehr gefunden wird. Erst danach festgestellt, dass die Frau die Steckdose für eine der gefühlten 6673 Lichterketten gebraucht hat. Man muss halt Prioritäten setzen.

=============

Hast Du mal geschaut, wieso die ganzen Verbindungen aufbaut werden?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Xyolyp am 25 Dezember 2017, 11:46:28
Zitat von: Det20 am 10 Dezember 2017, 00:02:33
Beim Reload. Hilft das?

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_GOOGLECAST.pm line 594.

Ich habe genau das gleiche Problem (nur in der 98_GOOGLECAST.pm in Zeile 600) und kann es leider nicht mit Neuinstallation, Updates, Neustarts und sonst was beheben.
Hast du es beheben können? Wenn ja, wie genau?
Ich habe einen rpi 3 mit raspbian stretch und es ist alles auf dem neuesten Stand.
Vielen Dank im voraus!
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Pr3mut05 am 28 Dezember 2017, 01:05:31
Habe ebenfalls das Problem
Alles auf den neusten Stand
:-\


2017.12.28 01:00:24 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 600.



Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Stargrove1 am 28 Dezember 2017, 11:04:12
Ich habe ebenfalls keinen Erfolg, das Log gibt folgenden Fehler zurück, kann mir jemand erklären was fehlt bzw wie man es beheben kann?

Meldung im FHEM ist "Cannot load module GOOGLECAST "

Im Log steht:

Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 12, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/config.py", line 6, in <module>
    import requests
  File "/usr/local/lib/python2.7/dist-packages/requests/__init__.py", line 97, in <module>
    from . import utils
  File "/usr/local/lib/python2.7/dist-packages/requests/utils.py", line 24, in <module>
    from . import certs
ImportError: cannot import name certs
2017.12.28 11:00:35 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.

2017.12.28 11:00:35 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 28 Dezember 2017, 19:52:01
@Stargrove1, installier mal "requests" über pip install requets --upgrade

Bitte immer so wie Stragrove1 das gesamte Log posten damit man das Problem analysieren kann.

@Det20, die hohe Anzahl an Connections konnte ich leider noch nicht ausfindig machen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Stargrove1 am 28 Dezember 2017, 21:01:29
Danke für die schnelle Antwort Dominik, habe "pip install requests --upgrade" ausgeführt und shutdown restart durchgeführt, beim Anlegen kommt noch immer "Cannot load module GOOGLECAST".

Log file

Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 12, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/config.py", line 6, in <module>
    import requests
  File "/usr/local/lib/python2.7/dist-packages/requests/__init__.py", line 97, in <module>
    from . import utils
  File "/usr/local/lib/python2.7/dist-packages/requests/utils.py", line 42, in <module>
    if platform.system() == 'Windows':
  File "/usr/lib/python2.7/platform.py", line 1288, in system
    return uname()[0]
  File "/usr/lib/python2.7/platform.py", line 1255, in uname
    processor = _syscmd_uname('-p','')
  File "/usr/lib/python2.7/platform.py", line 990, in _syscmd_uname
    rc = f.close()
IOError: [Errno 10] No child processes
2017.12.28 20:50:57 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.

2017.12.28 20:50:57 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 28 Dezember 2017, 21:09:24
Folgende Anpassungen durchführen...
https://forum.fhem.de/index.php/topic,45505.msg717878.html#msg717878
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 29 Dezember 2017, 00:00:26
Zitat von: dominik am 28 Dezember 2017, 21:09:24
Folgende Anpassungen durchführen...
https://forum.fhem.de/index.php/topic,45505.msg717878.html#msg717878

Danke!

Habe gerade auf meinem Testsystem installiert (PI3 Raspbian Stretch lite) und es auch nicht zum Laufen gebracht...
...dann die Dinge im Link/Post durchgeführt, einige Male rebootet und nun geht es! :)

Jetzt kann ich meinen Google Home mini sprechen lassen! :)

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Stargrove1 am 29 Dezember 2017, 09:41:39
Zitat von: dominik am 28 Dezember 2017, 21:09:24
Folgende Anpassungen durchführen...
https://forum.fhem.de/index.php/topic,45505.msg717878.html#msg717878

Führte bei mir leider nicht zur Lösung, log:


Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 15, in <module>
    from .discovery import discover_chromecasts, start_discovery, stop_discovery
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/discovery.py", line 5, in <module>
    from zeroconf import ServiceBrowser, Zeroconf
  File "/usr/local/lib/python2.7/dist-packages/zeroconf.py", line 155, in <module>
    @enum.unique
AttributeError: 'module' object has no attribute 'unique'
2017.12.29 09:39:56 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.

2017.12.29 09:39:56 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: b4r7 am 29 Dezember 2017, 14:05:54
Hi,

mein FHEM macht ein bisschen viele Sockets für meinen Googlehome auf. Kann es sein das es da ein Allgemeines Problem mit GHomes gibt oder stehe ich damit alleine da?

output von: lsof -p <fhempid>
perl    1343 fhem   43u  IPv4  14371       0t0     TCP fhem.fritz.box:60724->fhem.fritz.box:1883 (ESTABLISHED)
perl    1343 fhem   44u  IPv4  14396       0t0     TCP fhem.fritz.box:40128->HarmonyHub.fritz.box:xmpp-client (ESTABLISHED)
perl    1343 fhem   45u  IPv4  40745       0t0     TCP fhem.fritz.box:48240->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   46u  IPv4  26177       0t0     TCP fhem.fritz.box:47118->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   47u  IPv4  16733       0t0     TCP fhem.fritz.box:46024->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   48u  IPv4  80190       0t0     TCP fhem.fritz.box:40768->Chromecast-Kueche.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   49u  IPv4  19695       0t0     TCP fhem.fritz.box:46051->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   50u  IPv4  17147       0t0     TCP fhem.fritz.box:46403->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   51u  IPv4  17179       0t0     TCP fhem.fritz.box:46429->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   52u  IPv4  17192       0t0     TCP fhem.fritz.box:46459->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   53u  sock    0,7       0t0   24605 can't identify protocol
perl    1343 fhem   54u  IPv4  24709       0t0     TCP fhem.fritz.box:46490->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   55u  IPv4  24926       0t0     TCP fhem.fritz.box:46528->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   56u  IPv4  24729       0t0     TCP fhem.fritz.box:48986->ghWohnzimmer.fritz.box:8008 (ESTABLISHED)
perl    1343 fhem   57u  IPv4  26260       0t0     TCP fhem.fritz.box:47189->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   58u  IPv4  26293       0t0     TCP fhem.fritz.box:47222->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   59u  IPv4  35132       0t0     TCP fhem.fritz.box:47845->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   60u  IPv4  35377       0t0     TCP fhem.fritz.box:48052->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   61u  IPv4  40333       0t0     TCP fhem.fritz.box:48175->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   62u  IPv4  44449       0t0     TCP fhem.fritz.box:48860->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   63u  IPv4  44461       0t0     TCP fhem.fritz.box:48878->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   64u  IPv4  42618       0t0     TCP fhem.fritz.box:49009->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   65u  IPv4  44701       0t0     TCP fhem.fritz.box:49068->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   66u  IPv4  44767       0t0     TCP fhem.fritz.box:49111->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   67u  IPv4  50342       0t0     TCP fhem.fritz.box:49141->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   68u  IPv4  50996       0t0     TCP fhem.fritz.box:49287->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   69u  IPv4  52259       0t0     TCP fhem.fritz.box:49353->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   70u  IPv4  52608       0t0     TCP fhem.fritz.box:49640->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   71u  IPv4  60044       0t0     TCP fhem.fritz.box:50153->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   72u  IPv4  61465       0t0     TCP fhem.fritz.box:50223->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   73u  IPv4  61554       0t0     TCP fhem.fritz.box:50325->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   74u  IPv4  62024       0t0     TCP fhem.fritz.box:50743->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   75u  IPv4  68689       0t0     TCP fhem.fritz.box:50883->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   76u  IPv4  62317       0t0     TCP fhem.fritz.box:50988->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   77u  IPv4  62348       0t0     TCP fhem.fritz.box:51020->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   78u  IPv4  71862       0t0     TCP fhem.fritz.box:51242->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)
perl    1343 fhem   79u  IPv4  72652       0t0     TCP fhem.fritz.box:8083->access.fritz.box:59359 (ESTABLISHED)
perl    1343 fhem   80u  IPv4  71244       0t0     TCP fhem.fritz.box:51246->ghWohnzimmer.fritz.box:8009 (ESTABLISHED)


output von ls -l /proc/<fhempid>/fd

lrwx------ 1 root root 64 Dec 29 13:26 41 -> socket:[14358]
l-wx------ 1 root root 64 Dec 29 13:26 42 -> /opt/fhem/log/Sonoffpowpc-2017-52.log
lrwx------ 1 root root 64 Dec 29 13:26 43 -> socket:[14371]
lrwx------ 1 root root 64 Dec 29 13:26 44 -> socket:[14396]
lrwx------ 1 root root 64 Dec 29 13:26 45 -> socket:[40745]
lrwx------ 1 root root 64 Dec 29 13:26 46 -> socket:[26177]
lrwx------ 1 root root 64 Dec 29 13:26 47 -> socket:[16733]
lrwx------ 1 root root 64 Dec 29 13:26 48 -> socket:[80190]
lrwx------ 1 root root 64 Dec 29 13:26 49 -> socket:[19695]
lrwx------ 1 root root 64 Dec 29 13:26 5 -> socket:[14340]
lrwx------ 1 root root 64 Dec 29 13:26 50 -> socket:[17147]
lrwx------ 1 root root 64 Dec 29 13:26 51 -> socket:[17179]
lrwx------ 1 root root 64 Dec 29 13:26 52 -> socket:[17192]
lrwx------ 1 root root 64 Dec 29 13:26 53 -> socket:[24605]
lrwx------ 1 root root 64 Dec 29 13:26 54 -> socket:[24709]
lrwx------ 1 root root 64 Dec 29 13:26 55 -> socket:[24926]
lrwx------ 1 root root 64 Dec 29 13:26 56 -> socket:[24729]
lrwx------ 1 root root 64 Dec 29 13:26 57 -> socket:[26260]
lrwx------ 1 root root 64 Dec 29 13:26 58 -> socket:[26293]
lrwx------ 1 root root 64 Dec 29 13:26 59 -> socket:[35132]
lrwx------ 1 root root 64 Dec 29 13:26 6 -> socket:[14341]
lrwx------ 1 root root 64 Dec 29 13:26 60 -> socket:[35377]
lrwx------ 1 root root 64 Dec 29 13:26 61 -> socket:[40333]
lrwx------ 1 root root 64 Dec 29 13:26 62 -> socket:[44449]
lrwx------ 1 root root 64 Dec 29 13:26 63 -> socket:[44461]
lrwx------ 1 root root 64 Dec 29 13:26 64 -> socket:[42618]
lrwx------ 1 root root 64 Dec 29 13:26 65 -> socket:[44701]
lrwx------ 1 root root 64 Dec 29 13:26 66 -> socket:[44767]
lrwx------ 1 root root 64 Dec 29 13:26 67 -> socket:[50342]
lrwx------ 1 root root 64 Dec 29 13:26 68 -> socket:[50996]
lrwx------ 1 root root 64 Dec 29 13:26 69 -> socket:[52259]
l-wx------ 1 root root 64 Dec 29 13:26 7 -> /opt/fhem/log/fhem-2017-12.log (deleted)
lrwx------ 1 root root 64 Dec 29 13:26 70 -> socket:[52608]
lrwx------ 1 root root 64 Dec 29 13:26 71 -> socket:[60044]
lrwx------ 1 root root 64 Dec 29 13:26 72 -> socket:[61465]
lrwx------ 1 root root 64 Dec 29 13:26 73 -> socket:[61554]
lrwx------ 1 root root 64 Dec 29 13:26 74 -> socket:[62024]
lrwx------ 1 root root 64 Dec 29 13:26 75 -> socket:[68689]
lrwx------ 1 root root 64 Dec 29 13:26 76 -> socket:[62317]
lrwx------ 1 root root 64 Dec 29 13:26 77 -> socket:[62348]
lrwx------ 1 root root 64 Dec 29 13:26 78 -> socket:[71862]
lrwx------ 1 root root 64 Dec 29 14:00 79 -> socket:[72652]
lrwx------ 1 root root 64 Dec 29 13:26 8 -> socket:[14348]
lrwx------ 1 root root 64 Dec 29 13:26 80 -> socket:[71244]
lrwx------ 1 root root 64 Dec 29 13:26 9 -> socket:[14355]


Hat jemand ne idee? Nach ca. 2 Tagen hauts mir mein FHEM um die Ohren weil zu viele Sockets offen sind / bleiben.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: benm am 29 Dezember 2017, 17:25:40
Hi,
erst mal danke für das Modul! Ich bekomme es auch zum laufen, wenn ich die Devices anlege. Dann ist Presence auch auf online. Nach einem Reboot von meinem PI sind alle Cromecasts (Drei Stück + einem Google Home Mini) wieder auf Offline.

Ich habe jetzt alle 22 Seiten durchgelesen und versucht alle Tipps auszuprobieren. Die sinnvollste Lösung auf mein Problem schien mir von chtisch mit dem Telnet. Aber das sieht bei mir soweit in der Config in Ordnung aus, denke ich zumindest  :-\.
define telnetPort telnet 7072 global
define allowed_telnetPort allowed
attr allowed_telnetPort password xxx
attr allowed_telnetPort validFor telnetPort


Mein System läuft auf einem Pi2B und Jessie.

In meinem Logfile kann ich direkt nach dem reboot nur Einträge zu einem "search result" finden. Sonst nichts (hab mal die langen Zahlen durch "xxx" ersetzt, weil ich nicht weiß was da drin steht  :o):
2017.12.29 17:18:11 4: GOOGLECAST: search result: ChromecastTV|CCDEVICE|192.168.86.206|8009|xxx|Terris CCL274|Badezimmer|CCDEVICE|192.168.86.147|8009|xxx|Chromecast|TV|CCDEVICE|192.168.86.188|8009|xxx|Google Home|Wohnzimmer|CCDEVICE|192.168.86.148|8009|xxx|Chromecast Audio|Stereoanlage
2017.12.29 17:18:11 4: GOOGLECAST: search result: ChromecastBadezimmer|CCDEVICE|192.168.86.206|8009|xxx|Terris CCL274|Badezimmer|CCDEVICE|192.168.86.147|8009|xxx|Chromecast|TV|CCDEVICE|192.168.86.188|8009|xxx|Google Home|Wohnzimmer|CCDEVICE|192.168.86.148|8009|xxx|Chromecast Audio|Stereoanlage


Was kann ich bei dem Problem machen? Wenn ich die Devices lösche und neu anlege, dann funktioniert es wieder bis zum nächsten reboot. Habe auch schon von weiter vorne den workaround gefunden, alle Devices automatisch löschen zu lassen und wieder neu anzulegen, wollte das aber erst angehen, wenn ich alles andere probiert habe.

Grüße, Benjamin
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: wk2000 am 30 Dezember 2017, 03:13:55
Zitat von: Xyolyp am 25 Dezember 2017, 11:46:28
Ich habe genau das gleiche Problem (nur in der 98_GOOGLECAST.pm in Zeile 600) und kann es leider nicht mit Neuinstallation, Updates, Neustarts und sonst was beheben.
Hast du es beheben können? Wenn ja, wie genau?
Ich habe einen rpi 3 mit raspbian stretch und es ist alles auf dem neuesten Stand.
Vielen Dank im voraus!

Ich auch! geholfen hat:

Zitat von: dominik am 18 November 2017, 22:34:04
Prüft bitte nach einem Neustart von FHEM die Fehlermeldungen im fhem Log. Dort steht bei Inline Python Fehlern ein "Traceback" mit sehr guten Infos.

Ich musste bei mir gerade nach einem Update folgende Datei anpassen:
/usr/lib/python2.7/platform.py
def _syscmd_uname(option,default=''):

    """ Interface to the system's uname command.
    """
    if sys.platform in ('dos','win32','win16','os2'):
        # XXX Others too ?
        return default
    try:
        f = os.popen('uname %s 2> %s' % (option, DEV_NULL))
    except (AttributeError,os.error):
        return default
    output = string.strip(f.read())
    rc = 0
    try:
        rc = f.close()
    except:
        pass
    if not output or rc:
        return default
    else:
        return output

Fand leider keine bessere Lösung...noch dazu musste ich
sudo pip uninstall requests
sudo pip install --upgrade requests
sudo pip install --upgrade pychromecast

durchführen. Danach lief es wieder.

Bitte prüft nach Neustart (nicht reload) was im Log für Fehlermeldungen auftauchen und postet diese hier.

Das Anpassen der platform.py did the trick. Nur meine Frage, hat das irgendwelche Konsequenzen? Bricht das eventuell bei nem Update?

Ansonsten super Modul. Vielen Dank.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 30 Dezember 2017, 19:24:48
Hi zusammen,
ich stehe gerade mächtig auf dem Schlauch...

Ich hatte einige Zeit meine drei Chromecast Audio und meinen Google Home Mini in FHEM angelegt, bisher aber nicht viel damit gemacht. Eigentlich nur angelegt. Mit ein bißchen Sprachausgabe habe ich mal herumgespielt. Die hat irgendwann dann nicht mehr funktioniert, ich hatte aber keine Zeit zu schauen, warum. Das wollte ich nun tun und stelle fest, meine ganzen Googlecast-Devices sind verschwunden. (Sie waren zumindest noch angelegt, als die Sprachausgabe schon nicht mehr funktioniert hat).

Und wenn ich ein neues Device anlegen will bekomme ich die Meldung "Cannot load module GOOGLECAST".

Was kann denn da passiert sein?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Pr3mut05 am 30 Dezember 2017, 21:10:55
Lies dir die letzten Beiträge durch
Diese beschäftigen sich genau mit diesen Problem
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 31 Dezember 2017, 00:12:22
Zitat von: Pr3mut05 am 30 Dezember 2017, 21:10:55
Lies dir die letzten Beiträge durch
Diese beschäftigen sich genau mit diesen Problem
Ok, durchgelesen, Anpassung durchgeführt soweit möglich, klappt aber immer noch nicht :-(

Ich kann keine der Zeilen
sudo pip uninstall requests
sudo pip install --upgrade requests
sudo pip install --upgrade pychromecast

ausführen.

Immer kommt die Fehlermeldung

ZitatTraceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    load_entry_point('pip==1.5.6', 'console_scripts', 'pip')()
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 572, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2755, in load_entry_point
    return ep.load()
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2408, in load
    return self.resolve()
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2414, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 74, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", line 9, in <module>
    from pip.download import path_to_url
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 25, in <module>
    from requests.compat import IncompleteRead
ImportError: cannot import name IncompleteRead
Ich habe leider von der ganzen Linux-Basis nicht so viel Ahnung als das ich wüsste wo ich da nun ansetzen muss :-(
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 01 Januar 2018, 16:12:24
Bei mir gehts nun auch wieder.

Nach einem
apt-get remove python-pip
und einem anschließenden
Zitateasy_install pip
konnte ich
Zitatsudo pip uninstall requests
sudo pip install --upgrade requests
sudo pip install --upgrade pychromecast
ausführen. Die Änderungen in platform.py habe ich auch gemacht. Auch einen kompletten Reboot gab es.

Meine GOOGLECAST-Devices musste ich dann allerdings alle neu anlegen (wobei das nun das kleinste Problem ist).
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Stargrove1 am 02 Januar 2018, 14:23:45
Nach dem befolgen der oben genannten Schritte ist die Meldung anders, aber es geht leider noch immer nicht, hat noch jemand eine Idee?


2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_Initialize redefined at ./FHEM/98_GOOGLECAST.pm line 113.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_Define redefined at ./FHEM/98_GOOGLECAST.pm line 130.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_findChromecasts redefined at ./FHEM/98_GOOGLECAST.pm line 149.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_initDevice redefined at ./FHEM/98_GOOGLECAST.pm line 164.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_findChromecastsResult redefined at ./FHEM/98_GOOGLECAST.pm line 173.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_Attribute redefined at ./FHEM/98_GOOGLECAST.pm line 207.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_Set redefined at ./FHEM/98_GOOGLECAST.pm line 219.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_setVolume redefined at ./FHEM/98_GOOGLECAST.pm line 249.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType redefined at ./FHEM/98_GOOGLECAST.pm line 259.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType_String redefined at ./FHEM/98_GOOGLECAST.pm line 269.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia redefined at ./FHEM/98_GOOGLECAST.pm line 280.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia_String redefined at ./FHEM/98_GOOGLECAST.pm line 288.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMediaBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 300.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDl redefined at ./FHEM/98_GOOGLECAST.pm line 322.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDlBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 330.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_setStop redefined at ./FHEM/98_GOOGLECAST.pm line 343.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_setPlayFavorite redefined at ./FHEM/98_GOOGLECAST.pm line 354.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_setPlay redefined at ./FHEM/98_GOOGLECAST.pm line 361.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_setPause redefined at ./FHEM/98_GOOGLECAST.pm line 378.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_setQuitApp redefined at ./FHEM/98_GOOGLECAST.pm line 389.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_Undef redefined at ./FHEM/98_GOOGLECAST.pm line 399.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_Get redefined at ./FHEM/98_GOOGLECAST.pm line 408.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_updateReading redefined at ./FHEM/98_GOOGLECAST.pm line 412.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_newChash redefined at ./FHEM/98_GOOGLECAST.pm line 425.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_addSocketToMainloop redefined at ./FHEM/98_GOOGLECAST.pm line 448.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_checkConnection redefined at ./FHEM/98_GOOGLECAST.pm line 460.
2018.01.02 14:20:52 1: PERL WARNING: Subroutine GOOGLECAST_Read redefined at ./FHEM/98_GOOGLECAST.pm line 480.
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 14, in <module>
    from . import socket_client
ImportError: cannot import name socket_client
2018.01.02 14:20:52 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.

2018.01.02 14:20:52 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 02 Januar 2018, 17:27:36
pychromecast dürfte nicht richtig installiert sein. Deinstallier es mal und installier es neu mit pip.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 02 Januar 2018, 17:51:29
Zitat von: benm am 29 Dezember 2017, 17:25:40
Hi,
erst mal danke für das Modul! Ich bekomme es auch zum laufen, wenn ich die Devices anlege. Dann ist Presence auch auf online. Nach einem Reboot von meinem PI sind alle Cromecasts (Drei Stück + einem Google Home Mini) wieder auf Offline.
Nachdem ich es gestern hinbekommen habe, dass ich meine Google Devices wieder anlegen konnte und auch die Sprachausgabe funktioniert hat, habe ich nun das gleiche Problem wie benm. Nach einem Reboot sind alle meine Devices offline.

Hat da jemand eine Idee oder sogar eine Lösung?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Stargrove1 am 03 Januar 2018, 17:52:24
Zitat von: dominik am 02 Januar 2018, 17:27:36
pychromecast dürfte nicht richtig installiert sein. Deinstallier es mal und installier es neu mit pip.

pychromecast de-installiert und wieder installiert, es sind wieder deutlich weniger Meldungen vorhanden, aber es kommt immernoch "Cannot load module GOOGLECAST"

Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 14, in <module>
    from . import socket_client
ImportError: cannot import name socket_client
2018.01.03 17:50:23 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.

2018.01.03 17:50:23 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Phill am 03 Januar 2018, 23:30:34
Hallo, habe ein Problem mit einem GoogleHome. Und zwar dem der in der Küche steht.  ::)
Ich glaube da besteht ein Problem mit dem Umlaut.
GOOGLECAST: search result: gc_kitchen|...|CCDEVICE|192.168.2.44|8009|76258ba1-3332-f5e7-41d2-748488c22dcc|Google Home|K▒che|CCDEVICE|...
2018.01.03 23:27:23 4: GOOGLECAST: Küche not found, retry in 10s.

Ansonsten läuft das Modul echt gut.
Was mich wundert ist, einen stream zu starten dauert doch recht lang, die Lautstärke zu ändern geht dafür unmittelbar.

Ich habe jetzt auch gleich mal über Talk2Fhem die Lautstärke funktionalität gepimpt, da mich die google eigene Lautstärkeanpassung ziemlich abgenerft hat. https://wiki.fhem.de/wiki/Modul_Talk2Fhem#GoogleCast_Befehle (https://wiki.fhem.de/wiki/Modul_Talk2Fhem#GoogleCast_Befehle)


Gruß
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 04 Januar 2018, 10:13:24
Ok, also irgendwas scheint an dem Modul kaputt zu sein :-(
Ich habe gerade einen neuen, frischen Google Home Mini angelegt, alles funktioniert, state und presence sind auf online. Nun nur einmal "shutdown restart" und auch dieser neue Google Home ist nicht mehr erreichbar.

Direkt nach dem Einrichten (bezogen auf das neue Gerät):
2018.01.04 10:03:15 3: GOOGLECAST: Keller initializing...
2018.01.04 10:03:24 3: GOOGLECAST: Keller initialized successfully


Nach "shutdown restart":
2018.01.04 10:05:25 3: GOOGLECAST: GoogleCast v2.0.1
2018.01.04 10:05:25 3: GOOGLECAST: Studio initializing...
2018.01.04 10:05:26 3: GOOGLECAST: Kueche initializing...
2018.01.04 10:05:26 3: GOOGLECAST: Wohnzimmer initializing...
2018.01.04 10:05:26 3: GOOGLECAST: BueroEla initializing...
2018.01.04 10:05:26 3: GOOGLECAST: Schlafzimmer initializing...
2018.01.04 10:05:26 3: GOOGLECAST: Bad initializing...
2018.01.04 10:05:26 3: GOOGLECAST: Keller initializing...


Es kommt kein "Initialized successfully" mehr.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Ma_Bo am 04 Januar 2018, 15:55:49
Zitat von: Phill am 03 Januar 2018, 23:30:34
Hallo, habe ein Problem mit einem GoogleHome. Und zwar dem der in der Küche steht.  ::)
Ich glaube da besteht ein Problem mit dem Umlaut.
GOOGLECAST: search result: gc_kitchen|...|CCDEVICE|192.168.2.44|8009|76258ba1-3332-f5e7-41d2-748488c22dcc|Google Home|K▒che|CCDEVICE|...
2018.01.03 23:27:23 4: GOOGLECAST: Küche not found, retry in 10s.

Ansonsten läuft das Modul echt gut.
Was mich wundert ist, einen stream zu starten dauert doch recht lang, die Lautstärke zu ändern geht dafür unmittelbar.

Ich habe jetzt auch gleich mal über Talk2Fhem die Lautstärke funktionalität gepimpt, da mich die google eigene Lautstärkeanpassung ziemlich abgenerft hat. https://wiki.fhem.de/wiki/Modul_Talk2Fhem#GoogleCast_Befehle (https://wiki.fhem.de/wiki/Modul_Talk2Fhem#GoogleCast_Befehle)


Gruß

Ist das neu mit der Lautstärke...? In der commandref steht nämlich nichts dazu, deshalb habe ich das auch mit diesem Modul hier noch nicht in Angriff genommen, z.Z. lasse ich Durchsagen und streams über MQTT und NodeRed machen, aber wenn man die Lautstärke der Google Home und Google Home Mini mit diesem Modul hier verstellen kann, dann werde ich das bald mal testen.

Grüße Marcel
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Pr3mut05 am 04 Januar 2018, 18:30:41
Ist die Installations-Anleitung aus den ersten Post jetzt eigentlich noch korrekt?

Im Verlauf des -Threads sind immer mal wieder andere angaben zu lesen. Bis hin zu Anpassung der platform.py
Alles etwas sehr verwirrend -_-
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Phill am 04 Januar 2018, 19:23:08
Also bei mir hat's funktioniert, hab allerdings seit dem auch noch keinen Neustart gemacht. Was bei manchen anscheinend zu Problemen geführt hat.
[EDIT] Auch nach einem neustart funktionierts.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 04 Januar 2018, 20:41:43
Hatte nach der "normalen" Installation Probleme...

Dan die hier verlinkte/beschriebene Vorgehensweise inkl. Code-Anpassung...
...läuft! :)

Auch Reboot kein Problem und auch den Google Home / Home Mini vom Strom und wieder dran: kein Problem...

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Ma_Bo am 04 Januar 2018, 23:37:43
Nutzt/Weiss das jemand...?

Zitat von: Ma_Bo am 04 Januar 2018, 15:55:49
Ist das neu mit der Lautstärke...? In der commandref steht nämlich nichts dazu, deshalb habe ich das auch mit diesem Modul hier noch nicht in Angriff genommen, z.Z. lasse ich Durchsagen und streams über MQTT und NodeRed machen, aber wenn man die Lautstärke der Google Home und Google Home Mini mit diesem Modul hier verstellen kann, dann werde ich das bald mal testen.

Grüße Marcel
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 05 Januar 2018, 08:01:21
Zitat von: Phill am 04 Januar 2018, 19:23:08
Also bei mir hat's funktioniert, hab allerdings seit dem auch noch keinen Neustart gemacht. Was bei manchen anscheinend zu Problemen geführt hat.
[EDIT] Auch nach einem neustart funktionierts.
Verdammt :D
Was kann dann bei mir, benm und ein paar anderen das Problem sein? Habe da leider zu wenig FHEM und Linux Erfahrung :-(
Bei mir funktioniert ein Device nach dem Anlagen nur bis nach einem Neustart von FHEM.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: gbomacfly am 05 Januar 2018, 10:49:03
Sehr schönes Modul, Danke schonmal dafür :)

Ich hätte einen Feature-Request, den ich persönlich für sinnvoll erachten würde ;)

Damit man sich die URL für den Googletranslator nicht manuell anlegen muss (Nervig wegen %20) wäre doch ein
set GoogleHome say "Ich bin ein Test" ganz praktisch?

Und noch was: Wenn ich über den Chromecast Netflix schaue, kann man da als Reading die aktuell laufende Serie samt Episode angeben? Oder gibt das pychromecast nicht her? Wäre auch sehr schön :)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 05 Januar 2018, 10:59:24
Zitat von: Grml am 05 Januar 2018, 08:01:21
Verdammt :D
Was kann dann bei mir, benm und ein paar anderen das Problem sein? Habe da leider zu wenig FHEM und Linux Erfahrung :-(
Bei mir funktioniert ein Device nach dem Anlagen nur bis nach einem Neustart von FHEM.

Ich weiß sehr simpel aber besser (umsonst) gefragt, als nicht angesprochen:

ein "save config" machst du aber nach dem Anlegen vor dem Neustart?

Sorry, falls das jetzt zu simpel gedacht war...

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 05 Januar 2018, 11:08:02
Zitat von: MadMax-FHEM am 05 Januar 2018, 10:59:24
Ich weiß sehr simpel aber besser (umsonst) gefragt, als nicht angesprochen:

ein "save config" machst du aber nach dem Anlegen vor dem Neustart?
Japp, das mache ich natürlich :-) Bei einem Restart sehe ich die Devices ja auch im Log. Aber die bleiben da auf "Initializing..." stehen und kommen nicht zu "Initialized" weiter, wie es früher der Fall war. Im Device selbst ist "presence" dann auf "offline" und state auf "online". Es müssten aber beide online sein, damit das Gerät wieder funktioniert.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: LordVoodoo am 05 Januar 2018, 21:44:53
Hallo zusammen,

bekommen auf meinem Stretch Raspi nach wie vor:

Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 12, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/config.py", line 6, in <module>
    import requests
  File "/usr/local/lib/python2.7/dist-packages/requests/__init__.py", line 97, in <module>
    from . import utils
  File "/usr/local/lib/python2.7/dist-packages/requests/utils.py", line 42, in <module>
    if platform.system() == 'Windows':
  File "/usr/lib/python2.7/platform.py", line 1288, in system
    return uname()[0]
  File "/usr/lib/python2.7/platform.py", line 1255, in uname
    processor = _syscmd_uname('-p','')
  File "/usr/lib/python2.7/platform.py", line 990, in _syscmd_uname
    rc = f.close()
IOError: [Errno 10] Keine Kind-Prozesse
2018.01.05 21:41:29 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 600.

2018.01.05 21:41:29 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 600.


Modul-Update ist bereits gemacht, auch die Anweisungen:

sudo pip uninstall requests
sudo pip install --upgrade requests
sudo pip install --upgrade pychromecast


wurden erfolgreich ausgeführt.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 05 Januar 2018, 21:51:29
Die hier https://forum.fhem.de/index.php/topic,45505.msg717878.html#msg717878 genannten Code-Anpassungen auch!?

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 05 Januar 2018, 22:21:52
Zitat von: gbomacfly am 05 Januar 2018, 10:49:03
Ich hätte einen Feature-Request, den ich persönlich für sinnvoll erachten würde ;)

Damit man sich die URL für den Googletranslator nicht manuell anlegen muss (Nervig wegen %20) wäre doch ein
set GoogleHome say "Ich bin ein Test" ganz praktisch?

Also ich habe eine Sub in myUtils die das übernimmt:

Zitat
sub my_SendAnswerToGoogleHome($)
{
  my ($Answer)  = @_;
  my $encodedAnswer = urlEncode($Answer);
  my $PreAnswer = "http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=";
 
  fhem("set myGoogleCast play $PreAnswer$encodedAnswer"); 
}

Die rufe ich einfach auf:

{my_SendAnswerToGoogleHome("Das ist ja toll!")}

und schon bekomme ich bestätigt, dass das in der Tat "toll ist!" ;)

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: LordVoodoo am 06 Januar 2018, 11:54:57
Zitat von: MadMax-FHEM am 05 Januar 2018, 21:51:29
Die hier https://forum.fhem.de/index.php/topic,45505.msg717878.html#msg717878 genannten Code-Anpassungen auch!?

Gruß, Joachim

Vielen Dank, nach der Anpassung hat es funktioniert. :-)
Im Anhang ist die korrigierte Datei (Pfad /usr/lib/python2.7/platform.py).

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 06 Januar 2018, 11:58:36
Die "speak" Funktionalität nehme ich gerne noch auf, das sollte nicht viel Aufwand sein. Ich dachte es wäre schon drin :)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: mark79 am 06 Januar 2018, 12:06:51
Hallo,

ich habe ein Google Home mini und würde gerne Podcasts darüber abspielen, allerdings dauert es über eine Minute bis die Stream URL (MP3 und AAC getestet) auf dem Google Home mini abgespielt wird.
Fhem Perl hat in dieser Zeit über 80% CPU Load:

2018-01-06 11:51:14 GOOGLECAST GoogleHome play http://cdn.podseed.org/einschlafen/ep0408.m4b
...
2018-01-06 11:52:34 GOOGLECAST GoogleHome mediaPlayerState: BUFFERING
2018-01-06 11:52:35 GOOGLECAST GoogleHome buffering
2018-01-06 11:52:35 GOOGLECAST GoogleHome mediaPlayerState: PLAYING
2018-01-06 11:52:35 GOOGLECAST GoogleHome mediaCurrentPosition: 0.171726
2018-01-06 11:52:36 GOOGLECAST GoogleHome playing


Fhem Prozess:
12144 fhem      20   0   97396  86776   6224 R 81.6 17.6   0:25.32 perl

Was genau passiert da, das die Load so hoch steigt und warum dauert es so lange, bis die mp3 abgespielt wird?
Normal müsste er die URL doch nur durchreichen...

EDIT:
Fhem Revision: 15780
98_GOOGLECAST.pm       15644 2017-12-18 21:59:22Z dominik


Grüße
Mark
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Phill am 06 Januar 2018, 13:53:55
Zitat von: dominik am 06 Januar 2018, 11:58:36
Die "speak" Funktionalität nehme ich gerne noch auf, das sollte nicht viel Aufwand sein. Ich dachte es wäre schon drin :)
Könntest du bei der Gelegenheit auch das Umlautproblem annehmen.   :)

Zitat von: Phill am 03 Januar 2018, 23:30:34
Hallo, habe ein Problem mit einem GoogleHome. Und zwar dem der in der Küche steht.  ::)
Ich glaube da besteht ein Problem mit dem Umlaut.
GOOGLECAST: search result: gc_kitchen|...|CCDEVICE|192.168.2.44|8009|76258ba1-3332-f5e7-41d2-748488c22dcc|Google Home|K▒che|CCDEVICE|...
2018.01.03 23:27:23 4: GOOGLECAST: Küche not found, retry in 10s.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 06 Januar 2018, 13:54:10
Das liegt leider an youtube-dl um Video URLs zu extrahieren. Ich habe noch keine Idee wie ich erkennen kann, ob für eine bestimmte URL der youtube-dl benötigt wird oder nicht...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 06 Januar 2018, 17:30:50
Bitte um Test mit der Version anbei...

# - FEATURE:  support speak command for TTS
#               set castdevice speak "Hallo"
# - BUGFIX:   fix issues with umlauts in device name
# - BUGFIX:   fix one socket issue

Bitte auch um Feedback wegen der vielen offenen Sockets ob das jetzt besser ist. Danke.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: gbomacfly am 06 Januar 2018, 17:38:15
Zitat von: MadMax-FHEM am 05 Januar 2018, 22:21:52
Also ich habe eine Sub in myUtils die das übernimmt:

Die rufe ich einfach auf:

{my_SendAnswerToGoogleHome("Das ist ja toll!")}

und schon bekomme ich bestätigt, dass das in der Tat "toll ist!" ;)

Gruß, Joachim

Super, vielen Dank!
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: gbomacfly am 06 Januar 2018, 17:45:16
Zitat von: dominik am 06 Januar 2018, 17:30:50
Bitte um Test mit der Version anbei...

# - FEATURE:  support speak command for TTS
#               set castdevice speak "Hallo"
# - BUGFIX:   fix issues with umlauts in device name
# - BUGFIX:   fix one socket issue

Bitte auch um Feedback wegen der vielen offenen Sockets ob das jetzt besser ist. Danke.

Das neue Speak-Kommando sagt bei mir leider immer nur das erste Wort.
2018-01-06 17:43:52 GOOGLECAST GoogleHome speak Ich bin ein test
2018-01-06 17:43:52 GOOGLECAST GoogleHome mediaContentId: http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Ich
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 06 Januar 2018, 18:05:14
Hochkomma nicht vergessen ;)
set castdevice speak "Das ist ein Test"
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Phill am 06 Januar 2018, 18:30:25
2018.01.06 18:23:26 3: GOOGLECAST: GoogleCast v2.0.2
2018.01.06 18:23:28 1: PERL WARNING: Use of uninitialized value $devName in string eq at ./FHEM/98_GOOGLECAST.pm line 191.
2018.01.06 18:23:28 3: eval: {GOOGLECAST_findChromecastsResult('|CCDEVICE|###.###.#.##|8009|###-###-###-###|HT-CT790|Soundbar|CCDEVICE|###.###.#.##|8009|###-###-###-###|Google Home|K▒che|CCDEVICE|###.###.#.##|8009|###-###-###-###|Google Home|Wohnzimmer|CCDEVICE|###.###.#.##|42395|###-###-###-###|Google Cast Group|Erdgeschoss')}
2018.01.06 18:23:28 1: PERL WARNING: Use of uninitialized value $devName in concatenation (.) or string at ./FHEM/98_GOOGLECAST.pm line 204.
2018.01.06 18:23:28 3: eval: {GOOGLECAST_findChromecastsResult('|CCDEVICE|###.###.#.##|8009|###-###-###-###|HT-CT790|Soundbar|CCDEVICE|###.###.#.##|8009|###-###-###-###|Google Home|K▒che|CCDEVICE|###.###.#.##|8009|###-###-###-###|Google Home|Wohnzimmer|CCDEVICE|###.###.#.##|42395|###-###-###-###|Google Cast Group|Erdgeschoss')}
2018.01.06 18:23:39 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 161.
2018.01.06 18:23:39 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 162.
2018.01.06 18:23:48 3: GOOGLECAST: Küche initialized successfully
2018.01.06 18:23:58 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 161.
2018.01.06 18:23:58 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 162.
2018.01.06 18:24:17 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 161.
2018.01.06 18:24:17 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 162.
2018.01.06 18:24:36 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 161.
2018.01.06 18:24:36 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 162.

Das Gerät mit dem Umlaut geht.  :) Dafür gibts Warnungen...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 06 Januar 2018, 22:09:33
Kannst du das bitte nach einem Reboot nochmals testen? Ich kann diese Warnung leider nicht nachvollziehen. Sieht nämlich im Code so aus, als ob man beim Define keinen Parameter angegeben hätte.

Anbei noch ein Update welches die Ladeprobleme bei nicht Youtube Links beheben sollte. Youtube Links sollte auch schneller laden als bisher.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Phill am 06 Januar 2018, 23:05:58
Ein Neustart hat geholfen, aber nachdem ich ein neues Gerät angelegt  und wieder gelöscht habe, kam die Meldung wieder. Kann es sein das irgendwas nicht richtig aufgeräumt wird.

Ein weiteres Problem habe ich wieder mit der Namensgebung festgestellt. Geräte mit Leerzeichen lassen sich nicht anlegen auch nicht mit Anführungszeichen. Hab das Gerät jetzt umbenannt, wollte es nur mitteilen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 07 Januar 2018, 16:16:50
Ich suche jetzt schon seit Tagen warum meine Chromecasts nach einem Neustart nicht mehr reagieren und neu angelegt werden müssen; um nach dem nächsten Neustart wieder nicht mehr in FHEM zu reagieren.

Was mir dabei aufgefallen ist:

- Direkt nachdem ich ein Device in FHEM angelegt habe, gibt es noch ein zweites Device, dass "GOOGLECAST-" vor dem Namen hat.
Beispiel: Ich lege das Device "GoogleAssistant.Keller" an und habe danach in der Liste der GOOGLECAST-Devices noch ein Gerät "GOOGLECAST-GoogleAssistant.Keller". Warum gibt es das?
Nach dem Neustart ist dieses zusätzliche automatisch-angelegte Device dann auch verschwunden. Funktionieren meine Chromecasts und Assistants deshalb evtl. nicht mehr?

- Wenn ich in der Linux Kommandozeile Python lade, ein import pychromecast mache und dann alle Geräte discovern lasse, werden sie auch alle aufgelistet. Schließe ich daraus richtig, dass es an meinem Python bzw. pychromecast nicht liegen kann? Was könnte es dann sein?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 07 Januar 2018, 17:21:46
Zitat von: dominik am 06 Januar 2018, 17:30:50
Bitte um Test mit der Version anbei...

# - FEATURE:  support speak command for TTS
#               set castdevice speak "Hallo"
# - BUGFIX:   fix issues with umlauts in device name
# - BUGFIX:   fix one socket issue

Bitte auch um Feedback wegen der vielen offenen Sockets ob das jetzt besser ist. Danke.

Hi Dominik,

SUPER!!

Antworten geht jetzt deutlich schneller als zuvor mit der Translate-URL...

Habe es gleich mit meinem TEERKO ausprobiert:

https://forum.fhem.de/index.php?topic=72657.msg744333#msg744333

Funktioniert super!

Probleme bzgl. Restart und offener Sockets konnte ich bislang noch nicht feststellen.

PI3 Stretch und fhem aktuell...

Gruß und danke, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 07 Januar 2018, 20:04:52
Zur Info, habe die letzte Version gerade ins SVN commited.

Folgende Bugs schaue ich mir noch genauer an und sind noch nicht behoben:
- Unitiliazed values nach Gerät Neuanlage
- Gerätenamen mit Leerzeichen
- Neustart Problem

Danke Euch für das Testen!
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: b4r7 am 07 Januar 2018, 20:10:15
Zitat von: dominik am 06 Januar 2018, 17:30:50
Bitte um Test mit der Version anbei...

# - FEATURE:  support speak command for TTS
#               set castdevice speak "Hallo"
# - BUGFIX:   fix issues with umlauts in device name
# - BUGFIX:   fix one socket issue

Bitte auch um Feedback wegen der vielen offenen Sockets ob das jetzt besser ist. Danke.

Das mit den Sockets scheint gelöst zu sein! Danke!

Wenn ich ein set speak absetze hauts mir mein komplettes FHEM um die Ohren ;-)

Nur ein Reboot hilft dann.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 07 Januar 2018, 20:35:30
Kannst du mir bitte ein Log mit verbose 5 posten beim Speak?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Phill am 07 Januar 2018, 21:09:40
Gibt es eigentlich einen Grund warum du bei den set Befehlen (speak oder play) bei dem ersten Leerzeichen aufhörst?
Man könnte doch den kompletten Array den die "set-Funktion erhält weiterleiten!

Ich weiß Anführungszeichen, aber das kenne ich so von anderen Modulen nicht.

Gruß
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: b4r7 am 07 Januar 2018, 21:13:20
Zitat von: dominik am 07 Januar 2018, 20:35:30
Kannst du mir bitte ein Log mit verbose 5 posten beim Speak?


2018.01.07 21:08:40 5: GOOGLECAST (ghWohnzimmer): run_once
Undefined subroutine &main::uri_escape called at ./FHEM/98_GOOGLECAST.pm line 300.
2018.01.07 21:08:51 1: BlockingInformParent (BlockingStart): Can't connect to localhost:7072: IO::Socket::INET: connect: Connection refused
2018.01.07 21:08:51 1: BlockingInformParent (GOOGLECAST_findChromecastsResult): Can't connect to localhost:7072: IO::Socket::INET: connect: Connection refused


mehr spuckt das verbose 5 nicht aus...

oder soll das verbose global gesetz werden?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 07 Januar 2018, 23:48:08
vielleicht hab' ich's überlesen, vielleicht fehlt aber im Eingangspost der Hinweis auf die Notwendigkeit von

sudo apt-get install python-setuptools

Musste ich auf jeden Fall noch durchführen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Ma_Bo am 08 Januar 2018, 00:17:18
Ich habe das Modul noch nicht in Betrieb, evtl. kann mir jemand meine Fragen beantworten.

Wenn ich am Google Home die Lautstärke verändere, wird mir das direkt in einem Reading angezeigt..?

Wenn ich über den Google Home Musik z.B. von Spotify wiedergebe, wird mir das als Reading angezeigt...?

Grüße Marcel


Tapatalk iPhone, daher kurz gehalten.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: b4r7 am 08 Januar 2018, 00:32:14
Zitat von: Ma_Bo am 08 Januar 2018, 00:17:18
Ich habe das Modul noch nicht in Betrieb, evtl. kann mir jemand meine Fragen beantworten.

Wenn ich am Google Home die Lautstärke verändere, wird mir das direkt in einem Reading angezeigt..?

Wenn ich über den Google Home Musik z.B. von Spotify wiedergebe, wird mir das als Reading angezeigt...?

Grüße Marcel


Tapatalk iPhone, daher kurz gehalten.

kurz gefasst:

ja und ja.

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: scooty am 08 Januar 2018, 19:23:58
Hallo,

danke erst einmal für das Modul, sieht so aus, also ob Alexa bei mir in Kürze obsolet wird.

Bei mir (98_GOOGLECAST.pm 15818 2018-01-07 19:02:40Z dominik) sind auch noch folgende Auffälligkeiten zu beobachten:
1) Nach einem FHEM "shutdown restart" gehen die Homes und der Cast nur auf Status "initialized" und nicht von selbst auf "online".
Behelfe mir derzeit mit folgendem DOIF:
defmod XXXX_GlobalInitialized DOIF ([global:"INITIALIZED"]) \
   (defmod XXDG_GHOME01 GOOGLECAST Dachgeschoss,\
    defmod WZOG_GCCAST01 GOOGLECAST WohnzimmerCast,\
    defmod XXXX_GHOMEM01 GOOGLECAST Wohnzimmer,\
    defmod XXXX_GHOMEM02 GOOGLECAST Badezimmer,\
   )\
   (save)
attr XXXX_GlobalInitialized wait 120,15

Code als "Raw definition"
Wartet 2 Minuten nach FHEM Start und führt dann ein "defmod"-Befehl auf meine definierten GOOGLECAST-Devices aus. Leider wird dadurch, obwohl eigentlich keine Änderung erfolgte, die FHEM Konfiguration geändert, so dass auch noch ein "save"-Befehl erfolgen muss.
Kurz nach Ausführung des "defmod"-Befehls gehen die GOOGLECAST-Devices dann auf Status "online".

2) Bei Nutzung des "speak" Befehls beendet sich FHEM. Anbei Logeinträge aus 2 Versuchen mit "verbose 5" auf die GOOGLECAST-Devices und global:
2018.01.08 18:33:42.713 4: WEB_2a02:908:671:b520:6d13:2b3b:c62e:9c85_3299 POST /fhem&detail=XXXX_GHOMEM01&dev.setXXXX_GHOMEM01=XXXX_GHOMEM01&cmd.setXXXX_GHOMEM01=set&arg.setXXXX_GHOMEM01=speak&val.setXXXX_GHOMEM01=%22Dies+ist+ein+Hund%22; BUFLEN:0
2018.01.08 18:33:42.716 5: Cmd: >set XXXX_GHOMEM01 speak "Dies ist ein Hund"<
Undefined subroutine &main::uri_escape called at /opt/fhem/FHEM/98_GOOGLECAST.pm line 302.
2018.01.08 18:33:43.531 1: BlockingInformParent (BlockingStart): Can't connect to localhost:35049: IO::Socket::INET: connect: Connection refused
2018.01.08 18:33:43.533 1: BlockingInformParent (GOOGLECAST_findChromecastsResult): Can't connect to localhost:35049:


2018.01.08 19:17:27.362 4: WEB_2a02:908:671:b520:6d13:2b3b:c62e:9c85_3687 POST /fhem&detail=XXXX_GHOMEM01&dev.setXXXX_GHOMEM01=XXXX_GHOMEM01&cmd.setXXXX_GHOMEM01=set&arg.setXXXX_GHOMEM01=speak&val.setXXXX_GHOMEM01=%22Dies+ist+ein+Hund%22; BUFLEN:0
2018.01.08 19:17:27.364 5: Cmd: >set XXXX_GHOMEM01 speak "Dies ist ein Hund"<
Undefined subroutine &main::uri_escape called at /opt/fhem/FHEM/98_GOOGLECAST.pm line 302.


Die GOOGLECAST-Devces sind im Status "online", die alte Version mit Übergabe eines Links zur Sprachausgabe funktioniert weiterhin.

3) Auch möchte ich mich dem Wunsch anschließen beim "speak"-Befehl keine Anführungszeichen für den Text verwenden zu müssen, wäre einfach einheitlicher, weil in anderen FHEM-Modulen zur Sprachausgabe dies auch so implementiert ist.

Wo kann ich noch unterstützen bei der Fehlersuche?

Vielen Dank nochmals,
Andreas

Edit: Versionsangabe für 98_GOOGLECAST.pm hinzugefügt.
Edit2: Meinen GOOGLECAST-Devices werden auch alle als Player für den Logitech Media Server eingesetzt, hoffe es hat nichts damit zu tun?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 08 Januar 2018, 20:10:13
Kann ich nicht bestätigen, nach einem Neustart dauert es ein wenig, aber dann sind meine 3 Googles online. Die ich nicht sehr häufig neu starte, kann ich damit leben.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 08 Januar 2018, 20:58:39
@br4t, scooty
Bzgl. TTS, hab den Bug im SVN behoben. Es fehlte noch ein "use URI::Escape" im Code.

Bzgl. der Anführungszeichen:
Es gibt in FHEM leider noch keine klare Definition wie mit Leerzeichen in Argumenten umgegangen werden soll. Ich habe die Anführungszeichen eingeführt, da ich gerne die Möglichkeit habe auch weitere Argumente mit aufzunehmen. Z.B. habe ich bei BOSEST die Lautstärke für die TTS Ansage noch als Argument hinten mit dran gemacht (set dev speak "Hallo" +5) um für TTS die Lautstärke zu erhöhen. Meiner Meinung nach sind Anführungszeichen als Definition für EIN zusammenhängendes Argument die passende Wahl. Alles andere führt dazu, dass man Argumente in Code nochmals zusammenführen muss. Generell fehlt aber leider noch eine klare Regelung - oder ich kenne diese nicht? :)

@scooty, bleibt das Device auf "initialized" oder geht es auf "offline"?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: scooty am 08 Januar 2018, 22:23:11
Zitat von: dominik am 08 Januar 2018, 20:58:39
@br4t, scooty
Bzgl. TTS, hab den Bug im SVN behoben. Es fehlte noch ein "use URI::Escape" im Code.
Alles klar, ich teste dann morgen, vielen Dank für die prompte Reaktion.

Zitat von: dominik am 08 Januar 2018, 20:58:39
Bzgl. der Anführungszeichen:
Es gibt in FHEM leider noch keine klare Definition wie mit Leerzeichen in Argumenten umgegangen werden soll. Ich habe die Anführungszeichen eingeführt, da ich gerne die Möglichkeit habe auch weitere Argumente mit aufzunehmen. Z.B. habe ich bei BOSEST die Lautstärke für die TTS Ansage noch als Argument hinten mit dran gemacht (set dev speak "Hallo" +5) um für TTS die Lautstärke zu erhöhen. Meiner Meinung nach sind Anführungszeichen als Definition für EIN zusammenhängendes Argument die passende Wahl. Alles andere führt dazu, dass man Argumente in Code nochmals zusammenführen muss. Generell fehlt aber leider noch eine klare Regelung - oder ich kenne diese nicht? :)
OK, akzeptiert, kein Thema, hätte wohl auch besser schreiben sollen:
Zitat...weil in anderen FHEM-Modulen zur Sprachausgabe die ich kenne und nutze dies auch so implementiert ist.

Zitat von: dominik am 08 Januar 2018, 20:58:39
@scooty, bleibt das Device auf "initialized" oder geht es auf "offline"?
Die GOOGLECAST-Devices bleiben auf "initialized", "offline" habe ich ehrlich gesagt noch nicht gesehen (vielleicht müsste ich auch einfach noch länger warten?). Ich warte 'mal ab, Statusmeldung kommt dann morgen.

Andreas
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 08 Januar 2018, 22:53:57
Zitat von: scooty am 08 Januar 2018, 19:23:58
Bei mir (98_GOOGLECAST.pm 15818 2018-01-07 19:02:40Z dominik) sind auch noch folgende Auffälligkeiten zu beobachten:
1) Nach einem FHEM "shutdown restart" gehen die Homes und der Cast nur auf Status "initialized" und nicht von selbst auf "online".
Behelfe mir derzeit mit folgendem DOIF:
defmod XXXX_GlobalInitialized DOIF ([global:"INITIALIZED"]) \
   (defmod XXDG_GHOME01 GOOGLECAST Dachgeschoss,\
    defmod WZOG_GCCAST01 GOOGLECAST WohnzimmerCast,\
    defmod XXXX_GHOMEM01 GOOGLECAST Wohnzimmer,\
    defmod XXXX_GHOMEM02 GOOGLECAST Badezimmer,\
   )\
   (save)
attr XXXX_GlobalInitialized wait 120,15

Code als "Raw definition"
Wartet 2 Minuten nach FHEM Start und führt dann ein "defmod"-Befehl auf meine definierten GOOGLECAST-Devices aus. Leider wird dadurch, obwohl eigentlich keine Änderung erfolgte, die FHEM Konfiguration geändert, so dass auch noch ein "save"-Befehl erfolgen muss.
Kurz nach Ausführung des "defmod"-Befehls gehen die GOOGLECAST-Devices dann auf Status "online".

Gerade mal eines der DEFMODs mit einem meiner GOOGLECAST-Devices getestet. Wenn ich einfach eingebe defmod GoogleAssistant.Keller GOOGLECAST Keller geht dieses Device auch endlich wieder online und kommuniziert mit FHEM! Heureka!
Danach ist das Device in der "Übersicht" wieder auf online (nicht "nur" auf "Initialized") und in der Detailansicht sowohl im state als auch in presence (wo es bisher offline war nach einem Reboot).
Damit komme ich zumindest bei mir etwas weiter :-)
(Und vielleicht hilft es ja auch dominik bei der Fehlersuche... ;-)). Danke scooty!
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 08 Januar 2018, 23:01:24
Zunächst bedanke ich mich auch für das im Prinzip tolle Modul - auch wenn ich es bisher nicht zum Laufen bringe.

Seit gestern versuche ich nun die Installation. Zuerst Schritt für Schritt gemäß Post #1, danach alle im Laufe der Zeit genannten Änderungen. Leifder bekomme ich nach wie vor die Meldung:

Cannot load module GOOGLECAST

und im Log:

Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 15, in <module>
    from .discovery import discover_chromecasts, start_discovery, stop_discovery
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/discovery.py", line 5, in <module>
    from zeroconf import ServiceBrowser, Zeroconf
  File "/usr/local/lib/python2.7/dist-packages/zeroconf.py", line 155, in <module>
    @enum.unique
AttributeError: 'module' object has no attribute 'unique'
2018.01.08 22:53:13 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 644.

2018.01.08 22:53:13 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 644.


Das ganze nach mehreren Neustarts von FHEM. Dieses Läuft bei mir allerdings auf einem Cubietruck unter Debian GNU/Linux 9 (stretch)

Was mache ich falsch?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 09 Januar 2018, 08:55:16
Hast Du die Änderungen in der platform.py gemacht?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 09 Januar 2018, 09:48:22
Du meinst aus Post #278? Ja, habe ich. Jetzt habe ich nochmal die früheren Tipps aus #98durchgeführt:


sudo pip uninstall pychromecast
sudo pip install git+https://github.com/dominikkarall/pychromecast.git


und bekomme nun die Meldungen:


Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 14, in <module>
    from . import socket_client
ImportError: cannot import name socket_client
2018.01.09 09:28:38 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 644.

2018.01.09 09:28:38 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 644.


Ist schon wesentlich kürzer ... ich nähere mich dem Ziel.

EDIT:
Obige Meldung bekomme ich, wenn ich enum34 deinstalliere und enum installiere.
Deinstalliere ich enum und installiere enum34 bekomme ich folgende Meldung:

Traceback (most recent call last):
  File "<string>", line 7, in <module>
ImportError: No module named dashcast
2018.01.09 10:02:32 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 644.

2018.01.09 10:02:32 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 644.

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 09 Januar 2018, 15:14:52
Hab jetzt auch mal das folgende durchgezogen - mit den jeweiligen Ergebnissen wie gezeigt. Dabei läuft ein TV mit Chromecast, der auch vom betreffenden Cubie aus problemlos angepingt werden kann (ping Chromecast).


root@cubie:/usr/local/lib/python2.7/dist-packages# python
Python 2.7.13 (default, Nov 24 2017, 17:33:09)
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pychromecast
>>> chromecasts = pychromecast.get_chromecasts()
>>> [cc.device.friendly_name for cc in chromecasts]
[]
>>> chromecasts = pychromecast.get_chromecasts()
>>> [cc.device.friendly_name for cc in chromecasts]
[]
>>> chromecasts = pychromecast.get_chromecasts()
>>> [cc.device.friendly_name for cc in chromecasts]
[]
>>> chromecasts = pychromecast.get_chromecasts()
>>> [cc.device.friendly_name for cc in chromecasts]
[]
>>>


Hätte eigentlich erwartet, in der eckigen Klammer den Namen "Chromecast" vorzufinden....
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: scooty am 09 Januar 2018, 19:11:15
Zitat von: dominik am 08 Januar 2018, 20:58:39
@br4t, scooty
Bzgl. TTS, hab den Bug im SVN behoben. Es fehlte noch ein "use URI::Escape" im Code.
Funktioniert jetzt 1A, vielen Dank!

Zitat von: dominik am 08 Januar 2018, 20:58:39
@scooty, bleibt das Device auf "initialized" oder geht es auf "offline"?
Zitat von: scooty am 08 Januar 2018, 22:23:11
Die GOOGLECAST-Devices bleiben auf "initialized", "offline" habe ich ehrlich gesagt noch nicht gesehen (vielleicht müsste ich auch einfach noch länger warten?). Ich warte 'mal ab, Statusmeldung kommt dann morgen.
Nach 20h Stunden warten keine Änderung, GOOGLECAST-Devices bleiben auf "initialized" und gehen nicht auf "offline".
Hatte oben in meinem Beitrag (https://forum.fhem.de/index.php/topic,45505.msg744978.html#msg744978) noch ergänzt:
ZitatMeinen GOOGLECAST-Devices werden auch alle als Player für den Logitech Media Server eingesetzt, hoffe, es hat nichts damit zu tun?

Vielen Dank für Deine Unterstützung,
Andreas
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: b4r7 am 09 Januar 2018, 20:44:21
Zitat von: dominik am 08 Januar 2018, 20:58:39
@br4t, scooty
Bzgl. TTS, hab den Bug im SVN behoben. Es fehlte noch ein "use URI::Escape" im Code.

Bzgl. der Anführungszeichen:
Es gibt in FHEM leider noch keine klare Definition wie mit Leerzeichen in Argumenten umgegangen werden soll. Ich habe die Anführungszeichen eingeführt, da ich gerne die Möglichkeit habe auch weitere Argumente mit aufzunehmen. Z.B. habe ich bei BOSEST die Lautstärke für die TTS Ansage noch als Argument hinten mit dran gemacht (set dev speak "Hallo" +5) um für TTS die Lautstärke zu erhöhen. Meiner Meinung nach sind Anführungszeichen als Definition für EIN zusammenhängendes Argument die passende Wahl. Alles andere führt dazu, dass man Argumente in Code nochmals zusammenführen muss. Generell fehlt aber leider noch eine klare Regelung - oder ich kenne diese nicht? :)

@scooty, bleibt das Device auf "initialized" oder geht es auf "offline"?

Besten Dank. mit "" läufts perfekt. Ohne "" zerhauts mir das FHEM aber trotzdem. Kannst du dafür sorgen das es eine Fehlermeldung statt einem eingefrorenem FHEM gibt?

Das mit den Sockets ist definitiv behoben.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 09 Januar 2018, 21:52:16
@scooty, die Devices können eigentlich nur auf initialized bleiben, wenn kein Argument angegeben ist. Siehe Code hier:
https://github.com/mhop/fhem-mirror/blob/master/fhem/FHEM/98_GOOGLECAST.pm#L148

@b4r7, danke für die Info, dass FHEM da crashed. Das werde ich noch beheben.

@duke-f, kann es sein, dass du von diesem Bug betroffen bist:
https://github.com/balloob/pychromecast/issues/36
Bitte nicht über github pychromecast installieren, sondern direkt über pip install pychromecast. Ich hatte nur vorübergehend eine eigene Version.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 09 Januar 2018, 22:32:31
Hab' jetzt die Änderung aus #278 rückgängig gemacht sowie


pip uninstall pychromecast
pip install chromecast


durchgeführt. Jetzt bekomme ich weiterhin
"Cannot load module GOOGLECAST"
und wieder etwas recht langes als Traceback:
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 12, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/config.py", line 6, in <module>
    import requests
  File "/usr/local/lib/python2.7/dist-packages/requests/__init__.py", line 97, in <module>
    from . import utils
  File "/usr/local/lib/python2.7/dist-packages/requests/utils.py", line 42, in <module>
    if platform.system() == 'Windows':
  File "/usr/lib/python2.7/platform.py", line 1288, in system
    return uname()[0]
  File "/usr/lib/python2.7/platform.py", line 1255, in uname
    processor = _syscmd_uname('-p','')
  File "/usr/lib/python2.7/platform.py", line 990, in _syscmd_uname
    rc = f.close()
IOError: [Errno 10] No child processes
2018.01.09 22:17:33 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 644.

2018.01.09 22:17:33 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 644.


Ist das gut oder schlecht?

Als positiv interpretiere ich, dass ich folgendes jetzt bekomme:

root@cubie:/usr/lib/python2.7# python
Python 2.7.13 (default, Nov 24 2017, 17:33:09)
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pychromecast
>>> chromecasts = pychromecast.get_chromecasts()
>>> [cc.device.friendly_name for cc in chromecasts]
[u'Chromecast0825']


Bin mir da jetzt nicht so sicher, was den Namen des Chromecast angeht: Mittels ping finde ich ihn nur als "Chromecast" gefunden habe, nicht jedoch als "Chromecast0825". Suche ich per Windows-App wiederum, heisst er "Chromecast0825.

Bin jetzt etwas irritiert. Mit dem genannten Bug blicke ich noch nicht wirklich durch, ob ich davon betroffen bin. Hab aber wirklich einen Netgear Accesspoint, ber den der Chromecast an der Fritzbox hängt.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 09 Januar 2018, 22:49:57
Jetzt brauchst du nur mehr die platform.py Anpassung aus dem Thread und dann läuft es :)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 09 Januar 2018, 23:12:26
Heureka!!!!
Du bist zumindest für heute der absolut größte! Mein Chromecast ist angelegt. Schwere Geburt, aber sagt man nicht, dass solche Kinder dann umso mehr geliebt werden? ;)


2018.01.09 23:07:34 3: GOOGLECAST: GoogleCast v2.0.2
2018.01.09 23:07:34 3: GOOGLECAST: Chromecast initializing...


Danke, auch allen anderen Tipps hier.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 09 Januar 2018, 23:36:26
Zitat von: duke-f am 09 Januar 2018, 23:12:26
Mein Chromecast ist angelegt
Ist er auch nach einem shutdown restart noch "aktiv"? Oder bleibt er wie bei mir, scooty und wenigen anderen auf "Initialized" hängen und hat in presence dann "offline"? Wenn ja, hilft bei Dir das defmod von scooty dann auch?

@dominik: Also bei mir ist es so reproduzierbar: Ein neues Gerät anlegen ("GoogleAssistant.Keller"), Save Config drücken, alles ist ok. Ein zweites Gerät "GOOGLECAST-GoogleAssistant.Keller" wird automatisch angelegt (warum und wodurch auch immer). Nach einem FHEM Neustart ist state "online", presence "offline". Das zusätzliche Gerät "GOOGLECAST-GoogleAssistant.Keller" ist verschwunden. Erst wenn ich ein
defmod GoogleAssistant.Keller GOOGLECAST Keller
mache kommt das eigentliche Gerät wieder online und reagiert auch wie es soll. Auch das "GOOGLECAST-GoogleAssistant.Keller" ist dann wieder da. Bis zum nächsten Neustart. Dann geht das Spiel von vorne los.

Das habe ich bei allen GOOGLECAST-Devices. Egal ob Google Home, Chromecast Audio oder Chromecast Video.

Wo kommt dieses "Geistergerät" her, und warum wird das angelegt? Besteht ein Zusammenhang, dass meine Geräte offline gehen wenn das "Geistergerät" nicht mehr da ist?

EDIT: Im Bild habe ich nur das Gerät "Keller" per DEFMOD wieder online genommen, damit man das automatisch angelegte "Geistergerät" mal sieht. Die anderen Devices sind aktuell noch kaputt bzw. nicht per DEFMOD reaktiviert. Deshalb gibt es hier momentan keine "Geisterdevices".
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 10 Januar 2018, 00:01:30
Nein, er ist nicht aktiv.
STATE: initialized
presence: offline

Und das genannte "defmod" ändert nichts an diesem Zustand.


EDIT:
Muss mich korrigieren. Hatte da offensichtlich noch einen Fehler hinsichtlich meiner oben genannten Verwiruung hinsichtlich des Namens. Der Chromecast heißt nun doch "Chromecast0825" und nicht "Chromecast"
Damit habe ich nach Shutdown restart auch mehr Infos in den readings und
presence: offline
state: online

In den Internals
STATE: initialized

Das bleibt auch so nach bewusstem defmod.[Stimmt nicht - defmod hilft. Hatte mich schon wieder mit dem Namen vertan.] Bin jetzt aber auch noch nicht ganz so weit zu sehen, wie ich das alles dann steuern soll. Ziel ist eigentlich im Wesentlichen: Meinen Samsung TV kann ich bei Telefonanruf auf Pause setzen, beim Auflegen geht's automatisch weiter. Geht eben nicht beim Einsatz von Chromeast. Genau das will ich eigentlich damit beheben.
Selbstverständlich wird es nicht dabei bleiben.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 10 Januar 2018, 17:26:56
Irgendwie ist doch noch der Wurm drin. Jetzt wird zwar das Modul scheinbar problemlos angelegt, aber das "shutdown restart"-Problem besteht weiterhin und ist trotz diesmal sicher korrekter Namenseingabe selbst weder durch ein defmod noch durch ein komplettes Löschen und neu anlegen zu lösen. Diesmal wird aber wieder auch der Chromecast nicht durch das Prozedere auf der Kommandoebene gefunden. Es scheint da wirklich noch ein Problem mit der Erkennung hinter dem Accesspoint zu geben. Am Notebook im Wohnzimmer, das über den gleichen Accesspoint im Netz ist, wird der er gefunden.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: scooty am 10 Januar 2018, 17:55:28
Hallo Dominik,

Zitat von: dominik am 09 Januar 2018, 21:52:16
@scooty, die Devices können eigentlich nur auf initialized bleiben, wenn kein Argument angegeben ist. Siehe Code hier:
https://github.com/mhop/fhem-mirror/blob/master/fhem/FHEM/98_GOOGLECAST.pm#L148

Gerade auch nochmal die Parameter-/Namenseingabe geprüft, leider, wie auch von duke-f beschrieben, gehen die GOOGLECAST-Devices nur auf "initialized" nach "shutdown restart".
Habe die GOOGLECAST-Devices auch 'mal gelöscht, "shutdown restart", neu angelegt (siegehen nach Neuanlage auf "online") und wieder "shutdown restart". Auch da leider da gleiche Verhalten mit nur "initialized".

Andreas
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: scooty am 10 Januar 2018, 18:32:05
Hallo Dominik,

"letzte" ;) Hoffnung war, dass es auf meinem Produktivsystem anders aussieht, und ja, dort verhalten sich die GOOGLECAST-Devices wie gewünscht, gehen "online" auch nach einem "shutdown restart".

Vielleicht helfen untenstehende Infos zu den Unterschieden der Systeme weiter?
FHEM hatte ich auf beiden Systemen mit heutigem "update" versorgt.

Testsystem:
uname -a
===============
Linux abcabc 4.9.59-v7+ #1047 SMP Sun Oct 29 12:19:23 GMT 2017 armv7l GNU/Linux

cat /etc/os-release
===============
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian


Produktivsystem:
uname -a
===============
Linux xyzxyz 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u5 (2017-09-19) x86_64 GNU/Linux

cat /etc/os-release
===============
PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
NAME="Debian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=debian


Ohne ins Detail gehen zu wollen, netzwerktechnisch ist die Anbindung des Produktivsystems auch etwas "direkter" zu den aktuellen WLAN-Accesspoints der GOOGLECAST-Devices.
OK, OK, wahrscheinlich zu viel Änderungen um das Problem eingrenzen zu können, aber vielleicht helfen die Infos doch?

Also kurz und gut, beim mir funktioniert es jetzt, aber vielen Dank für Deine Unterstützung,
Andreas
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 10 Januar 2018, 19:18:12
So, hab' jetzt auch nochmal etwas weiter versucht - ohne wirkliche Erkenntnis. Wird leider etwas länger. Aber vielleicht hilft's.

Also so ganz einfach lässt sich der Chromecast auch ohne Neustart von FHEM nicht immer finden. Vielleicht hängt das wirklich mit meiner lokalen WLAN-Konfiguration zusammen. Gerade wurde er gefunden, dann war er wieder weg, ohne dass ich etwas gemacht hätte. Dann habe ich ihn mal vom Strom getrennen und wieder eingesteckt, und prompt wurde er wieder empfangen. Jetzt läuft es gerade. Das große ABER:
Ich habe schon seit mittlerweile bald Jahrzehnten WLAN im Betrieb. Vor einigen Monaten habe ich gemäß der AVM-Empfehlung AP und Fritzbox mit dem gleichen Namen und Kennwort ausgestattet, weil so die automatische Wahl der Mobilgeräte optimiert sein soll. Hat jetzt allerdings den Nachteil, dass ich
a) nicht selber für jedes Gerät das jeweilige Netz fest zuordnen kann und
b) ich nicht immer erkenne, mit welchem WLAN ein Gerät verbunden ist.

Jetzt hatte ich gerade während des Neustarts des Chromecast sowohl an FB als auch an AP geschafft, den Verlauf zu verfolgen. Und zuerst hat sich der Chromecast offensichtlich mit der FB direkt verbunden, mit verhältnismäßig schwachem Empfang. Dann stand auch erst mal am TV die SSID meines WLANs unter dem Namen links unten. Dann ist diese SSID verschwunden nd dann hat sich scheinbar der Chromecast mit dem AP verbunden. Das ging alles recht schnell, vor ich weder vom PC aus noch von FHEM aus etwas starten konnte, aber danach war der Chromecast aus FHEM heraus zu sehen, obwohl über den AP und nicht direkt an der FB.

Ob das jetzt was hilft, kann ich nicht sagen. Vielleicht noch einen Punkt zu meiner Konfiguration: Mein Chromecast hat seine Stromversorgung vom TV und wird folglich nur gestartet, wenn der Fernseher läuft. So will ich das eigentlich auch lassen. Eventuell läuft das ganze aber stabiler, wenn er per Netzteil versorgt würde? Denke nicht, er sollte dann doch auch in sowas wie einen Ruhezustand gehen, wenn der Fernseher aus ist, dachte ich.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Tabu am 15 Januar 2018, 16:27:25
Zitat von: duke-f am 10 Januar 2018, 19:18:12
Hat jetzt allerdings den Nachteil, dass ich
a) nicht selber für jedes Gerät das jeweilige Netz fest zuordnen kann und
b) ich nicht immer erkenne, mit welchem WLAN ein Gerät verbunden ist.

Ich habe ein ähnlich gelagertes Problem. Seit ich unser Haus mit Google Wifi (Mesh 3 Stk.) ausgestattet habe läuft das Modul leider nicht mehr rund.
Ich bekomme auch nach einer Neuanlage nur "initialized". Sieht so aus, als würde er die Chromecasts nicht mehr finden.  :'(
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 16 Januar 2018, 19:08:56
Also bei scheint es jetzt so zu sein, dass mit etwas Geduld der CC auch gefunden wird. Und das Problem mit dem "shutdown restart" versuche ich erst mal mit einem einfachen automatischen defmod per at nach Start von FHEM. Mal sehen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: cramu am 17 Januar 2018, 01:40:30
Im folgenden Repo findet sich eine inoffizielle Dokumentation der lokalen API des Google Home.
Hiermit sollte sich der Funktionsumfang des Moduls noch deutlich erweitern lassen:

https://rithvikvibhu.github.io/GHLocalApi/
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Tabu am 17 Januar 2018, 08:39:05
Meinen Beitrag 384 bitte ignorieren, der Fehler lag am DAU  ;D

Läuft wunderbar...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: meddie am 19 Januar 2018, 17:49:18
Hallo zusammen,

ich habe mir ein Google Home und zwei Chromecast Audio zum testen bestellt, und nun bin ich über dieses Modul gestoßen. Ich habe laut Anleitung auf der ersten Seite die benötigten Komponenten installiert und habe anschließen den Define Befehl ausgeführt leider bekomme ich eine Meldung Cant load Module Googlecast. In der Log steht folgendes drin:
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 12, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/config.py", line 6, in <module>
    import requests
  File "/usr/local/lib/python2.7/dist-packages/requests/__init__.py", line 97, in <module>
    from . import utils
  File "/usr/local/lib/python2.7/dist-packages/requests/utils.py", line 24, in <module>
    from . import certs
ImportError: cannot import name certs
2018.01.19 17:30:01 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/x86_64-linux-gnu/perl/5.22.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 645.

2018.01.19 17:30:01 0: Error -- py_eval raised an exception at /usr/local/lib/x86_64-linux-gnu/perl/5.22.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 645.


Ich habe nach dem Post  #278 korrigiert hat aber nichts gebracht.
Habt Ihr ein Tipp für mich.
Danke
Gruß Eddie


EDIT: Hat sich erledigt ein sudo pip install request hat das Problem gelöst.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 19 Januar 2018, 22:58:57
An diejenigen mit dem "initialized" nach Reboot Problem, könnt ihr bitte prüfen was für einen status "presence" nach dem Reboot hat?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: buki am 19 Januar 2018, 23:14:53
Zitat von: dominik am 19 Januar 2018, 22:58:57
An diejenigen mit dem "initialized" nach Reboot Problem, könnt ihr bitte prüfen was für einen status "presence" nach dem Reboot hat?

Der Status "presence" ist "offline"
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 19 Januar 2018, 23:39:10
Kannst du mir mal mit verbose 5 das Log nach dem Reboot posten?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 20 Januar 2018, 13:40:15
Zitat von: dominik am 19 Januar 2018, 22:58:57
An diejenigen mit dem "initialized" nach Reboot Problem, könnt ihr bitte prüfen was für einen status "presence" nach dem Reboot hat?
"presence" ist offline, "state" ist online. Nach dem oben erwähnten defmod funktioniert das entsprechende Device wieder bis zum nächsten Reboot.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 20 Januar 2018, 14:04:04
Kann jetzt auf diese Frage nicht antworten, da ich ja mein "defmod" im Start habe. Aber ich habe ein neues Problem, bei dem ich GoogleCast als Mitverursacher im Verdacht habe.

Seit einigen Tagen startet mein Cubie per Watchdog neu, weil meine entsprechende Heartbeat-Datei von FHEM nicht mehr im Minutenrhythmus angetouched wird. Das passiert nahezu einmal täglich und verdächtigerweise erst die letzten Tage. Im FHEM-Logfile habe ic davor eine entsprechend lange Liste mit Einträgen:

To many open files

Meine Recherche führet mich auf den Thread
https://forum.fhem.de/index.php/topic,21732.msg152492.html#msg152492 (https://forum.fhem.de/index.php/topic,21732.msg152492.html#msg152492)

Deshalb habe ich da mal die entsprechenden von Rudolf angegebenen Befehle ausgeführt mit folgenden Resultaten (Auszug, insgesamt in der ersten Ausgabe über 900 Zeilen bzw 430 in der zweiten Liste, davon großteils vom jeweils folgenden Typ):

{ `ls -l /proc/$$/fd` }
.
.
.
lrwx------ 1 fhem dialout 64 Jan 20 13:25 890 -> socket:[117717]
lrwx------ 1 fhem dialout 64 Jan 20 13:25 891 -> socket:[116428]
lrwx------ 1 fhem dialout 64 Jan 20 13:25 892 -> socket:[118862]
lrwx------ 1 fhem dialout 64 Jan 20 13:25 893 -> socket:[116677]
lrwx------ 1 fhem dialout 64 Jan 20 13:40 894 -> socket:[1458048]
lrwx------ 1 fhem dialout 64 Jan 20 13:25 895 -> socket:[118126]
lrwx------ 1 fhem dialout 64 Jan 20 13:25 896 -> socket:[118129]
lrwx------ 1 fhem dialout 64 Jan 20 13:25 897 -> socket:[116731]
.
.
.




{`netstat -a` }
.
.
.
tcp        1      0 Cubie.fritz.box:60756   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:60265   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:36601   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:35877   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:49633   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:59155   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:37043   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:43258   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:34047   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:60122   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:44746   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:58414   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:35382   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp      381      0 Cubie.fritz.box:52058   Chromecast.fritz.b:8009 CLOSE_WAIT
.
.
.


Vielleicht liege ich falsch, aber angesichts dieser Ausgaben scheint mir ein Verdacht doch naheliegend. Ich werde jetzt mal GOOGLECAST einige Zeit deaktivieren und dann sehen, ob sich das ganze wieder so einstellt oder ob die Neustarts unterbleiben.

@dominik:
Falls Du gerne nähere Information zu meiner Konfiguration brauchst, können wir uns gerne auch per PM austauschen. Zu viel will ich hier natürlich nicht offenlegen, wenn dies für niemanden sonst hilfreich ist.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: meddie am 20 Januar 2018, 15:05:32
ich habe das gleiche Problem:
hier das Logfile (ich habe ein paar Zeilen von googlemaps wo meine Adresse ersichtlich ist und IP Adressen aus Datenschutzgründen entfernt)


2018.01.20 14:49:22 0: Server shutdown
2018.01.20 14:49:34 1: Including fhem.cfg
2018.01.20 14:49:34 3: telnetPort: port 7072 opened
2018.01.20 14:49:34 3: WEB: port 8083 opened
2018.01.20 14:49:34 3: WEBphone: port 8084 opened
2018.01.20 14:49:34 3: WEBtablet: port 8085 opened
2018.01.20 14:49:34 2: eventTypes: loaded 3698 events from ./log/eventTypes.txt
2018.01.20 14:49:34 3: Opening JeeLink_PCA device /dev/ttyUSB0
2018.01.20 14:49:39 3: Setting JeeLink_PCA serial parameters to 57600,8,N,1
2018.01.20 14:49:40 3: JeeLink_PCA device opened
2018.01.20 14:49:40 3: Waschmaschine: I/O device is JeeLink_PCA
2018.01.20 14:49:40 3: Waeschetrockner: I/O device is JeeLink_PCA
2018.01.20 14:49:42 1: HMLAN_Parse: HMLAN1 new condition disconnected
2018.01.20 14:49:42 3: Opening HMLAN1 device xxx.xxx.xxx.xxx:1000
2018.01.20 14:49:42 1: HMLAN_Parse: HMLAN1 new condition init
2018.01.20 14:49:42 3: HMLAN1 device opened
2018.01.20 14:49:42 3: Jet: Defined with URL http://www.clever-tanken.de/.....................................
2018.01.20 14:49:42 3: Jet: the attribute readingsExpr_Diesel should no longer be used. Please use reading01Expr syntax instead
2018.01.20 14:49:42 3: Jet: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2018.01.20 14:49:42 3: Jet: the attribute readingsExpr_SuperE5 should no longer be used. Please use reading01Expr syntax instead
2018.01.20 14:49:42 3: Jet: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2018.01.20 14:49:42 3: Jet: the attribute readingsName_SuperE5 should no longer be used. Please use reading01Name syntax instead
2018.01.20 14:49:42 3: Jet: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2018.01.20 14:49:42 3: Jet: the attribute readingsRegex_SuperE5 should no longer be used. Please use reading01Regex syntax instead
2018.01.20 14:49:42 3: Jet: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2018.01.20 14:49:42 3: Agip: Defined with URL http://www.clever-tanken.de/tankstelle_details/23022 and interval 600
2018.01.20 14:49:42 3: Agip: the attribute readingsExpr_Diesel should no longer be used. Please use reading01Expr syntax instead
2018.01.20 14:49:42 3: Agip: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2018.01.20 14:49:42 3: Agip: the attribute readingsExpr_SuperE5 should no longer be used. Please use reading01Expr syntax instead
2018.01.20 14:49:42 3: Agip: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2018.01.20 14:49:42 3: Agip: the attribute readingsName_SuperE5 should no longer be used. Please use reading01Name syntax instead
2018.01.20 14:49:42 3: Agip: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2018.01.20 14:49:42 3: Agip: the attribute readingsRegex_SuperE5 should no longer be used. Please use reading01Regex syntax instead
2018.01.20 14:49:42 3: Agip: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2018.01.20 14:49:42 3: TABLETUI: new ext defined infix:ftui/: dir:./www/tablet/:
2018.01.20 14:49:42 3: Registering HTTPSRV TABLETUI for URL /ftui   and assigned link ftui/ ...

2018.01.20 14:49:42 3: Opening fbCallMonitor device: xxx.xxx.xxx.xxx:1012
2018.01.20 14:49:42 3: TelegramBot_Define teleBot: called
2018.01.20 14:49:42 3: Esspressomaschine: I/O device is JeeLink_PCA
2018.01.20 14:49:42 3: PCA301_019F22: I/O device is JeeLink_PCA
2018.01.20 14:49:42 3: PCA301_000000: I/O device is JeeLink_PCA
2018.01.20 14:49:42 3: PCA301_797087: I/O device is JeeLink_PCA
2018.01.20 14:49:43 1: PERL WARNING: keys on reference is experimental at ./FHEM/70_DoorPi.pm line 565, <$fh> line 1106.
2018.01.20 14:49:43 1: PERL WARNING: keys on reference is experimental at ./FHEM/70_DoorPi.pm line 584, <$fh> line 1106.
2018.01.20 14:49:43 3: MOBILEUI: new ext defined infix:fmui/: dir:./www/mobile/:
2018.01.20 14:49:43 3: Registering HTTPSRV MOBILEUI for URL /fmui   and assigned link fmui/ ...
2018.01.20 14:49:43 3: GOOGLECAST: GoogleCast v2.0.2
2018.01.20 14:49:43 3: GOOGLECAST: ccWohnzimmer initializing...
2018.01.20 14:49:43 3: GOOGLECAST: ccEsszimmer initializing...
2018.01.20 14:49:43 3: GOOGLECAST: ccAlle initializing...
2018.01.20 14:49:43 3: GOOGLECAST: ghmEsszimmer initializing...
2018.01.20 14:49:43 1: Including ./log/fhem.save
2018.01.20 14:49:43 3: WARNING: unsupported character in reading duEsszimmer_Jalousien, (not A-Za-z/\d_\.-), notify the dummy module maintainer.
2018.01.20 14:49:43 3: Device Bad.Heizung added to ActionDetector with 000:10 time
2018.01.20 14:49:43 3: Device HM_2E69BE added to ActionDetector with 000:10 time
2018.01.20 14:49:43 3: Device HM_2E6BC0 added to ActionDetector with 000:10 time
2018.01.20 14:49:43 3: Device SZ.KIND1.Heizung added to ActionDetector with 000:10 time
2018.01.20 14:49:43 3: Opening CUL_MySensors device xxx.xxx.xxx.xxx:5003
2018.01.20 14:49:43 5: MYSENSORS send: Rx: fr=000 ci=000 c=003(C_INTERNAL    ) st=002(I_VERSION       ) ack=0 ''

2018.01.20 14:49:43 5: SW: xxxxxxxxxxxxxxxxxxxxxxxxxxxx
2018.01.20 14:49:43 3: CUL_MySensors device opened
2018.01.20 14:49:43 3: for: multicast server discovery started
2018.01.20 14:49:43 3: for: broadcast server discovery started
2018.01.20 14:49:43 3: for: multicast client discovery started
2018.01.20 14:49:43 3: for: broadcast client discovery started
2018.01.20 14:49:43 3: for: pht client discovery started
2018.01.20 14:49:43 3: for: timeline listener started
2018.01.20 14:49:43 1: usb create starting
2018.01.20 14:49:44 3: Probing CUL device /dev/ttyS0
2018.01.20 14:49:44 3: Probing CUL device /dev/ttyS1
2018.01.20 14:49:44 3: Probing CUL device /dev/ttyS10
2018.01.20 14:49:44 1: PERL WARNING: can't getattr: Input/output error at FHEM/DevIo.pm line 394.
2018.01.20 14:49:44 1: usb create end
2018.01.20 14:49:44 0: Featurelevel: 5.8
2018.01.20 14:49:44 0: Server started with 188 defined entities (fhem.pl:15881/2018-01-14 perl:5.022001 os:linux user:fhem pid:1221)
2018.01.20 14:49:44 3: telnetForBlockingFn_1516456184.52155: port 41911 opened
2018.01.20 14:49:44 3: for: server discovered: xxx.xxx.xxx.xxx
2018.01.20 14:49:44 3: for: notification websocket opened to xxx.xxx.xxxx.xxx
2018.01.20 14:49:44 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/37_plex.pm line 2297.
2018.01.20 14:49:44 5: MYSENSORS/RAW: /0;255;3;0;14;Gateway startup complete.
0;255;0;0;18;2.1.1
0;255;3;0;2;2.1.1

2018.01.20 14:49:44 5: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=014(I_GATEWAY_READY ) ack=0 'Gateway startup complete.'

2018.01.20 14:49:44 5: MYSENSORS Read: Rx: fr=000 ci=255 c=000(C_PRESENTATION) st=018(S_ARDUINO_REPEATER_NODE) ack=0 '2.1.1'

2018.01.20 14:49:44 5: MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL    ) st=002(I_VERSION       ) ack=0 '2.1.1'

2018.01.20 14:49:44 1: HMLAN_Parse: HMLAN1 new condition ok
2018.01.20 14:49:44 3: fbCallMonitor device opened
2018.01.20 14:49:44 2: for: notification websocket: Switching Protocols failed
2018.01.20 14:49:44 3: CUL_HM set Tuerschloss statusRequest
2018.01.20 14:49:47 3: ENIGMA2 Wohnzimmer.TvReceiver: ERROR: Unable to read tv bouquet '1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.bef001.tv" ORDER BY bouquet' from device
2018.01.20 14:49:47 1: [DoorPi_GetConfig] has error connect to http://xxx.xxx.xxx.xxx:80 timed out
2018.01.20 14:49:47 1: [DoorPi_GetHistory] cannot be called, no connection
2018.01.20 14:49:47 1: PERL WARNING: Use of uninitialized value $ics in split at ./FHEM/57_Calendar.pm line 930.
2018.01.20 14:49:47 2: Calendar Abfall: error (data not in ICal format; even not gzip data)
2018.01.20 14:49:47 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/99_myUtils.pm line 118.
2018.01.20 14:49:47 3: eval: my $TYPE='Calendar';my $NAME='Abfall';my $EVENT='triggered';my $EVTPART0='triggered';my $SELF='notAbfalltermine';{ Abfalltermine() }
2018.01.20 14:49:47 2: Calendar Kalender_Temp: error (data not in ICal format; even not gzip data)
2018.01.20 14:49:47 3: CALVIEW vKalender_Familie - CALENDAR:Kalender_Familie triggered, updating CALVIEW vKalender_Familie ...
2018.01.20 14:50:38 3: for: notification websocket opened to xxx,xxx,xxx.xxx
2018.01.20 14:50:38 2: for: notification websocket: Switching Protocols failed
2018.01.20 14:50:39 3: for: client discovered: xxx.xxx.xxx.xxx


Ich hoffe Du kannst damit etwas anfangen
VG Eddie
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: meddie am 20 Januar 2018, 15:06:36
Und eine Frage gleich hinterher:

ist es irgendwie möglich eine Wiedergabe entweder einzelner Songs oder Wiedergabelisten aus Plex auf den Chromecasts zu starten?

Vielen Dank im Voruas
VG Eddie
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 20 Januar 2018, 15:53:31
Habe ejtzt das "defmod" rausgenommen.

Status von presence nach shutdown restart:
Wenn TV und Chromecast eingeschaltet sind während dem Neustart: online
Wenn TV und Chromecast ausgeschaltet sind während dem Neustart: offline

Im zweiten Fall dauert es dann schon einige Minuten, bis der Chromecast nach Einschalten dann als online gemeldet wird.

Nebenbei: Ich hoffe, dass sich mein Problem aus obigem Post mit dem ENtfernen des automatischen defmod gelöst hat - mal sehen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 21 Januar 2018, 13:38:11
Jab jetzt nach dieser Nacht wieder recht viele Eintrage nach {'netstat -a'} - ca. 100 von insgesamt 200 Einträgen, obwohl der Chromecast aus war und fürchte, über kurz oder lang macht der cubie wieder zu. Haben andere auch diese Einträge? Wieviele sind denn "normal"?


tcp        1      0 Cubie.fritz.box:34213   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp        1      0 Cubie.fritz.box:56198   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp      750      0 Cubie.fritz.box:51624   Chromecast.fritz.b:8009 ESTABLISHED
tcp        0      0 Cubie.fritz.box:43876   Chromecast.fritz.b:8009 ESTABLISHED
tcp        1      0 Cubie.fritz.box:55166   Chromecast.fritz.b:8009 CLOSE_WAIT
tcp      905      0 Cubie.fritz.box:58721   Chromecast.fritz.b:8009 CLOSE_WAIT
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: meddie am 21 Januar 2018, 19:52:11
Hallo Leute,

ich habe wie auf Seite von 23 von Joachim übernommen, ein Sub erstellt in der myUtils die wie folgt aussieht:

sub sayitDE($)
{
  my ($ccVolume) = ReadingsVal("ccAlle","volume",99);
  my ($Answer)  = @_;
  my $encodedAnswer = urlEncode($Answer);
  my $PreAnswer = "http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=";
  fhem("set ccAlle volume 99");
  fhem("set ccAlle play $PreAnswer$encodedAnswer");
  fhem("set ccAlle volume $ccVolume");
}


Ich habe 2 Chromecasts und ein Google Home Mini alle zusammen in eine Gruppe ccAlle zusammengefaßt, und möchte eigentlich nur eine Durchsage machen wenn ein bestimmtes Ereignis passiert. (z. B. Waschmaschine ist fertig) Da die Chromecasts an Lautsprechern hängen die nicht immer an sind und an dem Google Home die Lautstärke manchmal relativ leise eingestellt ist möchte ich dass die Lautstärke vor der Ansage auf 99 erhöht wird, dann die Ansage erfolgt und anschließend die Lautstärke auf den vorher eingestellten Wert zurückgestellt wird.

Leider klappt das nicht. Ich habe schon mehrfach beobachtet, dass wenn ich die Gruppe ccAlle öffnet und dort die Lautstärke verändere dort immer wieder ein anderer Wert übernommen wird. Z. B. ich schiebe den Regler auf 30 % und drücke auf set dann springt die Lautstärke auf 78 Prozent statt meinen 30. Dieser Wert ist jedesmal anders.

Könnt Ihr mir sagen was ich falsch mache?
Danke
Gruß Eddie

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 21 Januar 2018, 20:03:53
Hallo Eddie,

was ist denn die Gruppe ccAlle?

Poste doch mal ein list.

Oder hast du die GoogleCasts "nur" mittels Attribut group gruppiert?

Den "umständlichen" Code brauchst du gar nicht mehr, mittlerweile geht auch:

set myGoogleCast speak "Ok, das sage ich jetzt"

Warum merkst du dir nicht einfach von beiden GoogleCasts die Lautstärke, setzt bei beiden auf 99, machst die Ansage (mittels speak ;)  ) und stellst die Lautstärken zurück?

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: meddie am 21 Januar 2018, 20:25:54
Hallo Joachim,

die Gruppe ccAlle ist eine Chromecastgruppe, die kann man in der Google Home App bilden und mehrere Chromecasts zusammenfassen. Diese Gruppe erscheint dann als ein eigenes Chromecastgerät mit dem gewählten Namen bei mir ccAlle, wenn Du dann auf dieser Gruppe etwas wiedergibst spielt die Musik synchron auf allen Chromecasts in dieser Gruppe.

genau das habe ich in der Sub versucht abzubilden, aber das interessante ist dass ein set ccAlle volume 30 nicht dazuführt dass die Lautstärke auf 30 gesetzt wird. Ich muss alle Chromecasts einzeln auf 30 setzen und dann die Gruppe dann geht es, aber leider muss man ab und zu das ganze zwei drei mal wiederholen.

Hast Du ein Tipp wie ich das machen kann? Danke
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: meddie am 21 Januar 2018, 20:33:10
Als ob, wenn man bei der Chromecast Gruppe die Lautstärke ändert es dann einen "durchschnittswert" von allen Geräten zusammen einnimmt. 

Wenn der ghmEsszimmer (google home mini) auf 60 steht und ich die Gruppe ccAlle auf 70 stelle, dann springt mir der Wert sofort auf 64 führe ich gleich danach ein set ccAlle volume 64 aus (also den gleichen Wert wieder) dann setzt er sich auf 62. Mann muss mehrfach den set volume 70 ausführen damit die Gruppe ccAlle den Wert 70 auch übernimmt.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 21 Januar 2018, 20:38:09
Zitat von: meddie am 21 Januar 2018, 20:25:54
Hallo Joachim,

die Gruppe ccAlle ist eine Chromecastgruppe, die kann man in der Google Home App bilden und mehrere Chromecasts zusammenfassen. Diese Gruppe erscheint dann als ein eigenes Chromecastgerät mit dem gewählten Namen bei mir ccAlle, wenn Du dann auf dieser Gruppe etwas wiedergibst spielt die Musik synchron auf allen Chromecasts in dieser Gruppe.

Ah, ok.

Musikwiedergabe etc. mache ich per Alexa.
(Ich vergleiche ja immer noch Alexa und Google Home ;)  )

Aber auch dort (Alexa) gibt es sowas wie ein "Group-Device".
Dabei funktioniert beim Group-Device auch nicht alles.
Lautstärke kann ich nur erhöen bzw. absenken aber nicht auf einen bestimmten Wert setzen.
Die einzelnen Geräte tun dann "irgendwas" aber es geht damit auch nicht so zuverlässig wie direkt am Gerät...

Vielleicht ist es hier ebenso...
(Sind sich Alexa und Google Home doch näher ;)  )

Zitat von: meddie am 21 Januar 2018, 20:25:54
Hast Du ein Tipp wie ich das machen kann? Danke

Was genau?

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: meddie am 21 Januar 2018, 20:40:55
den Wert merken und anschließend wieder setzen.

Ich habe auch beide Alexa und Google Home Mini und bin auch in der Findungsphase. Aber was mit an Google deutlich besser gefällt ist die Erkennung der Sprache und die Möglichkeit etwas auf dem Google auszugeben.

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 21 Januar 2018, 21:03:53
Hmmm, eigentlich so wie du es gemacht hast, nur halt nicht vom Group-Device sondern von den einzelnen...


Sub my_Ansage($)
{
  my ($Ansage)  = @_;
  my $LSGoogleCast1 = ReadingsVal("GoogleCast1", "volume", 30); # oder anderer Ersatzwert
  my $LSGoogleCast2 = ReadingsVal("GoogleCast2", "volume", 30);

  fhem("set GoogleCast1 volume 99; set GoogleCast2 volume 99; set GoogleCast1 speak \"$Ansage\"; set GoogleCast2 speak \"$Ansage\"; sleep 20; set GoogleCast1 volume $LSGoogleCast1; set GoogleCast2 volume $LSGoogleCast2");
}


Allerdings habe ich gerade bemerkt, dass die Lautstärke hoch gestellt wird und bis die Ansage (inkl. buffering etc.) durch ist, ist die Lautstärke wieder runter...

Daher das sleep.
Wie lange das sein muss hängt halt von der Nachrichtenlänge ab.

Mit Potential zur Optimierung/Vereinfachung...

EDIT: man könnte sich die aktuelle LS auch in einem "eigenen" Reading merken und dann nach dem Abspielen der Nachricht (mediaPlayerState von playing auf idle könnte per Sequence "abgefragt" werden zusätzlich noch auf LS 99 prüfen) die Lautstärke auf den gemerkten Wert zurücksetzen. Damit wäre das dann passend zur Ansage und es wäre kein "fixer" Sleep. Einfachere Alternative: Sleep-Wert mit übergeben und somit je nach Ansagenlänge eine (hoffentlich) passende Pause...

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 22 Januar 2018, 10:23:55
Sleep = Doof
Besser vorher die Lautstärke speichern und auf notify Google_Name:mediaPlayerState:.IDLE reagieren. Dort die Lautstärke wieder herstellen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 22 Januar 2018, 10:45:13
Ja, stimmt schon: sleep ist nicht toll (aber so schlimm auch nicht / in dem Fall ;)  )...

War ja nur mal zum Test bzw. Aufzeigen, dass es da noch was zu brauchen scheint...

Nur auf IDLE reagieren ist aber wahrscheinlich zu wenig...

Ich weiß nicht was für Zustände es noch gibt und dann würde ja immer was zurückgesetzt werden auf "irgendeine" Lautstärke (die beim letzten Absetzen einer "Ansage" gespeichert wurde) auch wenn vom Abspielen eines Musikstücks der Zustand dann IDLE geht...

Evtl. könnte man beim Abspielen der "Ansage" ja die aktuelle LS speichern (wie bereits geschrieben: eigenes Reading/Dummy/...) und den Wert dann beim (ersten) Notify auf IDLE wieder zurücksetzen und dann diesen gespeicherten Wert auf "ungültig" setzen und im Notify auf IDLE prüfen, ob ein "gültiger" LS-Wert drin steht und nur dann zurücksetzen...

Werde ich mal rumexperimetieren...

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 22 Januar 2018, 19:43:38
So dann hab ich wie "versprochen" mal ein wenig "rumgebastelt" ;)

Folgende Subs in die myUtils:


sub my_Ansage($$)
{
  my ($Ansage, $Volume)  = @_;
  my @GoogleCasts = ("GoogleCast_1","GoogleCast_2","GoogleCast_n"); # Namen der GoogleCast die für die Ansage "herhalten" sollen ;)
  my $ActLSGoogleCast = 0;
  my $ActGoogleCast = "";
 
  foreach $ActGoogleCast(@GoogleCasts)
  {
    $ActLSGoogleCast = ReadingsVal($ActGoogleCast, "volume", 30); # oder anderen default
    # aktuelle Lautstärke im Reading volume_saved speichern und Ansagenlautstärke setzen
    fhem("setreading $ActGoogleCast volume_saved $ActLSGoogleCast; set $ActGoogleCast volume $Volume");
  }

  foreach $ActGoogleCast(@GoogleCasts)
  {
    fhem("set $ActGoogleCast speak \"$Ansage\""); # Ansage absetzen
  }
}

sub my_ResetVolume($)
{
  my ($Device) = @_;
  my $SavedLSGoogleCast = ReadingsVal($Device, "volume_saved", "na");

  # wenn eine Lautstärke gespeichert wurde, dann wieder zurücksetzen. Ansonsten: nix ;)
  if($SavedLSGoogleCast ne "na")
  {
    fhem("set $Device volume $SavedLSGoogleCast; setreading $Device volume_saved na");
  }
}


Alternativ kann man nat. auch alles in eine Schleife packen, müsste man sehen wie "gleichzeitig" die Ansage dann noch ist (wobei ich jetzt nicht getestet habe wie "gleichzeitig" das jetzt [schon] ist).

Und man kann natürlich auch "einfach" über alles vom Typ GOOGLECAST "loopen" für den Fall, dass man immer alle einbeziehen will...
...weitere Alternative: man übergibt die GoogleCasts je Aufruf, für die das dann ausgeführt werden soll...


Und dann noch ein Notify auf "mediaPlayerState IDLE" zum Zurücksetzen nach der Ansage:

define nResetVolume notify .*mediaPlayerState:.IDLE {my_ResetVolume($NAME)}

Aufgerufen wird das dann wie folgt:

my_Ansage("Ansage-Text", Lautstärke)

Beispiel:
{my_Ansage("Das ist mal eine Ansage", 80)}

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 23 Januar 2018, 11:53:09
Sauber!
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 23 Januar 2018, 22:32:34
Will ja nicht nerven  ;) , aber nachdem ich Chromecast deaktiviert habe, sind keine unzähligen tcp-sockets mit danach folgendem reboot mehr aufgetreten. Bin ich wirklich der einzige mit dem Problem?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 23 Januar 2018, 22:39:29
Bin nur Herr der Lage geworden, indem ich die maximale Anzahl offene handles im Debian selbst massiv erhöht habe, ansonsten ist fhem regelmäßig abgestürzt. Ich möchte aber nicht auf dieses Modul verzichten, ich nutze die Googles intensiv.

Boote das System ausserdem alle 2 Tage neu, um die Leichen loszuwerden. Seitdem läuft es.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 23 Januar 2018, 22:41:17
Bei mir (noch) kein Problem

Fhem aktuell...

PI3 auf Raspbian Stretch lite (auch rel. aktuell)...

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 23 Januar 2018, 22:52:51
@DET20:
Ok, Du hattest also auch das Problem und auch zusammen mit GOOGLECHAST, wenn ich richtig verstanden habe. Das neu Booten macht er bei mir ja dank Watchdog selber - kann halt schon mal im ungünstigen Moment sein.


Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 23 Januar 2018, 23:00:13
Ja, bei mir stand fhem und ftui regelmäßig. Bevor der watchdog zur Stelle war, habe ich lieber die handles erhöht und starte das System kontrolliert selbst nachts neu.

Hoffe auch dringend auf Bugfix vom Modul.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 23 Januar 2018, 23:11:06
Danke für die Nachricht. Dann muss ich auch nicht weiter suchen. Vielleicht lasse ich das Modul mal probehalber auf einem Slave-System laufen und versuche mittels FHE2FHEM oder RFHEM zu verbinden. Habe da zum einen Raspberries, zum anderen ein virtuelles Debian auf dem NAS mit Intel-Prozessor. Jetzt sind aber gerade andere Aktivitäten vorrangig.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 26 Januar 2018, 09:36:34
Ich spiele auf meinen Chrome's die folgende URL ab (playFavorite) , sobald Licht angemacht wird. Nachdem Licht ausgeschaltet wird, wird der Stream mit 2 Minuten verzögerung wieder gestoppt:


http://edge.live.mp3.mdn.newmedia.nacamar.net/ps-radiolippe/livestream.mp3


Gestern abend ist da anscheinend was schief gegangen, danach wurde das Log geflutet:


2018.01.25 21:03:12 1: WARNING: sleep without additional commands is deprecated and blocks FHEM
ERROR: Unable to download webpage: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
ERROR: Unable to download webpage: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
ERROR: Unable to download webpage: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
ERROR: Unable to download webpage: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
ERROR: Unable to download webpage: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.


usw., mehrere hundert Einträge. Einmal ne Meldung hätte ja gereicht :) Interessant ist der Sleep Hinweis: Ich verwende Sleep nirgendwo ohne Parameter.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 26 Januar 2018, 10:36:08
ERROR: Unable to download webpage: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Das Problem hatte ich am 15.01. auch, mein FHEM stand komplett still. Mein fhem.log hatte da da schon eine Größe von knapp 900 MB erreicht. Normal sind bei mir am Monatsende 20 - 30 MB...

Also hier gibt es im Modul scheinbar wirklich noch ein massives Problem, zusätzlich zu dem, dass bei vielen Usern die Chromecasts nach einem Neustart auf "initialized" hängen bleiben anstatt auf "online" zu gehen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 26 Januar 2018, 10:48:49
Für meinen Teil muss ich aber auch zugeben, dass ich mich mit der Installation der notwendigen Komponenten etwas schwer getan habe und nicht sicher bin, ob eventuell da irgendwo sich etwas eingeschlichen hat. Als es zuletzt plötzlich lief war ich zwar froh, konnte aber nicht wirklich nachvollziehen, was jetzt der entscheidende Punkt war.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 26 Januar 2018, 10:51:24
Es läuft ja und ich bin wirklich mehr als happy, sowas wie Sonos für 29 EUR / Gerät bekommen zu haben. Es läuft aber leider noch nicht ganz rund, wofür aber mA nach das Modul nichts kann, sondern eher das darunterliegende pychromecast.

Frage mich nur, wieso das Log so geflutet wird. Ich habe playFavorite ja nur einmal aufgerufen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 03 Februar 2018, 17:31:30
Zitat von: Grml am 26 Januar 2018, 10:36:08
ERROR: Unable to download webpage: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Das Problem hatte ich am 15.01. auch, mein FHEM stand komplett still. Mein fhem.log hatte da da schon eine Größe von knapp 900 MB erreicht. Normal sind bei mir am Monatsende 20 - 30 MB...

Also hier gibt es im Modul scheinbar wirklich noch ein massives Problem, zusätzlich zu dem, dass bei vielen Usern die Chromecasts nach einem Neustart auf "initialized" hängen bleiben anstatt auf "online" zu gehen.
So, heute hatte ich genau das gleiche Problem wieder. FHEM hängt weil das Logfile für Februar knapp 900MB hatte... Und heute ist erst der 3.2... Jemand eine Idee, wie man das in den Griff bekommen kann?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 04 Februar 2018, 01:32:30
Bei mir schreibt fhem alle 5 Minuten einen timestamp in eine Datei.
Im System selbst laufen 2 chronjobs die versuchen fhem zu beenden und das System neu starten, wenn...

1. Der timestamp älter als 30 Minuten ist (= Fhem abgestürzt) oder
2. Die log Datei größer als 150 MByte ist (wird dann umbenannt)

Außerdem wird das System alle 2 Tage nachts um 4 neu gestartet

All dieser Aufwand für die Googles. Klappt aber.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 04 Februar 2018, 14:39:51
Zitat von: Det20 am 04 Februar 2018, 01:32:30
Im System selbst laufen 2 chronjobs ...
Dafür gibt es doch den Watchdog in Raspberry, oder? Zumindest für Punkt 1.

Und mit dem Problem der Sockets scheinen wir irgendwie aber auch doch nur vereinzelt betroffen sein?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 05 Februar 2018, 09:59:32
Status-Report

So, habe jetzt mal einen ganz anderen Weg gewählt. Ich habe meinen Raspberry Pi im Keller upgegraded auf jessie und habe dort mein seit Jahren eigentlich im Leerlauf vor sich hin laufende FHEM speziell für GOOGLECAST eingerichtet. Dieser Pi dient eigentlich mittels ser2net und CUL als CUNO-Ersatz.
Einrichten hat nach Post 1 soweit auch fast alles geklappt. Allerdings musste ich erst noch gcc aktualisieren, wurde beim Upgrade offensichtlich nicht durchgeführt oder war auf diesem Pi vielleicht sogar noch nie installiert.

Etwas seltsam sind die Reaktionen noch bisher. Mittels "play" einen Youtube-Beitrag zu spielen klappt selten, dann meist auch nur mit dem letzten Teil de Adresse, also statt

https://www.youtube.com/watch?v=LmgBPi3IgsI


nur

LmgBPi3IgsI

hinter play eingetragen.

Manchmal kommen dan bis um die 10 Einträge, dass Chromecast0825 initialisiert sei, einmal ist fhem auch komplett abgestürzt. Danach fand ich folgendes in der log:


2018.02.05 02:01:07 3: GOOGLECAST: Chromecast0825 initializing...
2018.02.05 02:10:56 3: GOOGLECAST: Chromecast0825 initializing...
2018.02.05 07:28:16 3: GOOGLECAST: Chromecast0825 initialized successfully
2018.02.05 07:28:17 3: GOOGLECAST: Chromecast0825 initialized successfully
2018.02.05 07:28:43 3: GOOGLECAST: Chromecast0825 initialized successfully
2018.02.05 07:28:46 3: GOOGLECAST: Chromecast0825 initialized successfully
2018.02.05 07:28:46 3: GOOGLECAST: Chromecast0825 initialized successfully
2018.02.05 07:28:51 3: GOOGLECAST: Chromecast0825 initialized successfully
2018.02.05 07:53:06 1: ERROR: Select error -1 (9), error count= 0
2018.02.05 07:53:06 1: Found and deleted bad fileno for GOOGLECAST-CC_Chromecast
PyChromecastStopped: Socket client's thread is stopped. at line 46
2018.02.05 07:53:26 1: BlockingInformParent (BlockingStart): Can't connect to localhost:7072: IO::Socket::INET: connect: Connection refused
2018.02.05 07:53:26 1: BlockingInformParent (GOOGLECAST_findChromecastsResult): Can't connect to localhost:7072: IO::Socket::INET: connect: Connection refused
2018.02.05 07:53:26 1: BlockingInformParent (BlockingStart): Can't connect to localhost:7072: IO::Socket::INET: connect: Connection refused
2018.02.05 07:53:26 1: BlockingInformParent (BlockingStart): Can't connect to localhost:7072: IO::Socket::INET: connect: Connection refused
2018.02.05 07:53:26 1: BlockingInformParent (BlockingStart): Can't connect to localhost:7072: IO::Socket::INET: connect: Connection refused
2018.02.05 07:53:26 1: BlockingInformParent (GOOGLECAST_findChromecastsResult): Can't connect to localhost:7072: IO::Socket::INET: connect: Connection refused
2018.02.05 07:53:26 1: BlockingInformParent (GOOGLECAST_findChromecastsResult): Can't connect to localhost:7072: IO::Socket::INET: connect: Connection refused
2018.02.05 07:53:26 1: BlockingInformParent (GOOGLECAST_findChromecastsResult): Can't connect to localhost:7072: IO::Socket::INET: connect: Connection refused
2018.02.05 07:53:47 1: BlockingInformParent (BlockingStart): Can't connect to localhost:7072: IO::Socket::INET: connect: Connection refused
2018.02.05 07:53:48 1: BlockingInformParent (GOOGLECAST_setPlayMedia_String): Can't connect to localhost:7072: IO::Socket::INET: connect: Connection refused


Ach ja, und der GOOGLECAST-CC_Chromecast taucht auch auf. Wurde beim Neustart zwar wieder entfernt, nach einigen Test ist er nun aber wieder da. Dennoch, Funktionen wie Pause, Lautstärke regeln usw funktionieren.

Jetzt will ich mal beobachten, ob sich grundsätzlich ein anderes Verhalten als am Cubie einstellt @Det20: Auf welcher Plattform betreibst Du das ganze?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 05 Februar 2018, 11:42:06
Raspberrypi / Debian 8

Noch ein Hinweis: Manchmal griff bei mir der STOP-Befehl nicht, die Chrome's spielten sporadisch munter weiter und haben STOP ignoriert. Erst mit nem FHEM Neustart war der Spuck vorbei.
Abhilfe: Ich spiele, wenn ich einen Chrome automatisiert stoppen will, einfach eine MP3 mit 1 Sekunde Stille ab.

https://github.com/anars/blank-audio
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 05 Februar 2018, 14:17:00
Ich habe für mich entschieden das Ganze nun erstmal abzuhaken :'(
Das Modul sowie pychromecast sind einfach zu wackelig. Und ohne Umwege über IFTTT kann man Google Home auch noch nicht für Spracheingabe nutzen (korrigiert mich, wenn ich falsch liege!).

Dann bleibe ich für die Spracheingabe dann doch erstmal bei Alexa (alexa-fhem) und Sprachausgabe gibts erstmal nicht.

Trotzdem danke für die Entwicklung bisher! Ich werde weiterhin in diesem Thread interessiert mitlesen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 05 Februar 2018, 14:20:28
Die Sprachsteuerung interessiert mich noch nicht, solange ich nicht halbwegs natürlich sprechen kann. Ich brauche ja bei Alexa eine Anleitung, um mir die Reihenfolge der Befehle zu merken. Wenn ich vor der Familie "Alexa, Trigger Jalousien Wohnzimmer hoch" sage, dann lachen die sich schlapp.

Das Modul ist für mich hauptsächlich als Sonos Alternative interessant. Ich habe 5 Chrome's á 29 EUR hier zustehen, günstiger geht es nicht.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 05 Februar 2018, 15:36:03
Zitat von: Grml am 05 Februar 2018, 14:17:00
Ich habe für mich entschieden das Ganze nun erstmal abzuhaken :'(
Das Modul sowie pychromecast sind einfach zu wackelig. Und ohne Umwege über IFTTT kann man Google Home auch noch nicht für Spracheingabe nutzen (korrigiert mich, wenn ich falsch liege!).

Dann bleibe ich für die Spracheingabe dann doch erstmal bei Alexa (alexa-fhem) und Sprachausgabe gibts erstmal nicht.

Trotzdem danke für die Entwicklung bisher! Ich werde weiterhin in diesem Thread interessiert mitlesen.

Es gibt quasi "das gleiche" (wie alexa-fhem) wohl auch für den Google Home:

https://github.com/yanniks/ghome-fhem

Es gibt auch einige Threads dazu hier im Forum...
Wollte ich mir auch schon mal anschauen, hatte nur bislang keine Zeit.

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 05 Februar 2018, 23:16:00
Zitat von: Det20 am 05 Februar 2018, 14:20:28
Die Sprachsteuerung interessiert mich noch nicht, solange ich nicht halbwegs natürlich sprechen kann. Ich brauche ja bei Alexa eine Anleitung, um mir die Reihenfolge der Befehle zu merken. Wenn ich vor der Familie "Alexa, Trigger Jalousien Wohnzimmer hoch" sage, dann lachen die sich schlapp.
Naja, das funktioniert im Prinzip ja mit "Talk2Fhem". Da lassen sich die Sätze selbst definieren und per RegEx verwurschteln. Das war mein ursprüngliches Ziel: Mit Google Home Talk2Fhem ansteuern. Zur Not auch über IFTTT. Aber dann hätte zumindest das "drumherum" stabil sein müssen, also das Modul und pychromecast.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: michaelw am 06 Februar 2018, 19:26:57
Zitat von: Stargrove1 am 28 Dezember 2017, 11:04:12
Ich habe ebenfalls keinen Erfolg, das Log gibt folgenden Fehler zurück, kann mir jemand erklären was fehlt bzw wie man es beheben kann?

Meldung im FHEM ist "Cannot load module GOOGLECAST "

Im Log steht:

Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 12, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/config.py", line 6, in <module>
    import requests
  File "/usr/local/lib/python2.7/dist-packages/requests/__init__.py", line 97, in <module>
    from . import utils
  File "/usr/local/lib/python2.7/dist-packages/requests/utils.py", line 24, in <module>
    from . import certs
ImportError: cannot import name certs
2017.12.28 11:00:35 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.

2017.12.28 11:00:35 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 553.


Also ich hatte bis heute das Problem das Googlecast Modul im Fhem ans laufen zu bringen und zwar mit der obigen Fehlermeldung. Bei mir läuft FHEM auf einer APU2 mit Ubuntu 16.04 LTS. Auf dem Gerät läuft außer FHEM noch einiges andere, unter anderem Certbot für Let's encrypt. Für den Certbot gab es heute ein Update. Ich glaube der der wurde von Python2 auf Python3 umgstellt. Und was soll ich sagen: Seit dem update und der Neuinstallation funktioniert das Google Cast Modul endlich. Python Modul requests verwendet unteranderem das Modul certifi. Und wenn ich das richtig verstanden habe, hängt der import von certs (siehe Fehlermeldung auch oben: ImportError: cannot import name certs) mit dem certifi Modul zusammen. Ich glaube das ganze hat sich mit meinem Certbot gebissen, der auch requests und certifi benötigt hat, aber über das APT repository das ganze installiert hat.

Vielleicht hilft es ja dem ein oder anderen...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: wk2000 am 07 Februar 2018, 04:11:09
Hallo, erstmal und vielen Dank für das Modul.

Leider scheint speak bzw. play nicht zu funktionieren, wenn die URL zu lang wird. Das ist sehr schade, weil ich mir gerade eine Abfahrtsansage basteln wollte.

So funktioniert es leider nicht:
http://translate.google.com/translate_tts?tl=de&client=tw-ob&q="Es%20fährt%20die%20ASTF5%20Richtung%20Königsplatz%20%20Mauerstraße%20in%2025%20Minuten%20,%20die%20RT5%20Richtung%20Melsungen%20in%2046%20Minuten%20und%20die%20ASTF5%20Richtung%20Königsplatz%20%20Mauerstraße%20in%2055%20Minuten."

Es funktioniert allerdings, wenn ich die URL vorher mit einem URL Shortener (?) kürze.

Ist das Problem bekannt? Gibt es einen workaround?

liebe grüße, WK
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Phill am 07 Februar 2018, 08:01:11
Speak kann doch direkt den Text verarbeiten ohne Google translate.

Gruß
EDIT: ich glaube das war Unfug, da intern natürlich auch Google translate verwendet wird. Richtig?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 07 Februar 2018, 09:56:37
Zitat von: Phill am 07 Februar 2018, 08:01:11
Richtig?

Yep.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: wk2000 am 07 Februar 2018, 10:02:13
Zitat von: Phill am 07 Februar 2018, 08:01:11
Speak kann doch direkt den Text verarbeiten ohne Google translate.

Gruß
EDIT: ich glaube das war Unfug, da intern natürlich auch Google translate verwendet wird. Richtig?

ja, das scheint so zu sein. Ich denke, dass speak "nur" den String nimmt und ihn in eine Google translate URL umbaut. Da es aber auch über den alten Weg nicht funktioniert, denke ich, dass irgendwo im Modul die Länge der URL begrenzt ist. 

trotzdem vielen Dank  :D


/Edit:
So wie es aussieht ist das aber eventuell auch die Begrenzung des google tts services.
hat jemand eine Idee, wie ich mehrere URLs möglichst einfach nacheinander abspielen kann?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: michaelw am 07 Februar 2018, 11:36:01
Zitat von: Det20 am 23 Januar 2018, 22:39:29
Bin nur Herr der Lage geworden, indem ich die maximale Anzahl offene handles im Debian selbst massiv erhöht habe, ansonsten ist fhem regelmäßig abgestürzt.

Ich habe das Modul, seit ich es gestern erfolgreich installieren konnte, jetzt aktiv und finde in Log folgende Meldungen:

2018.02.07 06:15:39 1: ERROR: Select error -1 (9), error count= 0
2018.02.07 06:15:39 1: Found and deleted bad fileno for GOOGLECAST-kueche.googlecast

Der Zeitpunkt ist kurz nachdem ich das Gerät per Funksteckdose abgeschaltet habe (nicht immer und nur eine pro Gerät). Insofern wird die Meldung bei mir damit zusammenhängen und vermutlich richtig sein. Es wäre allerdings schön, wenn solche Fälle irgenwie berücksichtigt würden und keine Fehlermeldungen produzieren würden (evtl. durch deaktivieren des Devices oder so).

Was aber eigentlich sagen will: Vielleicht hilft die Fehlermeldung bei der Suche nach dem Fehler mit den Handles. Das Problem klingt irgendwie so, als ob immer mehr Handles geöffnet werden. Vielleicht sollen die alten eigentlich automatisch gelöscht werden, es passiert aber nicht und deshalb lauft ihr in Probleme. Mein Log würde ich so interpretieren, als ob dies geschieht. Das sind aber alles nur Vermutungen eines Laien. Also nicht schlagen, falls das nichts miteinander zu tun hat. ;-)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: siggi85 am 07 Februar 2018, 12:21:00
Ich habe seit langem mal wieder ein FHEM Update gemacht. Seitdem funktioniert das GOOGLECAST Modul leider nicht mehr. :/ Ich habe gestern und heute schon einige Zeit verbracht, kriege es aber nicht zum Laufen.

Die konkrete Fehlermeldung im Log beim Laden des Moduls:
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 12, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/config.py", line 6, in <module>
    import requests
  File "/usr/local/lib/python2.7/dist-packages/requests/__init__.py", line 97, in <module>
    from . import utils
  File "/usr/local/lib/python2.7/dist-packages/requests/utils.py", line 24, in <module>
    from . import certs
[color=red][b]ImportError: cannot import name certs[/b][/color]
2018.02.07 12:14:00 1: reload: Error:Modul 98_GOOGLECAST deactivated:
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_GOOGLECAST.pm line 645.

2018.02.07 12:14:00 0: 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_GOOGLECAST.pm line 645.


Certs ist Teil von Requests. Habe sowohl das Modul separat oder auch über die Abhängigkeit mit pychromecast über pip mehrfach neu installiert. Auch mit der Option "--no-cache-dir", um ggf. fehlerhafte Downloads auszuschließen. Bin aber langsam mit meinem Latein am Ende. Die Dateien certs.py und certs.pyc sind im Verzeichnis "/usr/local/lib/python2.7/dist-packages/requests/" vorhanden und besitzen die gleichen Rechte wie die anderen Dateien.
Kann mir hier jemand helfen?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: michaelw am 07 Februar 2018, 12:32:45
Zitat von: siggi85 am 07 Februar 2018, 12:21:00
Kann mir hier jemand helfen?
Hast du irgendwas anderes installiert, was requests vorraussetzt? Bei mir lief bis gestern das Googlcast Modul nicht, auch mit der Meldung cannot import name certs. Gestern habe ich auf meinem Ubuntu ein Update für Certbot bekommen. Damit wurden auch ein paar andere Abhängigkeiten ebenfalls aktualisiert. Seit dem Certbot Update funktioniert das Ganze bei mir (also irgendwie umgekehrt zu deinem Verhalten). (siehe auch von mir von gestern.)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: siggi85 am 07 Februar 2018, 12:39:09
Zitat von: michaelw am 07 Februar 2018, 12:32:45
Hast du irgendwas anderes installiert, was requests vorraussetzt? Bei mir lief bis gestern das Googlcast Modul nicht, auch mit der Meldung cannot import name certs. Gestern habe ich auf meinem Ubuntu ein Update für Certbot bekommen. Damit wurden auch ein paar andere Abhängigkeiten ebenfalls aktualisiert. Seit dem Certbot Update funktioniert das Ganze bei mir (also irgendwie umgekehrt zu deinem Verhalten). (siehe auch von mir von gestern.)

Nach dem Update von FHEM hatte ich das Problem mit dem Modul requests. Nach dem ausführen der Befehle in der commandref (anscheinend haben sich im Laufe der Zeit weitere Abhängigkeiten ergeben), kam dann die certs Fehlermeldung. Seitdem habe ich während der Fehlersuche mitunter auch mal wieder ein "apt-get update/upgrade" durchgeführt.
Kann mir jemand ggf. den Inhalt der Certs.py schicken? Meine ist nämlich ziemlich kurz und würde checken ob (warum auch immer) die Datei nicht den richtigen bzw. genug Inhalt hat um als Modul importiert zu werden.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 11 Februar 2018, 19:33:11
Ich will ja nichts heraufbeschwören, aber auf meiner Sparversion auf dem Raspberry Pi scheint das ganze jetzt soweit zumindest stabil zu laufen, ohne dass diese Socket-Probleme auftreten. Allerdings nutze ich dieses Modul praktisch noch nicht direkt, da es jetzt wie gesagt auf einem Parallel-Universum zum Hauptsystem ohne jegliche Verknüpfung läuft.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 15 Februar 2018, 21:02:27
In fast allen Fällen kommt zunächst im Log "Found and deleted bad fileno for GOOGLECAST-irgendwas". Anschließend dann "GOOGLECAST (irgendwas): checkConnection, connection failure, reconnect...".
Die Verbindung wird also vom Mainloop beendet, weil das Handle ungültig ist. Die Frage ist, wieso die Verbindung zum Socket vom ccdevice plötzlich weg ist, im System aber offen bleibt.

Scheint aber eher Bug im pychromecast zu sein als im Modul. Es gibt ja regelmäßig ein Update davon, traue mich aber nicht, das zu installieren. Nachher geht wieder nix mehr.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 17 Februar 2018, 00:55:52
Hallo zusammen,
aus privaten Gründen fehlt mir gerade etwas die Zeit hier wieder mehr aktiv zu sein. Ich habe aber per Mail den Hinweis bekommen, dass es scheinbar noch immer Probleme mit offenen Sockets gibt?

Ich habe bei mir die letzte pychromecast Version und 98_GOOGLECAST in der Version 2.0.2. Mit 12 Tagen FHEM Uptime sehe ich bei mir nur folgende Connections
pi@raspberrypi ~ $ netstat -a|grep chrome
tcp      798      0 raspberrypi.local:39256 chromecast.lan:8009     CLOSE_WAIT
tcp      798      0 raspberrypi.local:39496 chromecast.lan:8009     CLOSE_WAIT
tcp      798      0 raspberrypi.local:50748 chromecast.lan:8009     CLOSE_WAIT
tcp     1276      0 raspberrypi.local:45874 chromecast.lan:8009     ESTABLISHED
tcp        0      0 raspberrypi.local:49110 chromecast.lan:8009     ESTABLISHED
tcp     1276      0 raspberrypi.local:38284 chromecast.lan:8009     ESTABLISHED

Prüft bitte mal ob ihr die letzten Versionen nutzt wg. den offenen Sockets.

Zur Anfrage wg. speak Limitierung auf 100 Zeichen. Ich kann mich erinnern, dass Google das mal auf 100 Zeichen limitiert hatte. Das dürfte wohl nicht mehr der Fall sein, daher werde ich die Limitierung rausnehmen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 17 Februar 2018, 02:23:56
Also ich hatte gerade auf meinem Minimal-FHEM auf dem Raspberry mit nahezu ausschließlich GOOGLECAST zu ersten mal die Log voll geknallt mit den Meldungen "Too many files open". Das war aber genau dann, als ich auch FireTV dahin verlagert hatte. Jetzt kann ich nicht mehr sagen, ob dies damals auf dem Hauptsystem auch erst dann auftrat (Man sollte auch bei sowas anfangen genau Protokoll zu führen).

Ob sich da etwas beißt? Habe jetzt FireTV wieder entfernt und sehe mal die nächten Tage weiter.

GOOGLECAST habe ich
98_GOOGLECAST.pm  15833 2018-01-08 19:44:11Z dominik
von wann ist die letzte Version von pychromecast? Wird das auch mit apt-get upgrade aktualisiert?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 17 Februar 2018, 09:16:46
PyChromecast sollte man mit
sudo pip install --upgrade pychromecast
installieren und aktualisieren.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 17 Februar 2018, 11:21:58
Was für ein Glück ...


pi@raspberrypi:~ $ sudo pip install --upgrade pychromecast
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    load_entry_point('pip==1.5.6', 'console_scripts', 'pip')()
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 356, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2476, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2190, in load
    ['__name__'])
  File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 74, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", line 9, in <module>
    from pip.download import path_to_url
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 25, in <module>
    from requests.compat import IncompleteRead
ImportError: cannot import name IncompleteRead
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 17 Februar 2018, 11:53:41
Schon ausprobiert
https://stackoverflow.com/questions/27341064/how-do-i-fix-importerror-cannot-import-name-incompleteread
?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 17 Februar 2018, 13:43:13
Ach dieses PIP Gedöns ist doch Mist, spiele nun nach knapp 1 Stunde ein Image zurück, es hat leider nix mehr funktioniert.
So recht werde ich aus den Trace-Fehlermeldungen auch nicht schlau, dagegen sind Java-Fehlermeldung ja ein Witz :)


2018.02.17 13:41:24 1: PERL WARNING: Subroutine GOOGLECAST_Read redefined at ./FHEM/98_GOOGLECAST.pm line 575, <$fh> line 1747.
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 12, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/config.py", line 6, in <module>
    import requests
  File "/usr/lib/python2.7/dist-packages/requests/__init__.py", line 68, in <module>
    _attach_namespace(urllib3, 'requests.packages')
  File "/usr/lib/python2.7/dist-packages/requests/__init__.py", line 63, in _attach_namespace
    module = __import__(name)
  File "/usr/local/lib/python2.7/dist-packages/urllib3/contrib/_securetransport/bindings.py", line 43, in <module>
    security_path = find_library('Security')
  File "/usr/lib/python2.7/ctypes/util.py", line 253, in find_library
    return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name))
  File "/usr/lib/python2.7/ctypes/util.py", line 246, in _findSoname_ldconfig
    f.close()
IOError: [Errno 10] No child processes
2018.02.17 13:41:24 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/Inline/Python.pm line 221.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 648.

2018.02.17 13:41:24 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/Inline/Python.pm line 221.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 648.


urllib3+ldconfig sind installiert, Anpassung in .PY gemacht.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 17 Februar 2018, 17:44:21
Installiere mal pychromecast komplett neu. Also zuerst komplett remove und dann install. Ich glaube deinen Fehler hatte ich auch mal.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 18 Februar 2018, 21:19:20
bei mir scheint das wesentliche aber aktuell zu sein. Auf dem Raspberry wird gar nichts aktualisiert, auf dem Cubietruck wird gemeldet:


root@cubie:~# sudo pip install --upgrade pychromecast
Requirement already up-to-date: pychromecast in /usr/local/lib/python2.7/dist-packages
Requirement already up-to-date: requests>=2.0 in /usr/local/lib/python2.7/dist-packages (from pychromecast)
Requirement already up-to-date: six>=1.10.0 in /usr/local/lib/python2.7/dist-packages (from pychromecast)
Requirement already up-to-date: protobuf>=3.0.0 in /usr/local/lib/python2.7/dist-packages (from pychromecast)
Requirement already up-to-date: zeroconf>=0.17.7 in /usr/local/lib/python2.7/dist-packages (from pychromecast)
Requirement already up-to-date: idna<2.7,>=2.5 in /usr/local/lib/python2.7/dist-packages (from requests>=2.0->pychromecast)
Requirement already up-to-date: urllib3<1.23,>=1.21.1 in /usr/local/lib/python2.7/dist-packages (from requests>=2.0->pychromecast)
Collecting certifi>=2017.4.17 (from requests>=2.0->pychromecast)
  Downloading certifi-2018.1.18-py2.py3-none-any.whl (151kB)
    100% |████████████████████████████████| 153kB 483kB/s
Requirement already up-to-date: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python2.7/dist-packages (from requests>=2.0->pychromecast)
Collecting setuptools (from protobuf>=3.0.0->pychromecast)
  Downloading setuptools-38.5.1-py2.py3-none-any.whl (489kB)
    100% |████████████████████████████████| 491kB 225kB/s
Requirement already up-to-date: netifaces!=0.10.5 in /usr/local/lib/python2.7/dist-packages (from zeroconf>=0.17.7->pychromecast)
Requirement already up-to-date: enum-compat in /usr/local/lib/python2.7/dist-packages (from zeroconf>=0.17.7->pychromecast)
Requirement already up-to-date: enum34 in /usr/local/lib/python2.7/dist-packages (from enum-compat->zeroconf>=0.17.7->pychromecast)
Installing collected packages: certifi, setuptools
  Found existing installation: certifi 2017.11.5
    Uninstalling certifi-2017.11.5:
      Successfully uninstalled certifi-2017.11.5
  Found existing installation: setuptools 38.4.0
    Uninstalling setuptools-38.4.0:
      Successfully uninstalled setuptools-38.4.0
Successfully installed certifi-2018.1.18 setuptools-38.5.1
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Kuzl am 19 Februar 2018, 07:19:36
Wie groß ist denn dieses PyChromecast?
Evtl. wärs doch besser die ganze Kommunikation selbst in die Hand zu nehmen und in Perl auszuprogrammieren.
Dann hat man die ganzen Probleme und das umständliche installieren und kompilieren nicht mehr.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 19 Februar 2018, 09:40:06
Kannst Du das? Ich glaube nicht, dass Dominik traurig wäre, wenn sich jemand dessen annehmen würde.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 20 Februar 2018, 00:08:10
Wenn das jemand in Perl umsetzen (und weiterentwickeln) will, immer gerne. Ich beziehe mich gerne auf bestehende Libraries um Aufwände zu reduzieren.
Nachdem Python aber aktuell mehr Hype als Perl hat, müsste man eher FHEM in Python abbilden, das würde viele Entwicklungen erleichtern, da doch einige Python Libraries vorhanden sind.

Btw, habe gerade noch einen Fix für die offenen Sockets am Laufen, am Wochenende gibt's dann hoffentlich eine finale Lösung.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: marvin78 am 20 Februar 2018, 07:32:03
Zitat von: dominik am 20 Februar 2018, 00:08:10
Nachdem Python aber aktuell mehr Hype als Perl hat, müsste man eher FHEM in Python abbilden,

Brr. Gruselige Vorstellung.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Kuzl am 20 Februar 2018, 13:40:53
Zitat von: duke-f am 19 Februar 2018, 09:40:06
Kannst Du das? Ich glaube nicht, dass Dominik traurig wäre, wenn sich jemand dessen annehmen würde.
Das ist vermutlich nur eine Frage der verfügbaren Zeit....
Im Moment bin ich leider mit meiner anstehenten Technikerprüfung etwas ausgelastet, aber danach schau ich mir das mal an (falls sich bis dahin kein anderer freiwillig meldet).
Das ist vermutlich immer noch weniger Aufwand als FHEM in Python abzubilden  ;D
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 23 Februar 2018, 21:36:35
Aktualisiert auf Version 2.1.0. Das Problem mit den offenen Verbindungen sollte nun behoben sein.

ACHTUNG: Wer PyChromecast auf Version 2.0.0 aktualisiert muss folgendes tun...

- sudo cpanm -U Inline::Python
- sudo pip uninstall pychromecast
- sudo apt install python3-pip
- sudo pip3 install pychromecast
- sudo ln -sf /usr/bin/python3 /usr/bin/python => Vorsicht: Danach verwenden alle Applikationen Python3! Es könnte also Auswirkungen auf andere Applikationen haben die Python verwenden.
- sudo cpanm Inline::Python

Danach läuft das Modul mit PyChromecast 2.0.0.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 24 Februar 2018, 02:12:56
Jetzt komme ich nicht dazu, bin aber neugierig. Die Tage werde ich das mal in meinem Testsystem durchprobieren. Vorher muss ich mir aber eine Sicherung anlegen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 24 Februar 2018, 16:24:58
Zitat von: dominik am 23 Februar 2018, 21:36:35
Aktualisiert auf Version 2.1.0. Das Problem mit den offenen Verbindungen sollte nun behoben sein.

ACHTUNG: Wer PyChromecast auf Version 2.0.0 aktualisiert muss folgendes tun...

- sudo cpanm -U Inline::Python
- sudo pip uninstall pychromecast
- sudo apt install python3-pip
- sudo pip3 install pychromecast
- sudo ln -sf /usr/bin/python3 /usr/bin/python => Vorsicht: Danach verwenden alle Applikationen Python3! Es könnte also Auswirkungen auf andere Applikationen haben die Python verwenden.
- sudo cpanm Inline::Python

Danach läuft das Modul mit PyChromecast 2.0.0.

...oder auch nicht :-(

Cannot load module GOOGLECAST

Exakt gemacht wie beschrieben, ist das mein Ergebnis.
FHEM neu gestartet, kompletten RPi neu gestartet, Updates alle gemacht.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 24 Februar 2018, 16:43:10
Alles fehlerfrei durchgelaufen?
Poste bitte mal das Log mit dem Fehler.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 24 Februar 2018, 18:15:29
Zitat von: dominik am 24 Februar 2018, 16:43:10
Alles fehlerfrei durchgelaufen?
Beim o.g. Upgrade? Ja, da ist alles fehlerfrei durch.

Zitat
Poste bitte mal das Log mit dem Fehler.
Im fhem.log habe ich Folgendes
2018.02.24 18:13:19 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/Inline/Python.pm line 221.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 657.

2018.02.24 18:13:19 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/Inline/Python.pm line 221.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 657.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 24 Februar 2018, 19:40:07
Bitte mal folgendes testen um zu prüfen ob Inline Python richtig funktioniert...
pi@raspberrypi ~ $ cat testpython3.pl

use Inline Python => << "ENDE";

import sys
print(sys.version_info[0])

ENDE

pi@raspberrypi ~ $ perl testpython3.pl
3
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Pr3mut05 am 24 Februar 2018, 20:49:09
Es muss doch noch eine manuelle Änderung einer Datei gemacht werden, oder ist das mit dem Update nicht mehr nötig?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 24 Februar 2018, 21:03:01
Zitat von: Pr3mut05 am 24 Februar 2018, 20:49:09
Es muss doch noch eine manuelle Änderung einer Datei gemacht werden, oder ist das mit dem Update nicht mehr nötig?
Das sollte mit Python3 entfallen - zumindest war es bei mir nicht nötig.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 24 Februar 2018, 21:50:31
Zitat von: dominik am 24 Februar 2018, 19:40:07
Bitte mal folgendes testen um zu prüfen ob Inline Python richtig funktioniert...
pi@raspberrypi ~ $ cat testpython3.pl

use Inline Python => << "ENDE";

import sys
print(sys.version_info[0])

ENDE

pi@raspberrypi ~ $ perl testpython3.pl
3

Ja, als Antwort bzw. Version kommt "3".
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Pr3mut05 am 24 Februar 2018, 23:57:17
OK
Ich konnte die Geräte schon mal einbinden
Wenn ich per Sprache z.B. das Radio starte, erscheint es auch im Reading
Lautstärke, Stop funktionieren auch

Allerdings funktionieren Befehle wie "Play" oder "Speak" nicht :/
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 25 Februar 2018, 13:18:03
@Grml, kannst du noch einen Reboot machen und die Fehlermeldungen von dort posten? Eigentlich sollte da mehr ersichtlich sein.

@Pr3mut05, stimmt, speak und play dürfte mit der PyChromecast 2.0.0 Version Probleme machen. Werde mir das mal genauer ansehen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Pr3mut05 am 25 Februar 2018, 21:35:34
Ich habe drei GoogleHome
Aber einen davon mag FHEM anscheinend nicht :/
Habe ich auch schon entfernt und neu eingebunden

Zitat2018.02.25 21:31:10 1: Found and deleted bad fileno for GOOGLECAST-GoogleHome_WZ
2018.02.25 21:31:17 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 172.
2018.02.25 21:31:17 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 173.
2018.02.25 21:31:29 3: GOOGLECAST: Wohnzimmer initialized successfully
2018.02.25 21:31:37 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 172.
2018.02.25 21:31:37 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 173.
2018.02.25 21:31:55 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 172.
2018.02.25 21:31:55 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 173.
2018.02.25 21:32:09 1: ERROR: Select error -1 (9), error count= 0
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 26 Februar 2018, 07:30:57
Zitat von: dominik am 25 Februar 2018, 13:18:03
@Grml, kannst du noch einen Reboot machen und die Fehlermeldungen von dort posten? Eigentlich sollte da mehr ersichtlich sein.

Ich bin leider nicht sooo der Linux-Profi... Welches LOG meinst Du? Ich habe mir DMESG angeschaut und außerdem /VAR/LOG/SYSLOG. Da ist aber alles im grünen Bereich, kein Fehler; wobei ich dort insgesamt nichts von Python bzw. pychromecast sehe.
Und im fhem.log steht auch nichts weiter, außer das, was ich weiter oben schon gepostet habe.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: michaelw am 27 Februar 2018, 14:55:42
Zitat von: dominik am 23 Februar 2018, 21:36:35
Danach läuft das Modul mit PyChromecast 2.0.0.

Kannst du nicht das Modul anweisen Python3 zu nutzen, statt das ganze Systemweit umzustellen? So mit #!/usr/bin/python3 oder sowas?


EDIT: Bei mir scheint funktioniert zu haben (nach den wie von Dominik angegebenen Befehlen)

sudo cpanm --reinstall Inline::Python (<-- Hierbei sollte nach meinem Verständnis das Inline Modul neuinstalliert werden und mit dem symbolischen Link auf Pyhton 3 umgestellt werden (also evtl. nicht nötig, bei mir war es das jedoch)...)
sudo ln -sf /usr/bin/python2.7 /usr/bin/python (<-- ...und das System mit ursprünglichen Python Version zu laufen)

Das Perl-Skript, das Dominik oben zum Test der Python Version angegeben hat, spuckt in meinem Fall nach der Prozedur Version 3 aus.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: gbomacfly am 27 Februar 2018, 20:32:40
Zitat von: dominik am 23 Februar 2018, 21:36:35
Aktualisiert auf Version 2.1.0. Das Problem mit den offenen Verbindungen sollte nun behoben sein.

ACHTUNG: Wer PyChromecast auf Version 2.0.0 aktualisiert muss folgendes tun...

- sudo cpanm -U Inline::Python
- sudo pip uninstall pychromecast
- sudo apt install python3-pip
- sudo pip3 install pychromecast
- sudo ln -sf /usr/bin/python3 /usr/bin/python => Vorsicht: Danach verwenden alle Applikationen Python3! Es könnte also Auswirkungen auf andere Applikationen haben die Python verwenden.
- sudo cpanm Inline::Python

Danach läuft das Modul mit PyChromecast 2.0.0.

Hmm, ich hab diese Änderungen jetzt gemacht und bei einem Neustart schmeisst mir FHEM folgendes ins Log:2018.02.27 20:23:03 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/x86_64-linux-gnu/perl/5.24.1/Inline/Python.pm line 221.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 657.

2018.02.27 20:23:03 0: Error -- py_eval raised an exception at /usr/local/lib/x86_64-linux-gnu/perl/5.24.1/Inline/Python.pm line 221.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 657.

2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_Initialize redefined at ./FHEM/98_GOOGLECAST.pm line 133, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_Define redefined at ./FHEM/98_GOOGLECAST.pm line 150, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_findChromecasts redefined at ./FHEM/98_GOOGLECAST.pm line 170, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_initDevice redefined at ./FHEM/98_GOOGLECAST.pm line 185, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_findChromecastsResult redefined at ./FHEM/98_GOOGLECAST.pm line 194, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_Attribute redefined at ./FHEM/98_GOOGLECAST.pm line 228, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_Set redefined at ./FHEM/98_GOOGLECAST.pm line 240, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_setVolume redefined at ./FHEM/98_GOOGLECAST.pm line 286, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_setWebsite redefined at ./FHEM/98_GOOGLECAST.pm line 296, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_setSpeak redefined at ./FHEM/98_GOOGLECAST.pm line 305, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType redefined at ./FHEM/98_GOOGLECAST.pm line 321, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType_String redefined at ./FHEM/98_GOOGLECAST.pm line 338, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia redefined at ./FHEM/98_GOOGLECAST.pm line 349, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia_String redefined at ./FHEM/98_GOOGLECAST.pm line 357, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMediaBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 371, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDl redefined at ./FHEM/98_GOOGLECAST.pm line 393, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDlBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 401, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_setStop redefined at ./FHEM/98_GOOGLECAST.pm line 414, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_setPlayFavorite redefined at ./FHEM/98_GOOGLECAST.pm line 425, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_setPlay redefined at ./FHEM/98_GOOGLECAST.pm line 432, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_setPause redefined at ./FHEM/98_GOOGLECAST.pm line 455, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_setRewind redefined at ./FHEM/98_GOOGLECAST.pm line 466, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_setSkip redefined at ./FHEM/98_GOOGLECAST.pm line 477, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_setQuitApp redefined at ./FHEM/98_GOOGLECAST.pm line 488, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_Undef redefined at ./FHEM/98_GOOGLECAST.pm line 498, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_Get redefined at ./FHEM/98_GOOGLECAST.pm line 507, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_updateReading redefined at ./FHEM/98_GOOGLECAST.pm line 511, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_newChash redefined at ./FHEM/98_GOOGLECAST.pm line 524, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_addSocketToMainloop redefined at ./FHEM/98_GOOGLECAST.pm line 547, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_checkConnection redefined at ./FHEM/98_GOOGLECAST.pm line 559, <$fh> line 1293.
2018.02.27 20:23:03 1: PERL WARNING: Subroutine GOOGLECAST_Read redefined at ./FHEM/98_GOOGLECAST.pm line 582, <$fh> line 1293.
2018.02.27 20:23:03 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/x86_64-linux-gnu/perl/5.24.1/Inline/Python.pm line 221.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 657.

2018.02.27 20:23:03 0: Error -- py_eval raised an exception at /usr/local/lib/x86_64-linux-gnu/perl/5.24.1/Inline/Python.pm line 221.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 657.


Das Testscript wirft ne 3, scheint also zu funktionieren.
Bevor ich das gemacht hab, ist mir fhem regelmäßig abgeschmiert, wegen "Found and deleted bad fileno for GOOGLECAST-Chromecast"
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: DerKoerper am 01 März 2018, 00:12:04
Einen schönen guten Abend,
ich bin recht neu mit FHEM (sieht man ja sicher auch bei der Postanzahl). Ich probiere mit dem Googlecast Modul nun schon ein paar Tage rum und habe eine Lösung für das Python2 & Python3 Problem gefunden. Habe ich übrigens rausbekommen, nachdem ich mir meinen DHCP-Server und noch ein paar andere zerschossen haben beim Versuch hart auf python3 umzustellen (konnte zwar den Chromecast definieren im FHEM aber leider hat der keine IP mehr bekommen  ;D )

Kurzversion der Lösung: Man kann beim Installieren von Inline::Python angeben welche Python version genutzt werden soll.

Hier mal der vollständige Installationsweg von mir:

btw.: Ich benutze einen BananaPi mit dem aktuellen armbian

sudo apt-get install libwww-perl python-enum34 python3-dev libextutils-makemaker-cpanfile-perl python3-pip cpanminus
sudo pip3 install wheel
sudo pip3 install enum34 --upgrade <-- hier bin ich mir nicht sicher obs notwendig ist, schaden kann es nicht
sudo pip3 install pychromecast --upgrade
sudo pip3 install youtube-dl --upgrade
sudo INLINE_PYTHON_EXECUTABLE=/usr/bin/python3.5 cpanm Inline::Python <-- hier entsprechend den Pfad zum gewünschten Python
sudo shutdown -r now

Bitte beachten: Ich musste python3-dev installieren, python-dev hat nicht funktioniert (was auch irgendwie Sinn macht in meinem Kopf)
Wer Inline::Python schon installiert hat muss vorher noch folgendes ausführen:
sudo cpanm --uninstall Inline::Python

...und tada, keine Fehler mehr im Logfile, ich konnte problemlos das define ausführen - ich kann den Chromecast auch leiser, lauter machen...ABER leider spielt er nix ab wenn ich ihm einen Link mitgebe... Es kommt das Plümplüm vom CC, aber es wird leider nix abgespielt... Wo da jetzt das Problem liegt verstehe ich noch nicht so richtig... Aber am Python wird es vermutlich nicht mehr liegen.

Vielleicht hilft es einigen, die wie ich Python2 nicht so hardcore ersetzen können/wollen wie Dominik es vorgeschlagen hat.

Grüße
Richard

edit:@michaelw - Nein Inline versteht sowas nicht, da es bereits die Python Version geladen hat bevor es überhaupt anfängt die Datei zu lesen. Bzw. wie an meiner Anleitung ersichtlich legt es sich bei der Installation schon fest.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 03 März 2018, 09:15:46
@Richard, vielen Dank für den Hinweis mit Python3! Ich hatte lange nach Möglichkeiten gesucht es nicht systemweit umstellen zu müssen, aber diese hatte ich nicht gefunden. Ich nehme das gleich mit in die CommandRef auf.

@all, es gibt noch einen Bug der leider bei Connection Fehlern FHEM zum Crash bringen kann. Ich bringe heute noch einen Fix dafür raus.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: DerKoerper am 03 März 2018, 12:42:23
Hab auch ewig gesucht - hab die Variable in der Makefile von Inline::Python gefunden... Stand leider nicht mal in der Doku dazu drin.

Du hattest geschrieben, dass play & speak mit pychromecast 2.0.0 wahrscheinlich Probleme macht, ist da eine Lösung in Sicht? Bei mir scheint es ja auch nicht zu funktionieren.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: pfefferkeks am 03 März 2018, 19:08:22
Guten Abend zusammen,

ich hatte ähnliche Probleme bzw. habe noch genau das gleiche Problem wie Richard.


@dominik: Danke für das Modul und deine Arbeit!

BG
Pfeffer
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 03 März 2018, 22:22:45
Den Fix für den Crash beim Reconnect habe ich nun mit 2.1.1 released.

Bzgl. des "Plümplüm" Problems (was für ein super Name :D) bin ich noch auf Fehlersuche.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: b4r7 am 04 März 2018, 23:46:58
Hi,

ich hab nach einer Neuinstallation (chown -R www-data:www-data /)  :o >:( ;D :-X :-[
Nach langem hin und her das Modul zum laufen gebracht.

Ich bekomme jetzt aber ständig folgendes ins Log gemüllt:

2018.03.04 23:42:11 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 176.
2018.03.04 23:42:11 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 177.
2018.03.04 23:42:30 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 176.
2018.03.04 23:42:30 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 177.
2018.03.04 23:42:48 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 176.
2018.03.04 23:42:48 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 177.
2018.03.04 23:43:07 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 176.
2018.03.04 23:43:07 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 177.
2018.03.04 23:43:25 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 176.
2018.03.04 23:43:25 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 177.
2018.03.04 23:43:44 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 176.
2018.03.04 23:43:44 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 177.
2018.03.04 23:44:02 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 176.
2018.03.04 23:44:02 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 177.
2018.03.04 23:44:21 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 176.
2018.03.04 23:44:21 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 177.
2018.03.04 23:44:40 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 176.
2018.03.04 23:44:40 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 177.
2018.03.04 23:44:58 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 176.
2018.03.04 23:44:58 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 177.
2018.03.04 23:45:17 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 176.
2018.03.04 23:45:17 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 177.
2018.03.04 23:45:35 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 176.
2018.03.04 23:45:35 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 177.
2018.03.04 23:45:54 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 176.
2018.03.04 23:45:54 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 177.
2018.03.04 23:46:12 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 176.
2018.03.04 23:46:12 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 177.
2018.03.04 23:46:31 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 176.
2018.03.04 23:46:31 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 177.


Jemand ne Ahnung?

edit: Asche auf mein Haupt: Reboot tut gut.... ::)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: DaniM am 05 März 2018, 18:13:21
Hallo zusammen,

ich bin absoluter Neuling hier und auch in FHEM.

Das Modul läuft bei mir ohne Probleme und Play, Pause, Skip funktionieren tadellos.

Jedoch geht bei mir auf Play gar nichts... Ziel wäre ein Internetradio laufen zu lassen. Jedoch passiert einfach nichts. Getestet habe ich es mit dem Youtube Link.

Im Log kommt folgender Fehler:
2018.03.05 18:05:52 3: GOOGLECAST(Party.chromecast): setPlayMedia_String, youtube-dl couldn't find video

Kann mir hier jemand helfen?

Danke
Daniel
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Pr3mut05 am 05 März 2018, 20:31:55
Ja, Play (und Speak) funktionieren leider (noch?!) nicht :/
Wäre für mich eigentlich die primäre Funktion :/ Denn die Steuerung sehe ich als relativ unrelevant.

Solange diese Funktion nicht verfügbar ist, lohnt sich das einbinden für mich gar nicht.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 06 März 2018, 08:18:03
Kann ich leider (oder zum Glück?) nicht bestätigen.


define Google_Wohnzimmer GOOGLECAST Wohnzimmer
attr Google_Wohnzimmer favoriteURL_1 http://edge.live.mp3.mdn.newmedia.nacamar.net/ps-radiolippe/livestream.mp3
attr Google_Wohnzimmer favoriteURL_2 http://www.ndr.de/resources/metadaten/audio/m3u/ndr2.m3u


Wenn ich nun fhem("set Google_Wohnzimmer playFavorite 1") abschicke, läuft alles korrekt. Auch die Sprachausgabe läuft:


  fhem("set Google_Wohnzimmer play http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Hallo%20Welt");
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: gbomacfly am 06 März 2018, 08:35:31
Leider hab ich wieder massig Einträge im Log:2018.03.06 05:50:33 1: ERROR: Select error -1 (9), error count= 0
2018.03.06 05:50:33 1: Found and deleted bad fileno for GOOGLECAST-Chromecast
2018.03.06 05:55:33 1: ERROR: Select error -1 (9), error count= 0
2018.03.06 05:55:33 1: Found and deleted bad fileno for GOOGLECAST-Chromecast
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 06 März 2018, 08:43:17
War Dein Internet zu dem Zeitpunkt down? Im Hintergrund baut pychromcast eine Verbindung auf, das Modul 98_GoogleCast greift darauf zurück und speichert sich diese Verbindung (Handle). FHEM-MainLoop erkennt, dass das Handle ungültig ist, weil z.B. Internet kurzfristig down war und gibt es frei.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: acw81 am 06 März 2018, 11:41:15
Hallo Dominik,

ich habe in letzter Zeit ungefähr im 2 Tagesrhythmus Abstürze meines FHEM und bin nun über deinen Post bzgl. einem Crash im GOOGLECAST Modul gestoßen (bzw. von CoolTux darauf aufmerksam gemacht worden  ;) ):

Zitat von: dominik am 03 März 2018, 22:22:45
Den Fix für den Crash beim Reconnect habe ich nun mit 2.1.1 released.

Bzgl. des "Plümplüm" Problems (was für ein super Name :D) bin ich noch auf Fehlersuche.

Dies letzen Zeilen in meinem FHEM Log sehen wie folgt nach dem Crash aus:


2018.03.06 03:08:02.065 1: ERROR: Select error -1 (9), error count= 0
2018.03.06 03:08:02.072 1: Found and deleted bad fileno for GOOGLECAST-ez_HomeMini
exceptions.AttributeError: 'NoneType' object has no attribute 'close' at line 491
Loaded private key file from ./log/otr.private_key-jabberclient-fhemjabber
otr: Heartbeat received from XXX.


Könnte mein Absturz mit deinem Fix behoben sein?

Grüße
Andreas
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 06 März 2018, 11:45:23
Ja.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: gbomacfly am 06 März 2018, 18:40:49
Zitat von: Det20 am 06 März 2018, 08:43:17
War Dein Internet zu dem Zeitpunkt down? Im Hintergrund baut pychromcast eine Verbindung auf, das Modul 98_GoogleCast greift darauf zurück und speichert sich diese Verbindung (Handle). FHEM-MainLoop erkennt, dass das Handle ungültig ist, weil z.B. Internet kurzfristig down war und gibt es frei.
Ahhh, das kann natürlich sein, hab derzeit öfter mal Probleme mit dem Internet. In den paar tagen, wo das Modul bei mir nicht ging, hatte ich das allerdings weniger. Hmmm.

Danke für die Erklärung!
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Pr3mut05 am 06 März 2018, 20:07:39
Zitat von: Det20 am 06 März 2018, 08:18:03
Kann ich leider (oder zum Glück?) nicht bestätigen.


define Google_Wohnzimmer GOOGLECAST Wohnzimmer
attr Google_Wohnzimmer favoriteURL_1 http://edge.live.mp3.mdn.newmedia.nacamar.net/ps-radiolippe/livestream.mp3
attr Google_Wohnzimmer favoriteURL_2 http://www.ndr.de/resources/metadaten/audio/m3u/ndr2.m3u


Wenn ich nun fhem("set Google_Wohnzimmer playFavorite 1") abschicke, läuft alles korrekt. Auch die Sprachausgabe läuft:


  fhem("set Google_Wohnzimmer play http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Hallo%20Welt");


Kommandos wie "Stop" funktionieren
Wenn ich ein "Play" wähle, gibt der Home zwar einen Signalton aus, mehr aber nicht :/
Des weiteren habe ich noch das Problem das einer von drei home immer offline bleibt

Ich habe die Kommandos aus dem ersten Post genommen

sudo apt-get install libwww-perl python-enum34 python-dev libextutils-makemaker-cpanfile-perl python-pip cpanminus
sudo pip install netifaces
sudo pip install enum34
sudo pip install pychromecast
sudo pip install youtube-dl
sudo cpanm Inline::Python


und die von Update auf PyChromecast

- sudo cpanm -U Inline::Python
- sudo pip uninstall pychromecast
- sudo apt install python3-pip
- sudo pip3 install pychromecast
- sudo ln -sf /usr/bin/python3 /usr/bin/python => Vorsicht: Danach verwenden alle Applikationen Python3! Es könnte also Auswirkungen auf andere Applikationen haben die Python verwenden.
- sudo cpanm Inline::Python


In der commandref ist aber wieder ein zusät licher Befehl
sudo INLINE_PYTHON_EXECUTABLE=/usr/bin/python3 cpanm Inline::Python


Was wäre jetzt der korrekte Weg?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Sailor am 06 März 2018, 20:45:34
Moin zusammen

Ich habe mich an folgende Anweisung gehalten:

Zitat von: dominik am 23 Februar 2018, 21:36:35
ACHTUNG: Wer PyChromecast auf Version 2.0.0 aktualisiert muss folgendes tun...

- sudo cpanm -U Inline::Python
- sudo pip uninstall pychromecast
- sudo apt install python3-pip
- sudo pip3 install pychromecast
- sudo ln -sf /usr/bin/python3 /usr/bin/python => Vorsicht: Danach verwenden alle Applikationen Python3! Es könnte also Auswirkungen auf andere Applikationen haben die Python verwenden.
- sudo cpanm Inline::Python


Mit folgendem Resultat in der Shell:

sudo cpanm -U Inline::Python
Inline::Python contains the following files:

  /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/Inline/Python.pm
  /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/Inline/Python.pod
  /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/auto/Inline/Python/Python.so
  /usr/local/man/man3/Inline::Python.3pm

Are you sure you want to uninstall Inline::Python? [y] y

Unlink: /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/Inline/Python.pm
Unlink: /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/Inline/Python.pod
Unlink: /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/auto/Inline/Python/Python.so
Unlink: /usr/local/man/man3/Inline::Python.3pm
Unlink: /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/auto/Inline/Python/.packlist


sudo pip uninstall pychromecast
Uninstalling PyChromecast-2.0.0:
  /usr/local/lib/python3.4/dist-packages/PyChromecast-2.0.0.dist-info/DESCRIPTION.rst
  /usr/local/lib/python3.4/dist-packages/PyChromecast-2.0.0.dist-info/METADATA
  /usr/local/lib/python3.4/dist-packages/PyChromecast-2.0.0.dist-info/RECORD
  /usr/local/lib/python3.4/dist-packages/PyChromecast-2.0.0.dist-info/WHEEL
  /usr/local/lib/python3.4/dist-packages/PyChromecast-2.0.0.dist-info/metadata.json
  /usr/local/lib/python3.4/dist-packages/PyChromecast-2.0.0.dist-info/top_level.txt
  /usr/local/lib/python3.4/dist-packages/pychromecast/__init__.py
  /usr/local/lib/python3.4/dist-packages/pychromecast/__pycache__/__init__.cpython-34.pyc
  /usr/local/lib/python3.4/dist-packages/pychromecast/__pycache__/authority_keys_pb2.cpython-34.pyc
  /usr/local/lib/python3.4/dist-packages/pychromecast/__pycache__/cast_channel_pb2.cpython-34.pyc
  /usr/local/lib/python3.4/dist-packages/pychromecast/__pycache__/config.cpython-34.pyc
  /usr/local/lib/python3.4/dist-packages/pychromecast/__pycache__/dial.cpython-34.pyc
  /usr/local/lib/python3.4/dist-packages/pychromecast/__pycache__/discovery.cpython-34.pyc
  /usr/local/lib/python3.4/dist-packages/pychromecast/__pycache__/error.cpython-34.pyc
  /usr/local/lib/python3.4/dist-packages/pychromecast/__pycache__/logging_pb2.cpython-34.pyc
  /usr/local/lib/python3.4/dist-packages/pychromecast/__pycache__/socket_client.cpython-34.pyc
  /usr/local/lib/python3.4/dist-packages/pychromecast/authority_keys_pb2.py
  /usr/local/lib/python3.4/dist-packages/pychromecast/cast_channel_pb2.py
  /usr/local/lib/python3.4/dist-packages/pychromecast/config.py
  /usr/local/lib/python3.4/dist-packages/pychromecast/controllers/__init__.py
  /usr/local/lib/python3.4/dist-packages/pychromecast/controllers/__pycache__/__init__.cpython-34.pyc
  /usr/local/lib/python3.4/dist-packages/pychromecast/controllers/__pycache__/dashcast.cpython-34.pyc
  /usr/local/lib/python3.4/dist-packages/pychromecast/controllers/__pycache__/media.cpython-34.pyc
  /usr/local/lib/python3.4/dist-packages/pychromecast/controllers/__pycache__/plex.cpython-34.pyc
  /usr/local/lib/python3.4/dist-packages/pychromecast/controllers/__pycache__/youtube.cpython-34.pyc
  /usr/local/lib/python3.4/dist-packages/pychromecast/controllers/dashcast.py
  /usr/local/lib/python3.4/dist-packages/pychromecast/controllers/media.py
  /usr/local/lib/python3.4/dist-packages/pychromecast/controllers/plex.py
  /usr/local/lib/python3.4/dist-packages/pychromecast/controllers/youtube.py
  /usr/local/lib/python3.4/dist-packages/pychromecast/dial.py
  /usr/local/lib/python3.4/dist-packages/pychromecast/discovery.py
  /usr/local/lib/python3.4/dist-packages/pychromecast/error.py
  /usr/local/lib/python3.4/dist-packages/pychromecast/logging_pb2.py
  /usr/local/lib/python3.4/dist-packages/pychromecast/socket_client.py
Proceed (y/n)? y
  Successfully uninstalled PyChromecast-2.0.0


sudo apt install python3-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-pip is already the newest version.
The following packages were automatically installed and are no longer required:
  libasprintf0c2 libelfg0 libgpgme11 python-colorama python-distlib python-html5lib python-wheel
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 46 not upgraded.


sudo pip3 install pychromecast
Collecting pychromecast
  Downloading PyChromecast-2.0.0-py2.py3-none-any.whl (41kB)
    100% |████████████████████████████████| 51kB 569kB/s
Requirement already satisfied: zeroconf>=0.17.7 in /usr/local/lib/python3.4/dist-packages (from pychromecast)
Requirement already satisfied: protobuf>=3.0.0 in /usr/local/lib/python3.4/dist-packages (from pychromecast)
Requirement already satisfied: requests>=2.0 in /usr/local/lib/python3.4/dist-packages (from pychromecast)
Requirement already satisfied: netifaces!=0.10.5 in /usr/local/lib/python3.4/dist-packages (from zeroconf>=0.17.7->pychromecast)
Requirement already satisfied: setuptools in /usr/local/lib/python3.4/dist-packages (from protobuf>=3.0.0->pychromecast)
Requirement already satisfied: six>=1.9 in /usr/local/lib/python3.4/dist-packages (from protobuf>=3.0.0->pychromecast)
Requirement already satisfied: idna<2.7,>=2.5 in /usr/local/lib/python3.4/dist-packages (from requests>=2.0->pychromecast)
Requirement already satisfied: urllib3<1.23,>=1.21.1 in /usr/local/lib/python3.4/dist-packages (from requests>=2.0->pychromecast)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.4/dist-packages (from requests>=2.0->pychromecast)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python3.4/dist-packages (from requests>=2.0->pychromecast)
Installing collected packages: pychromecast
Successfully installed pychromecast-2.0.0


sudo ln -sf /usr/bin/python3 /usr/bin/python

sudo cpanm Inline::Python
--> Working on Inline::Python
Fetching http://www.cpan.org/authors/id/N/NI/NINE/Inline-Python-0.56.tar.gz ... OK
Configuring Inline-Python-0.56 ... OK
Building and testing Inline-Python-0.56 ... OK
Successfully installed Inline-Python-0.56
1 distribution installed


Dann habe ich in fhem versucht das Device zu laden: "define TR_Googlecast GOOGLECAST TV Room.

Mit dem Ergebnis aus dem Log

raceback (most recent call last):
  File "<string>", line 3, in <module>
ImportError: No module named pychromecast
2018.03.06 20:41:54.044 1: reload: Error:Modul 98_GOOGLECAST deactivated:
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_GOOGLECAST.pm line 657.

2018.03.06 20:41:54.045 0: 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_GOOGLECAST.pm line 657.


Kann mir Jemand ein Tipp geben, was ich hier falsch mache?

Gruss
    Sailor
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: KOAL am 06 März 2018, 22:27:10
Hallo,

hätte eine Frage, und zwar kann man dem Chromcast (Google Home) auch ein Reading von einem Gerät zum "sprechen" weitergeben.
zB.: Temperatur usw... so in etwa.."Es hat [GERÄT:READING] Crad.

..derzeit kann Ich "nur" SPEAK Text senden den ich vorgebe aber ich kann noch keine Setze oder Strings bauen,..geht das?



DANKE
LG
KOAL
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: acw81 am 07 März 2018, 08:42:46
Klar geht das ;-) Den String musst du aber schon selbst zusammenbasteln. Mir sagt mein HomeMini z.B. abends, wenn ich ins Bett gehe, welche Geräte noch laufen und ich noch ausschalten muss. Wo ist das Problem einen String mit der Temperatur von einem Sensor zu generieren?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: DerKoerper am 07 März 2018, 15:48:38
@Sailor: Hast du schon gecheckt ob dein Inline auch definitiv auf Python 3 läuft?
Bei mir war es mit der gleichen Fehlermeldung das Problem und bei einigen anderen auch - einfach mal ne Testdatei anlegen:
zB. testpython.pl, rein muss

use Inline Python => << "ENDE";

import sys
print(sys.version_info[0])

ENDE


dann mit Perl ausführen
perl testpython.pl jetzt sollte da ne 3 rauskommen.

Wenn da noch ne 2 steht versuch mal meinen Weg (der es auch in die commandref geschafft hat  8) ):
sudo cpanm --uninstall Inline::Python
sudo INLINE_PYTHON_EXECUTABLE=/usr/bin/python3.5 cpanm Inline::Python <-- hier entsprechend den Pfad zum gewünschten Python bitte erst checken welche auf deinem system existieren

reboot und inline-testdatei nochmal ausführen und hoffen ;-)

@Pr3mut05:
Es müssten beide Wege funktionieren, nur dass du mit der aktuellen Variante aus der commandref Python nicht systemweit hart auf Version 3 stellst sondern NUR für das Inline Modul. Hart umstellen kann halt dazu führen, dass andere V3-inkompatible Sachen die auf Python laufen den Dienst quittieren.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: KOAL am 07 März 2018, 23:38:11
Zitat von: acw81 am 07 März 2018, 08:42:46
Klar geht das ;-) Den String musst du aber schon selbst zusammenbasteln. Mir sagt mein HomeMini z.B. abends, wenn ich ins Bett gehe, welche Geräte noch laufen und ich noch ausschalten muss. Wo ist das Problem einen String mit der Temperatur von einem Sensor zu generieren?

Hallo,
das war jetzt nicht sonderlich hilfreich. :)
Aber nachdem bestätig wurde das es funktionmiert habe ich es nun selbst geschafft, JUHUU! (freut man sich eh mehr)

   

define TEST_STRING at +*00:00:10 {
#Wert vom Gerät
my $WERT = (ReadingsVal('Sz_1.Luftreiniger','temperature','0'));;
#Text vor dem Wert
my $VTEXT = "DieTemperaturbeträgt";;
#Text nach dem Wert
my $NTEXT = "Krad";;
#zusammengesetzt
my $SPEAK = $VTEXT.$WERT.$NTEXT;;
#Ausgabe
fhem ("set TEST_STRING_DUMMY $SPEAK");;
fhem ("set Wohnzimmer.chromecast speak $SPEAK")
}

Das darf gern kopiert werden falls es jemand brauchen kann.  ;D



DANKE
LG
KOAL
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: benedikt-wue am 08 März 2018, 19:34:22
Guten Abend...
ich verzweifle hier gerade völligst bei dem Versuch, das Modul zum laufen zu bringen...
Ich habe alle Schritte befolgt für die Installation der Pakete, gestern abend lief es kurz, allerdings hat er meinen Chromecast nicht verbinden können--- Device gelöscht, neu definiert --> Cannot load module... Wurde ja eigentlich nichts geändert. Also das Modul komplett aus dem FHEM - Ordner gelöscht, per update all in FHEM neu geladen, selbes Ergebnis --> Cannot load module... Ich kapiere es gerade absolut nicht... Python 3.5.3 ist laut der Shell installiert... allerdings scheint dem FHEM irgendwas mit PERL zu fehlen oder verstehe ich da die Logfile falsch?

2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_Initialize redefined at ./FHEM/98_GOOGLECAST.pm line 137.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_Define redefined at ./FHEM/98_GOOGLECAST.pm line 154.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_findChromecasts redefined at ./FHEM/98_GOOGLECAST.pm line 174.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_initDevice redefined at ./FHEM/98_GOOGLECAST.pm line 189.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_findChromecastsResult redefined at ./FHEM/98_GOOGLECAST.pm line 198.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_Attribute redefined at ./FHEM/98_GOOGLECAST.pm line 232.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_Set redefined at ./FHEM/98_GOOGLECAST.pm line 244.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_setVolume redefined at ./FHEM/98_GOOGLECAST.pm line 290.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_setWebsite redefined at ./FHEM/98_GOOGLECAST.pm line 300.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_setSpeak redefined at ./FHEM/98_GOOGLECAST.pm line 309.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType redefined at ./FHEM/98_GOOGLECAST.pm line 326.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType_String redefined at ./FHEM/98_GOOGLECAST.pm line 343.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia redefined at ./FHEM/98_GOOGLECAST.pm line 354.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia_String redefined at ./FHEM/98_GOOGLECAST.pm line 362.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMediaBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 377.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDl redefined at ./FHEM/98_GOOGLECAST.pm line 399.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDlBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 407.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_setStop redefined at ./FHEM/98_GOOGLECAST.pm line 421.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_setPlayFavorite redefined at ./FHEM/98_GOOGLECAST.pm line 432.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_setPlay redefined at ./FHEM/98_GOOGLECAST.pm line 439.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_setPause redefined at ./FHEM/98_GOOGLECAST.pm line 462.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_setRewind redefined at ./FHEM/98_GOOGLECAST.pm line 473.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_setSkip redefined at ./FHEM/98_GOOGLECAST.pm line 484.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_setQuitApp redefined at ./FHEM/98_GOOGLECAST.pm line 495.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_Undef redefined at ./FHEM/98_GOOGLECAST.pm line 505.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_Get redefined at ./FHEM/98_GOOGLECAST.pm line 514.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_updateReading redefined at ./FHEM/98_GOOGLECAST.pm line 518.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_newChash redefined at ./FHEM/98_GOOGLECAST.pm line 531.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_addSocketToMainloop redefined at ./FHEM/98_GOOGLECAST.pm line 554.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_checkConnection redefined at ./FHEM/98_GOOGLECAST.pm line 570.
2018.03.08 19:25:22 1: PERL WARNING: Subroutine GOOGLECAST_Read redefined at ./FHEM/98_GOOGLECAST.pm line 602.
2018.03.08 19:25:22 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 221.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 677.

2018.03.08 19:25:22 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1/Inline/Python.pm line 221.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 677.


Wäre für Hilfe sehr dankbar, da hier doch einige ChromeCasts ebenso wie GoogleHomes rumgeistern, die gerne von FHEM gefüttert werden würden...

Schöne Grüße
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Sailor am 09 März 2018, 06:47:24
Hallo an die Experten von GoogleCast

Ist Jemand in der Lage eine (geprüfte) Installationsanweisung bereit zu stellen, bei der man von einem jungfräulichem RasPi Stretch Image ausgeht?
https://www.raspberrypi.org/downloads/raspbian/

Mit anderen Worten: Das Image ist installiert und fhem läuft in der ganz jungfräulichen Basis-Version.

Ich vermute das Problem, dass wir unterschiedliche Python Konfigurationen haben. Nicht zuletzt weil ich noch nie Python verwendet habe.

Ich denke, das würde Jedem helfen.

Als Gegenleistung wäre ich bereit, die englische Commandref von GoogleCast ins Deutsche zu übersetzen.

Danke!

Gruß
    Sailor
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 09 März 2018, 10:41:02
Zitat von: Sailor am 09 März 2018, 06:47:24
Hallo an die Experten von GoogleCast

Ist Jemand in der Lage eine (geprüfte) Installationsanweisung bereit zu stellen, bei der man von einem jungfräulichem RasPi Stretch Image ausgeht?
https://www.raspberrypi.org/downloads/raspbian/

Mit anderen Worten: Das Image ist installiert und fhem läuft in der ganz jungfräulichen Basis-Version.

Ich vermute das Problem, dass wir unterschiedliche Python Konfigurationen haben. Nicht zuletzt weil ich noch nie Python verwendet habe.

Ich denke, das würde Jedem helfen.

Als Gegenleistung wäre ich bereit, die englische Commandref von GoogleCast ins Deutsche zu übersetzen.

Danke!

Gruß
    Sailor

Ich kann's heut Abend mal versuchen.
Bzw. zunächst mal meinen "Installations-Mitschnitt" posten...

Bleibt nur die Frage wie lange die Anleitung korrekt bleibt.

Neueres Stretch Image oder ein durch upgrade "modernisiertes" oder ein, zwei, drei fhem Updates später oder...
...und schon stimmt die Anleitung nicht mehr...

Aber ich probier's mal aus...

Einen PI hab ich noch rumliegen... ;)

EDIT1: dauert noch bissi. Ich Dödel hab aus Versehen ein neuestes Stretch-Image (was ich noch rumliegen hatte) aufgespielt statt einem Stretch-Lite... Gut, dann halt noch mal von vorne... :-|

EDIT2: so ein frisches nacktes fhem hab ich schon mal. Das sichere ich gleich mal weg, man weiß ja nie ;)   Und dann lege ich mal los...

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Sailor am 09 März 2018, 12:15:28
Hallo Joachim

Zitat von: MadMax-FHEM am 09 März 2018, 10:41:02
Ich kann's heut Abend mal versuchen.
Neueres Stretch Image oder ein durch upgrade "modernisiertes" oder ein, zwei, drei fhem Updates später oder...
...und schon stimmt die Anleitung nicht mehr...
Aber ich probier's mal aus...

Danke!

Gruss
    Sailor
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: benedikt-wue am 09 März 2018, 14:58:20
Na das klingt doch mal gut... Danke an die Beteiligten... In der Hoffnung, dass das ganze dann funktioniert, da ein Zusammenspiel von Fhem und Google natürlich ne tolle Sache wäre...

Gesendet von meinem ZTE BLADE V0800 mit Tapatalk

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Sailor am 09 März 2018, 19:47:48
Moin dominik

Anbei der pod mit der deutschen Übersetzung zur Implementierung

War ja nicht so viel

Gruss
    Sailor


=pod
=item device
=item summary Easily control your Google Cast devices (Video, Audio, Google Home)
=item summary_DE Einfache Steuerung deiner Google Cast Geräte (Video, Audio, Google Home)
=begin html

<a name="GOOGLECAST"></a>
<h3>GOOGLECAST</h3>
<ul>
  GOOGLECAST is used to control your Google Cast device<br><br>
        <b>Note</b><br>Make sure that python3 is installed. Following packages are required:
        <ul>
          <li>sudo apt-get install libwww-perl python-enum34 python-dev libextutils-makemaker-cpanfile-perl python3-pip cpanminus</li>
          <li>sudo pip3 install pychromecast --upgrade</li>
          <li>sudo pip3 install youtube-dl --upgrade</li>
          <li>sudo INLINE_PYTHON_EXECUTABLE=/usr/bin/python3 cpanm Inline::Python</li>
        </ul>

  <br>
  <br>
  <a name="GOOGLECASTdefine" id="GOOGLECASTdefine"></a>
    <b>Define</b>
  <ul>
    <code>define &lt;name&gt; GOOGLECAST &lt;name&gt;</code><br>
    <br>
    Example:
    <ul>
      <code>define livingroom.chromecast GOOGLECAST livingroom</code><br><br>
      Wait a few seconds till presence switches to online...<br><br>
      <code>set livingroom.chromecast play https://www.youtube.com/watch?v=YE7VzlLtp-4</code><br>
    </ul>
    <br>
    Following media types are supported:<br>
    <a href="https://developers.google.com/cast/docs/media">Supported media formats</a><br>
    Play with youtube-dl works for following URLs:<br>
    <a href="https://rg3.github.io/youtube-dl/supportedsites.html">Supported youtube-dl sites</a><br>
    <br>
  </ul>

  <br>

  <a name="GOOGLECASTset" id="GOOGLECASTset"></a>
  <b>Set</b>
  <ul>
    <code>set &lt;name&gt; &lt;command&gt; [&lt;parameter&gt;]</code><br>
               The following commands are defined:<br><br>
        <ul>
          <li><code><b>play</b> URL</code> &nbsp;&nbsp;-&nbsp;&nbsp; play from URL</li>
          <li><code><b>play</b></code> &nbsp;&nbsp;-&nbsp;&nbsp; play, like resume if paused previsously</li>
          <li><code><b>playFavorite</b></code> &nbsp;&nbsp;-&nbsp;&nbsp; plays URL from favoriteURL_[1-5]</li>
          <li><code><b>stop</b></code> &nbsp;&nbsp;-&nbsp;&nbsp; stop, stops current playback</li>
          <li><code><b>pause</b></code> &nbsp;&nbsp;-&nbsp;&nbsp; pause</li>
          <li><code><b>quitApp</b></code> &nbsp;&nbsp;-&nbsp;&nbsp; quit current application, like YouTube</li>
          <li><code><b>skip</b></code> &nbsp;&nbsp;-&nbsp;&nbsp; skip track and play next</li>
          <li><code><b>rewind</b></code> &nbsp;&nbsp;-&nbsp;&nbsp; rewind track and play it again</li>
          <li><code><b>displayWebsite</b></code> &nbsp;&nbsp;-&nbsp;&nbsp; displayWebsite on Chromecast Video</li>
          </ul>
    <br>
    </ul>
   
    <a name="GOOGLECASTattr" id="GOOGLECASTattr"></a>
        <b>Attributes</b>
          <ul>
            <li><code><b>favoriteURL_[1-5]</b></code> &nbsp;&nbsp;-&nbsp;&nbsp; save URL to play afterwards with playFavorite [1-5]</li>
         </ul>
         <br>

    <a name="GOOGLECASTget" id="GOOGLECASTget"></a>
        <b>Get</b>
          <ul>
            <code>n/a</code>
         </ul>
         <br>

</ul>

=end html
=begin html_DE

<a name="GOOGLECAST"></a>
<h3>GOOGLECAST</h3>
<ul>
  GOOGLECAST wird zur Steueung deines Google Cast Devices verwendet<br><br>
        <b>Note</b><br>Es ist sicherzustellen, dass  python3 installiert ist. Zus&auml;tzlich werden folgende Pakete ben&ouml;tigt:
        <ul>
          <li>sudo apt-get install libwww-perl python-enum34 python-dev libextutils-makemaker-cpanfile-perl python3-pip cpanminus</li>
          <li>sudo pip3 install pychromecast --upgrade</li>
          <li>sudo pip3 install youtube-dl --upgrade</li>
          <li>sudo INLINE_PYTHON_EXECUTABLE=/usr/bin/python3 cpanm Inline::Python</li>
        </ul>

  <br>
  <br>
  <a name="GOOGLECASTdefine" id="GOOGLECASTdefine"></a>
    <b>Define</b>
  <ul>
    <code>define &lt;name&gt; GOOGLECAST &lt;name&gt;</code><br>
    <br>
    Beispiel:
    <ul>
      <code>define livingroom.chromecast GOOGLECAST livingroom</code><br><br>
      Warte ein paar Sekunden bis das Ger&auml;t als ONLINE angezeigt wird...<br><br>
      <code>set livingroom.chromecast play https://www.youtube.com/watch?v=YE7VzlLtp-4</code><br>
    </ul>
    <br>
    Die folgenden Medienformate werden unterst&uuml;tzt:<br>
    <a href="https://developers.google.com/cast/docs/media">Unterst&uuml;tzte Medienformate</a><br>
    Das Abspielen mittels youtube-dl funktioniert f&uuml;r die folgenden URLs:<br>
    <a href="https://rg3.github.io/youtube-dl/supportedsites.html">Unterst&uuml;tzte youtube-dl - Seiten</a><br>
    <br>
  </ul>

  <br>

  <a name="GOOGLECASTset" id="GOOGLECASTset"></a>
  <b>Set</b>
  <ul>
    <code>set &lt;name&gt; &lt;command&gt; [&lt;parameter&gt;]</code><br>
               Die folgenden Befehle sind definiert:<br><br>
        <ul>
          <li><code><b>play</b> URL</code> &nbsp;&nbsp;-&nbsp;&nbsp; Abspielen einer URL</li>
          <li><code><b>play</b></code> &nbsp;&nbsp;-&nbsp;&nbsp; Abspielen im Sinne von Wiederaufnahme eines zuvor pausierten Abspielvorgangs</li>
          <li><code><b>playFavorite</b></code> &nbsp;&nbsp;-&nbsp;&nbsp; spielt die URL aus den Favoriten favoriteURL_[1-5] ab</li>
          <li><code><b>stop</b></code> &nbsp;&nbsp;-&nbsp;&nbsp; unterbricht den augenblicklichen Abspielvorgang</li>
          <li><code><b>pause</b></code> &nbsp;&nbsp;-&nbsp;&nbsp; pause</li>
          <li><code><b>quitApp</b></code> &nbsp;&nbsp;-&nbsp;&nbsp; schlie&szlig;t die gegenw&auml;rtige Applikation wie beispielsweise YouTube</li>
          <li><code><b>skip</b></code> &nbsp;&nbsp;-&nbsp;&nbsp; unterbricht das gegenw&auml;rtige Kapitel bzw. Lied und springt zum N&auml;chsten</li>
          <li><code><b>rewind</b></code> &nbsp;&nbsp;-&nbsp;&nbsp; springt zum Anfang des gegenw&auml;rtigen Kapitels bzw. Liedes</li>
          <li><code><b>displayWebsite</b></code> &nbsp;&nbsp;-&nbsp;&nbsp; anzeigen einer Webseite auf Chromecast Video</li>
        </ul>
    <br>
    </ul>
   
    <a name="GOOGLECASTattr" id="GOOGLECASTattr"></a>
        <b>Attribute</b>
          <ul>
            <li><code><b>favoriteURL_[1-5]</b></code> &nbsp;&nbsp;-&nbsp;&nbsp; Abspeichern von URL - Favoriten um mittels playFavorite [1-5] - Befehl abgespielt zu werden.</li>
         </ul>
         <br>

    <a name="GOOGLECASTget" id="GOOGLECASTget"></a>
        <b>Get</b>
          <ul>
            <code>n/a</code>
         </ul>
         <br>

</ul>
=end html_DE
=cut
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 09 März 2018, 20:09:59
So, fertig (erst mal).

Leider: plim-Problem...

Folgendes habe ich getan:

Aktuelles Raspbian Stretch lite ;)
(2017-11-29-raspbian-stretch-lite.img)

HW: PI3

Dann:

- update/upgrade
- raspi-config: extend file system, 16MB video, locale (en+de utf8) plus Zeitzone Berlin

fhem installiert nach debian.fhem.de plus anschließendem fhem update.

Dann leider laut erstem Threadeintrag begonnen:

sudo apt-get install libwww-perl python-enum34 python-dev libextutils-makemaker-cpanfile-perl python-pip cpanminus

daher dann wieder:

sudo apt-get purge python-pip
sudo apt-get install python3-pip

Da python --version (immer noch) was mit 2.7.13 angezeigt hat, habe ich:

sudo apt-get install python3

wobei mein PI dann meinte python3 wäre schon aktuell ;)

python3 --version liefert dann: Python 3.5.3


pi@raspberrypi:~ $ python --version
Python 2.7.13


pi@raspberrypi:~ $ sudo apt-get install python3
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python3 is already the newest version (3.5.3-1).
python3 set to manually installed.
The following packages were automatically installed and are no longer required:
  libpython-all-dev python-all python-all-dev python-cffi-backend python-crypto python-cryptography python-dbus python-gi python-idna
  python-ipaddress python-keyring python-keyrings.alt python-pkg-resources python-pyasn1 python-secretstorage python-setuptools python-six
  python-wheel python-xdg
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.


pi@raspberrypi:~ $ which python
/usr/bin/python



pi@raspberrypi:~ $ which python3
/usr/bin/python3


Dann weiter wie in der Commandref...


pi@raspberrypi:~ $ sudo pip3 install pychromecast --upgrade
Collecting pychromecast
  Downloading PyChromecast-2.0.0-py2.py3-none-any.whl (41kB)
    100% |████████████████████████████████| 51kB 708kB/s
Collecting requests>=2.0 (from pychromecast)
  Downloading requests-2.18.4-py2.py3-none-any.whl (88kB)
    100% |████████████████████████████████| 92kB 822kB/s
Collecting zeroconf>=0.17.7 (from pychromecast)
  Downloading zeroconf-0.20.0-py2.py3-none-any.whl
Collecting protobuf>=3.0.0 (from pychromecast)
  Downloading protobuf-3.5.2-py2.py3-none-any.whl (388kB)
    100% |████████████████████████████████| 389kB 557kB/s
Collecting certifi>=2017.4.17 (from requests>=2.0->pychromecast)
  Downloading certifi-2018.1.18-py2.py3-none-any.whl (151kB)
    100% |████████████████████████████████| 153kB 1.1MB/s
Collecting urllib3<1.23,>=1.21.1 (from requests>=2.0->pychromecast)
  Downloading urllib3-1.22-py2.py3-none-any.whl (132kB)
    100% |████████████████████████████████| 133kB 827kB/s
Collecting idna<2.7,>=2.5 (from requests>=2.0->pychromecast)
  Downloading idna-2.6-py2.py3-none-any.whl (56kB)
    100% |████████████████████████████████| 61kB 1.2MB/s
Collecting chardet<3.1.0,>=3.0.2 (from requests>=2.0->pychromecast)
  Downloading chardet-3.0.4-py2.py3-none-any.whl (133kB)
    100% |████████████████████████████████| 143kB 1.0MB/s
Collecting netifaces!=0.10.5 (from zeroconf>=0.17.7->pychromecast)
  Downloading https://www.piwheels.org/simple/netifaces/netifaces-0.10.6-cp35-cp35m-linux_armv7l.whl (40kB)
    100% |████████████████████████████████| 40kB 137kB/s
Collecting setuptools (from protobuf>=3.0.0->pychromecast)
  Downloading setuptools-38.5.2-py2.py3-none-any.whl (490kB)
    100% |████████████████████████████████| 491kB 407kB/s
Collecting six>=1.9 (from protobuf>=3.0.0->pychromecast)
  Downloading six-1.11.0-py2.py3-none-any.whl
Installing collected packages: certifi, urllib3, idna, chardet, requests, netifaces, zeroconf, setuptools, six, protobuf, pychromecast
  Found existing installation: idna 2.2
    Not uninstalling idna at /usr/lib/python3/dist-packages, outside environment /usr
  Found existing installation: setuptools 33.1.1
    Not uninstalling setuptools at /usr/lib/python3/dist-packages, outside environment /usr
  Found existing installation: six 1.10.0
    Not uninstalling six at /usr/lib/python3/dist-packages, outside environment /usr
Successfully installed certifi-2018.1.18 chardet-3.0.4 idna-2.6 netifaces-0.10.6 protobuf-3.5.2 pychromecast-2.0.0 requests-2.18.4 setuptools-38.5.2 six-1.11.0 urllib3-1.22 zeroconf-0.20.0


dann:


pi@raspberrypi:~ $ sudo pip3 install youtube-dl --upgrade
Collecting youtube-dl
  Downloading youtube_dl-2018.3.3-py2.py3-none-any.whl (1.7MB)
    100% |████████████████████████████████| 1.7MB 167kB/s
Installing collected packages: youtube-dl
Successfully installed youtube-dl-2018.3.3


und dann noch:


pi@raspberrypi:~ $ sudo INLINE_PYTHON_EXECUTABLE=/usr/bin/python3 cpanm Inline::Python
--> Working on Inline::Python
Fetching http://www.cpan.org/authors/id/N/NI/NINE/Inline-Python-0.56.tar.gz ... OK
Configuring Inline-Python-0.56 ... OK
==> Found dependencies: Test::Number::Delta, Test::Deep, Inline, Proc::ProcessTable
--> Working on Test::Number::Delta
Fetching http://www.cpan.org/authors/id/D/DA/DAGOLDEN/Test-Number-Delta-1.06.tar.gz ... OK
Configuring Test-Number-Delta-1.06 ... OK
Building and testing Test-Number-Delta-1.06 ... OK
Successfully installed Test-Number-Delta-1.06
--> Working on Test::Deep
Fetching http://www.cpan.org/authors/id/R/RJ/RJBS/Test-Deep-1.127.tar.gz ... OK
Configuring Test-Deep-1.127 ... OK
Building and testing Test-Deep-1.127 ... OK
Successfully installed Test-Deep-1.127
--> Working on Inline
Fetching http://www.cpan.org/authors/id/I/IN/INGY/Inline-0.80.tar.gz ... OK
Configuring Inline-0.80 ... OK
==> Found dependencies: Test::Warn
--> Working on Test::Warn
Fetching http://www.cpan.org/authors/id/B/BI/BIGJ/Test-Warn-0.32.tar.gz ... OK
Configuring Test-Warn-0.32 ... OK
==> Found dependencies: Sub::Uplevel
--> Working on Sub::Uplevel
Fetching http://www.cpan.org/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.2800.tar.gz ... OK
Configuring Sub-Uplevel-0.2800 ... OK
Building and testing Sub-Uplevel-0.2800 ... OK
Successfully installed Sub-Uplevel-0.2800
Building and testing Test-Warn-0.32 ... OK
Successfully installed Test-Warn-0.32
Building and testing Inline-0.80 ... OK
Successfully installed Inline-0.80
--> Working on Proc::ProcessTable
Fetching http://www.cpan.org/authors/id/J/JW/JWB/Proc-ProcessTable-0.55.tar.gz ... OK
Configuring Proc-ProcessTable-0.55 ... OK
Building and testing Proc-ProcessTable-0.55 ... OK
Successfully installed Proc-ProcessTable-0.55
Building and testing Inline-Python-0.56 ... OK
Successfully installed Inline-Python-0.56
7 distributions installed


Sollte also alles richtig sein und gepasst haben...

Dann beim Define: cannot Load Module...


2018.03.09 19:43:50 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Failed to autogenerate /opt/fhem/_Inline/config-arm-linux-gnueabihf-thread-multi-64int-5.024001.

at ./FHEM/98_GOOGLECAST.pm line 677.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 677.

2018.03.09 19:43:50 0: Failed to autogenerate /opt/fhem/_Inline/config-arm-linux-gnueabihf-thread-multi-64int-5.024001.

at ./FHEM/98_GOOGLECAST.pm line 677.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 677.


Das Verzeichnis etc. war da...
Gut: reboot ;)

Danach ließ sich das Modul laden, also mein GoogleCast (Google Home) anlegen :)

Dachte schon: toll geht!

Leider aber dann bei set GOOGLECAST speak "Hallo Test!" nur ein "plim"...

Parallel an meiner bestehenden Testinstallation die funktioniert:

Stretch lite (etwas älter, so eine Version davor aber mit upgrade vor einiger Zeit) und der "alten" Installationsmethode inkl. der "Codeanpassung" die irgendwo Mitten in dem Thread vorkommt läuft das Modul bzw. der GOOGLECAST (selber Google Home) ohne Probleme also bzgl. Sprachausgabe (viel mehr mache ich damit aktuell noch nicht).

Weitere Ausnahme (glaube ich): ich habe auf meinem Testsystem den youtube-dl nicht installiert...
...und das fhem dort ist etwas älter (hatte die letzten Tage keine Zeit für Updates)...


Latest Revision: 16219

File                         Rev   Last Change

fhem.pl                      16214 2018-02-18 14:37:28Z rudolfkoenig
39_alexa.pm                  15047 2017-09-10 18:05:05Z justme1968
96_allowed.pm                16200 2018-02-17 12:34:42Z rudolfkoenig
73_AMADCommBridge.pm         15825 2018-01-08 08:15:54Z CoolTux
90_at.pm                     15795 2018-01-05 20:46:21Z rudolfkoenig
98_autocreate.pm             15620 2017-12-16 18:10:36Z rudolfkoenig
10_CUL_HM.pm                 16212 2018-02-18 13:05:21Z martinp876
95_Dashboard.pm              12251 2016-10-03 09:45:43Z talkabout
98_dewpoint.pm               15927 2018-01-19 15:46:47Z hotbso
98_dummy.pm                  12700 2016-12-02 16:49:42Z rudolfkoenig
37_echodevice.pm             15724 2017-12-29 22:59:44Z michael.winkler
91_eventTypes.pm             14888 2017-08-13 12:07:12Z rudolfkoenig
01_FHEMWEB.pm                16153 2018-02-11 17:02:29Z rudolfkoenig
92_FileLog.pm                15874 2018-01-13 17:16:33Z rudolfkoenig
98_freezemon.pm              16219 2018-02-18 21:55:20Z KernSani
72_FRITZBOX.pm               16187 2018-02-15 18:14:12Z tupol
98_GOOGLECAST.pm             16197 2018-02-16 23:58:50Z dominik
37_harmony.pm                15971 2018-01-23 13:41:25Z justme1968
98_help.pm                   15223 2017-10-10 10:14:24Z betateilchen
98_HMinfo.pm                 16210 2018-02-18 10:18:37Z martinp876
00_HMUARTLGW.pm              16166 2018-02-13 19:52:08Z mgernoth
98_HTTPMOD.pm                16216 2018-02-18 15:26:11Z StefanStrobel
30_HUEBridge.pm              16186 2018-02-15 17:34:08Z justme1968
31_HUEDevice.pm              16091 2018-02-05 12:38:36Z justme1968
98_Hyperion.pm               15533 2017-12-01 11:40:09Z DeeSPe
# $Id: 99_joUtils.pm 1.2 2015-01-02 Joachim Scharnagl $ #
98_JsonList2.pm              13757 2017-03-20 19:17:02Z rudolfkoenig
70_KODI.pm                   15355 2017-10-30 14:42:22Z vbs
74_Nmap.pm                   14107 2017-04-26 03:51:05Z igami
91_notify.pm                 15937 2018-01-20 13:43:28Z rudolfkoenig
73_PRESENCE.pm               16177 2018-02-14 08:58:43Z markusbloch
33_readingsGroup.pm          16030 2018-01-28 19:16:05Z justme1968
98_serviced.pm               15511 2017-11-27 22:42:14Z DeeSPe
00_SIGNALduino.pm            15471 2017-11-21 23:34:50Z Sidey
32_speedtest.pm              12056 2016-08-22 19:30:31Z justme1968
98_statistics.pm             15455 2017-11-19 12:30:39Z tupol
99_SUNRISE_EL.pm             15572 2017-12-08 22:18:13Z rudolfkoenig
98_SVG.pm                    16123 2018-02-08 17:24:17Z rudolfkoenig
42_SYSMON.pm                 15910 2018-01-16 23:07:56Z hexenmeister
No Id found for 39_TEERKO.pm
98_telnet.pm                 15676 2017-12-23 19:33:43Z rudolfkoenig
No Id found for 98_TVSender.pm
99_Utils.pm                  15713 2017-12-28 11:01:02Z rudolfkoenig
98_version.pm                15140 2017-09-26 09:20:09Z markusbloch
98_weblink.pm                14888 2017-08-13 12:07:12Z rudolfkoenig
No Id found for 71_XiaomiSmartHome.pm
No Id found for 71_XiaomiSmartHome_Device.pm

Blocking.pm                  15412 2017-11-09 14:34:29Z rudolfkoenig
Color.pm                     11159 2016-03-30 16:08:06Z justme1968
DevIo.pm                     15939 2018-01-20 17:17:19Z rudolfkoenig
FritzBoxUtils.pm             14541 2017-06-19 09:13:10Z rudolfkoenig
HMConfig.pm                  16070 2018-02-03 15:50:55Z martinp876
HttpUtils.pm                 15631 2017-12-17 12:33:03Z rudolfkoenig
RTypes.pm                    10476 2016-01-12 21:03:33Z borisneubert
SetExtensions.pm             16211 2018-02-18 11:59:09Z rudolfkoenig
TcpServerUtils.pm            15707 2017-12-27 14:41:21Z rudolfkoenig

fhemweb.js                 16153 2018-02-11 17:02:29Z rudolfkoenig
fhemweb_readingsGroup.js   15189 2017-10-03 17:53:27Z justme1968
svg.js                     15896 2018-01-14 21:35:42Z rudolfkoenig


Tja das war's erst mal von meiner Seite...

...was kann ich noch testen/tun?

Allerdings weiß ich nicht genau wann ich wieder (so viel) Zeit habe ;)

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Sailor am 09 März 2018, 21:17:39
Hallo Joachim

Zitat von: MadMax-FHEM am 09 März 2018, 20:09:59
Tja das war's erst mal von meiner Seite...
...was kann ich noch testen/tun?
Allerdings weiß ich nicht genau wann ich wieder (so viel) Zeit habe ;)

Das war schon mal sehr hilfreich! Damit habe ich Googlecast unter fhem schon mal zum Laufen gebracht!
Danke dir!

Ich kann mit quitApp immer auf den Bildschirmschoner zurückkehren und mit volume die Lautstärke ändern.

Allerdings:
- zeigt mir der speak - Befehl mit dem Wort "Hello" nur das Chromecast Symbol auf dem Bildschirm an.
- zeigt mir der displayWebsite - Befehl mit der Adresse "http://www.tagesschau.de" nur "DashCast" in der Mitte und "Waiting for address" unten an.
- wird der play - Befehl mit einer richtigen youtube - Adresse einfach ignoriert und im log taucht ein Eintrag mit "GOOGLECAST(TR_Googlecast): setPlayMedia_String, youtube-dl couldn't find video" auf.

Habe ich da noch eine Einstellung vergessen?

Gruss
    Sailor
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 10 März 2018, 10:02:34
Hallo zusammen,

leider geht speak, play und displayWebsite weiterhin noch nicht. Ich bin noch auf Fehlersuche woran das liegt.
Sobald es ein Update gibt, gebe ich hier Bescheid.

@Sailor, danke für die CommandRef, das nehme ich beim nächsten Update gleich mit auf.

Im 1. Post habe ich nun eine Referenz auf die CommandRef eingefügt. Nur dort halte ich den Installationsprozess aktuell.

Gruß
Dominik
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 10 März 2018, 10:29:50
Zitat von: dominik am 10 März 2018, 10:02:34
Im 1. Post habe ich nun eine Referenz auf die CommandRef eingefügt. Nur dort halte ich den Installationsprozess aktuell.

Hallo Dominik,

das ist gut!
Hatte schon vor das vorzuschlagen... ;)


Zitat von: dominik am 10 März 2018, 10:02:34
leider geht speak, play und displayWebsite weiterhin noch nicht. Ich bin noch auf Fehlersuche woran das liegt.
Sobald es ein Update gibt, gebe ich hier Bescheid.

Wenn ich etwas tun/testen kann einfach melden.

Habe einen Google Home und einen Home Mini...
...und eben einen PI "über" mit aktuell neu aufgesetztem Stretch lite und "nacktem" fhem (image habe ich und kann ich immer mal wieder einspielen) und eben Installation nach "Vorgabe" von GOOGLECAST.

EDIT: habe eben mein funktionierendes Testsystem auf die aktuelle fhem Version geupdated. Dort geht es weiterhin... :)

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 10 März 2018, 10:45:28
Nutzt du noch Python 2 und die alte Pychromecast Version?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 10 März 2018, 10:51:37
Zitat von: dominik am 10 März 2018, 10:45:28
Nutzt du noch Python 2 und die alte Pychromecast Version?

Auf dem laufenden Testsystem: vermutlich. Also alte/ältere Pychromecast bestimmt. Python ist beides drauf, also python (Python 2.7.13) und python3 (Python 3.5.3). Habe aber bei der Installation (war damals, hmm wann genau weiß ich leider nicht mehr) nichts spezielles angegeben. Leider aber auch nicht mitnotiert welchen genauen Schritte ich durchgeführt habe (mache ich norm. immer), vielleicht finde ich noch was.

EDIT: Vermutlich bin ich nach dem ersten Thread-Beitrag vorgegangen und dann hatte ich eben ein Problem und mit der Suche bin ich dann drauf gestoßen, dass man in einer Datei (weiß leider nicht mehr wo/welcher) etwas anpassen soll, damit lief es dann...

Wie bekomme ich raus welche Pychromecast ich habe?

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 10 März 2018, 10:59:43
Ok, danke für die Info. Dann hast du ziemlich sicher noch die alte PyChromecast Version. Weil mit Python 2 wäre die nicht mehr kompatibel. Aber ist schon eine gute Info, das bedeutet, dass Python3 oder PyChromecast 2.0.0 Probleme macht.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 10 März 2018, 11:02:13
Bitte gerne!

Das war ja einfach ;)

Wenn du noch was brauchst, einfach melden.

Habe ja die beiden Systeme "parallel"...

Würde aber lieber am 2ten Testsystem (neu aufgesetztes/"nacktes") rumschrauben denn am alten/bestehenden (und funktionierenden).

Übrigens die Probleme mit den Sockets etc. hatte ich noch nicht/nie...

Gruß und viel Erfolg, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 10 März 2018, 21:10:46
Endlich geschafft :)

Version 2.1.2 (gerade eingecheckt) funktioniert nun mit Python 3 und PyChromecast 2.0.0 - speak, play, displayWebsite läuft damit

Es lag daran, dass Inline::Python keine UTF-8 Strings an den Python Code übergibt und Python 3 aber genau diese erwartet. Über SVN Update könnt ihr die neue Version bereits jetzt aktualisieren, oder morgen per update.

Gruß
Dominik
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 10 März 2018, 21:17:01
Hi Dominik,

super danke!

Werde aber erst morgen testen können...
...bin grad außer Haus.

Könnte zwar einspielen aber nicht testen, ob der Google Home mehr als nur "pling" von sich gibt ;)

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Pr3mut05 am 11 März 2018, 09:36:43
In einen ersten Test funktioniert bei mir PLAY und SPEAK \o/

Allerdings gehen wir die Geräte immer wieder offline :/
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 11 März 2018, 09:49:23
Poste bitte dein Log mit verbose 5. Bei mir geht die Verbindung auch ab und zu verloren, das liegt manchmal am RPi WLAN.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Pr3mut05 am 11 März 2018, 17:34:51
Zitat von: dominik am 11 März 2018, 09:49:23
Poste bitte dein Log mit verbose 5. Bei mir geht die Verbindung auch ab und zu verloren, das liegt manchmal am RPi WLAN.

Alle Geräte gelöscht
RasPi neu gestartet
Alle Geräte neu angelegt

Bis jetzt läuft alles einwandfrei :D
Auch mein dritter GoogleHome, der bis zur letzten Version (unverständlicher Weise) immer wieder Probleme machte läuft jetzt \o/

Die integration von Google Home ist für mich ein Meilenstein in Sachen Smart Home und PLAY und SPEAK erhöhen dem Mehrwert meines FHEM enorm.
Vielen Dank für dieses Modul

Das einzige was ich bemerkte:

Mein Google home in der Küche zeigt beim Reading
ZitatK�che
Die Funktionen ist dadurch aber nicht betroffen

Streams im Playlist-Format M3U werden nicht angenommen :/ Aber hier habe ich für meine zwecke alternative Quellen gefunden.

ERROR: Unsupported URL: http://webradio.89.0rtl.de/live
2018.03.11 17:49:56 4: GOOGLECAST(GoogleHome_WZ): setPlayMedia_String(GoogleHome_WZ||http://webradio.89.0rtl.de/livestream128.m3u)
2018.03.11 17:49:56 3: GOOGLECAST(GoogleHome_WZ): setPlayMedia_String, youtube-dl couldn't find video



Linktipp für Radio-Streeams https://wiki.ubuntuusers.de/Internetradio/Stationen/
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 11 März 2018, 18:01:19
Super, danke für die Rückmeldung!

Das mit dem Reading (Küche) werde ich noch beheben.

Wegen .m3u...dein Link dürfte keine .m3u beinhalten. Zumindest über diesen Link (http://webradio.89.0rtl.de/livestream128.m3u) erhalte ich ein HTML. M3U wird generell vom Chromecast nicht unterstützt. Ich habe im Modul jedoch für einfache M3Us Support mit hinzugefügt.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: benedikt-wue am 11 März 2018, 18:33:45
Hurraaaaa! Bei mir läuft das Modul jetzt! Ich vermute, dass es an Eurer Überarbeitung liegt. Wenn das so ist, dann vielen Dank dafür! Ist eine tolle Sache!
Was mir leider noch nicht gelingen will: ich möchte in der FTUI über die Favoriten ein bestimmtes Video abspielen. Ich habe also den Favoriten angelegt, wenn ich ihn in der "normalen" Oberfläche "set playFavorite 1" eingebe, ist alles hübsch. Habe ich einen Fehler in der FTUI drin? Bzw wenn ja, wäre jemand so nett, und würde ihn mir korrigieren?
<div data-type="label" data-device="Kamin" data-get="state"></div>
<div data-type="switch" data-device="Kamin" data-set-on="playFavorite 1" data-set-off="quitApp"></div>
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 11 März 2018, 20:38:16
Fix für Umlaute im Device Namen gerade eingecheckt (Version 2.1.3).

Gruß
Dominik
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 12 März 2018, 09:48:06
Zitat von: Pr3mut05 am 11 März 2018, 17:34:51
Alle Geräte gelöscht
RasPi neu gestartet
Alle Geräte neu angelegt

Bis jetzt läuft alles einwandfrei :D
Auch nach einem FHEM-Neustart? Das war bei mir immer das Problem, dass die Geräte dann nicht mehr online gekommen sind, sondern auf INITIALIZED hingen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Pr3mut05 am 12 März 2018, 15:13:14
Ich der Nacht hatte mein FHEM offenbar Probleme :/
Zumindest war die Web-Oberfläche nicht mehr erreihbar. Musste neu starten.

Jetzt sind auch alle Geräte wieder offline :/
Muss ich sie neu anlegen oder wie kann ich die "aufwecken" ?

P.S:
Auf jeden Fall mal meine "Küche" neu angelegt
Reading passt jetzt   :)

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 12 März 2018, 21:27:55
Kannst du bitte ein verbose = 5 bei einem FHEM Neustart posten damit ich da nochmals prüfe woran das liegt?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Pr3mut05 am 12 März 2018, 22:03:43
Die einzige Meldung die GOOGLECAST ausgiebt
Wohl genau so wie bei Grml

Zitat2018.03.12 21:59:48 3: GOOGLECAST: GoogleCast v2.1.3
2018.03.12 21:59:48 3: GOOGLECAST: Wohnzimmer initializing...
2018.03.12 21:59:49 3: GOOGLECAST: Schlafzimmer initializing...
2018.03.12 21:59:49 3: GOOGLECAST: Küche initializing...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 13 März 2018, 17:03:34
Mache ich noch etwas falsch oder habe ich etwas übersehen?
Ich habe jetzt entsprechend der Commandref folgendes durchgeführt:

apt-get install libwww-perl python-enum34 python-dev libextutils-makemaker-cpanfile-perl python3-pip cpanminus
pip3 install pychromecast --upgrade


und bekomme die Meldung

Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
    load_entry_point('pip==1.5.6', 'console_scripts', 'pip3')()
  File "/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py", line 587, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py", line 2800, in load_entry_point
    return ep.load()
  File "/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py", line 2431, in load
    return self.resolve()
  File "/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py", line 2437, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python3/dist-packages/pip/__init__.py", line 74, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "/usr/lib/python3/dist-packages/pip/vcs/mercurial.py", line 9, in <module>
    from pip.download import path_to_url
  File "/usr/lib/python3/dist-packages/pip/download.py", line 25, in <module>
    from requests.compat import IncompleteRead
ImportError: cannot import name 'IncompleteRead'


Bin hier auf meiner Sparversion von FHEM auf dem Raspberry Pi.
Wahrscheinlich beißen sich da die unterschiedlichen Versionen. Leider scheint aber das Entfernen nicht mehr passender Komponenten auch nicht so einfach zu sein.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Sailor am 13 März 2018, 19:46:22
Hallo zusammen

nur als Tipp: Wer sich die letzte Python 3 Version auf sein System installieren moechte:

Update:

Beitrag verschoben: https://forum.fhem.de/index.php/topic,45505.msg781280.html#msg781280 (https://forum.fhem.de/index.php/topic,45505.msg781280.html#msg781280)

Gruss
    Sailor
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Sailor am 13 März 2018, 19:59:30
Hallo Dominik

Zitat von: dominik am 10 März 2018, 21:10:46
Endlich geschafft :)
Version 2.1.2 (gerade eingecheckt) funktioniert nun mit Python 3 und PyChromecast 2.0.0 - speak, play, displayWebsite läuft damit
Es lag daran, dass Inline::Python keine UTF-8 Strings an den Python Code übergibt und Python 3 aber genau diese erwartet. Über SVN Update könnt ihr die neue Version bereits jetzt aktualisieren, oder morgen per update.

Bestaetigt. Bei mir funktioniert jetzt alles!

Gruss
    Sailor
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 13 März 2018, 21:59:44
Zitat von: Sailor am 13 März 2018, 19:46:22
Anschliessend Tee kochen, oder auch 2 oder 3...
Gruss
    Sailor

Bin jetzt bei der siebten Kanne ....
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 14 März 2018, 07:50:16
Bei mir kommt immer noch "Cannot load module GOOGLECAST". Scheinbar ist mein Python durch diese ganze Rumprobiererei hier inzwischen kaputt gebastelt :-( Leider bin ich (noch) nicht so tief in Sachen Linux, Python etc. drin.

Wie bekäme ich denn das ganze Zeug sauber runter um danach Python, pychromecast, inline etc. neu zu installieren?

Drauf habe ich aktuell irgendeine 2.x Version (ich glaube 2.7.x) und 3.
Ich denke da muss alles weg...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 14 März 2018, 08:24:34
Bei mir auch.
Hatte gestern versucht, python komplett (mittels webmin, was damit auch gleich abgeschossen wurde) herunterzuschmeißen und nach obiger Anleitung die neueste Version installiert. System nochmal komplett upgedated und Pi neu gestartet. Dann hat auch der Prozess wie in der Commandref fast auch funktioniert, nur im letzten Schritt gab es ein Timeout. Diese Hürde wurde heute Nacht wohl dann mittels der OPtion --force auch genommen. Jedenfalls gab es heute morgen an der Stelle keinen Fehler mehr. Aber im Log von FHEM steht nun leider


2018.03.14 08:15:54 1: reload: Error:Modul 98_GOOGLECAST deactivated:
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_GOOGLECAST.pm line 684.

2018.03.14 08:15:54 0: 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_GOOGLECAST.pm line 684.


Habe jetzt mal das durchgespielt:
https://forum.fhem.de/index.php/topic,45505.msg673014.html#msg673014 (https://forum.fhem.de/index.php/topic,45505.msg673014.html#msg673014)
Mit dem Ergebnis:

root@pi:~# python3
Python 3.6.3 (default, Mar 13 2018, 22:00:40)
[GCC 4.9.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pychromecast
>>> pychromecast.get_chromecasts()
[Chromecast('192.168.178.188', port=8009, device=DeviceStatus(friendly_name='Chromecast0825', model_name='Chromecast', manufacturer='Google Inc.', uuid=UUID('9c597349-5fd1-2136-258d-1af5f2a172c9'), cast_type='cast'))]
>>>

Hätte als Dummie jetzt so interpretiert: python3 und pychromecast scheinen richtig zu funktionieren. Der Fehler muss also wo anders liegen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Sailor am 14 März 2018, 10:36:18
Halo dominik

Mein GoogleCast funktioniert jetzt prächtig mit meinem GoogleCast zusammen!

Ich habe dazu eine Frage. Ist GoogleCast in der Lage herauszufinden, in welchem Schaltzustand sich der Fernseher befindet (ON, OFF, STDBY) und auf welchem HDMI - Port gerade aktive geschaltet ist.

Mein Weihnachtswunschlisten - Szenario ist:
a) Fernseher im STDBY: Die Webseite anzeigen und am Ende QuitApp und der Fernseher geht in den STDBY zurück
b) Fernseher im ON: Den alten HDMI - Port sichern, HDMI-Port auf GoogleCast umschalten, die Webseite anzeigen und am Ende QuitApp und der Fernseher geht auf den alten HDMI - Port zurück.

Weißt du, ob man das so implementieren kann?

Gruß
    Sailor
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 14 März 2018, 14:57:03
Ich gebe ja nicht so schnell auf.
Nun habe ich das Beispiel (angepasst auf meine Situation natürlich) mal durchgespielt, unabhängig von FHEM:
https://pypi.python.org/pypi/PyChromecast (https://pypi.python.org/pypi/PyChromecast)
unter "How to use"
Naja und außer den Ausgaben, die ich nicht immer interpretieren kann, funktioniert das auch. Kurz, der angegebene Film läuft auf dem Fernseher und auch beispielsweise Pause funktioniert.
Also wieder: Python3 und pychromecast scheinen in Ordnung zu sein., dennoch habe ich obige Fehlermeldung in FHEM.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Sailor am 14 März 2018, 20:11:21
Hallo zusammen

ich habe mir ueberlegt, ob es nicht einfacher ist, wenn man einfach ein allumfassendes Installationsskript schreibt.
Anbei der Versuch in der Hoffnung, dass es von Euch getestet wird.

Der Grund fuer das script ist unter Anderem der, dass auf der https://pypi.python.org/pypi/PyChromecast  (https://pypi.python.org/pypi/PyChromecast)folgendes steht:

File    Type                                                                      Py Version                Uploaded on       Size
PyChromecast-2.0.0-py2.py3-none-any.whl (md5)    Python Wheel    3.6    2018-02-21          40KB
PyChromecast-2.0.0.tar.gz (md5)               Source                                        2018-02-21          35KB




sudo /home/pi/py3ccastinst.sh


Dort die folgende Befehle reinlegen und das "RELEASE=" mit der letzten Verison von python hinterlegen (Hier 3.6.3)


#!/bin/sh
RELEASE=3.6.3

printf "\nInstalling python release $RELEASE and pychromecast for python3 with dependencies for fhem\n\n"
printf "`date +%Y-%m-%d-%H-%M` : Installing python release $RELEASE and pychromecast with dependencies for fhem\n" >./py3ccastinst.log

####### Updating installed packages ##############################
printf "Updating and Upgrading packages\n"
printf "`date +%Y-%m-%d-%H-%M` : Updating and Upgrading packages\n" >>./py3ccastinst.log
sudo apt-get -y update | tee -a ./py3ccastinst.log
sudo apt-get -y upgrade | tee -a ./py3ccastinst.log

####### Install python version defined under RELEASE above ###############

# install dependencies
printf "Installing python3 and dependencies\n"
printf "`date +%Y-%m-%d-%H-%M` : Installing python3 and dependencies\n" >>./py3ccastinst.log
sudo apt-get -y install libbz2-dev liblzma-dev libsqlite3-dev libncurses5-dev libgdbm-dev zlib1g-dev libreadline-dev libssl-dev tk-dev  | tee -a ./py3ccastinst.log

# download and build Python
mkdir ~/python3 | tee -a ./py3ccastinst.log
cd ~/python3 | tee -a ./py3ccastinst.log
wget https://www.python.org/ftp/python/$RELEASE/Python-$RELEASE.tar.xz | tee -a ./py3ccastinst.log
tar xvf Python-$RELEASE.tar.xz | tee -a ./py3ccastinst.log
cd Python-$RELEASE | tee -a ./py3ccastinst.log
./configure | tee -a ./py3ccastinst.log
make | tee -a ./py3ccastinst.log
sudo make install | tee -a ./py3ccastinst.log
sudo rm -rf ~/python3/Python-$RELEASE | tee -a ./py3ccastinst.log
cd ~ | tee -a ./py3ccastinst.log


####### Install pychromecast and dependencies #######################
printf "Installing pychromecast and dependencies\n"
printf "`date +%Y-%m-%d-%H-%M` : Installing pychromecast and dependencies\n" >>./py3ccastinst.log
sudo apt-get -y install libwww-perl python-enum34 python-dev libextutils-makemaker-cpanfile-perl cpanminus python3-pip | tee -a ./py3ccastinst.log
sudo yes | pip3 install --force-reinstall pychromecast --upgrade | tee -a ./py3ccastinst.log
sudo yes | pip3 install --force-reinstall youtube-dl --upgrade | tee -a ./py3ccastinst.log
sudo INLINE_PYTHON_EXECUTABLE=/usr/bin/python3 cpanm Inline::Python | tee -a ./py3ccastinst.log


############ Hint to Reboot system #########################
printf "\n\n\nKeep in mind that pychromecast requires system reboot to function properly!\n"
printf "`date +%Y-%m-%d-%H-%M` : Countdown to reboot canceled. Keep in mind that pychromecast requires system reboot to function properly!\n" >>./py3ccastinst.log


Jetzt noch die Datei ausführbar machen und ausführen.


sudo chmod +x /home/pi/py3ccastinst.sh
sudo /home/pi/py3ccastinst.sh


Anschliessend Tee kochen, oder auch 2 oder 3... Meinetwegen auch 7 Kannen!

@MadMax-FHEM: Hast Du Lust das Script bei einem jungfräulichen RasPi nochmal zu testen?

[Update 1 - 2018-03-15_10:00:09]
Script hinsichtlich automatischer Bestätigung verbessert.

[Update 2 - 2018-03-16_09:40]
Update für Script: update/upgrade jetzt erst mal ganz am Anfang

[Update 3 - 2018-03-16_10:30]
Update für Script: Jetzt mit Ausgabe aller Bildschirmausgaben in ./py3ccastinst.log

[Update 4 - 2018-03-17_12:40]
Update für Script: Automatisches Reboot entfernt aber Hinweis darauf beibehalten.


Gruss
    Sailor
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 14 März 2018, 20:42:12
Zitat von: Sailor am 14 März 2018, 20:11:21
@MadMax-FHEM: Hast Du Lust das Script bei einem jungfräulichen RasPi nochmal zu testen?

Gruss
    Sailor

Klar.
Kann aber sein, dass ich erst morgen dazu komme...

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 14 März 2018, 21:53:18
Hab jetzt nochmal so einiges nach und nach probiert. Auch das Modul aus FHEM gelöscht und per update neu installiert. Erfolg bleibt aus. Obiges Skript habe ich nicht komplett am Stück durchgeführt, aber die beiden apt-get install, um keine notwendigen Pakete zu versäumen. Hat alles nichts geholfen, lediglich eine Fehlermeldung kam hinzu: Der obere Teil im folgenden:

@Grml:
Wie sind denn Deine Fehlermeldungen komplett?



2018.03.14 21:44:21 2: eventTypes: loaded 457 events from ./log/eventTypes.txt
Traceback (most recent call last):
  File "<string>", line 3, in <module>
ImportError: No module named pychromecast
2018.03.14 21:44:45 1: reload: Error:Modul 98_GOOGLECAST deactivated:
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_GOOGLECAST.pm line 684.

2018.03.14 21:44:45 0: 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_GOOGLECAST.pm line 684.

2018.03.14 21:44:46 1: Including ./log/fhem.save
2018.03.14 21:44:46 1: configfile: Cannot load module GOOGLECAST

2018.03.14 21:44:46 0: Featurelevel: 5.8
2018.03.14 21:44:46 0: Server started with 26 defined entities (fhem.pl:16403/2018-03-13 perl:5.020002 os:linux user:fhem pid:1093)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Sailor am 15 März 2018, 09:48:06
Hallo Duke

Zitat von: duke-f am 14 März 2018, 21:53:18
Hab jetzt nochmal so einiges nach und nach probiert. Auch das Modul aus FHEM gelöscht und per update neu installiert. Erfolg bleibt aus. Obiges Skript habe ich nicht komplett am Stück durchgeführt, aber die beiden apt-get install, um keine notwendigen Pakete zu versäumen. Hat alles nichts geholfen, lediglich eine Fehlermeldung kam hinzu: Der obere Teil im folgenden:

Mal ne dumme Frage: Dein Name für den chromecast beinhaltet nicht zufällig ein Leerzeichen?
"TV Room" hat bei mir nicht funktioniert
"TvRoom"   hat bei mir funktioniert

Gruss
    Sailor
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 15 März 2018, 09:54:43
Nein, mein Chromecast heißt ganz phantasielos "Chromecast0825". Das Problem kommt auch schon früher: Beim Starten von FHEM, bevor überhaupt irgendeine Verbindung aufgetan wird. Es wird das Modul zu GOOGLECAST nicht geladen. So lese ich zumindest die Meldung im Log.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: benedikt-wue am 15 März 2018, 10:00:49
Wollte nochmal anfragen wegen meiner Ftui-Oberfläche... Habe leider diesbezüglich nichts gefunden... Ziel ist es, beim Push eines Buttons ein bestimmtes Video bzw einen bestimmten Stream auf einem Gerät abzuspielen... Habe leider nur etwas gefunden, um direkt aus z. B. dem Wand-Tablet eine Art Web-Radio zu machen, nicht aber die Chromes "fernzusteuern"... Ziel: ich tippe das Logo von Antenne Bayern in der Rubrik "Wohnzimmer" an und auf meinem Google Home läuft der Stream eben dieses Senders... Jemand, der mir helfen würde? ;-)

Gesendet von meinem ZTE BLADE V0800 mit Tapatalk

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 15 März 2018, 19:17:58
Zitat von: MadMax-FHEM am 14 März 2018, 20:42:12
Klar.
Kann aber sein, dass ich erst morgen dazu komme...

Gruß, Joachim

So hab's eben mal getestet.

Ausgangsbasis:

Aktuelles Raspbian Stretch lite
(2017-11-29-raspbian-stretch-lite.img)

HW: PI3

Dann:

- update/upgrade
- raspi-config: extend file system, 16MB video, locale (en+de utf8) plus Zeitzone Berlin

fhem installiert nach debian.fhem.de plus anschließendem fhem update.

Dann image gezogen (vor einigen Tagen)...
...image eben eingespielt und dann:

das Script https://forum.fhem.de/index.php/topic,45505.msg781280.html#msg781280 kopiert/erstellt und ausgeführt...

gewartet...

...dann folgende Ausgaben:


Err:39 http://mirrordirector.raspbian.org/raspbian stretch/main armhf libtinfo-dev armhf 6.0+20161126-1+deb9u1                             
  404  Not Found [IP: 93.93.128.193 80]
Err:40 http://mirrordirector.raspbian.org/raspbian stretch/main armhf libncurses5-dev armhf 6.0+20161126-1+deb9u1                         
  404  Not Found [IP: 93.93.128.193 80]

...

E: Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/n/ncurses/libtinfo-dev_6.0+20161126-1+deb9u1_armhf.deb  404  Not Found [IP: 93.93.128.193 80]
E: Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/n/ncurses/libncurses5-dev_6.0+20161126-1+deb9u1_armhf.deb  404  Not Found [IP: 93.93.128.193 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
--2018-03-15 18:37:53--  https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz

d.h. vor dem Script ein 'sudo apt-get update'...
...oder mit ins Script einbauen...


...weiter gewartet... ;)

...und weiter gewartet... ;)

...und noch weiter gewartet... ;)

...und noch ein wenig gewartet ;)

...oder eher doch ein wenig mehr ;)

Hmmm, installiert immer noch (läuft schon fast 45min)...
...muss jetzt leider weg...

Mache später weiter...
...bin doch dran geblieben ;)

Dann:


Processing triggers for libc-bin (2.24-11+deb9u3) ...
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting pychromecast
  Could not fetch URL https://pypi.python.org/simple/pychromecast/: There was a problem confirming the ssl certificate: Can't connect to HTTPS URL because the SSL module is not available. - skipping
  Could not fetch URL https://www.piwheels.org/simple/pychromecast/: There was a problem confirming the ssl certificate: Can't connect to HTTPS URL because the SSL module is not available. - skipping
  Could not find a version that satisfies the requirement pychromecast (from versions: )
No matching distribution found for pychromecast
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting youtube-dl
  Could not fetch URL https://pypi.python.org/simple/youtube-dl/: There was a problem confirming the ssl certificate: Can't connect to HTTPS URL because the SSL module is not available. - skipping
  Could not fetch URL https://www.piwheels.org/simple/youtube-dl/: There was a problem confirming the ssl certificate: Can't connect to HTTPS URL because the SSL module is not available. - skipping
  Could not find a version that satisfies the requirement youtube-dl (from versions: )
No matching distribution found for youtube-dl
--> Working on Inline::Python


Kurz darauf dann das:


Successfully installed Inline-Python-0.56
7 distributions installed
./py3ccastinst.sh: 34: ./py3ccastinst.sh: Syntax error: Bad for loop variable


Ich hab dann trotzdem mal gebootet...
...fhem update...

Und meinen Google Home angelegt...

Leider dann:


2018.03.15 19:36:36 0: Server shutdown
2018.03.15 19:36:36 1: Including fhem.cfg
2018.03.15 19:36:36 3: telnetPort: port 7072 opened
2018.03.15 19:36:37 3: WEB: port 8083 opened
2018.03.15 19:36:37 3: WEBphone: port 8084 opened
2018.03.15 19:36:37 3: WEBtablet: port 8085 opened
2018.03.15 19:36:37 2: eventTypes: loaded 1 events from ./log/eventTypes.txt
2018.03.15 19:36:37 1: Including ./log/fhem.save
2018.03.15 19:36:37 0: Featurelevel: 5.8
2018.03.15 19:36:37 0: Server started with 9 defined entities (fhem.pl:16403/2018-03-13 perl:5.024001 os:linux user:fhem pid:583)
2018.03.15 19:36:54 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Failed to autogenerate /opt/fhem/_Inline/config-arm-linux-gnueabihf-thread-multi-64int-5.024001.

at ./FHEM/98_GOOGLECAST.pm line 684.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 684.

2018.03.15 19:36:54 0: Failed to autogenerate /opt/fhem/_Inline/config-arm-linux-gnueabihf-thread-multi-64int-5.024001.

at ./FHEM/98_GOOGLECAST.pm line 684.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 684.


Werde das noch mal probieren...
...später oder eher morgen weil jetzt muss ich wirklich weg.

Hoffe es hat nichts mit dem ersten Fehler zu tun...
...bzw. wenn es so wäre wäre es verm. nicht so schlimm ;)

Nächstes Mal mache ich nach dem Einspielen des fhem-images gleich mal ein sudo apt-get update...
...blöder Fehler...

Insgesamt hat der "Spaß" ne Stunde gedauert ;)

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 15 März 2018, 21:05:54
Das hat mich jetzt auf eine Idee gebracht - die aber leider auch keinen Erfolg brachte.
In FHEM wird ja unter /opt/fhem ein Verzeichnis angelegt mit dem Namen _Inline. Das ist wohl immer noch von der alten Version. Daher habe ich das einfach mal entfernt und die ganze Prozedur nach Commandref wiederholt. War alles wohl schon aktuell, außer dem Youtube-Teil, das muss seit gestern neu sein. Sieh da, jetzt habe ich genau den Fehler (zusätzlich) wie Du:
Failed to autogenerate /opt/fhem/_Inline/config-arm-linux-gnueabihf-thread-multi-64int-5.024001.
Aber das Verzeichnis _Inline wurde nach Neustart von FHEM wieder angelegt mit genau dieser Datei als Inhalt. Aber das weitere Unterverzeichnis "lib/auto" mit Inhalten fehlt.
Die anderen Meldungen von gestern sind weiter da. Habe das alte Verzeichnis wieder hergestellt und meine Meldungen sind wieder die von gestern.

Kann das sein, dass hier das Problem verborgen ist?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 16 März 2018, 10:43:25
So etwas OT, aber habe seit dem ganzen Prozedere hier schon so manch seltsames Phänomen am Raspberry Pi (B). Ich schreibe das ja keinesfalls direkt GOOGLECAST zu, aber die Phänomene häufen sich. Ich will auch nicht den Thread unnötig belasten. Da aber nicht ausgeschlossen ist, dass ich nicht alleine Betroffener bin denke ich, eine Schilderung ist doch angebracht.

1. Ich habe mittel motion eine alte Webcam eingebunden, die ich mittel Surveillance am NAS eingebunden habe. Lief früher ohne irgendwas endlos durch. Seit dem Umstieg von wheezy auf jessie gibt es da immer wieder Abbrüche. Diese habe ich an einem anderen Raspberry Pi (3) auch, der von Anfang an auf jessie lief, habe das damals aber eher der alten Webcam zugeschrieben. Nun bin ich mir da nicht mehr sicher, ob diese alleine die Ursache war. Das ganze kann ich einigermaßen in den Griff bekommen mittels logsurfer, der bei bestimmten Meldungen in einem Log-File ein Skript aufruft, das wiederum die Trennung der USB-Kamera und das neue Anschließen simmuliert.
2. Auf diesem Raspberry Pi (B) läuft squeezelite mit Logitech-Media-Server auf dem NAS früher auch problemlos ohne zu stocken. Jetzt, seit dem Umstieg habe ich heftiges Stocken. Bin noch dabei zu versuchen, dies durch Optimieren der Einstellungen in den Griff zu bekommen.
3. Neu seit zwei Tagen - diesmal aber verdächtig nahe zeitlich gelegen mit den aktuellen Aktionen hinsichtlich GOOGLECAST und erstmals seit einigen Wochen diesbezüglich problemlosen Betriebs unter jessie: Gestern um 02:03:07 Uhr und heute um 02:02:43 Uhr hat sich mein Raspberry Pi irgendwie verabschiedet. Habe dazu noch nichts in den Logs gefunden und recherchiere noch. Den genauen Zeitpunkt bekomme ich bisher nur aus den Aufzeichnungen des Sysmon-Logfiles. Zugriff hatte ich beide Male per Ping, aber nicht per ssh. Blieb lediglich ein Neustart per Stecker ziehen. Unterschied heute: Meine Verknüpfung vom Hauptsystem auf den CUL an diesem Pi über ser2net bestand heute morgen noch,gestern war auch diese weg - allerdings hatte ich das gestern erst viel später registriert. Aber wie gesagt, auch die autarke FHEM-Installation auf dem Pi zeichnete nicht weiter auf.

Wie gesagt, ich schreibe alles nicht GOOGLECAST zu - beim letzten Punkt vielleicht aber indirekt schon. Das Modul wird aber wegen der obigen Fehlermeldung gar nicht geladen. Ich versuche etwas aus den Logs zu lesen, bin aber wenig hoffnungsvoll.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Sailor am 16 März 2018, 12:49:09
Hallo Joachim

Zitat von: MadMax-FHEM am 15 März 2018, 19:17:58
So hab's eben mal getestet.
Nächstes Mal mache ich nach dem Einspielen des fhem-images gleich mal ein sudo apt-get update...
...blöder Fehler...
Insgesamt hat der "Spaß" ne Stunde gedauert ;)

Ich habe das
sudo apt-get -y update
sudo apt-get -y upgrade

jetzt mal an den Anfang des Scripts gelegt.
Das war eher ein dummer Fehler meinerseits!

Das Skript ist ja genau dafür da: Starten, ins Bett gehen und am nächsten Morgen Spass haben.

Darüber hinaus wird jetzt auch eine log-Datei geschrieben, um detailiert die Fehler zu finden.

Ich wage gar nicht zu fragen, aber magst du nochmal testen?
Ich habe leider keinen Pi übrig. Sonst hätte ich das schoin selbst gemacht.

Gruss
    Sailor
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 16 März 2018, 16:07:42
Zitat von: Sailor am 16 März 2018, 12:49:09
Ich habe das
sudo apt-get -y update
sudo apt-get -y upgrade

jetzt mal an den Anfang des Scripts gelegt.
Das war eher ein dummer Fehler meinerseits!

Tja aber das hätte ich ja auch machen können, nachdem ich schon ein "betagtes" System aus der "Dose" genommen habe ;)


Zitat von: Sailor am 16 März 2018, 12:49:09
Das Skript ist ja genau dafür da: Starten, ins Bett gehen und am nächsten Morgen Spass haben.

Darüber hinaus wird jetzt auch eine log-Datei geschrieben, um detailiert die Fehler zu finden.

Ja wenn's so gedacht ist, dann "musst" das natürlich du einbauen ;)


Zitat von: Sailor am 16 März 2018, 12:49:09
Ich wage gar nicht zu fragen, aber magst du nochmal testen?
Ich habe leider keinen Pi übrig. Sonst hätte ich das schoin selbst gemacht.

Klar.
Ich spiele das Image einfach wieder ein und starte dann das Script...

...und gehe ins Bett ;)

EDIT: läuft...

EDIT2: fertig

Ist soweit durchgelaufen, allerdings ist wohl im "Countdown zum Reboot" ein Fehler:


Successfully installed Inline-Python-0.56
7 distributions installed
./py3ccastinst.sh: 44: ./py3ccastinst.sh: Syntax error: Bad for loop variable


Letzter Eintrag im Log:


Successfully installed Proc-ProcessTable-0.55
Building and testing Inline-Python-0.56 ... OK
Successfully installed Inline-Python-0.56
7 distributions installed
2018-03-16-17-53 : Countdown to reboot of system started


Dann reboot, halt manuell (wäre mir eh lieber ;)  )...
...dann update von fhem...

Und anlegen meines Google Home...
...und leider trotzdem:


2018.03.16 18:55:50 0: Featurelevel: 5.8
2018.03.16 18:55:50 0: Server started with 9 defined entities (fhem.pl:16403/2018-03-13 perl:5.024001 os:linux user:fhem pid:564)
2018.03.16 18:56:04 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Failed to autogenerate /opt/fhem/_Inline/config-arm-linux-gnueabihf-thread-multi-64int-5.024001.

at ./FHEM/98_GOOGLECAST.pm line 684.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 684.

2018.03.16 18:56:04 0: Failed to autogenerate /opt/fhem/_Inline/config-arm-linux-gnueabihf-thread-multi-64int-5.024001.

at ./FHEM/98_GOOGLECAST.pm line 684.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 684.


Hmmm, dann erneut 'shutdown restart' von fhem...
...und siehe da: mein Google Home konnte angelegt werden! :)

Und speak funktioniert! :)

Ich melde michGruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 16 März 2018, 19:56:25
Kannst Du mal den kompletten Inhalt aus /opt/fhem/_Inline zur Verfügung stellen?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 16 März 2018, 20:12:47
Zitat von: duke-f am 16 März 2018, 19:56:25
Kannst Du mal den kompletten Inhalt aus /opt/fhem/_Inline zur Verfügung stellen?

In etwa so:


pi@raspberrypi:/opt/fhem/_Inline $ ls -la
total 16
drwxr-xr-x  3 fhem dialout 4096 Mär 16 18:58 .
drwxr-xr-x 11 fhem dialout 4096 Mär 16 18:56 ..
-rw-r--r--  1 fhem dialout  298 Mär 16 18:56 config-arm-linux-gnueabihf-thread-multi-64int-5.024001
drwxr-xr-x  3 fhem dialout 4096 Mär 16 18:58 lib

pi@raspberrypi:/opt/fhem/_Inline $ cat config-arm-linux-gnueabihf-thread-multi-64int-5.024001
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

pi@raspberrypi:/opt/fhem/_Inline $ ls -la lib/auto/_98_GOOGLECAST_pm_3a3d/
total 16
drwxr-xr-x 2 fhem dialout 4096 Mär 16 18:58 .
drwxr-xr-x 3 fhem dialout 4096 Mär 16 18:58 ..
-rw-r--r-- 1 fhem dialout  648 Mär 16 18:58 _98_GOOGLECAST_pm_3a3d.inl
-rw-r--r-- 1 fhem dialout 2059 Mär 16 18:58 _98_GOOGLECAST_pm_3a3d.pydat

pi@raspberrypi:/opt/fhem/_Inline $ cat lib/auto/_98_GOOGLECAST_pm_3a3d/_98_GOOGLECAST_pm_3a3d.inl
md5 : 3a3dCHANGED
name : _98_GOOGLECAST_pm_3a3d
version : ""
language : Python
language_id : Python
installed : 0
date_compiled : Fri Mar 16 18:58:04 2018
inline_version : 0.80
ILSM : %
    module : Inline::Python
    suffix : pydat
    type : interpreted
Config : %
    apiversion : ?
    archname : arm-linux-gnueabihf-thread-multi-64int
    cc : arm-linux-gnueabihf-gcc
    ccflags : -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
    ld : arm-linux-gnueabihf-gcc
    osname : linux
    osvers : 3.16.0
    so : so
    version : 5.24.1

pi@raspberrypi:/opt/fhem/_Inline $ cat lib/auto/_98_GOOGLECAST_pm_3a3d/_98_GOOGLECAST_pm_3a3d.pydat
namespace : %
    classes : %
    functions : @
        GOOGLECAST_PyLoadDashCast
        GOOGLECAST_PyPlayYouTube
        GOOGLECAST_PyPlayMedia
        GOOGLECAST_PyFindChromecasts
        GOOGLECAST_PyCreateChromecast
        GOOGLECAST_PyGetYTVideoURL
filtered : <<EOV

from __future__ import unicode_literals
import pychromecast
import time
import logging
import youtube_dl
import pychromecast.controllers.dashcast as dashcast
import pychromecast.controllers.youtube as youtube

def GOOGLECAST_PyFindChromecasts():
    logging.basicConfig(level=logging.CRITICAL)
    return pychromecast.discovery.discover_chromecasts()

def GOOGLECAST_PyCreateChromecast(ip, port, uuid, model_name, friendly_name):
    logging.basicConfig(level=logging.CRITICAL)
    cast = pychromecast._get_chromecast_from_host((ip.decode("utf-8"), int(port), uuid.decode("utf-8"), model_name.decode("utf-8"), friendly_name.decode("utf-8")), blocking=False, timeout=0.1, tries=1, retry_wait=0.1)
    return cast

def GOOGLECAST_PyPlayMedia(cast, url, mime):
    logging.basicConfig(level=logging.CRITICAL)
    cast.play_media(url.decode("utf-8"), mime.decode("utf-8"))
    return undef

def GOOGLECAST_PyGetYTVideoURL(yt_url):
    yt_url = yt_url.decode("utf-8")
    ydl = youtube_dl.YoutubeDL({'forceurl': True, 'simulate': True, 'quiet': '1', 'no_warnings': '1', 'skip_download': True, 'format': 'best', 'youtube_include_dash_manifest': False})

    result = ydl.extract_info(yt_url, download=False)

    if 'entries' in result:
        # Can be a playlist or a list of videos
        video = result['entries'][0]
    else:
        # Just a video
        video = result

    video_url = video['url']
    return video_url

def GOOGLECAST_PyLoadDashCast(cast, url):
    url = url.decode("utf-8")
    d = dashcast.DashCastController()
    cast.register_handler(d)
    d.load_url(url,reload_seconds=60)

def GOOGLECAST_PyPlayYouTube(cast, videoId):
    videoId = videoId.decode("utf-8")
    yt = youtube.YouTubeController()
    cast.register_handler(yt)
    yt.play_video(videoId)


EOV


Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 16 März 2018, 20:58:58
Besten Dank.

ist nicht komplett identisch zu dem, was bei mir entstanden ist. Ich habe jetzt das _Inline komplett gelöscht und lasse einfach auch mal das Skript durchlaufen .....
... und trinke Tee.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 16 März 2018, 21:13:27
Auf meinem anderen Testsystem wird bei jedem Update des GOOGLECAST Moduls (zumindest sieht es vom Datum der Ordner so aus) ein neues Unterverzeichnis unter .../lib/auto/ angelegt...

Viel Erfolg, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 16 März 2018, 22:08:34
Erfolg stellt sich leider nicht ein. Es wird das Verzeichnis _Inline mit der Datei

config-arm-linux-gnueabihf-thread-multi-64int-5.020002

angelegt - die zeigt zwar eine andere Nummer am Ende, aber der Inhalt ist mit Deiner identisch. Verzeichnis .../lib/auto wird nicht angelegt. Am Ende der Log steht nach dem Skriptablauf:

Successfully installed certifi-2018.1.18 chardet-3.0.4 idna-2.6 netifaces-0.10.6 protobuf-3.5.2.post1 pychromecast-2.0.0 requests-2.18.4 setuptools-38.6.0 six-1.11.0 urllib3-1.22 zeroconf-0.20.0
Collecting youtube-dl
  Using cached youtube_dl-2018.3.14-py2.py3-none-any.whl
Installing collected packages: youtube-dl
  Found existing installation: youtube-dl 2018.3.14
    Uninstalling youtube-dl-2018.3.14:
      Successfully uninstalled youtube-dl-2018.3.14
Successfully installed youtube-dl-2018.3.14
Inline::Python is up to date. (0.56)
2018-03-16-21-13 : Countdown to reboot of system started

Rebooten musste ich auch selber anstoßen, stimme Dir aber zu, dass ich das bevorzuge.

Auch mehrfaches shutdown restart bringt am Ende wieder das gleiche Ergebnis.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 17 März 2018, 00:44:32
Zitat von: duke-f am 14 März 2018, 21:53:18
@Grml:
Wie sind denn Deine Fehlermeldungen komplett?

fhem.area51@fhem:~ $ sudo pip3 install pychromecast --upgrade
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 449, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 745, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 644, in resolve
    raise VersionConflict(dist, req)
pkg_resources.VersionConflict: (pip 1.5.6 (/usr/lib/python3/dist-packages), Requirement.parse('pip==9.0.1'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/pip3", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2876, in <module>
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 451, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 464, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 639, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pip==9.0.1


Da ich wie erwähnt nicht sooo bewandert unter Linux bin stehe ich da ziemlich auf dem Schlauch was mir die Fehlermeldungen nun sagen sollen außer "Pech gehabt".
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 17 März 2018, 01:25:33
Dachte da eher an die Meldung im FHEM-Log.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 17 März 2018, 11:20:29
Achso, sorry.
2018.03.17 00:40:02 1: reload: Error:Modul 98_GOOGLECAST deactivated:
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_GOOGLECAST.pm line 684.

2018.03.17 00:40:02 0: 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_GOOGLECAST.pm line 684.


Da ich inzwischen kein GOOGLECAST Device mehr anlegen kann (Cannot load module GOOGLECAST) habe ich bei einem FHEM Neustart natürlich nichts im LOG (Verbose 5). Lediglich obige Meldung wenn ich versuche ein Device anzulegen.

Außerdem vor ein paar Tagen
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_Initialize redefined at ./FHEM/98_GOOGLECAST.pm line 144.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_Define redefined at ./FHEM/98_GOOGLECAST.pm line 161.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_findChromecasts redefined at ./FHEM/98_GOOGLECAST.pm line 181.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_initDevice redefined at ./FHEM/98_GOOGLECAST.pm line 196.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_findChromecastsResult redefined at ./FHEM/98_GOOGLECAST.pm line 205.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_Attribute redefined at ./FHEM/98_GOOGLECAST.pm line 239.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_Set redefined at ./FHEM/98_GOOGLECAST.pm line 251.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_setVolume redefined at ./FHEM/98_GOOGLECAST.pm line 297.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_setWebsite redefined at ./FHEM/98_GOOGLECAST.pm line 307.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_setSpeak redefined at ./FHEM/98_GOOGLECAST.pm line 316.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType redefined at ./FHEM/98_GOOGLECAST.pm line 333.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType_String redefined at ./FHEM/98_GOOGLECAST.pm line 350.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia redefined at ./FHEM/98_GOOGLECAST.pm line 361.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia_String redefined at ./FHEM/98_GOOGLECAST.pm line 369.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMediaBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 384.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDl redefined at ./FHEM/98_GOOGLECAST.pm line 406.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDlBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 414.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_setStop redefined at ./FHEM/98_GOOGLECAST.pm line 428.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_setPlayFavorite redefined at ./FHEM/98_GOOGLECAST.pm line 439.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_setPlay redefined at ./FHEM/98_GOOGLECAST.pm line 446.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_setPause redefined at ./FHEM/98_GOOGLECAST.pm line 469.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_setRewind redefined at ./FHEM/98_GOOGLECAST.pm line 480.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_setSkip redefined at ./FHEM/98_GOOGLECAST.pm line 491.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_setQuitApp redefined at ./FHEM/98_GOOGLECAST.pm line 502.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_Undef redefined at ./FHEM/98_GOOGLECAST.pm line 512.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_Get redefined at ./FHEM/98_GOOGLECAST.pm line 521.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_updateReading redefined at ./FHEM/98_GOOGLECAST.pm line 525.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_newChash redefined at ./FHEM/98_GOOGLECAST.pm line 538.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_addSocketToMainloop redefined at ./FHEM/98_GOOGLECAST.pm line 561.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_checkConnection redefined at ./FHEM/98_GOOGLECAST.pm line 577.
2018.03.13 17:52:52 1: PERL WARNING: Subroutine GOOGLECAST_Read redefined at ./FHEM/98_GOOGLECAST.pm line 609.
2018.03.13 17:52:52 1: reload: Error:Modul 98_GOOGLECAST deactivated:
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_GOOGLECAST.pm line 684.

2018.03.13 17:52:52 0: 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_GOOGLECAST.pm line 684.


Die Subroutine-Meldungen bekomme ich aktuell nicht, dass war vermutlich vor einem Modul-Update.


EDIT: Mich würde ja weiterhin interessieren, wie ich das Ganze Python/Inline etc. Zeug nochmal sauber runter bekomme um mit dem oben geposteten Installscript neu anzufangen. Da ich (mWn) nichts weiter mit Python habe, hätte das keine Auswirkungen auf meine FHEM-Installation.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Sailor am 17 März 2018, 12:41:00
Hallo zusammen

Zitat von: MadMax-FHEM am 16 März 2018, 16:07:42
Dann reboot, halt manuell (wäre mir eh lieber ;)  )...

Zitat von: duke-f am 16 März 2018, 22:08:34
Rebooten musste ich auch selber anstoßen, stimme Dir aber zu, dass ich das bevorzuge.

OK, Script ist angepasst!

Gruss
    Sailor
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 17 März 2018, 13:46:37
@Grml
Das sind ja dann die gleichen Fehlermeldungen wie ich sie habe im FHEM-Log. Also haben wir beide etwas, was Sailor und Dominik nicht haben, denke ich.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: pfefferkeks am 17 März 2018, 20:14:53
Hallo zusammen,

ich habe das Installations-Script gerade mal in einem lxc container unter Debain installiert. Läuft durch und es geht alles, danke für die Arbeit!

Ich habe noch eine Frage zu dem Modul an sich - welches seit dem letzten Update auch bei mir einbandfrei funktioniert.

Wenn ich ein set speak mach, kann ich da ganze Sätze ausgeben lassen? Ich bekomme aktuell immer nur ein Wort bzw. das erste Wort vor dem Leerzeichen.
Ich denke an so etwas in der Art - Anführungszeichen um den Text funktionieren leider auch nicht:
set GOOGLEMINI speak Das ist ein Test

Danke und BG
pfeffer
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 17 März 2018, 23:14:09
set GOOGLEMINI speak "Das ist ein Test"

Sollte aber gehen...
...bzw. geht bei mir problemlos...

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 17 März 2018, 23:24:14
Hmmm, reizt ja jetzt schon fast, das ganze von meinem Pi auf das Virtuelle Debian auf dem NAS zu verschieben. Aber da will ich eigentlich andere Dinge konzentrieren und das System nicht unnötig belasten mit diesen Experimenten. Zudem denke ich, dass es auch Sinn der Sache sein sollte, dass diese Installation ach auf möglichst vielen Systemen läuft und nicht auf eine Neuinstallation angewiesen sein sollte.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: pfefferkeks am 18 März 2018, 09:52:39
Guten Morgen,

ich habe nun alles noch einmal neu aufgesetzt - wirklich alles - und siehe da es geht nun wie gewünscht - Danke!

Jetzt muss ich nur noch sehen wir ich die Rutine via Google Sprach Befehl ansteuer.

BG und schönene Sonntag,
pfeffer
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Sailor am 18 März 2018, 11:50:47
Hallo Pfefferkeks

Zitat von: pfefferkeks am 18 März 2018, 09:52:39
ich habe nun alles noch einmal neu aufgesetzt - wirklich alles - und siehe da es geht nun wie gewünscht - Danke!

Hats Du dabei mein Skript verwendet?
Gab es dabei Probleme? (Eigentlich ja nicht, wenn es wie gewünscht funktioniert  ;))

Gruss
    Sailor
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: pfefferkeks am 18 März 2018, 13:04:54
Hallo Sailor,

jip habe quasi einen "sauberen" lxc container auf meinem Debian verwenden und nach der fhem installation dein Script laufen lassen.

Lief alles sauber durch bei mir.

BG
pfeffer
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Pr3mut05 am 18 März 2018, 13:28:25
Habe immer noch das Problem das nach einen neustart keine Verbindung mehr zustande kommt
Wenn ich das Gerät lösche und neu anlege funktioniert wieder alles
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 18 März 2018, 14:26:20
Zitat von: pfefferkeks am 18 März 2018, 13:04:54
Hallo Sailor,

jip habe quasi einen "sauberen" lxc container auf meinem Debian verwenden und nach der fhem installation dein Script laufen lassen.

Lief alles sauber durch bei mir.

BG
pfeffer

Kannst Du auch mal den Inhalt von _Inline posten? Bei mir wird da einzig das file
config-arm-linux-gnueabihf-thread-multi-64int-5.020002
erstellt, also kein Unterverzeichnis lib/auto usw, und die Nummer am Ende unterscheidet sich auch gegenüber denen, bei denen es zu laufen scheint.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: benedikt-wue am 18 März 2018, 18:26:50
Mal noch eine Frage:
wie könnte ich das Modul dazu bringen, Spotify abzuspielen? Das Spotify - Modul habe ich ebenfalls am laufen, allerdings "vergisst" dieses regemäßig die Devices, so dass ich das jeweilige Gerät immer erst "per Hand" starten muss um dann die Musik zu transferieren. Das ist etwas mühsam. Gibt es die Möglichkeit, in diesem Google - Modul z.B. eine Playlist - URL zu starten oder z.B. eine Artist - URL (track_artist_uri
spotify:artist:0NnyKz36MvIC2R3dFht35A --> Reading aus dem Spotify - Modul)?
Ansonsten kann ich nur nochmal ein großes "Danke" in die Runde werfen, das Modul hier ist schon echt große Klasse... habe es inzwischen auch geschafft, bisschen in der FTUI damit weiterzukommen... ich hänge mal einen Entwurf an, vielleicht wollt Ihr mir (völliger Amateur!!!)mal Eure Meinung dazu sagen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: pfefferkeks am 18 März 2018, 18:35:12
Hi duke-f,

ich schau gerne nach den Datein bzw. _Inline. Nur wo finde ich die Information welche du suchst?

BG
pfeffer
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 18 März 2018, 19:46:24
Im Verzeichnis /opt/fhem gibt es nach der Installation von GOOGLECAST ein Unterverzeichnis mit dem Namen _Inline (Beachte den Unterstrich). In diesem Verzeichnis muss wohl ein weiteres Verzeichnis lib und darin wiederum auto angelegt sein. Diese gibt es bei mir aber nicht.
Weiter gibt es bei mir in _Inline ein File namens
config-arm-linux-gnueabihf-thread-multi-64int-5.020002
Wenn ich das richtig sehe, hat die letzte Zahl etwas mit der Version von Perl zu tun, bin aber nicht sicher. Jedenfalls ist da bei MadMax-FHEM
config-arm-linux-gnueabihf-thread-multi-64int-5.024001.

Nach wie vor sehe ich dar das wesentliche Problem bei mir -und bei anderen, die das gleiche Problem haben. Vielleicht muss ich einfach mal warten, bis Dominik Zeit hat, sich zu äußern. Möglicherweise habe ich mittlerweile duch die ganzen Deinstallationen und Installationen so einiges durcheinader gebracht.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: pfefferkeks am 18 März 2018, 20:35:49
Hi duke-f,

hier mal meine Information:
config-i686-linux-gnu-thread-multi-64int-5.024001

Darüber hinaus habe ich auch ,,/opt/fhem/_Inline/lib/auto", in ,,auto" sind dann je wieder ein Verzeichnis für meine Cast Devices - wenn ich das richtig sehen.

Meine Perl Version ist:  v5.24.1

Hoffentlich hilft es.

BG
pfeffer
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 18 März 2018, 21:21:09
Mal sehen, mein Perl ist v5.20.2 und angeblich aktuell - laut apt-get.
Vielleicht liegt's am Raspberry Pi Version B.         

Danke jedenfalls.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Sailor am 18 März 2018, 21:55:23
Moin zusammen

Zitat von: duke-f am 18 März 2018, 19:46:24
Im Verzeichnis /opt/fhem gibt es nach der Installation von GOOGLECAST ein Unterverzeichnis mit dem Namen _Inline (Beachte den Unterstrich). In diesem Verzeichnis muss wohl ein weiteres Verzeichnis lib und darin wiederum auto angelegt sein. Diese gibt es bei mir aber nicht.
Weiter gibt es bei mir in _Inline ein File namens
config-arm-linux-gnueabihf-thread-multi-64int-5.020002
Wenn ich das richtig sehe, hat die letzte Zahl etwas mit der Version von Perl zu tun, bin aber nicht sicher. Jedenfalls ist da bei MadMax-FHEM
config-arm-linux-gnueabihf-thread-multi-64int-5.024001.

Nur zur Info falls was hilft.

Bei mir gibt es sowohl das lib als auch das auto - Unterverzeichnis.
Dort befinden sich zwei weitere Unterverzechnisse namens
_98_GOOGLECAST_pm_0ec1
_98_GOOGLECAST_pm_3a3d

Meine Datei unter _Inline heisst ebenfalls exact "config-arm-linux-gnueabihf-thread-multi-64int-5.020002"

Gruss
    Sailor
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 18 März 2018, 22:08:43
Ja - es sagt mir, dass ich nicht zwanghaft probieren muss, Perl zu aktualisieren. Liegt offensichtlich nicht an der Version.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 19 März 2018, 14:30:44
Bin nochmal Schritt für Schritt alle Posts hier durchgegangen. Dabei tut sich die Frage auf: Ist in der aktuellen Version auch noch die Änderung von Post #278
https://forum.fhem.de/index.php/topic,45505.msg717878.html#msg717878 (https://forum.fhem.de/index.php/topic,45505.msg717878.html#msg717878)
nötig? Bin bis jetzt davon ausgegangen, dass sich dies erledigt habe, da in der Commandref dazu nichts erwähnt wird.
Dort wird eine Änderung im Skript /usr/lib/python2.7/platform.py beschrieben, die mir schonmal geholfen hatte. Allerdings lauft doch die aktuelle Version hier mit Python3.6, dieses Unterverzeichnis gibt es bei mir gar nicht. Es gibt nur python3, python3.2 und python3.4 (und eben noch python2.7).
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 20 März 2018, 00:11:56
Na gut, vielleicht muss man einfach erkennen, wenn man seine Grenzen erreicht hat. Habe versucht, alles was zu Python gehört zu entfernen - sowohl alles zu Python3.x als auch zu Python2.7. Anschließend gemäß dem Script von @Sailor alles Schritt für Schritt wieder installiert. Erfolg ist Null. Ich kann zwar außerhalb FHEM mit Python3 und darin import pychromecast meinen Chromecast steuern, aber FHEM weigert sich nach wie vor mit der gleichen Meldung, GOOGLECAST zu laden.

Traceback (most recent call last):
  File "<string>", line 3, in <module>
ImportError: No module named pychromecast
2018.03.20 00:01:32 1: reload: Error:Modul 98_GOOGLECAST deactivated:
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_GOOGLECAST.pm line 684.

2018.03.20 00:01:32 0: 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_GOOGLECAST.pm line 684.

Schade halt, da es ja vor dem Versuch auf die aktuelle Version upzudaten eigentlich lief.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 20 März 2018, 08:28:24
Zitat von: Grml am 17 März 2018, 11:20:29
EDIT: Mich würde ja weiterhin interessieren, wie ich das Ganze Python/Inline etc. Zeug nochmal sauber runter bekomme um mit dem oben geposteten Installscript neu anzufangen. Da ich (mWn) nichts weiter mit Python habe, hätte das keine Auswirkungen auf meine FHEM-Installation.

Auf eigenes Risiko, versteht sich: Hier könnte dazu etwas hilfreiches zu finden sein.
https://wiki.ubuntuusers.de/Python/manuelle_Installation/ (https://wiki.ubuntuusers.de/Python/manuelle_Installation/)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Sailor am 20 März 2018, 13:57:01
Hallo zusammen

Ich glaube Googlecast verursacht sporadische fhem Abstürze.

Habe mit Rudi zusammen den Grund ausgemacht.
https://forum.fhem.de/index.php/topic,85835.0.html (https://forum.fhem.de/index.php/topic,85835.0.html)


2018.03.20 10:39:22.893 1: ERROR: negative FD in GOOGLECAST


Code in fhem.pl:
vec($rin, $hash->{FD}, 1) = 1

Irgendwie scheint Googlecast einen den FD kleiner 1 zu setzten.

@Duke: Magst Du mal nachschauen?

Gruss
    Sailor
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 20 März 2018, 14:55:52
Diese Meldung habe ich bisher nicht. Mag auch daran liegen dass ich GOOGLECAST bisher nicht zum Laufen bekomme.....
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 20 März 2018, 17:06:03
Zitat von: DerKoerper am 07 März 2018, 15:48:38
@Sailor: Hast du schon gecheckt ob dein Inline auch definitiv auf Python 3 läuft?
Bei mir war es mit der gleichen Fehlermeldung das Problem und bei einigen anderen auch - einfach mal ne Testdatei anlegen:
zB. testpython.pl, rein muss

use Inline Python => << "ENDE";

import sys
print(sys.version_info[0])

ENDE


dann mit Perl ausführen
perl testpython.pl jetzt sollte da ne 3 rauskommen.

Wenn da noch ne 2 steht versuch mal meinen Weg (der es auch in die commandref geschafft hat  8) ):
sudo cpanm --uninstall Inline::Python
sudo INLINE_PYTHON_EXECUTABLE=/usr/bin/python3.5 cpanm Inline::Python <-- hier entsprechend den Pfad zum gewünschten Python bitte erst checken welche auf deinem system existieren

reboot und inline-testdatei nochmal ausführen und hoffen ;-)

@Pr3mut05:
Es müssten beide Wege funktionieren, nur dass du mit der aktuellen Variante aus der commandref Python nicht systemweit hart auf Version 3 stellst sondern NUR für das Inline Modul. Hart umstellen kann halt dazu führen, dass andere V3-inkompatible Sachen die auf Python laufen den Dienst quittieren.

Es läuft! :) :) :) :) :) :)
Nun weiß ich natürlich nicht, welche Schritte der letzten Tage inwieweit zum Erfolg geführt haben. Im Einzelnen habe ich nun versucht, alles zu Python3.x gehörende inklusive aller libs zu löschen. Besonders hartnäckig war da natürlich die manuell installierte Version 3.6.3, da diese nicht automatisch wieder entfernt werden kann, trotzdem aber so einiges an Querverknüpfungen generiert. So offensichtlich beispielsweise zu 3.4.x. Leider hat jeder Schritt der Neuinstallation immer wieder nur das gleiche Resultat geliefert (siehe oben). Der maßgebende Hinweis war offensichtlich von DerKoerper. Klar, hätte man früher drauf kommen können. Ich habe aber immer nur am Rande wahrgenommen, dass mir im letzten Schritt immer gemeldet wird, Inline::Python wäre aktuell. War es vielleicht auch, aber die zugehörigen Einstellungen passten nicht.

Wo jetzt eine falsche Verknüpfung war bzw. wohin, kann ich nicht mehr sagen, aber mit dem oben genannten Deinstallieren und Neuinstallieren von Inline::Python funktioniert es nun. Ich bleibe jetzt beim offiziellen aktuellen Standard 3.4.x. GOOGLECAST wird geladen und mein Chromecast wird erkannt.

sudo cpanm --uninstall Inline::Python
sudo INLINE_PYTHON_EXECUTABLE=/usr/bin/python3 cpanm Inline::Python


@Sailor: Vielleicht ein Tipp zum Skript. Vielleicht sollte man auf die Installation von Python3.6.3 bzw irgendeiner anderen aktuelleren Version verzichten. Mein Problem kam sicher daher, dass ich zunächst 3.4.x nach Deinem ersten Skript und später 3.6.3 nach dem neuen installiert habe, ohne vorher alles sauber zu löschen. Und gerade das saubere Löschen halte ich schon für eine Herausforderung, nicht nur an Laien.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: benedikt-wue am 20 März 2018, 17:24:18
Hat jemand eine Idee, wie ich das bei mir reibungslos funktionierende Modul (hatte es nach einem Total-Crash meines Pi's direkt installiert!) dazu bringe, eine Spotify - Playlist abzuspielen? Würde das z.B. als Favorit abspeichern und mit "set Bad playFavourite1" in Gang setzen... Leider macht er beim Einsetzen des Links nach "set Bad play <Link>" einfach garnichts... Liegt es an Spotify, an der Art des Links oder was denkt ihr?
Schöne Grüße
Ben
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: meddie am 21 März 2018, 11:44:51
Hallo zusammen,

ich nutze seit ein paar Wochen das Googlecastmodul. Ich finde es klasse vorallem weil ich ganz einfach TTS Ausgaben machen kann. Dafür möchte ich mich bedanken.
Leider habe ich schon zum zweiten mal einen FHEM-Absturz gehabt.
"Error_Connection_Refused" zeigt mir der Browser an. In der Log sehe ich zum Zeitpunkt des Absturzes folgendes:
2018.03.21 03:29:32 1: ERROR: Select error -1 (9), error count= 0
2018.03.21 03:29:32 1: Found and deleted bad fileno for GOOGLECAST-ccEsszimmer
2018.03.21 03:30:10 3: GOOGLECAST: ccEsszimmer initialized successfully
2018.03.21 03:43:45 1: ERROR: Select error -1 (9), error count= 0
2018.03.21 03:43:45 1: Found and deleted bad fileno for GOOGLECAST-ccAlle
exceptions.AttributeError: 'NoneType' object has no attribute 'close' at line 491


Außerdem habe ich beobachtet dass alle Chromecasts und der Googel Home sich nicht verbinden nach Neustart vom FHEM, man muss jeweils einmal in das Def vom entsprechenden Chromecast reingehen damit der status wieder auf online geht.

Hat das jemand von Euch auch?
Vielen Dank im Voraus
VG Eddie
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 23 März 2018, 12:24:25
Zitat von: Sailor am 20 März 2018, 13:57:01
Hallo zusammen

Ich glaube Googlecast verursacht sporadische fhem Abstürze.

Habe mit Rudi zusammen den Grund ausgemacht.
https://forum.fhem.de/index.php/topic,85835.0.html (https://forum.fhem.de/index.php/topic,85835.0.html)


2018.03.20 10:39:22.893 1: ERROR: negative FD in GOOGLECAST


Code in fhem.pl:
vec($rin, $hash->{FD}, 1) = 1

Irgendwie scheint Googlecast einen den FD kleiner 1 zu setzten.

@Duke: Magst Du mal nachschauen?

Gruss
    Sailor

Nun läuft GOOGLECAST ja und ich konnte auch folgendes erleben. Nach dieser Meldung in der Log:


2018.03.23 09:56:47 3: GOOGLECAST: Chromecast0825 initialized successfully
Negative offset to vec in lvalue context at fhem.pl line 639.

hat sich mein FHEM verabschiedet. Meinst Du sowas? Sollte das schon gefixt sein?

EDIT: Und gleich einer hinterher: FHEM neu gestartet und sofort kommt die gleiche Situation wieder. Habe das Modul GOOGLECAST wieder vorerst deaktiviert.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 24 März 2018, 12:51:44
Hallo zusammen,

ist der Fehler mit dem negativen FD bei euch reproduzierbar? Bitte mit der Version anbei mal testen.

Diejenigen die den Fehler nach dem Reboot haben, dass die Devices nicht mehr online gehen: Könnt ihr den Fehler reproduzieren? Bitte dann mal global verbose 5 mit der Version anbei.

Bzgl. dem Script von Sailor, erstmal Danke für die gute Idee! Ich würde im Script jedoch nicht empfehlen Python direkt zu installieren sondern apt-get dazu zu verwenden, sonst entsteht ein ziemliches Wirrwar an Python Versionen.

Gruß
Dominik

//Edit: Anhang entfernt, Update im nächsten Post.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 24 März 2018, 14:02:33
Ich hatte ihn die letzten Tage nur diese zwei Mal, das zweite Mal direkt nach dem Neustart von FHEM nach dem ersten Fall. Könnte da also noch irgendwo etwas altes von vor dem Neustart vorhanden sein - also eigentlich vielleicht doch erst einmal.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 25 März 2018, 17:34:33
Ich hatte jetzt auch den negativen FD Fehler. Anbein ein Update dazu.

Bitte um Rückmeldung ob ihr noch weitere Fehler damit habt.

Gruß
Dominik
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 25 März 2018, 21:06:52
Hab's eingespielt und werde prüfen und beobachten.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: meddie am 25 März 2018, 21:47:16
Hallo, ich habe es nun auch aktualisiert und beobachte.

Ich habe noch das Problem mit dem Offline der einzelnen Chromecasts nach dem Reboot von FHEM. Ich habe nun unter global auf Verbose 5 gestellt und habe FHEM neugestartet. Hier das Log:


2018.03.25 21:33:58 4: GOOGLECAST: search result: ccAlle|CCDEVICE|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Chromecast Audio|ccEsszimmer|CCDEVICE|1xx.xxx.xxx.xxx|42694|irgend-eine-id-32stillig-5bloecke|Google Cast Group|ccAlle|CCDEVICE|1xx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Chromecast Audio|ccWohnzimmer|CCDEVICE|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Google Home|ghmEsszimmer
2018.03.25 21:33:58 4: GOOGLECAST: search result: ccEsszimmer|CCDEVICE|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Chromecast Audio|ccEsszimmer|CCDEVICE|1xx.xxx.xxx.xxx|42694|irgend-eine-id-32stillig-5bloecke|Google Cast Group|ccAlle|CCDEVIC|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Chromecast Audio|ccWohnzimmer|CCDEVICE|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Google Home|ghmEsszimmer
2018.03.25 21:33:58 4: GOOGLECAST: search result: ghmEsszimmer|CCDEVICE|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Chromecast Audio|ccEsszimmer|CCDEVICE|1xx.xxx.xxx.xxx|42694|irgend-eine-id-32stillig-5bloecke|Google Cast Group|ccAlle|CCDEVICE|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Chromecast Audio|ccWohnzimmer|CCDEVICE|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Google Home|ghmEsszimmer
2018.03.25 21:33:58 4: Connection accepted from telnetPort_127.0.0.1_35882
2018.03.25 21:33:58 4: Connection accepted from telnetPort_127.0.0.1_35884
2018.03.25 21:33:58 4: Connection accepted from telnetPort_127.0.0.1_35886
2018.03.25 21:33:58 4: GOOGLECAST: search result: ccWohnzimmer|CCDEVICE|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Chromecast Audio|ccEsszimmer|CCDEVICE|1xx.xxx.xxx.xxx|42694|irgend-eine-id-32stillig-5bloecke|Google Cast Group|ccAlle|CCDEVICE|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Chromecast Audio|ccWohnzimmer|CCDEVICE|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Google Home|ghmEsszimmer
2018.03.25 21:33:58 4: Connection accepted from telnetPort_127.0.0.1_35888


Ich habe meine IP Adressen und die IDs unkenntlich gemacht, weil ich mir nicht sicher bin wie kritisch dass diese Infos sind.
Ich hoffe Du kannst damit etwas anfangen.
Danke vorab
VG Eddie
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 25 März 2018, 22:05:08
Kannst du mir bitte das Log vom Start weg zukommen lassen? Gerne auch per PN. Danke.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Sailor am 25 März 2018, 22:17:08
Zitat von: dominik am 25 März 2018, 17:34:33
Ich hatte jetzt auch den negativen FD Fehler. Anbein ein Update dazu.

Bitte um Rückmeldung ob ihr noch weitere Fehler damit habt.

Gruß
Dominik

Nicht vergessen folgenden Code vor Zeile 639 in die fhem.pl einzuspielen.

      if($hash->{FD} < 0) {
        Log 1, "ERROR: negative FD in $hash->{NAME}";
        next;
      }


Dann gibts im Fehlerfall nur einen Log-Eintrag und keinen Absturz.

Gruss
    Sailor
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 25 März 2018, 22:37:13
Diese Änderung sollte nicht notwendig sein, da keine negativen FD mehr hinzugefügt werden.

Gruß
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Pr3mut05 am 28 März 2018, 12:27:54
Zitat von: meddie am 25 März 2018, 21:47:16
Hallo, ich habe es nun auch aktualisiert und beobachte.

Ich habe noch das Problem mit dem Offline der einzelnen Chromecasts nach dem Reboot von FHEM. Ich habe nun unter global auf Verbose 5 gestellt und habe FHEM neugestartet. Hier das Log:


2018.03.25 21:33:58 4: GOOGLECAST: search result: ccAlle|CCDEVICE|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Chromecast Audio|ccEsszimmer|CCDEVICE|1xx.xxx.xxx.xxx|42694|irgend-eine-id-32stillig-5bloecke|Google Cast Group|ccAlle|CCDEVICE|1xx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Chromecast Audio|ccWohnzimmer|CCDEVICE|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Google Home|ghmEsszimmer
2018.03.25 21:33:58 4: GOOGLECAST: search result: ccEsszimmer|CCDEVICE|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Chromecast Audio|ccEsszimmer|CCDEVICE|1xx.xxx.xxx.xxx|42694|irgend-eine-id-32stillig-5bloecke|Google Cast Group|ccAlle|CCDEVIC|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Chromecast Audio|ccWohnzimmer|CCDEVICE|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Google Home|ghmEsszimmer
2018.03.25 21:33:58 4: GOOGLECAST: search result: ghmEsszimmer|CCDEVICE|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Chromecast Audio|ccEsszimmer|CCDEVICE|1xx.xxx.xxx.xxx|42694|irgend-eine-id-32stillig-5bloecke|Google Cast Group|ccAlle|CCDEVICE|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Chromecast Audio|ccWohnzimmer|CCDEVICE|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Google Home|ghmEsszimmer
2018.03.25 21:33:58 4: Connection accepted from telnetPort_127.0.0.1_35882
2018.03.25 21:33:58 4: Connection accepted from telnetPort_127.0.0.1_35884
2018.03.25 21:33:58 4: Connection accepted from telnetPort_127.0.0.1_35886
2018.03.25 21:33:58 4: GOOGLECAST: search result: ccWohnzimmer|CCDEVICE|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Chromecast Audio|ccEsszimmer|CCDEVICE|1xx.xxx.xxx.xxx|42694|irgend-eine-id-32stillig-5bloecke|Google Cast Group|ccAlle|CCDEVICE|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Chromecast Audio|ccWohnzimmer|CCDEVICE|1xx.xxx.xxx.xxx|8009|irgend-eine-id-32stillig-5bloecke|Google Home|ghmEsszimmer
2018.03.25 21:33:58 4: Connection accepted from telnetPort_127.0.0.1_35888


Ich habe meine IP Adressen und die IDs unkenntlich gemacht, weil ich mir nicht sicher bin wie kritisch dass diese Infos sind.
Ich hoffe Du kannst damit etwas anfangen.
Danke vorab
VG Eddie


Habe auch nach wie vor das Problem dass nach einen Neustart alle Geräte Offline sind
Trotz verbose 5 ist das die einzige Meldung die von googlecast kommt

Zitat
2018.03.28 12:24:38 3: GOOGLECAST: GoogleCast v2.1.3
2018.03.28 12:24:38 3: GOOGLECAST: Wohnzimmer initializing...
2018.03.28 12:24:38 3: GOOGLECAST: Küche initializing...
2018.03.28 12:24:38 3: GOOGLECAST: Schlafzimmer initializing...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Sailor am 29 März 2018, 09:30:04
Hallo dominik

Zitat von: dominik am 25 März 2018, 22:37:13
Diese Änderung sollte nicht notwendig sein, da keine negativen FD mehr hinzugefügt werden.

Es scheint zu funktionieren, aber nachdem ich ein update durchgeführt habe, war  die Datei wieder beim alten und schwupps - Wieder fhem Absturz mit negativen vec.

Kannst due die datei bitte ins offizielle repository hochladen?

Danke

Gruss
   Sailor
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 29 März 2018, 15:28:19
Hallo,

folgt am Wochenende. Hatte noch keine positive Rückmeldung und hatte es daher nicht eingecheckt.

Gruß
Dominik
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 04 April 2018, 13:51:58
Bei mir läuft das ganze nun auch schon seit mehr als einer Woche ohne nennenswerte Probleme, soweit ich das eben nutze.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 06 April 2018, 09:06:52
Ich habe jetzt auch noch etwas rumprobiert.
Das Perl-Testskript von weiter oben meldet mir Version 3.

Trotzdem bekomme im Log diese Fehlermeldung, wenn ich versuche einen GH Mini einzubinden:
2018.04.06 09:00:17 1: reload: Error:Modul 98_GOOGLECAST deactivated:
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_GOOGLECAST.pm line 684.

2018.04.06 09:00:17 0: 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_GOOGLECAST.pm line 684.


Gibt es jemanden, der mir Step-by-Step helfen könnte das ganze Python-Zeug runter- und wieder rauf zu bekommen? Vor allem auch mit dem ganzen Versionswirrwar... Als nicht Linux-Pro ist man da sehr verloren... :(

In /usr/bin habe ich aktuell:

/usr/bin $ ls -al pyth*
lrwxrwxrwx 1 root root      16 Feb 24 16:10 python -> /usr/bin/python3
lrwxrwxrwx 1 root root       9 Mär 28  2015 python2 -> python2.7
-rwxr-xr-x 1 root root 3201580 Sep 18  2016 python2.7
lrwxrwxrwx 1 root root      36 Sep 18  2016 python2.7-config -> arm-linux-gnueabihf-python2.7-config
lrwxrwxrwx 1 root root      16 Mär 28  2015 python2-config -> python2.7-config
lrwxrwxrwx 1 root root       9 Dez  6  2014 python3 -> python3.4
-rwxr-xr-x 2 root root 3816928 Okt 19  2014 python3.4
lrwxrwxrwx 1 root root      36 Okt 19  2014 python3.4-config -> arm-linux-gnueabihf-python3.4-config
-rwxr-xr-x 2 root root 3816928 Okt 19  2014 python3.4m
lrwxrwxrwx 1 root root      37 Okt 19  2014 python3.4m-config -> arm-linux-gnueabihf-python3.4m-config
lrwxrwxrwx 1 root root      16 Dez  6  2014 python3-config -> python3.4-config
lrwxrwxrwx 1 root root      10 Dez  6  2014 python3m -> python3.4m
lrwxrwxrwx 1 root root      17 Dez  6  2014 python3m-config -> python3.4m-config
lrwxrwxrwx 1 root root      16 Mär 28  2015 python-config -> python2.7-config


in /usr/local/bin liegt das hier:

/usr/local/bin $ ls -al
insgesamt 344
drwxrwsr-x  2 root staff   4096 Feb 16 18:31 .
drwxrwsr-x 10 root staff   4096 Mai 11  2016 ..
-rwxr-xr-x  1 root staff    223 Dez 30 23:36 chardetect
-r-xr-xr-x  1 root staff 304959 Jun 15  2016 cpanm
-rwxr-xr-x  1 root staff    233 Feb 16 18:31 easy_install
-rwxr-xr-x  1 root staff    233 Feb 16 18:31 easy_install-2.7
-rwxr-xr-x  1 root staff    361 Jan  1 15:42 pip
-rwxr-xr-x  1 root staff    363 Dez 31 00:53 pip2
-rwxr-xr-x  1 root staff    367 Dez 31 00:53 pip2.7
-rwxr-xr-x  1 root staff    363 Jan  1 15:42 pip3
-rwxr-xr-x  1 root staff    367 Jan  1 15:42 pip3.5
-rwxr-xr-x  1 root staff    211 Okt 30 08:59 youtube-dl

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Pr3mut05 am 09 April 2018, 08:22:16
1. Also aktuell läuft bei mir alles sehr Gut. eingerichtet nach der Anleitung im commandref

2. In der Handy-App habe ich bei den Cast Geräten "Gruppen". Kann ich diese in FHEM auch auslesen/ansteuern? Wenn ich bei zwei Geräte nacheinander einen Radiostream starte habe ich einen kleinen Zeitverzug der doch störend ist

3. Gibt es einen Befehl bei dem FHEM eine Kurze Pause macht?!
Ich möchte erst eine Spachausgabe, dann einen Rasiostream

set GoogleHome_SZ speak "Guten Morgen"
set GoogleHome_SZ playFavorite 1


Da die Sparchausgabe ja über Web (translate.google.com) abgewickelt wird dauert da ja ein paar Sekunden. Bis dahin läuft aber schon der Strem und die Spachausgabe geht unter.
Hat da jemand einen tipp für mich?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 11 April 2018, 21:06:50
Ich habe gerade den Fix aus dem Script oben eingecheckt.

Für alle die noch den Bug haben, dass nach dem Neustart die Chromecasts offline bleiben. Bitte sendet mir euer Log mit verbose = 5 während einem solchen Neustart. Ich habe ein paar mehr Log Meldungen eingebaut. Aktuell sieht es so aus, als würde der BlockingCall die finishFn Funktion nicht aufrufen...wieso auch immer.

@Pr3mut05
Für Gruppen musst du nur den Gruppenname verwenden. Z.B. define wohnung.allecc GOOGLECAST Wohnung (Wohnung = Name der Googlecast Gruppe).
Ich verwende meistens DOIF und dort kannst du Pausen mit dem Attribut "wait" setzen. Das ist ganz praktisch.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Pr3mut05 am 12 April 2018, 19:36:03
Das mit den Gruppen hat Funktioniert

Nach einen Neustart sind meine Geräte jedoch nach wie vor alle wieder offline
Keine Fehlermeldung im Log
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 12 April 2018, 20:37:16
Auch wenn keine Fehlermeldung drin ist, bitte die Meldungen mit GOOGLECAST posten (verbose=5).
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Pr3mut05 am 13 April 2018, 20:49:49
2018.04.13 20:48:03 3: GOOGLECAST: GoogleCast v2.1.3
2018.04.13 20:48:03 3: GOOGLECAST: Wohnzimmer initializing...
2018.04.13 20:48:03 3: GOOGLECAST: Küche initializing...
2018.04.13 20:48:03 3: GOOGLECAST: Schlafzimmer initializing...
2018.04.13 20:48:05 3: GOOGLECAST: Überall initializing...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Pr3mut05 am 13 April 2018, 20:55:14
Lässt sich relativ schnell und einfach wieder einbinden wenn man das Gerät aufruft
Unter Internals [DEF] wählt
und dann [modify GERÄT]

2018.04.13 21:00:30 3: GOOGLECAST: Schlafzimmer initializing...
2018.04.13 21:00:30 5: GOOGLECAST: Schlafzimmer set readings offline
2018.04.13 21:00:30 5: GOOGLECAST: Schlafzimmer start initDevice
2018.04.13 21:00:30 5: GOOGLECAST(GoogleHome_SZ): start findChromecasts BlockingCall
2018.04.13 21:00:30 5: GOOGLECAST(GoogleHome_SZ): finished findChromecasts BlockingCall
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 14 April 2018, 09:04:07
Bitte mit verbose 5. Verbose 3 sind zu wenige Log Meldungen um das zu analysieren.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Grml am 16 April 2018, 10:29:00
Ich habe jetzt heute mir viel suchen und recherchieren das ganze Python3 Zeug nochmal gelöscht bzw. deinstalliert.
Dann alles nach der COMMANDREF sauber neu installiert, das läuft auch ohne Fehler durch.

Und trotzdem bleibe ich weiterhin bei dieser Fehlermeldung im LOG hängen:
2018.04.16 09:13:02 1: reload: Error:Modul 98_GOOGLECAST deactivated:
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_GOOGLECAST.pm line 695.

2018.04.16 09:13:02 0: 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_GOOGLECAST.pm line 695.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: ghe-69 am 25 April 2018, 15:05:46
Ich benutze das Modul von Anfang an ...Echt  Super danke.. Ich habe 5  Chromecast Audios ..
Ich habe den Offline Fehler nach Neustart wie die anderen Beschrieben haben leider auch.. 
Deshalb habe ich folgendes probiert:
Eine neue 4GB SD Karte mit dem RaspPi3 nach Anleitung mit Jessi light aufgespielt.. Dann FHEM auch installiert... dann aus meiner alten SD Karte ein FHEM Backup eingespielt ....  dann nach der GoogleCast COmRef vorgegangen ... alles ohne Fehler installiert ....  leider ohne Erfolg ....
In der commandref steht "Es ist sicherzustellen, dass python3 installiert ist" ... das habe nicht gemacht, für Jessi light geht das glaube ich nicht oder? (Da wird 2.7Installiert)
danke nochmals für die Mühe
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Sailor am 26 April 2018, 10:36:39
Hi ghe

Zitat von: ghe-69 am 25 April 2018, 15:05:46
Ich benutze das Modul von Anfang an ...Echt  Super danke.. Ich habe 5  Chromecast Audios ..
Ich habe den Offline Fehler nach Neustart wie die anderen Beschrieben haben leider auch.. 
Deshalb habe ich folgendes probiert:
Eine neue 4GB SD Karte mit dem RaspPi3 nach Anleitung mit Jessi light aufgespielt.. Dann FHEM auch installiert... dann aus meiner alten SD Karte ein FHEM Backup eingespielt ....  dann nach der GoogleCast COmRef vorgegangen ... alles ohne Fehler installiert ....  leider ohne Erfolg ....
In der commandref steht "Es ist sicherzustellen, dass python3 installiert ist" ... das habe nicht gemacht, für Jessi light geht das glaube ich nicht oder? (Da wird 2.7Installiert)
danke nochmals für die Mühe

Was passiert wenn du mein Installations-Skript verwendest?

Gruß
    Sailor

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 26 April 2018, 11:07:04
Zitat von: ghe-69 am 25 April 2018, 15:05:46
Ich benutze das Modul von Anfang an ...Echt  Super danke.. Ich habe 5  Chromecast Audios ..
Ich habe den Offline Fehler nach Neustart wie die anderen Beschrieben haben leider auch.. 
Deshalb habe ich folgendes probiert:
Eine neue 4GB SD Karte mit dem RaspPi3 nach Anleitung mit Jessi light aufgespielt.. Dann FHEM auch installiert... dann aus meiner alten SD Karte ein FHEM Backup eingespielt ....  dann nach der GoogleCast COmRef vorgegangen ... alles ohne Fehler installiert ....  leider ohne Erfolg ....
In der commandref steht "Es ist sicherzustellen, dass python3 installiert ist" ... das habe nicht gemacht, für Jessi light geht das glaube ich nicht oder? (Da wird 2.7Installiert)
danke nochmals für die Mühe

Ich hatte ja auch große Probleme. Letztendlich habe ich hier versucht, die für mich wirksame Lösung zu skizzieren:
https://forum.fhem.de/index.php/topic,45505.msg784186.html#msg784186
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Gernot69 am 26 April 2018, 18:00:37
danke Sailor. Ich hab mich an MadMax-FHEM  Anleitung gehalten. Bei mir funktioniert alles ohne Fehlermeldung durchgelaufen. sogar "Hallo Test". funktioniert.

Bei Verbose5 gibt es nicht mehr Fehlermeldungen im Logfile  als ohne nach restart:
2018.04.26 08:42:43 3: GOOGLECAST: GoogleCast v2.1.3
2018.04.26 08:42:43 3: GOOGLECAST: Terrasse initializing...
2018.04.26 08:42:43 3: GOOGLECAST: Bad initializing...


Ich hab dann das  python3-dev:
sudo apt-get install libwww-perl python-enum34 python3-dev libextutils-makemaker-cpanfile-perl python3-pip cpanminus
   .. und  mit python3.5:
sudo INLINE_PYTHON_EXECUTABLE=/usr/bin/python3.5[/  probiert ..
--> da hat FHEM GOOGLECAST gar nichts mehr erkannt

Das mit dem Skript habe ich noch nicht probiert (Bin da nicht so bewandert .. muss mich erst einlesen wie ich sowas erstelle (Ich probier das und gebe eine Rückmeldung).
Kann ich das mit Jessi ligth  machen?  denke ja (hat auch MadMax-FHEM verwendet)

danke
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Gernot69 am 26 April 2018, 18:13:50
Entschuldigung Gernot69 = ghe-69

Kann ich das Skript 1:1 von Beitrag "1145" verwenden, oder muss ich das anpassen? Muss ich ein Jungfräuliches  Jessi light verwenden, oder kann ich das direkt auf mein LiveSystem, spielen?

danke
Gernot
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: maddinthebrain am 04 Mai 2018, 21:39:34
Hallo,
Darf in den Namen der Geräte kein Leerzeichen sein? Das wäre ungünstig, denn alle Chromecast Geräte haben Leerzeichen ihren Namen.

Ich habe auch noch nicht verstanden, wo jetzt der tatsächliche Name des Chromecast Gerätes, z. B. In der Google Home App nachschaubar, bei der Definition in Fhem hinkommt. Also ist das so richtig

define Chromecastgerätename GOOGLECAST Chromecastname_in_fhem
?

Grüße Martin
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: benm am 06 Mai 2018, 12:48:51
Hallo zusammen,
ich habe mein System auf einem neuen Raspberry in Betrieb genommen. Weil ich auf meinem alten Raspberry immer das Problem hatte, dass nach einem reboot alle meine Castgeräte Offline waren, habe ich direkt am Anfang dieses Modul und meine Geräte in Betrieb genommen. Hat auch alles ohne Probleme funktioniert. Nach einem reboot waren alle Geräte wieder da und Funktionsbereit.

Jetzt habe ich weiter installiert und meine Geräte werden nach einem reboot wieder als Offline angezeigt.

Folgende Sachen habe ich danach noch installiert:
Xiaomi Devices:
sudo apt-get install libio-socket-multicast-perl
sudo apt-get install libjson-perl
sudo apt-get install libcrypt-cbc-perl
sudo cpan Crypt::Cipher::AES
sudo apt-get install libmath-round-perl


Yeelight:
sudo cpan install JSON::XS

Ansonsten habe ich alle Geräte (Funksteckdosen, Lampen, Sensoren usw.) eingebunden. Kann mir aber nur vorstellen, dass es mit einem der oben genannten Codezeilen zusammen hängt. Leider weiß ich nicht mehr, nach welcher Installation es nicht mehr ging. Hat jemand eine Idee, woran es liegen könnte und kann mir eine Lösung nennen?

Eine erneute Installation von den Codezeilen von GOOGLECAST bringt auch leider keine Besserung.

Viele Grüße und danke im Voraus,
Benjamin
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 06 Mai 2018, 13:00:40
Hi Benjamin,

also ich hab GOOGLECAST installiert, läuft.

Zusätzlich habe ich auch Xiaomi Geräte: Staubsauger, Temp/Luftfeuchte.
Also den Gateway (Temp/Luftfeuchte) und direkt per WLAN (Sauger)...

Habe also auch folgende Pakete installiert:


sudo apt-get install libio-socket-multicast-perl
sudo apt-get install libjson-perl
sudo apt-get install libcrypt-cbc-perl
sudo cpan Crypt::Cipher::AES


Was ich nicht habe (warum weiß ich jetzt nicht ;)  ):
libmath-round-perl

Und da ich kein Yeelight habe, natürlich auch kein:
JSON::XS

Hilft vielleicht beim weiter eingrenzen...

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: benm am 06 Mai 2018, 13:11:28
Hi Joachim,

danke für deine schnelle Antwort.

Bin leider in Linux totaler Anfänger und suche mir die Befehle im Netz zusammen. Kann ich den Befehl:
sudo cpan install JSON::XS
wieder deinstallieren um das zu testen, ob es dann wieder geht?

Grüße, Benjamin
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: benm am 06 Mai 2018, 21:07:15
Nachdem ein
sudo cpanm --uninstall JSON::XS
nichts gebracht hat, habe ich mein System noch mal geschwind neu aufgesetzt. Nun läuft es auch noch nach Xiaomi und nach Yeelight.

Das einzige, was ich vorhin noch gemacht hatte, waren Benutzerrechte und HTTPS für den Webhook zu setzen, damit ich per IFTTT auf mein FHEM zugreifen kann.

Das werde ich am langen WE noch mal testen, ob das damit zusammen hängt.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: benm am 10 Mai 2018, 16:53:24
Ich habe jetzt noch mal mein System neu aufgesetzt und nach jeder Änderung den PI neu gestartet um zu sehen was meine Devices auf Offline gehen lässt.

Sobald ich die Attribute setze:
attr WEBphone basicAuth xxx
attr WEBtablet basicAuth xxx
attr WEB basicAuth xxx

Telnet absichern
attr telnetPort password xxx


stehen meine Geräte auf Offline.

Lösche ich die Attribute wieder, gehen meine Geräte wie gewohnt wieder auf Online. Mache ich bei den oben genannten Attributen was falsch?

Grüße, Benjamin
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Gernot69 am 11 Mai 2018, 16:25:44
Ich hab nochmals Verbose 5 eingestellt: 


es kommt im Logfile doch zu einer Fehlermeldung (entgegen meiner obigen Behauptung) :
2018.05.07 08:24:00 1: BlockingInformParent (GOOGLECAST_findChromecastsResult): Can't connect to localhost:36737: IO::Socket::INET: connect: Connection refused

danke
gernot
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: meddie am 14 Mai 2018, 18:42:08
Mein FHEM stürzt immer wieder ab.
Folgendes ist in der Log zu entnehmen:
Can't use string ("") as a HASH ref while "strict refs" in use at ./FHEM/98_GOOG                                                                                                             LECAST.pm line 636.
2018.05.14 08:24:36 1: BlockingInformParent (BlockingStart): Can't connect to lo                                                                                                             calhost:34766: IO::Socket::INET: connect: Connection refused
2018.05.14 08:24:36 1: BlockingInformParent (BlockingStart): Can't connect to lo                                                                                                             calhost:34766: IO::Socket::INET: connect: Connection refused
2018.05.14 08:24:36 1: BlockingInformParent (GOOGLECAST_findChromecastsResult):                                                                                                              Can't connect to localhost:34766: IO::Socket::INET: connect: Connection refused
2018.05.14 08:24:36 1: BlockingInformParent (GOOGLECAST_findChromecastsResult):                                                                                                              Can't connect to localhost:34766: IO::Socket::INET: connect: Connection refused

Danach ist FHEM weg.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: KOAL am 21 Mai 2018, 08:21:10
Zitat von: benm am 10 Mai 2018, 16:53:24
Ich habe jetzt noch mal mein System neu aufgesetzt und nach jeder Änderung den PI neu gestartet um zu sehen was meine Devices auf Offline gehen lässt.

Sobald ich die Attribute setze:
attr WEBphone basicAuth xxx
attr WEBtablet basicAuth xxx
attr WEB basicAuth xxx

Telnet absichern
attr telnetPort password xxx


stehen meine Geräte auf Offline.

Lösche ich die Attribute wieder, gehen meine Geräte wie gewohnt wieder auf Online. Mache ich bei den oben genannten Attributen was falsch?

Grüße, Benjamin


Hallo,
ich habe das selbe Problem, sobald TELNET gesichert wird, geht das GOOGLECAST auf offline. >wo muss dort das PW eingestellt werden?


LG
KOAL
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: meddie am 24 Mai 2018, 08:53:36
Hallo zusammen,

wie sieht es denn in der Entwicklung des Moduls aus?
Ich finde das Modul Klasse, und an dieser Stelle ein herzliches Dankeschön dafür. Ich finde es richtig Klasse um TTS Ausgaben super Easy machen zu können. Aber auch zum Musikhören wunderbar (das nutze ich aber so gut wie nie). Leider habe ich zwei Probleme, 1. Nach dem Reboot sind alle Google Cast Geräte Offline und verbinden sich nicht, 2. FHEM stürzt sporadisch ab. Mit dem ersten könnte ich leben, auch wenn es etwas stört, aber dass FHEM immer wieder abstürzt ist es für mich ein großes Problem. Gestern konnte meine Frau die Tür nicht aufsperren, weil sie ihren Schlüssel nicht dabei hatte und auch nicht auf FHEM zugreifen konnte, um damit die den Schloßantrieb zu betätigen.
Ich wäre gerne bereit bei der Fehlersuche soweit es geht zu helfen. Ich kann Euch Logs generieren, wir können auch gerne eine Remotesession machen. Ich fände es äußerst schade, wenn ich auf das Modul verzichten müßte. Aber wenn da keine Lösung in Sicht ist, dann muss ich abwägen TTS oder stabiles FHEM und das ist mir wichtiger.

Vielen Dank im Voraus
VG Eddie

PS: Bitte nicht als Kritik aufnehmen, das ist es nämlich nicht, wie gesagt ich finde das Modul Klasse und bin sehr dankbar dafür. Es ist nur ein Hilferuf.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 24 Mai 2018, 14:18:05
Ich weiß nicht, ob das Dir möglich ist: Ich habe mir für die Entwicklungszeit des Moduls (und anderen kritischen Devices) mit einem Zweitsystem beholfen. Darauf läuft ein Minimal-FHEM mit nur GOOGLECAST und FireTV, welche dann wiederum per RFHEM an das Hauptsystem angebunden sind.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: meddie am 24 Mai 2018, 14:57:24
Hallo duke-f,

ja das ist eine gute Idee. Wenn das TTS ausfällt tut mir das nicht weh. Ja ich die Möglichkeit ein zweites FHEM zu betreiben hätte ich. Habe aber noch nie was mit RFHEM gemacht. Naja dann weiß ich in was ich mich heute Abend einlesen werde.
Danke für den Tipp.
VG Eddie
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 24 Mai 2018, 15:14:28
Das ist wirklich einfach. Zugegeben, ich tue mich manchmal mit den Beschreibungen der Module hier etwas schwer. Liegt daran, dass dies nicht wirklich meine Welt ist und es andererseits bestimmt nicht immer einfach ist, ein komplexes Modul für Dummies wie mich verständlich zu erläutern. Aber hier hat es doch verhältnismäßig gut geklappt. In Stichworten:
Ich habe auf dem Nebensystem mein Chromecast regular eingebunden.
Auf dem Hauptsystem gibt es anstelle des Modules ein dummy. Da ich den realen Vhromecast auch erst da eingebunden hatte, konnte ich das schnell durch direktes Editieren der Config anpassen (klar, die allgemein übliche Warnung davor gilt selbstverständlich).

Im Slave mit dem Realen CC habe ich nun definiert:

define CC_Chromecast GOOGLECAST Chromecast0825

define FHEM2CC RFHEM ip.des.haupt.fhem
attr FHEM2CC RFHEMdevs CC_Chromecast
attr FHEM2CC RFHEMevents state,presence,volume,mediaTitle,mediaPlayerState,idle,castType,mediaDuration
attr FHEM2CC verbose 0

define FHEM2CC.Notify notify CC_Chromecast.* set FHEM2CC cmd setreading CC_Chromecast $EVENT
attr FHEM2CC.Notify disable 1


Und am Hauptsystem:

define CC_Chromecast dummy

define FHEM2CC RFHEM ip.des.slave.fhem
attr FHEM2CC verbose 0


Auf dem Hauptsystem habe ich mir noch eine Fernbedienung für die mir wichtigen Funktionen definiert, das ist aber eigentlich ein anderes Thema.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: spb1987 am 30 Mai 2018, 12:36:51
Hallo,

ich habe eine Frage. Ich möchte gerne meine Chromecast built-in Lautsprecher (ONKYO) mit Hilfe des Googlecast-Moduls aus FHME heraus ansprechen. Genauer gesagt, möchte ich, dass die LS auf Trigger von FHEM ein Webradio(-stream) abspielen.
Lösen wollte ich das ganze mit - play URL. Die genutzte URL ist: player.ffn.de/radioffn.m3u

Leider geben die LS keinen Ton von sich. Über die App gemonitort sieht man, dass die LS gar nicht auf die Eingabe reagieren.
Sende ich mit gleichem Befehl ein Youtube-Link reagieren die LS sofort. Ebenso funktioniert die Talk Funktion.

Mache ich was falsch?

Danke für eure Hilfe
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Gernot69 am 05 Juni 2018, 16:48:04
Bezüglich: Offline gehen:
Bei Verbose 5 chromecast kommt folgende Loggeinträge:
Das komische ist, dass der Port 46443 jedesaml kurz nach dem Hochlauf wechselt  auf 36683 und dann weiter auf 34193


2018.06.03 10:04:26 0: Server started with 143 defined entities
2018.06.03 10:04:26 3: telnetForBlockingFn_1528013066: port 46443 opened
2018.06.05 07:25:44 0: Server shutdown
2018.06.05 07:25:45 1: BlockingInformParent (BlockingStart): Can't connect to localhost:46443: IO::Socket::INET: connect: Connection refused
2018.06.05 07:25:45 1: BlockingInformParent (GOOGLECAST_findChromecastsResult): Can't connect to localhost:46443: IO::Socket::INET: connect: Connection refused

2018.06.05 07:26:04 0: Server started with 143 defined entities (fhem.pl:16813/2018-06-03 perl:5.024001 os:linux user:fhem pid:31093)
2018.06.05 07:26:04 3: telnetForBlockingFn_1528176364: port 36683 opened


2018.06.05 07:50:44 0: Server shutdown
2018.06.05 07:50:49 1: BlockingInformParent (BlockingStart): Can't connect to localhost:36683: IO::Socket::INET: connect: Connection refused
2018.06.05 07:50:49 1: BlockingInformParent (GOOGLECAST_findChromecastsResult): Can't connect to localhost:36683: IO::Socket::INET: connect: Connection refused

2018.06.05 07:51:04 0: Server started with 143 defined entities (fhem.pl:16813/2018-06-03 perl:5.024001 os:linux user:fhem pid:31842)
2018.06.05 07:51:04 3: telnetForBlockingFn_1528177864: port 34193 opened


Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Gernot69 am 07 Juni 2018, 08:10:32
offline nach FHEM neustart:
Ich habe "define telnetport telnet 7072 global" gelöscht ... jetzt  funktioniert  alles bei mir ...

danke für die unterstuetzung..

wozu benötig icH das überHaupt?  (icH kann immer nocH remote von aussen (vpn) zureifen ...
braucHe icH das allow viellcHt aucH nicHt?
 
gernot
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Fixel2012 am 07 Juni 2018, 08:39:13
Zitat von: Gernot69 am 07 Juni 2018, 08:10:32
offline nach FHEM neustart:
Ich habe "define telnetport telnet 7072 global" gelöscht ... jetzt  funktioniert  alles bei mir ...

danke für die unterstuetzung..

wozu benötig icH das überHaupt?  (icH kann immer nocH remote von aussen (vpn) zureifen ...
braucHe icH das allow viellcHt aucH nicHt?
 
gernot

Fhem hat eine eigene commandline die über telnet ansprechbar ist. Diese hast du somit deaktiviert.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Wilm am 07 Juni 2018, 08:40:58
Hi Gernot,

das war ein super Tipp. Da ich aber nicht auf den Telnet-Zugriff verzichten möchte und auch nicht auf einen Passwortschutz, habe ich jetzt im entsprechenden Allow das Attribut password gegen globalpassword getauscht. Somit wird bei lokalen Verbindungen kein Passwort benötigt aber weiterhin wenn von anderen Rechnern zugegriffen wird. Nun werden die Devices beim Restart wieder ordentlich erkannt :-)

Wilm
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 23 August 2018, 10:34:39
Hatte jetzt mal ein neues Phänomen.
Meine Frau schaut ihre chinesische Serie auf YouTube, gestartet von ihrem Smartphone und von dort auf den TV geschickt. Ich sehe in FHEM auch, dass der Chromecast online ist, allerdings sehe ich nicht, was läuft. Ich kann die Lautstärke regulieren, kann aber nicht auf Pause stellen. Habe dann probiert, vom Notebook einen anderen Film aus YouTube an den TV zu schicken, da klappt das mit der Pause und anschließendem Play ohne weiteres, egal ob das Video nun direkt aus dem Browser oder aus FHEM gestartet wurde. Habe dann mal ein anderes Video - mit Namen aus Zeichen der westlichen Hemisphäre [ausgenommen beispielsweise Grichenland, Bulgarien, Russland ...] vom Smartphone aus gestartet und siehe da: Auch da funktioniert die Steuerung (klar, mit bekannten Verzögerungen) auch für Pause und Play aus FHEM. Habe alles aktualisiert, auch pychromecast, ohne Erfolg.

Ist jetzt mal nur als Feedback gedacht ohne die Erwartung einer Lösung. Aber könnte es sein, dass die chinesischen Zeichen im Titel eine Ursache sind?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: ih-sqeezer am 12 September 2018, 00:19:27
Hallo zusammen,

ich habe heute Abend versucht ein Reading mit dem "speak" Kommando zu verbinden. Leider bisher vergeblich.
Ich würde gern folgendes einbauen:

set GoogleCastDevice speak .ReadingsVal("Device","Reading","")

Kann dies funktionieren? Wenn ja, was mache ich bislang falsch?

Danke für die Hilfe.

Grüße,
Ingo
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 12 September 2018, 00:36:27
Hi Ingo,

das geht wohl nur (zumindest hab ich es nicht anders geschafft), wenn du es aus einer perl-Funktion heraus machst.

Zumindest klappt es so bei mir:


sub Ansage()
{
  my $Ansage = ReadingsVal("Device","Reading","Ersatzwert");
  fhem("set GOOGLECAST speak \"$Ansage\" ");
}


Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: ih-sqeezer am 13 September 2018, 09:00:58
Hallo Joachim,

danke für dein Feedback.
Die Sub habe ich bereits schon als Workaround bei mir eingebunden.
Jedoch wollte ich das ganz gern über einen "set" Befehl einbauen, sodass ich Sprech-Kommandos via webhook mittels IFTTT übermitteln kann.
Den webhook würde ich sehr ungern weiter aufweiten, als für "set".

Da muss ich wohl mal nach einer Alternative für die Sprachkommandos + GoogleHome suchen. Ich glaub hier im Forum schon etwas gelesen zu haben.

Danke trotzdem für die Hilfe.

Grüße,
Ingo
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Torsten_MG am 17 September 2018, 19:04:02
Hallo Leute, bin durch zufall auf Googlecast durch ein anderes Modul gestoßen. Meine Kenntnisse sind also zu dem Thema =Null.

Ich habe laut Wiki alles installiert und auch define livingroom.chromecast GOOGLECAST livingroom ausgeführt.

Aber leider geht das Modul nicht Online.

Vorneweg, ehrlich habe ich keine Echte Ahnung von dem Modul und bin durch das Modul Talk2Fhem auf dieses hier hingewiesen worden. Zur Zeit benutze ich noch den Google Assistenten auf meinem Handy um mit Fhem "zu sprechen".

Wird noch irgendwelche andere Hardware benötigt?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: AET_FHEM am 17 September 2018, 20:37:03
das selbe Problem habe ich auch wollte mein Google Home einbinden nur leider geht der nicht online ......
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Torsten_MG am 18 September 2018, 21:06:05
Ich weiss das machen alle hier in ihrer Freizeit, aber ein bisschen Support seitens des Entwicklers oder Leuten, die sich mit dem Modul auskennen wäre schön und hilfreich für Leute, die sich nicht so gut oder gar nicht auskennen. Wenn noch irgendwelche Informationen zur Unterstützung meines Problems gebraucht werden, dann wäre es schön mich darauf hinzuweisen und nicht stumm zu bleiben.

Gesendet von meinem SM-J730F mit Tapatalk

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: AET_FHEM am 25 September 2018, 10:36:32
Hat sonst keiner ein Problem damit?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 25 September 2018, 12:55:25
Es ist bei diesen Modulen, die jemand in erster Line für seinen Eigengebrauch schreibt und das dann unter seiner manchmal besonderen Konstellation läuft und das dieser Entwickler dann freundlicherweise auch der Community zur Verfügung stellt leider nicht vermeidbar, dass es dann auf anderen Systemem zu Schwierigkeiten kommt, die dann wiederum für den Entwickler so nicht fassbar sind. Daher (und eigentlich auch allgemein) die Empfehlung, die Situation möglichst präzise zu beschreiben. Die simple Aussage: "Habe alles nach Vorgabe gemacht, es geht aber trotzdem nicht" bietet so keine richtige Basis, um anzusetzen. Gerade deswegen, weil dieses Modul wiederum auf einem Python-Modul aufbaut und dieses richtig installiert sein muss, sowie auch der richtige Linux-Kernel vorhanden sein muss, sind genauere Angaben schon wichtig.

Ich habe mir bei diesem Modul damit beholfen, dass ich es auf einem isolierten System installiert habe, auf dem ansonsten nichts weiteres läuft. Dann fällt es auch wesentlich leichter, entsprechende Einträge in der Logdatei zu finden.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: AET_FHEM am 25 September 2018, 15:16:49
Ach OK da muss aber viel zusammen passen....

Was für ein System hast du dafür... ? Extra einen Raspi zur verfügung gestellt?
Wusste nicht das das Modul dann auch noch so zickig ist und den richtigen Kernel will

Könnte man das in einem Docker verarbeiten?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 25 September 2018, 16:51:02
Ich habe dafür einen Raspberry. Den nutze ich sozusagen ansonsten lediglich als CUNO-Ersatz, also mit einen CUL, der aber per ser2net an das FHEM auf meinem Cubietruck angebunden ist. Musste ich auch den Kernel aktualisieren, was ich keinesfalls am Hauptsystem (Cubie) machen wollte. Docker könnte gehen. Hatte ich ansatzweise mal für was anderes getestet, dann aber doch kapituliert. Problem war da, dass Firmware-Dateien hätte einspielen müssen, was in Docker nicht ging.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: bennebartsch am 01 Oktober 2018, 18:03:39
Bei Docker unbedingt darauf achten, dass der fhem Container im Host Netzwerk läuft:
docker run:
   --net="host"
docker-compose:
   network_mode: "host"

Ansonsten wird der Chromecast nicht per mDNS gefunden!
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: masl am 04 Oktober 2018, 08:03:05
Kann mir jemand mitteilen ob man mit GoogleCast eine Verbindung zwischen Spotify und einem Chromecast herstellen kann und dieses über FHEM steuern?
Über das Spotify Modul kann man zwar Spotify steuern, aber ich bekomme es nicht hin, dass Musik über Chromecast abgespielt wird...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 04 Oktober 2018, 09:39:36
Ich muss hier auch nochmal ein Problem melden, dass mich verfolgt: Ich habe teilweise erhebliche Freezes, die mehrere Minuten andauern können und die m.E. mit diesem Modul zu tun haben müssen (da auf diesem Raspberry nur FHEM mit Sysmon, FireTV und GOOGLECAST läuft). Genau kann ich sie noch nicht einordnen, da sie immer nur manchmal auftreten. Seltsamerweise beispielsweise dann, wenn ich den Raum "Everything" aufrufe.

Habe gesten alles (von Linux bis FHEM) aktualisiert, ohne eine Änderung.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: arneman am 20 Oktober 2018, 13:36:11
Hi!

Bei mir führt GOOGLECAST in unregelmäßigen Abständen zu einem Absturz (=Beendigung) von FHEM. Die Probleme treten mit meinem Chromecast 2 an meinem Fernseher auf (Name: google_anlage_wz). Der Chromecast wird über den Fernseher mit Strom versorgt (Fernseher aus => Chromecast aus/stromlos). Nach dem Ausschalten des Fernsehers treten dann manchmal folgende Probleme auf:

2018.10.20 13:11:38 1: ERROR: Select error -1 (9), error count= 0
2018.10.20 13:11:38 1: Found and deleted bad fileno for GOOGLECAST-google_anlage_wz
Can't use string ("") as a HASH ref while "strict refs" in use at ./FHEM/98_GOOGLECAST.pm line 597.


Ich habe einmal in die Sourcen geschaut, das Problem entsteht bei "GOOGLECAST_checkConnection". Offenbar kann die Methode mit dem "plötzlichen" Ausfall eines Geräts bei bestimmten Bedingungen nicht richtig umgehen.

Gibt es Hoffnung auf ein Bugfix?

Gruß

Arne
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 13 November 2018, 13:32:42
Hallo,

gelegentlich stürzt mein FHEM ab mit der Fehlermeldung:

Can't use string ("") as a HASH ref while "strict refs" in use at ./FHEM/98_GOOGLECAST.pm

Auch wenn ein GoogleCast Device offline geht und danach wieder online ist, bleibt es offline und FHEM ist sehr verlangsamt. Hier hilft dann in der RAW-Definition den setstate manuell wieder auf online zu setzten...

Sind diese Probleme bekannt?

Gruss Jan
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: meddie am 13 November 2018, 14:18:41
Ja mein Fhem stützt hin und wieder ab wegen Googlecast. Zwar nicht oft. Aber 1 mal in 1-2 Monaten kann das schon vorkommen.
Aber alle Chromecasts sind online.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: marvin78 am 14 November 2018, 09:33:24
@Chromecast nicht online: Richtigen Device-Namen genutzt? Ist das Chromecast im selben Netzwerk, wie FHEM oder gibt es alternativ einen mDNS "Verteiler"?

@Abstürzen: Ursachen über Log ermitteln (FHEM und syslog). Sonst: Zweite FHEM-Instanz für Chromecast und per FHEM2FHEM oder anderen Schnittstellen einbinden.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: meddie am 25 November 2018, 17:32:43
Hallo zusammen,

hatte vor ein paar Tagen Ubuntu Updates installiert, gestern ist mir aufgefallen dass mein FHEM keine Sprachausgaben mehr macht, als ich nachsehen wollte, stellte ich fest dass das Googlecast Modul nicht geladen werden kann.

folgendes steht in der LOG:
Zitat
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_Initialize redefined at ./FHEM/98_GOOGLECAST.pm line 144, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_Define redefined at ./FHEM/98_GOOGLECAST.pm line 161, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_findChromecasts redefined at ./FHEM/98_GOOGLECAST.pm line 183, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_initDevice redefined at ./FHEM/98_GOOGLECAST.pm line 198, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_findChromecastsResult redefined at ./FHEM/98_GOOGLECAST.pm line 209, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_Attribute redefined at ./FHEM/98_GOOGLECAST.pm line 243, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_Set redefined at ./FHEM/98_GOOGLECAST.pm line 255, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_setVolume redefined at ./FHEM/98_GOOGLECAST.pm line 301, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_setWebsite redefined at ./FHEM/98_GOOGLECAST.pm line 311, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_setSpeak redefined at ./FHEM/98_GOOGLECAST.pm line 320, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType redefined at ./FHEM/98_GOOGLECAST.pm line 337, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType_String redefined at ./FHEM/98_GOOGLECAST.pm line 354, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia redefined at ./FHEM/98_GOOGLECAST.pm line 365, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia_String redefined at ./FHEM/98_GOOGLECAST.pm line 373, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMediaBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 388, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDl redefined at ./FHEM/98_GOOGLECAST.pm line 410, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDlBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 418, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_setStop redefined at ./FHEM/98_GOOGLECAST.pm line 432, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_setPlayFavorite redefined at ./FHEM/98_GOOGLECAST.pm line 443, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_setPlay redefined at ./FHEM/98_GOOGLECAST.pm line 450, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_setPause redefined at ./FHEM/98_GOOGLECAST.pm line 473, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_setRewind redefined at ./FHEM/98_GOOGLECAST.pm line 484, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_setSkip redefined at ./FHEM/98_GOOGLECAST.pm line 495, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_setQuitApp redefined at ./FHEM/98_GOOGLECAST.pm line 506, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_Undef redefined at ./FHEM/98_GOOGLECAST.pm line 516, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_Get redefined at ./FHEM/98_GOOGLECAST.pm line 525, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_updateReading redefined at ./FHEM/98_GOOGLECAST.pm line 529, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_newChash redefined at ./FHEM/98_GOOGLECAST.pm line 542, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_addSocketToMainloop redefined at ./FHEM/98_GOOGLECAST.pm line 565, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_checkConnection redefined at ./FHEM/98_GOOGLECAST.pm line 586, <$fh> line 588.
2018.11.25 17:15:38 1: PERL WARNING: Subroutine GOOGLECAST_Read redefined at ./FHEM/98_GOOGLECAST.pm line 618, <$fh> line 588.
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 12, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/config.py", line 6, in <module>
    import requests
  File "/usr/local/lib/python2.7/dist-packages/requests/__init__.py", line 97, in <module>
    from . import utils
  File "/usr/local/lib/python2.7/dist-packages/requests/utils.py", line 24, in <module>
    from . import certs
ImportError: cannot import name certs
2018.11.25 17:15:38 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/x86_64-linux-gnu/perl/5.22.1/Inline/Python.pm line 221.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 695.

2018.11.25 17:15:38 0: Error -- py_eval raised an exception at /usr/local/lib/x86_64-linux-gnu/perl/5.22.1/Inline/Python.pm line 221.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 695.

Cannot load module GOOGLECAST
Cannot load module GOOGLECAST
Cannot load module GOOGLECAST


Hat jemand ein Tip für mich?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 25 November 2018, 17:37:41
Ob es das gleiche/der gleiche Fehler ist weiß ich nicht mehr...
...aber habe auch letztens ein Update Raspbian gemacht und danach ging auch mein GOOGLECAST nicht mehr.

Habe folgendes durch: https://forum.fhem.de/index.php/topic,45505.msg771707.html#msg771707

dann ging's wieder.

Ich denke der Schritt mit dem Symlink auf Python3 war der entscheidende Schritt...
...ist aber nur ein Gefühl...

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: meddie am 25 November 2018, 18:17:32
hat leider nicht geholfen. Trotzdem danke für Dein Tip
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: AET_FHEM am 26 November 2018, 07:40:32
Bei mir läuft es jetzt endlich,

erste versuche mit nem alten Image und das dann updaten auch Firmware brachte alles nichts!!!!
--> ich hab dann das neuste Raspbian lite Image heruntergeladen und das script (danke dafür) ausgeführt
und beim zweiten Mal anlegen von CHROMECAST hat es dann geklappt

jetzt kann ich Antworten über Googlehome ausgeben
passt alles gut sehr schnell und lässt sich gut bedienen mit Talk2Fhem!
--> aber wie definiert ihr auf welchem gerät ihr die Antwort ausgebt?

Ein Beispiel:
wenn ich im Büro bin und will meine Rollläden schließen will ich nicht unbedingt das in der Küche und im Wohnzimmer die Antwort kommt Rollläden werden geschlossen....
=> aber bin ich in der Küche und will die Rollläden im Büro schließen will ich die Antwort in der Küche ....
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: meddie am 27 November 2018, 12:24:06
so, gestern habe ich ein Release Upgrade durchgeführt auf Ubuntu 18.04. Danach FHEM upgedatet und anschließend dieses hier:


sudo apt-get update && sudo apt-get -y upgrade && sudo reboot

sudo apt-get -f install && sudo apt-get -y install perl-base libdevice-serialport-perl libwww-perl libio-socket-ssl-perl libcgi-pm-perl libjson-perl sqlite3 libdbd-sqlite3-perl libtext-diff-perl libtimedate-perl libmail-imapclient-perl libgd-graph-perl libtext-csv-perl libxml-simple-perl liblist-moreutils-perl ttf-liberation libimage-librsvg-perl libgd-text-perl libsocket6-perl libio-socket-inet6-perl libmime-base64-perl libimage-info-perl libusb-1.0-0-dev libnet-server-perl
sudo apt-get install python-dev
sudo apt-get install libextutils-makemaker-cpanfile-perl
sudo apt-get install python-pip
sudo pip install netifaces
sudo pip install enum34
sudo pip install pychromecast
sudo pip install youtube-dl
sudo apt-get install cpanminus
sudo cpanm Inline::Python

das habe ich hier im Forum beim Det20 gesehen.

seit dem sind alle Chromecasts und der Googe Home online. Muss heute Abend mal testen
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 29 November 2018, 10:58:32
Ich habe hier ein Problem für das ich nach der Ursache suche. Es muss nicht, kann aber mit GOOGLECAST zusammenhängen. Vor ich jetzt anfange zurückzuschrauben möchte ich fragen, ob das anderen bekannt ist:

Ich kann in meiner Mini-FHEM-Installation, die eigentlich auschließlich GOOGLECAST und FireTV bedient und per RFHEM alle Seiten aufrufen, außer der Seite "Everything". Hier wird die FHEM blockiert und die Seitenansicht endet mit einem Verbindungsfehler des Browsers. Das Log sagt:


2018.11.29 10:34:40 1: Including ./log/fhem.save
2018.11.29 10:34:40 2: [Freezemon] myFreezemon: ready to watch out for delays greater than 3 second(s)
2018.11.29 10:34:40 0: Featurelevel: 5.9
2018.11.29 10:34:40 0: Server started with 32 defined entities (fhem.pl:17779/2018-11-18 perl:5.020002 os:linux user:fhem pid:13575)
2018.11.29 10:34:45 1: PERL WARNING: Use of uninitialized value $seconds in concatenation (.) or string at ./FHEM/73_PRESENCE.pm line 1153.
2018.11.29 10:34:45 3: eval: {PRESENCE_ProcessLocalScan('FTV_FireTV|0|absent')}
2018.11.29 10:34:45 1: PERL WARNING: Use of uninitialized value $seconds in addition (+) at ./FHEM/73_PRESENCE.pm line 1156.
2018.11.29 10:34:45 3: eval: {PRESENCE_ProcessLocalScan('FTV_FireTV|0|absent')}
2018.11.29 10:42:42 2: AttrTemplates: got 9 entries
2018.11.29 10:43:44 1: [Freezemon] myFreezemon: possible freeze starting at 10:42:43, delay is 61.139 possibly caused by: tmr-GOOGLECAST_initDevice(CC_Chromecast) tmr-BlockingKill(N/A)
2018.11.29 10:45:12 1: [Freezemon] myFreezemon: possible freeze starting at 10:43:53, delay is 79.593 possibly caused by: no bad guy found :-(
2018.11.29 10:50:31 1: [Freezemon] myFreezemon: possible freeze starting at 10:49:24, delay is 67.466 possibly caused by: no bad guy found :-(


Scheint ja schon GOOGLECAST sein, das blockiert. Die Seite zu GOOGLECAST selber kann ich aber problemlos aufrufen. Kennt jemand dieses Problem?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: borzo83 am 29 November 2018, 14:32:33
Seit ein paar Tagen kann ich das Googlecast Modul nicht mehr verwenden, früher ging es.
Ich bekomme nun ständig ein "Cannot load module GOOGLECAST"

Originalmodul 98_GOOGLECAST.pm habe ich noch mal aus dem FHEM Download Archiv neu rüberkopiert ohne Erfolg.
Hat jemand auch sowas schon gehabt?

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 29 November 2018, 15:13:36
Zitat von: borzo83 am 29 November 2018, 14:32:33
Seit ein paar Tagen kann ich das Googlecast Modul nicht mehr verwenden, früher ging es.
Ich bekomme nun ständig ein "Cannot load module GOOGLECAST"

Originalmodul 98_GOOGLECAST.pm habe ich noch mal aus dem FHEM Download Archiv neu rüberkopiert ohne Erfolg.
Hat jemand auch sowas schon gehabt?

System (also Betribssystem) Update gemacht?
Oder automatischen Update eingestellt und der wurde durchlaufen?

Dann einfach die letzten paar Einträge lesen...
...ansonsten: kann mir nicht vorstellen, dass es "ohne irgendwelche Änderungen" plörtzlich nicht mehr ladbar sein sollte...

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 29 November 2018, 15:19:26
Zitat von: duke-f am 29 November 2018, 10:58:32
Ich habe hier ein Problem für das ich nach der Ursache suche. Es muss nicht, kann aber mit GOOGLECAST zusammenhängen. Vor ich jetzt anfange zurückzuschrauben möchte ich fragen, ob das anderen bekannt ist:

Ich kann in meiner Mini-FHEM-Installation, die eigentlich auschließlich GOOGLECAST und FireTV bedient und per RFHEM alle Seiten aufrufen, außer der Seite "Everything". Hier wird die FHEM blockiert und die Seitenansicht endet mit einem Verbindungsfehler des Browsers. Das Log sagt:


2018.11.29 10:34:40 1: Including ./log/fhem.save
2018.11.29 10:34:40 2: [Freezemon] myFreezemon: ready to watch out for delays greater than 3 second(s)
2018.11.29 10:34:40 0: Featurelevel: 5.9
2018.11.29 10:34:40 0: Server started with 32 defined entities (fhem.pl:17779/2018-11-18 perl:5.020002 os:linux user:fhem pid:13575)
2018.11.29 10:34:45 1: PERL WARNING: Use of uninitialized value $seconds in concatenation (.) or string at ./FHEM/73_PRESENCE.pm line 1153.
2018.11.29 10:34:45 3: eval: {PRESENCE_ProcessLocalScan('FTV_FireTV|0|absent')}
2018.11.29 10:34:45 1: PERL WARNING: Use of uninitialized value $seconds in addition (+) at ./FHEM/73_PRESENCE.pm line 1156.
2018.11.29 10:34:45 3: eval: {PRESENCE_ProcessLocalScan('FTV_FireTV|0|absent')}
2018.11.29 10:42:42 2: AttrTemplates: got 9 entries
2018.11.29 10:43:44 1: [Freezemon] myFreezemon: possible freeze starting at 10:42:43, delay is 61.139 possibly caused by: tmr-GOOGLECAST_initDevice(CC_Chromecast) tmr-BlockingKill(N/A)
2018.11.29 10:45:12 1: [Freezemon] myFreezemon: possible freeze starting at 10:43:53, delay is 79.593 possibly caused by: no bad guy found :-(
2018.11.29 10:50:31 1: [Freezemon] myFreezemon: possible freeze starting at 10:49:24, delay is 67.466 possibly caused by: no bad guy found :-(


Scheint ja schon GOOGLECAST sein, das blockiert. Die Seite zu GOOGLECAST selber kann ich aber problemlos aufrufen. Kennt jemand dieses Problem?

Der gepostete Auschnitt aus dem Log ist bei fhem Start nicht wenn fhem "blockiert" bzw. der Browser...
...zumindest nichts ungewöhnliches zu sehen.

Die Meldungen von freezemon bzgl. GOOGLECAST sind (denke ich) kein Problem bzw. evtl. "Falschmeldungen", da (soweit ich weiß) die Abfragen an GOOGLECAST alle "non blocking" sind, das aber freezemon nicht immer richtig zuordnen kann...

Aber wenn du per RFHEM "Everything" (von was? anderes fhem!? mehrere andere fhem? und wozu überhaupt diese "Konstellation"?) abrufst und das dann dem Browser zu lange dauert, kann schon sein, dass der Browser dann "Ladefehler" ausgibt...

Also etwas mehr Info zur "Konstellation" (und [Hinter]Gründe) wären hilfreich.

Ich denke nicht, dass es hier richtig ist, da es vermutlich nichts mit GOOGLECAST zu tun hat... ;)

Aber solange nicht alle Randbedingungen erläutert sind bleibt es "Rätselraten"...

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 29 November 2018, 15:41:09
Zitat von: MadMax-FHEM am 29 November 2018, 15:19:26
... bleibt es "Rätselraten"...

Gruß, Joachim

Genau daran bin ich. Trotzdem danke, dass Du Dir die Zeit genommen hast.
Die Konstellation hat den (schon öfters oben beschriebenen, aber gerne hier nochmal wiederholten) Hintergrund: Zu Anfangszeiten hat GOOGLECAST mein komplettes FHEM und den Cubie zum kompletten Zusammenbruch gebracht. Da ich an anderen Stellen auch schon Mal Probleme mit heftigen Freezes habe (und leider immer nur wenig Zeit am Stück für die komplette Neueinrichtung) habe ich mich zu dem Schritt entschieden, die Installation mehr zu zerlegen in Teilbereiche, die auf unterschiedlichen Geräten laufen und letztendlich im Hauptsystem auf dem Cubie zusammengeführt werden. Der Fall, dass eine Komponente dann das komplette System blockiert ist damit soweit möglich reduziert.

Das Hauptproblem, das ich beschrieb ist auch meiner Meinung nicht durch GOOGLECAST bedingt: Ausschließlich der Aufruf der Seite "Everything" führt zur Fehlermeldung im Browser. Hier zu fragen war einfach nur der erste Schritt des "Rätselratens".  ;)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 29 November 2018, 15:47:02
Hmm, ich habe nur nach dem Hintergrund gefragt um ihn bestätigt zu bekommen, hatte ich schon so vermutet...
...mich aber über die Arte der Verteilung gewundert... ;)

Daher die konkrete Frage (bevor es dann wohl zu sehr OT wird ;)  ): warum nicht andersrum?

Also da du offenbar hier "nur" GOOGLECAST und FireTV hast...
...hast du doch bestimmt eine "Haupt-fhem-Instanz"!?

Warum hast du dann die wenigen (GOOGLECAST / FireTV) nicht per Fhem2Fhem dort eingebunden...
...sondern holst dir oder steuerst alles per RFHEM...

Oder verstehe ich es nicht richtig!?
Bzw. hast du beides?
Fhem2Fhem und RFHEM?

Und wie holst du per RFHEM Everything von woanders?

Aber das führt hier wohl zu weit (ins Detail)...

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 29 November 2018, 16:20:08
Da muss ich jetzt gestehen, dass ich mir darüber jetzt auch nicht mir selber im Klaren bin. Ich nutze sowohl FHEM2FHEM als auf RFHEM.
Soviel OT sei noch erlaubt, ich muss mich aber sicherheitshalber in diese Thematik nochmal einlesen, wann was welchen Sinn macht:

Ich nutze FHEM2FHEM beispielsweise um einen an einem Raspie per USB angeschlossenes Infrarot-Sender zur Steuerung der HiFi-Anlage im Schlafzimmer vom Hauptsystem auf dem Cubie zu steuern, also strikt die Richtung: Cubie/Hauptsystem -> Raspie/Nebensystem
RFHEM nutze ich beispielsweise um Daten eines FHEM auf einem QNAP/Nebensystem aus unterschiedlichen ESPEASY-Devices auf den Cubie/Hauptsystem zu übertragen.

Beides läuft sozusagen Oneway.

Anders nun für GOOGLECAST - und vielleicht liegt da ein Knoten: Hier habe ich sowohl auf einem Raspie/Nebensystem als auch auf dem Cubie/Hauptsystem RFHEM eingerichtet, um einerseits den Chromecast aus dem Hauütsystem heraus steuern zu können (Schwerpunkt hierbei: Automatisch auf Pause bei Anruf) und andererseits aber auch den Zustand des Chromecast aus dem Nebensystem an das Hauptsystem zu übertragen. Das funktioniert im Großen und Ganzen auch (lediglich kleine Hindernisse, wie oben schon mal erwähnt: Startet meine Frau ein chinesisches Youtube-Video vom Handy auf dem TV/Chromecast, lässt sich keine Pause einstellen, die Lautstärke hingegen schon - hängt aber nicht an der Kopplung beider FHEM).

Ob jetzt in diesem letzten Fall RFHEM die richtige/beste Lösung ist, weiß ich auch nicht. Hat halt - und damit zurück aus dem OT-Ausflug ;) - für meine GOOGLECAST und einige Zeit auch für FireTV so funktioniert....
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 29 November 2018, 16:56:23
Hmm, dann noch eine letzte OT-Anmerkung:

soweit ich das verstanden habe (nutze aber weder das eine noch das andere):

FHEM2FHEM um Daten von einem anderen System zu bekommen.
Also Ensoren sind an einem fhem (wegen Nähe dazu oder wegen IO oder egal warum) und ich will aber die Daten im "Haupt-fhem" haben, um abhängig davon Dinge zu tun/steuern...

RFHEM wenn ich dann etwas auf einem anderen System steuern will. Also z.B. deine Pause bei Klingel.

Klingel am Hauptsystem (fhem-A) / GOOGLECAST Nebensystem (fhem-B):

RFHEM von fhem-A nach fhem-B um eben den GOOGLECAST zu "pausieren"...

Andere Variante:

FHEM2FHEM von fhem-A nach fhem-B, also die Klingel "wandert" bzw. ist dann "zusätzlich" auch auf fhem-B, dann kann dort ganz normal die Logik einfach beim Empfang per FHEM2FHEM der Klingel der lokale GOOGLECAST pausiert werden...


Ich denke man sollte das nicht übertreiben und sich genau überlegen welche Daten von wo nach wo und warum...
...und v.a. WO die Logik (jeweils) ist/hin soll...

Ansonsten gibt es Knoten: im Kopf, in der Logik und evtl. auch bzgl. Datenumlauf...

Vielleicht ist da wirklich ein (kleiner) Knoten drin...
...und sichtbar halt bei "Everything" weil das halt nun mal "alles ist" ;)

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 29 November 2018, 17:09:51
Ich habe manchmal etwas Schwierigkeiten, die Dokumentationen und Diskussionen zu den einzelnen Modulen nachvollziehen zu können. Liegt sicher daran, dass ich der Sprache PERL nicht mächtig bin  und mir daher nicht wirklich ein Bild vom jeweiligen "Innenleben" der Module machen kann. Aber ich werde mir die beiden Komponenten nochmal vornehmen und versuchen, sie zu verstehen. FEM2FHEM war eben historisch das erste, mit dem ich konfrontiert wurde und das ich daher zunächst einsetzte. RFHEM schoen mir dann aber urprünglich zumindest darauf zu basieren und für den besonderen Zweck einfacher zu sein. Wie gesagt, im Grunde läuft ja alles. Und auf dieser Nebeninstallation brauche ich die Seite "Everything" eigentlich gar nicht, ich behelfe mir notfalls mit "list", da sehe ich dann auch alles. Dennoch....

Testhalber werde ich demnächst (wenn etwas mehr Zeit ist) nacheinander GOOGLECAST und FireTV sowie die jeweiligen Verknüpfungen mit RFHEM auskommentieren und sehen, was dann mit "Everything" passiert.

Besten Dank nochmal für die rege Anteilnahme am Problem.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 29 November 2018, 17:27:06
Kein Ding!

Viel Erfolg!

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 30 November 2018, 09:50:15
Na gut, das Problem liegt wo anders: Habe gerade testweise für das Modul FireTV das Attribut "disable" gesetzt - wohlbemerkt aus versehen aber nicht auf 1 sondern auf 0, also eigentlich nicht wirksam. Und siehe da: Die Seite "Everything" lässt sich anzeigen.

EDIT: Um das jetzt hier noch abzurunden: Es war wohl SYSMON - warum auch immer. Dieses komplett entfernt und "Everything" kommt schnell wie nie ...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: borzo83 am 01 Dezember 2018, 21:14:38
Zitat von: MadMax-FHEM am 29 November 2018, 15:13:36
System (also Betribssystem) Update gemacht?
Oder automatischen Update eingestellt und der wurde durchlaufen?

Dann einfach die letzten paar Einträge lesen...
...ansonsten: kann mir nicht vorstellen, dass es "ohne irgendwelche Änderungen" plörtzlich nicht mehr ladbar sein sollte...

Gruß, Joachim

System ist "up-to-date".

Folgendes kommt im log


Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/Inline/Python.pm line 221.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 695.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 01 Dezember 2018, 22:37:10
Die Frage war nicht, ob das System up-to-date ist, sondern, ob du ein Update gemacht hast was evtl. dazu geführt hat, dass es nicht mehr geht.

Weil System-Updates schon mindestens 2x zu Problemen geführt haben (wie den letzten paar Antworten zu entnehmen ist)...

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 26 Dezember 2018, 22:15:57
Ab und an müllt mir das Modul das Log voll, dann kommt stundenlang nur


2018.12.26 11:20:26 3: GOOGLECAST: xxx initialized successfully
2018.12.26 11:20:35 3: GOOGLECAST: xxx initialized successfully
2018.12.26 11:20:45 3: GOOGLECAST: xxx initialized successfully
2018.12.26 11:20:54 3: GOOGLECAST: xxx initialized successfully
2018.12.26 11:21:03 3: GOOGLECAST: xxx initialized successfully
2018.12.26 11:21:11 3: GOOGLECAST: xxx initialized successfully
2018.12.26 11:21:20 3: GOOGLECAST: xxx initialized successfully
2018.12.26 11:21:29 3: GOOGLECAST: xxx initialized successfully
2018.12.26 11:21:38 3: GOOGLECAST: xxx initialized successfully
2018.12.26 11:21:43 3: GOOGLECAST: xxx initialized successfully
2018.12.26 11:21:52 3: GOOGLECAST: xxx initialized successfully
2018.12.26 11:22:01 3: GOOGLECAST: xxx initialized successfully
2018.12.26 11:22:09 3: GOOGLECAST: xxx initialized successfully


Irgendwann kommt dann das erlösende "2018.12.26 12:07:36 1: Cannot fork: Cannot allocate memory" und FHEM startet neu. Ich kann den Fehler in der 98_GOOGLECAST leider nicht dingfest machen und leider tritt es immer dann auf, wenn ich es nicht mitbekomme, ich kann also die Randbedingungen nicht prüfen. Nach einem FHEM Reboot läuft es wieder.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: klausa am 06 Januar 2019, 15:40:44
Ich wollte mich nur bedanken. GoogleCast läuft bei mir nach einigen Startschwierigkeiten einwandfrei. Das auf einem PI2 mit Raspbian stretch. Ich habe einen Chromcast Audio.
Gruß Klaus
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: SouzA am 09 Januar 2019, 12:35:33
Zitat von: maddinthebrain am 04 Mai 2018, 21:39:34
Hallo,
Darf in den Namen der Geräte kein Leerzeichen sein? Das wäre ungünstig, denn alle Chromecast Geräte haben Leerzeichen ihren Namen.

Ich habe auch noch nicht verstanden, wo jetzt der tatsächliche Name des Chromecast Gerätes, z. B. In der Google Home App nachschaubar, bei der Definition in Fhem hinkommt. Also ist das so richtig

define Chromecastgerätename GOOGLECAST Chromecastname_in_fhem
?

Grüße Martin

Das würde ich auch gerne wissen.
Es gibt Devices (z.B. eine Gruppe "Ganzes Haus") die in der App ein Leerzeichen inne haben.

Geht das nicht?

Bis denn
SouzA
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 09 Januar 2019, 12:46:59
Eventuell hilft ein "Punkt" statt des Leerzeichens (ist in RegEx ja so), also:

define Chromecastname_in_fhem GOOGLECAST Chromecast.Gerät

Also wenn das Gerät "Chromecast Gerät" in der Home-App heißt...
...aber vielleicht ist ja auch das das Problem:

Übrigens: der erste Name ist der Name IN fhem (und da sind Leerzeichen und auch '-' nicht erlaubt) und der Name am Ende ist der GOOGLE-CAST-Name (also der in der Home-App etc.)!

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: SouzA am 09 Januar 2019, 13:06:27
Hi,

danke für deine Antwort!

Ja, das Gerät heißt "Ganzes Haus" in der App.
In FHEM GC_GanzesHaus (Sollte es zumindest).

Das mit dem Punkt funktioniert nicht. Nur state --> initialized
Die def ändern geht auch nicht (Punkt durch Leerzeichen ersetzen). Da meckert der rum falsche syntax?!

Hat noch jemand einen Vorschlag?
Thx & bis denn
SouzA
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 09 Januar 2019, 13:37:14
Wie lautet denn nun dein define?

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: SouzA am 09 Januar 2019, 20:35:48
Hi

define GC_GanzesHaus GOOGLECAST Ganzes.Haus

Bis denn
SouzA
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 09 Januar 2019, 21:01:51
Und was steht im Log bzw. kommt wenn du das Define eingibst?

Evtl. mal verbose erhöhen...

Das mit dem Punkt war ja nur eine Idee...
Meine heißen alle "einsilbig" ;)

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Tabu am 23 Januar 2019, 13:06:22
Hallo,

diesen Monat hatte ich zwei Abstürze wegen dem Chromecast-Device.

Zitat von: marvin78 am 14 November 2018, 09:33:24
@Abstürzen: Ursachen über Log ermitteln (FHEM und syslog). Sonst: Zweite FHEM-Instanz für Chromecast und per FHEM2FHEM oder anderen Schnittstellen einbinden.

Hier die gewünschten Auszüge aus den Logs:

Syslog

Jan 22 20:39:01 raspberrypi CRON[18930]: (root) CMD (  [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
Jan 22 20:39:14 raspberrypi systemd[1]: Starting Clean php session files...
Jan 22 20:39:15 raspberrypi systemd[1]: Started Clean php session files.
Jan 22 21:09:01 raspberrypi CRON[19946]: (root) CMD (  [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
Jan 22 21:09:14 raspberrypi systemd[1]: Starting Clean php session files...
Jan 22 21:09:15 raspberrypi systemd[1]: Started Clean php session files.
Jan 22 21:16:44 raspberrypi systemd[1]: Starting Daily apt download activities...
Jan 22 21:16:47 raspberrypi systemd[1]: Started Daily apt download activities.
Jan 22 21:16:47 raspberrypi systemd[1]: apt-daily.timer: Adding 7h 3min 31.649532s random time.
Jan 22 21:16:47 raspberrypi systemd[1]: apt-daily.timer: Adding 6h 29min 27.789344s random time.
Jan 22 21:17:01 raspberrypi CRON[20298]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jan 22 21:39:01 raspberrypi CRON[21382]: (root) CMD (  [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
Jan 22 21:39:14 raspberrypi systemd[1]: Starting Clean php session files...
Jan 22 21:39:15 raspberrypi systemd[1]: Started Clean php session files.
Jan 22 22:09:02 raspberrypi CRON[22823]: (root) CMD (  [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
Jan 22 22:09:14 raspberrypi systemd[1]: Starting Clean php session files...
Jan 22 22:09:15 raspberrypi systemd[1]: Started Clean php session files.
Jan 22 22:17:01 raspberrypi CRON[23212]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jan 22 22:39:01 raspberrypi CRON[23933]: (root) CMD (  [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
Jan 22 22:39:14 raspberrypi systemd[1]: Starting Clean php session files...
Jan 22 22:39:15 raspberrypi systemd[1]: Started Clean php session files.
Jan 22 23:09:01 raspberrypi CRON[24566]: (root) CMD (  [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
Jan 22 23:09:14 raspberrypi systemd[1]: Starting Clean php session files...
Jan 22 23:09:15 raspberrypi systemd[1]: Started Clean php session files.


Fhem-Log
2019.01.22 22:06:44 1: ERROR: Select error -1 (9), error count= 0
2019.01.22 22:06:44 1: Found and deleted bad fileno for GOOGLECAST-ccGrWohnzimmer
2019.01.22 22:06:44 1: Found and deleted bad fileno for GOOGLECAST-ccBadezimmer
2019.01.22 22:07:06 3: GOOGLECAST: Wohnzimmer initialized successfully
2019.01.22 22:07:06 3: GOOGLECAST: Badezimmer initialized successfully
2019.01.22 22:07:39 1: ERROR: Select error -1 (9), error count= 0
2019.01.22 22:07:39 1: Found and deleted bad fileno for GOOGLECAST-ccGrWohnzimmer
2019.01.22 22:07:39 1: ERROR: Select error -1 (9), error count= 0
2019.01.22 22:07:39 1: Found and deleted bad fileno for GOOGLECAST-ccLennard
2019.01.22 22:07:58 3: GOOGLECAST: Kueche initialized successfully
2019.01.22 22:07:59 3: GOOGLECAST: Wohnzimmer initialized successfully
2019.01.22 22:08:20 3: GOOGLECAST: Lennard initialized successfully
2019.01.22 22:08:46 1: ERROR: Select error -1 (9), error count= 0
2019.01.22 22:08:46 1: Found and deleted bad fileno for GOOGLECAST-ccLennard
2019.01.22 22:08:46 1: Found and deleted bad fileno for GOOGLECAST-ccKueche
2019.01.22 22:08:49 1: ERROR: Select error -1 (9), error count= 0
2019.01.22 22:08:49 1: Found and deleted bad fileno for GOOGLECAST-ccGrWohnzimmer
2019.01.22 22:09:03 3: GOOGLECAST: Kueche initialized successfully
2019.01.22 22:09:03 3: GOOGLECAST: Lennard initialized successfully
2019.01.22 22:09:06 3: GOOGLECAST: Wohnzimmer initialized successfully
2019.01.22 22:11:05 1: ERROR: Select error -1 (9), error count= 0
2019.01.22 22:11:05 1: Found and deleted bad fileno for GOOGLECAST-ccLennard
2019.01.22 22:13:12 3: GOOGLECAST: Lennard initialized successfully
2019.01.22 22:16:02 3: FritzHome: read from http://192.168.0.1:80 timed out
2019.01.22 22:16:29 1: ERROR: Select error -1 (9), error count= 0
2019.01.22 22:16:29 1: Found and deleted bad fileno for GOOGLECAST-ccGrWohnzimmer
2019.01.22 22:16:48 3: GOOGLECAST: Wohnzimmer initialized successfully
2019.01.22 22:17:42 2: FritzHome error: cannot get SID, check connection/hostname/fritzbox-user/password
2019.01.22 22:18:01 1: Timeout for FRITZBOX_Readout_Run_Web reached, terminated process 23230
2019.01.22 22:18:01 1: FRITZBOX fritzbox: Readout_Aborted.1931 Error: Timeout when reading Fritz!Box data.
2019.01.22 22:18:46 2: FritzHome error: cannot get SID, check connection/hostname/fritzbox-user/password
2019.01.22 22:19:43 1: ERROR: Select error -1 (9), error count= 0
2019.01.22 22:19:43 1: Found and deleted bad fileno for GOOGLECAST-ccGrWohnzimmer
2019.01.22 22:19:43 1: Found and deleted bad fileno for GOOGLECAST-ccBadezimmer
2019.01.22 22:19:44 1: ERROR: Select error -1 (9), error count= 0
2019.01.22 22:19:44 1: Found and deleted bad fileno for GOOGLECAST-ccKueche
2019.01.22 22:19:44 1: ERROR: Select error -1 (9), error count= 0
2019.01.22 22:19:44 1: Found and deleted bad fileno for GOOGLECAST-ccWohnzimmerMini
2019.01.22 22:19:50 2: FritzHome error: cannot get SID, check connection/hostname/fritzbox-user/password
2019.01.22 22:20:02 3: GOOGLECAST: Wohnzimmer initialized successfully
2019.01.22 22:20:24 3: GOOGLECAST: WohnzimmerMini initialized successfully
2019.01.22 22:20:24 3: GOOGLECAST: Kueche initialized successfully
2019.01.22 22:20:42 3: GOOGLECAST: Badezimmer initialized successfully
2019.01.22 22:21:42 1: ERROR: Select error -1 (9), error count= 0
2019.01.22 22:21:42 1: Found and deleted bad fileno for GOOGLECAST-ccWohnzimmerMini
2019.01.22 22:22:37 3: GOOGLECAST: Lennard initialized successfully
2019.01.22 22:22:37 3: GOOGLECAST: Wohnzimmer initialized successfully
2019.01.22 22:22:37 3: GOOGLECAST: WohnzimmerMini initialized successfully
2019.01.22 22:23:08 1: ERROR: Select error -1 (9), error count= 0
2019.01.22 22:23:08 1: Found and deleted bad fileno for GOOGLECAST-ccGrWohnzimmer
2019.01.22 22:23:19 3: GOOGLECAST: Wohnzimmer initialized successfully
2019.01.22 22:25:45 1: ERROR: Select error -1 (9), error count= 0
2019.01.22 22:25:45 1: Found and deleted bad fileno for GOOGLECAST-ccLennard
2019.01.22 22:25:48 0: Strange call for nonexistent : ReadFn
2019.01.22 22:25:48 1: ERROR: Select error -1 (9), error count= 0
2019.01.22 22:25:48 1: Found and deleted bad fileno for GOOGLECAST-ccKueche
2019.01.22 22:26:04 3: GOOGLECAST: Lennard initialized successfully
2019.01.22 22:26:05 3: GOOGLECAST: Wohnzimmer initialized successfully
2019.01.22 22:26:23 3: GOOGLECAST: Kueche initialized successfully
Can't use string ("") as a HASH ref while "strict refs" in use at ./FHEM/98_GOOGLECAST.pm line 597.
2019.01.23 12:28:18 1: Including fhem.cfg


Vielen Dank
Tabu
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Kuzl am 23 Januar 2019, 13:40:59
Ich kann die Abstürze bestätigen, hatte ich auch schon öfters.

Außerdem:
Funktioniert bei euch das Anzeigen einer Website über den Chromecast?
Bei mir geht das sowohl über das Modul nicht mehr, als auch direkt über die Dashcast-Website.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: patlabor am 23 Februar 2019, 12:48:36
Hallo zusammen,

habe es gerade geschafft meine Google Home Lautsprecher in ein unter Docker laufendes fhem einzubinden.
Im offiziellen Container ist wohl noch ein Feher drin, man muß nach dem Start eimal den in der commandref angegebenen Befehl ausführen:

sudo INLINE_PYTHON_EXECUTABLE=/usr/bin/python3 cpanm Inline::Python

danach den Container einmal neustarten. Dann lassen sich zumindest die devices anlegen.

Leider werden die Lautsprecher aber nicht gefunden,  solange der Container nicht im Host modus läuft.

Leider benutze ich traefik als reverse proxy dadurch sind alle meine Container (die es sein sollen) über subdomains über https sofort erreichbar.
Dafür müssen die Container aber in einem eigenen Netzwerk laufen und dürfen nicht ins host netzwerk.

Gibt es hierfür evtl. eine Abhilfe. Momentan habe ich gerade diese Bettlektüre : https://www.oreilly.com/library/view/docker-networking-and/9781492042488/
Bin aber über die ersten 5 Seiten noch nicht hinaus und weiß nicht ob es mir wirklich weiterhilft.

Außerdem frage ich mich was bei einem update des Containers passiert, muß dann der Befehl vom Anfang nochmal ausgeführt werden?
Ich benutze auch den Watchtower container dieser schaut einmal die Woche nach ob es eine neue version meiner Container gibt, läd sie ggf. herunter und updatet die betreffenden container.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: r1hard am 12 März 2019, 10:26:13
Irgendwie bekomme ich das Modul bei mir nicht zum laufen. Es will nicht online gehen. Ich bekomme immer den Fehler:

ERROR evaluating {GOOGLECAST_findChromecastsResult('wohnzimmer.chromecast|CCDEVICE|192.168.0.7|8009|eca4ef76-8de5-857c-79fd-85c69c454e56|Chromecast|Wohnzimmer')}: Can't call method "fileno" on an undefined value at ./FHEM/98_GOOGLECAST.pm line 579

Das define sieht so aus:

define wohnzimmer.chromecast GOOGLECAST Wohnzimmer
attr wohnzimmer.chromecast room EG->Wohnzimmer

Kann mir das jemand helfen?

Danke.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: OdfFhem am 16 März 2019, 10:52:02
U.a. nutze ich das GOOGLECAST-Device zur Ansage von längeren (und von mir nicht beeinflussbaren) Texten. Dabei ist mir aufgefallen, dass diese Ansagen nicht immer kommen.

Heute hatte ich Zeit, der Auffälligkeit mal auf den Grund zu gehen.

Ursache scheint zu sein, dass die Textlänge einer Ansage aktuell nicht mehr länger als 200 Zeichen sein darf.

Um die Ansage dennoch - zwar verkürzt, aber immerhin ansatzweise - zu hören und auf die zu lange Ansage - auch im Logfile - hingewiesen zu werden, habe ich folgende Änderung im Modul vorgenommen:

original line 322
+
+   my $maxTextLength = 200;
+   my $logLevel = 4;
original line 324
-   return "GOOGLECAST: Maximum text length is 500 characters." if(length($ttsText) > 500);
+   if (length($ttsText) > $maxTextLength) {
+     Log3 $hash, 3, "GOOGLECAST: Maximum text length is $maxTextLength characters (".length($ttsText)." characters).";
+     #####return undef;
+     $ttsText = "Maximum text length is $maxTextLength characters! ".substr($ttsText,1,100);
+     $logLevel = 3;
+   }
original line 328
-   Log3 $hash, 4, "GOOGLECAST($hash->{NAME}): setSpeak $ttsUrl";
+   Log3 $hash, $logLevel, "GOOGLECAST($hash->{NAME}): setSpeak $ttsUrl";


Vielleicht findet die Änderung ja so oder in ähnlicher Form Zustimmung und kann in den offiziellen Modulstand einfliessen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: wk2000 am 18 März 2019, 01:36:57
Zitat von: r1hard am 12 März 2019, 10:26:13
Irgendwie bekomme ich das Modul bei mir nicht zum laufen. Es will nicht online gehen. Ich bekomme immer den Fehler:

ERROR evaluating {GOOGLECAST_findChromecastsResult('wohnzimmer.chromecast|CCDEVICE|192.168.0.7|8009|eca4ef76-8de5-857c-79fd-85c69c454e56|Chromecast|Wohnzimmer')}: Can't call method "fileno" on an undefined value at ./FHEM/98_GOOGLECAST.pm line 579

Bekomme den Fehler auch. Weiß da jemand weiter?

Lief bei mir ne ganze Weile mit python2, nach upgrade jetzt der Fehler..
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: HansDampfHH am 20 März 2019, 22:11:07
Hier auch seit neustem, gleicher Fehler und Device wird als offline markiert:


ERROR evaluating {GOOGLECAST_findChromecastsResult('wz.googlehome|CCDEVICE|192.168.168.21|8009|9f20b5d3-e1e5-bc4f-7d087e033654|Google Home Mini|Wohnzimmer|CCDEVICE|192.168.168.45|8009|29ab7aed-d4a4-9210-9958160905b8|Google Home Mini|Schlafzimmer')}: Can't call method "fileno" on an undefined value at ./FHEM/98_GOOGLECAST.pm line 579.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: SouzA am 20 März 2019, 22:22:09
Zitat von: HansDampfHH am 20 März 2019, 22:11:07
Hier auch seit neustem, gleicher Fehler und Device wird als offline markiert:


ERROR evaluating {GOOGLECAST_findChromecastsResult('wz.googlehome|CCDEVICE|192.168.168.21|8009|9f20b5d3-e1e5-bc4f-7d087e033654|Google Home Mini|Wohnzimmer|CCDEVICE|192.168.168.45|8009|29ab7aed-d4a4-9210-9958160905b8|Google Home Mini|Schlafzimmer')}: Can't call method "fileno" on an undefined value at ./FHEM/98_GOOGLECAST.pm line 579.


Hi, was habt ihr geupdated?
Bei mir läuft es noch...  ???
Bis denn
SouzA
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: HansDampfHH am 21 März 2019, 07:54:04
Schwer zu sagen, ich habe meinen Server neu aufgesetzt.
GOOGLECAST lief Anfangs einwandfrei. Dann habe ich nach und nach diverse FHEM-Devices eingerichtet und die entsprechenden Abhängigkeiten nachinstalliert.
Eventuell ist es dabei passiert!? Auf dem System selber habe ich bisher nichts weiteres installiert, soweit ich mich erinnere ;-)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 21 März 2019, 11:52:30
Also im Grunde läuft es bei mir. Schwierigkeiten gibt es in der Funktionalität schon, so reagiert (wie in einem früheren Post hier schon geschrieben) beispielsweise nicht, die Youtube-Wiedergabe zu pausieren, wenn meine Frau einen chinesischen Titel wiedergibt, der von ihrem Smartphone aus gestartet wurde. Starte ich das gleiche aus Windows, dann funktioniert es wiederum - zumindest manchmal. Also die Verbindung von FHEM zum Chromecast steht, aber die Kommandos werden nicht immer ausgeführt. Gerade gelingt es mir auch nicht, einen Youtube-Video zu starten. Der Bildschirm bleibt beim Youtube-Logo stehen.

EDIT:
Muss mich gleich verbessern: Einmal war bereits im Test vorher der Fall, dass bei "play" FHEM komplett abstürzte und über das Terminal neu gestartet werden musste. Habe das als Zufall abgetan. Nun habe ich aber aktualisiert, per "shutdown restart" neu gestartet, und siehe da: Sofort beim ersten Versuch, ein Youtube-Video zu spielen wieder ein kompletter FHEM-Absturz. Wieder neu über das Terminal gestartet und dann lief das Video, wenn auch mit gewohnter langer Verzögerung. Auch Pause funktionierte in diesem Beispiel.

Zur Info: Ich nutze GOOGLECAST auf einer besonderen FHEM-Installation auf einem Raspberry Pi mit einzig zusätzlich Fire-TV
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: HansDampfHH am 21 März 2019, 20:47:13
Wenn ich auf der Commandline nach Devices suche...


python3
>>> import pychromecast
>>> chromecasts = pychromecast.get_chromecasts()
>>> [cc.device.friendly_name for cc in chromecasts]
['Wohnzimmer', 'Schlafzimmer']


...bekomme ich die Devices. Also das scheint zu funktionieren.
Ich habe nun auch bereits öfter die entsprechenden Komponenten de- und neu installiert.
Ohne Erfolg :-(
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 21 März 2019, 22:01:19
Hallo zusammen,

da ich gerade dabei bin die Google Assistant Integration offiziell live zu bekommen, fehlt mir noch die Zeit GoogleCast zu aktualisieren.

Ich habe auf github gesehen, dass pychromecast 3.0.0 released wurde und sich dort die API geaendert hat. Fuer alle die also Probleme haben, probiert mit pip3 eine aeltere Version von pychromecast zu installieren.

Ein Update werde ich definitiv machen, da ich das Modul auch selbst verwende...bitte euch aber noch um Geduld.

LG
Dominik
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: wk2000 am 24 März 2019, 12:12:13
Super, das war's!

Ein einfaches:
sudo pip3 install pychromecast==2.5.2
und alles läuft wieder.

Gassistant ist übrigens auch echt ne coole Sache!
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 25 März 2019, 16:12:03
Hallo Dominik,

ich hätten einen ganz einfachen Feature-Wunsch: Ein "Disable" Attribut. GOOGLECAST sorgt bei mir sehr gerne für einen FORK Fehler, daher möchte ich die GOOGLECAST-Devices gerne über Nacht disable'n.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 25 März 2019, 17:32:52
Hallo,

mal eine generelle Frage: Kann mir jemand dabei helfen, dieses Python zu verstehen? Also, ich habe 2.7 installiert, soweit ich das sehe (Raspberry 3). Zusätzlich kam irgendwann mal Pything 3.4 aufs System. Soweit, sogut. Nun wollte ich mal pychromecast aktualisieren (sudo pip3 install pychromecast --upgrade) und es kommt nur dieser "IncompleteRead" Fehler, es geht nicht. Habe dann versucht, alle Python's zu deinstallieren (apt-get remove), also 2.7, 3.4 und was ich sonst noch so gefunden habe. Dann neu installiert, aber irgendwie ist 2.7 immer noch dran, jedenfalls wirft "python --version" immer noch "2.7" raus. Nun gut, also von Hand umgestellt (ln -s /usr/local/bin/python3.7 /usr/local/bin/python3), daraufhin meldet python --version auch korrekt 3 aus. Trotzdem kommt beim installieren weiterhin dieser "InCompleteRead" Fehler. Nun spiele ich das Image wieder zurück. Irgendwie peile ich das nicht. Laut Doku kommt der Incomplete Fehler nur < 3.4. Bei mir kommt er aber trotzdem. Und die Version 2.7 werde ich auch nicht los. Möchte eigentlich nur die pychromecast aktualisieren, aber jeder Versuch sorgt dafür, dass es hinterher nix mehr geht.

Kann mir da mal jemand auf die Sprünge helfen, das Chaos zu verstehen? Bitte? Bin wohl zu blöd zu. Kann ich die Sources irgendwie von Hand drauf kopieren?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: wk2000 am 25 März 2019, 19:06:14
sudo pip3 install pychromecast --upgrade
Ist gerade eh nicht die beste Idee, siehe oben.

Hast du's schon mit pychromecast Version 2.5.2 versucht?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 25 März 2019, 19:32:46
Ja, da kommt dieser nervige "IncompleteRead" Fehler auch. Weiß auch nicht so recht, welche Version vom pychromecast ich eigentlich installiert habe. Wie finde ich das raus?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 26 März 2019, 12:55:55
Ich weiß nicht, ob das hilft: In irgendeinem Beitrag in diesem Thread hatte ich mal beschrieben, wie ich die eine, störende Version losgeworden bin. Frag' mich nicht, welche das war und wie ich's wirklich gemacht habe. Aber ich erinnere mich dumpf im Hinterkopf, dass ich da auch manuell zur Deinstallation eingreifen musste, um wirklich alles los zu bekommen.

Wenn ich es selber nochmal finde, wo ich das beschrieben habe, werde ich es hier verlinken. Kann aber dauern ...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 26 März 2019, 13:04:32
Bin echt für jeden Tipp dankbar
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 26 März 2019, 13:06:15
https://forum.fhem.de/index.php/topic,45505.msg784186.html#msg784186

Hier war's - aber wie ich da schon geschrieben habe: Wie ich es wirklich Schritt für Schritt gemacht habe, konnte ich damals schon nicht mehr richtig nachvollziehen. Würde mich freuen, wenn's Dir zumindest etwas hilft.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 03 April 2019, 22:22:45
Hallo zusammen,

ich habe gerade den Support fuer pychromecast 3.x implementiert und ins SVN eingecheckt :)

Bitte um kurze Rueckmeldung ob alles wie gewuenscht funktioniert.

LG Dominik
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 04 April 2019, 13:22:45
Bei mir läuft es
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 04 April 2019, 16:10:44
Ich kann noch nicht alles im Detail prüfen, aber der Kontakt wird auf jeden Fall schon mal hergestellt. Ich sehe in FHEM was am Chromecast läuft und ich kann die Lauststärke aus FHEM heraus regeln. Habe nacheinander Linux, FHEM und pychromecast aktualisiert.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 04 April 2019, 16:41:00
pychromecast traue ich mich irgendwie nicht  :D
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 04 April 2019, 16:42:20
Dafür habe ich ja das Update gemacht, du kannst dich trauen ;)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 04 April 2019, 23:25:09
Nope. Selbes Problem. Boah, dat nervt dieses Python ... Und jedesmal, wenn ich das Problem beheben will (wofür es gefühlte 10 Mio Einträge bei Google gibt), läuft hinterher nix mehr und ich muss ein Image zurückspielen. Habe sogar versucht, Python komplett runter zu werfen. Dann bleibt immer irgendeine 2.7'er Version auf dem System. Endet dann jedesmal im Chaos. Habe ein Debian 8.0. Scheint mit Debian 9.0 zu laufen, aber wer weiß, was dann wieder nicht funktioniert.


pi@raspberrypi:~ $ sudo pip3 install pychromecast --upgrade
Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
    load_entry_point('pip==1.5.6', 'console_scripts', 'pip3')()
  File "/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py", line 489, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py", line 2793, in load_entry_point
    return ep.load()
  File "/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py", line 2411, in load
    return self.resolve()
  File "/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py", line 2417, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python3/dist-packages/pip/__init__.py", line 74, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "/usr/lib/python3/dist-packages/pip/vcs/mercurial.py", line 9, in <module>
    from pip.download import path_to_url
  File "/usr/lib/python3/dist-packages/pip/download.py", line 25, in <module>
    from requests.compat import IncompleteRead
ImportError: cannot import name 'IncompleteRead'


Upgrade PIP funktioniert genauso wenig


pi@raspberrypi:~ $ pip install --upgrade pip
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    load_entry_point('pip==1.5.6', 'console_scripts', 'pip')()
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 356, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2476, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2190, in load
    ['__name__'])
  File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 74, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", line 9, in <module>
    from pip.download import path_to_url
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 25, in <module>
    from requests.compat import IncompleteRead
ImportError: cannot import name IncompleteRead
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 04 April 2019, 23:35:46
Das ist jetzt aber kein pychromecast Problem.

Habe das hier gefunden:
https://stackoverflow.com/questions/27341064/how-do-i-fix-importerror-cannot-import-name-incompleteread

Btw, upgrade pip3 und nicht pip.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 05 April 2019, 09:32:37
Upgrade pip3 geht leider auch nicht, immer dieses nervige "ImportError: cannot import name 'IncompleteRead'". Weiß jemand, was das genau ist? Irgendeine Lib die fehlt? Oder zieht er sich eine falsche Lib? Verstehe das nicht.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 05 April 2019, 13:00:17
Habe mich getraut, Upgrade von Debian 8 auf 9. GoogleCast läuft, Update funktioniert, zumindest der Teil ist nun sauber :)
Für die Nachwelt: Image machen, fail2ban deinstallieren, dann gehts wie hier beschrieben: https://www.datenreise.de/raspberry-pi-raspbian-update-jessie-auf-stretch-aktualisieren/
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 05 April 2019, 13:53:14
Zitat von: Det20 am 05 April 2019, 13:00:17
Habe mich getraut, Upgrade von Debian 8 auf 9. GoogleCast läuft, Update funktioniert, zumindest der Teil ist nun sauber :)
Für die Nachwelt: Image machen, fail2ban deinstallieren, dann gehts wie hier beschrieben: https://www.datenreise.de/raspberry-pi-raspbian-update-jessie-auf-stretch-aktualisieren/

Ich würde eine Neuinstallation mit neuem OS einem "Upgrade" vorziehen...
...und mache das auch immer so...

(Stichwort: initd -> systemd / nur als Beispiel)

Kann man sich gleich von "Altlasten" befreien... ;)

Es ist ja ein Modul in Arbeit, was eine Neuinstallation ganz einfach machen soll...
(https://forum.fhem.de/index.php/topic,98381.msg917215.html#msg917215  /  https://forum.fhem.de/index.php/topic,97589.0.html)

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 05 April 2019, 19:13:52
An sich gebe ich dir Recht, wollte aber schon immer mal versuchen, Linux durch ein Update eine Version hochzustufen (traue mich das bei Webservern nicht). Es lief erstaunlich einfach, einzig Apache hat rumgezickt (Log-Verzeichnis gab es nicht und die Rechte-Nummer auf ein Verzeichnis) sowie Fail2Ban, der mochte irgendeine Konfig nicht. Es dauert aber halt und ich musste beim Update so einige Config-Dateien von Hand kontrollieren. Wenn ich nun noch das 50-NodeJSUpdate hin den Griff bekomme, bin ich erstmal wieder happy.

@dominik: Könntest du ev noch ein "disable" Attribut einbauen? Ich könnte dann die Googles deaktivieren, wenn ich die Internet-Verbindung neu starte; was jede Nacht vorkommt, da Magenta-Hybrid sonst nicht rund läuft. Huawei Schrott ...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 05 April 2019, 19:39:00
disable: muss ich mir noch genauer anschauen wie die Logik dazu aussieht.

Was passiert aktuell wenn du neu startest? Geht chromecast auf offline und bleibt offline?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 06 April 2019, 11:36:46
Ich bekomme sehr oft, meistens nachts, den Fehler (laut Log) "ERROR: Select error -1 (9), error count= 0". Irgendwann wird dann FHEM wg dem FORK Fehler neu gestartet. Manchmal greift auch das nicht, sodass der gesamte Raspi neu gebootet wird. Wenn ich die Google nachts deaktiviere dann ist meine Hoffnung, dass ich das Problem zumindest Nachts verringern kann.

Schalte inzwischen so einiges Nachts ab: SkyQ, SamsungTV, Speedtest und co. Dadurch ist es schon deutlich ruhiger geworden.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: OdfFhem am 06 April 2019, 21:59:02
Den von Det20 genannten Fehler finde ich auch ab und zu im Logfile - maximal einmal pro Tag, aber nicht jeden Tag; allerdings schmiert dadurch weder FHEM noch der Raspi ab.

Bei mir stehen beim Auftreten immer die folgenden Zeilen im Log:

2019.04.01 02:20:16 1: ERROR: Select error -1 (9), error count= 0
2019.04.01 02:20:16 1: Found and deleted bad fileno for GOOGLECAST-GHminiWZ
2019.04.01 02:20:47 3: GOOGLECAST: Wohnzimmer initialized successfully
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: duke-f am 07 April 2019, 23:30:34
Da kann ich mich anschließen: Dieser Fehler taucht auch bei mir auf in der Log, aber auch ich habe keine Neustarts von FHEM und dem Raspi. Und wie oft kann ich jetzt nicht sagen, aber seit Mittwoch kam er bisher nicht mehr.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: SouzA am 17 Juni 2019, 05:39:26
Bei mir häuft es such gerade wieder gewaltig...

2019.06.17 02:24:35 1: Found and deleted bad fileno for GOOGLECAST-GC_LisasZimmer
2019.06.17 02:31:08 1: ERROR: Select error -1 (9), error count= 0
2019.06.17 02:31:08 1: Found and deleted bad fileno for GOOGLECAST-GC_Alarm
2019.06.17 02:31:08 1: Found and deleted bad fileno for GOOGLECAST-GC_Haus
2019.06.17 02:35:08 1: ERROR: Select error -1 (9), error count= 0
2019.06.17 02:35:08 1: Found and deleted bad fileno for GOOGLECAST-GC_Alarm
2019.06.17 02:35:08 1: ERROR: Select error -1 (9), error count= 0
2019.06.17 02:35:08 1: Found and deleted bad fileno for GOOGLECAST-GC_Haus
2019.06.17 02:43:56 1: ERROR: Select error -1 (9), error count= 0
2019.06.17 02:43:56 1: Found and deleted bad fileno for GOOGLECAST-GH_Bad
2019.06.17 02:55:08 1: ERROR: Select error -1 (9), error count= 0
2019.06.17 02:55:08 1: Found and deleted bad fileno for GOOGLECAST-GC_Alarm
2019.06.17 02:55:08 1: ERROR: Select error -1 (9), error count= 0
2019.06.17 02:55:08 1: Found and deleted bad fileno for GOOGLECAST-GC_Haus
2019.06.17 02:57:09 1: ERROR: Select error -1 (9), error count= 0
2019.06.17 02:57:09 1: Found and deleted bad fileno for GOOGLECAST-GC_Haus
2019.06.17 02:57:09 1: Found and deleted bad fileno for GOOGLECAST-GC_Alarm
2019.06.17 03:05:04 1: ERROR: Select error -1 (9), error count= 0
2019.06.17 03:05:04 1: Found and deleted bad fileno for GOOGLECAST-GC_Alarm
2019.06.17 03:05:04 1: ERROR: Select error -1 (9), error count= 0
2019.06.17 03:05:04 1: Found and deleted bad fileno for GOOGLECAST-GC_Haus
2019.06.17 03:07:09 1: ERROR: Select error -1 (9), error count= 0
2019.06.17 03:07:09 1: Found and deleted bad fileno for GOOGLECAST-GC_Alarm
2019.06.17 03:07:09 1: Found and deleted bad fileno for GOOGLECAST-GC_Haus
2019.06.17 03:20:09 1: ERROR: Select error -1 (9), error count= 0
2019.06.17 03:20:09 1: Found and deleted bad fileno for GOOGLECAST-GC_Alarm
2019.06.17 03:20:09 1: ERROR: Select error -1 (9), error count= 0
2019.06.17 03:20:09 1: Found and deleted bad fileno for GOOGLECAST-GC_Haus
2019.06.17 03:23:09 1: ERROR: Select error -1 (9), error count= 0
2019.06.17 03:23:09 1: Found and deleted bad fileno for GOOGLECAST-GC_Haus
2019.06.17 03:23:09 1: ERROR: Select error -1 (9), error count= 0
2019.06.17 03:23:09 1: Found and deleted bad fileno for GOOGLECAST-GC_Alarm
2019.06.17 03:29:10 1: ERROR: Select error -1 (9), error count= 0
2019.06.17 03:29:10 1: Found and deleted bad fileno for GOOGLECAST-GH_WC
2019.06.17 03:52:09 1: ERROR: Select error -1 (9), error count= 0
2019.06.17 03:52:09 1: Found and deleted bad fileno for GOOGLECAST-GC_Alarm
2019.06.17 03:52:09 1: Found and deleted bad fileno for GOOGLECAST-GC_Haus
2019.06.17 03:53:09 1: ERROR: Select error -1 (9), error count= 0
2019.06.17 03:53:09 1: Found and deleted bad fileno for GOOGLECAST-GC_Alarm
2019.06.17 03:53:09 1: Found and deleted bad fileno for GOOGLECAST-GC_Haus
2019.06.17 03:54:59 1: ERROR: Select error -1 (9), error count= 0
2019.06.17 03:54:59 1: Found and deleted bad fileno for GOOGLECAST-GC_Kueche


Das müllt mir grad den ganzen log zu.
Verbose 0 hilft da ja leider auch nicht...

Kann man daran irgendwie noch was ändern?

Bis denn
SouzA
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 17 Juni 2019, 06:11:03
Wie sieht es mit Speicher aus?

Hast du "cannot allocate" oder so Meldungen (weiter vorne/oben) im Log!?

Sieht bissi so aus als wären "Systemressourcen" aus!?

Sind die Meldungen nach "shutdown restart" (und somit Speicher komplett frei geben) weg!?

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: SouzA am 17 Juni 2019, 19:16:51
Zitat von: MadMax-FHEM am 17 Juni 2019, 06:11:03
Wie sieht es mit Speicher aus?

Hast du "cannot allocate" oder so Meldungen (weiter vorne/oben) im Log!?

Sieht bissi so aus als wären "Systemressourcen" aus!?

Sind die Meldungen nach "shutdown restart" (und somit Speicher komplett frei geben) weg!?

Gruß, Joachim
cannot allocate (bzw. cannot fork) wird schon mit neustart beantwortet.

Die Meldungen von den Casts kommen nach Neustart ca. nach einer Stunde wieder ins log.

Was mich irritiert ist, dass die Meldungen nur von zwei den gleichen Chromecast-Devices kommen. Ich habe in Summe 5...

Bis denn
SouzA
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 17 Juni 2019, 20:49:37
Kenne ich, kann aber leider nicht auf das Modul verzichten. Viele Zeilen Quelltext kümmern sich bei mir nur um diese fork Geschichte, habe es nie ganz an den Griff bekommen. Welche Debian Version hast du drauf? Durch die letzte ist es ein wenig besser geworden. Ich starte beim fork Fehler fhem neu und, wenn mehr als 3 fork Fehler zwischen 0 und 0 Uhr auftreten, das gesamte System neu.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: SouzA am 17 Juni 2019, 22:34:36
Zitat von: Det20 am 17 Juni 2019, 20:49:37
Kenne ich, kann aber leider nicht auf das Modul verzichten. Viele Zeilen Quelltext kümmern sich bei mir nur um diese fork Geschichte, habe es nie ganz an den Griff bekommen. Welche Debian Version hast du drauf? Durch die letzte ist es ein wenig besser geworden. Ich starte beim fork Fehler fhem neu und, wenn mehr als 3 fork Fehler zwischen 0 und 0 Uhr auftreten, das gesamte System neu.

PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
Linux raspberrypi 4.19.42-v7+ #1219 SMP Tue May 14 21:20:58 BST 2019 armv7l GNU/Linux

Das mit dem Speicherschwund hat ja auch eher was mit nem Bug im Perl zu tun, als mit dem Modul an sich.
Geht auch ein Stück weit an der Problematik mit den Chromecasts vorbei... Ich glaube nicht, dass die bei mir zum cannot führen. Zumindest nicht alleine.

Wie bereits geschrieben machen auch nur 2 von 5 diese Meldungen.

Kann mir nicht erklären woran das liegt. Swap ist bei 0. Keine fork-Fehler.

Das verblüffendste ist, dass es den ganzen Tag keine Meldung mehr von Casts gab.
Bis heute morgen dauernde Meldungen. Letzte Meldung um 7.06h. Danach Ruhe...?!
(Letzter Neustart vom RPi war gestern Vormittag gegen 12h)

Tja, falls mal jemand eine Idee diesbezüglich hat, hätte ich da ein offenes Ohr!  ;)

Thx & Bis denn
SouzA

EDIT: und jetzt ab kurz nach 23 wieder...
2019.06.17 23:15:35 1: ERROR: Select error -1 (9), error count= 0
2019.06.17 23:15:35 1: Found and deleted bad fileno for GOOGLECAST-GC_Alarm
2019.06.17 23:15:41 1: ERROR: Select error -1 (9), error count= 0
2019.06.17 23:15:41 1: Found and deleted bad fileno for GOOGLECAST-GC_Haus

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: SouzA am 30 Juli 2019, 17:58:14
Moin,

woher kommen überhaupt diese Meldungen?
Kann man die irgendwo unterdrücken? Verbose 0 im jeweiligen Device hilft nicht.
Es müllt einfach alles voll...

Thx für Hilfe.

Bis denn
SouzA
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 30 Juli 2019, 18:02:38
Die kommt von fhem selbst und bedeutet, dass da ein ungültige handle gefunden wurde.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: SouzA am 31 Juli 2019, 20:16:49
Zitat von: Det20 am 30 Juli 2019, 18:02:38
Die kommt von fhem selbst und bedeutet, dass da ein ungültige handle gefunden wurde.
Danke für die Info!
Und kann man das ausblenden?

Thx und bis denn
SouzA
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Det20 am 31 Juli 2019, 23:38:26
Such mal im source danach. Wenn ich mich recht erinnere, lässt sich das logging nicht abschalten
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 01 August 2019, 23:37:36
Diese Meldungen kommen wenn die Verbindung zum Cast Device verloren geht. Die Meldung selbst kommt aus der FHEM Mainloop und die kann ich auch nicht unterdruecken.


Ich habe gerade noch ein Update gemacht um Devices mit Leerzeichen im Namen zu unterstuetzen:
define wz.home GOOGLECAST Home Wohnzimmer
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: HerrEmo am 04 August 2019, 09:17:12
Ich bekomme mein Google Mini nicht zum laufen.
In der HomeApp auf dem Handy heist der Mini Rks

in Fhem


define RKs.chromecast GOOGLECAST Rks


defmod RKs.chromecast GOOGLECAST Rks

setstate RKs.chromecast offline
setstate RKs.chromecast 2019-08-04 08:49:45 presence offline
setstate RKs.chromecast 2019-08-04 08:49:45 state offline


Im Log
019.08.04 08:54:49 4: GOOGLECAST: search result: |CCDEVICE|192.168.1.201|8009|059c605e-42b5-2a6b-e9db-3649d664a4d1|Google Home Mini|Rks
2019.08.04 08:54:49 4: GOOGLECAST: search result: |CCDEVICE|192.168.1.201|8009|059c605e-42b5-2a6b-e9db-3649d664a4d1|Google Home Mini|Rks
2019.08.04 08:54:49 4: Connection accepted from telnetForBlockingFn_1564900303_127.0.0.1_60122
2019.08.04 08:54:49 5: Cmd: >{BlockingStart('185')}<
2019.08.04 08:54:49 5: Cmd: >{GOOGLECAST_findChromecastsResult('|CCDEVICE|192.168.1.201|8009|059c605e-42b5-2a6b-e9db-3649d664a4d1|Google Home Mini|Rks')}<
2019.08.04 08:54:49 4: GOOGLECAST:  not found, retry in 10s.
2019.08.04 08:54:49 4: Connection accepted from telnetForBlockingFn_1564900303_127.0.0.1_60124
2019.08.04 08:54:49 5: Cmd: >{BlockingStart('186')}<
2019.08.04 08:54:49 5: Cmd: >{GOOGLECAST_findChromecastsResult('|CCDEVICE|192.168.1.201|8009|059c605e-42b5-2a6b-e9db-3649d664a4d1|Google Home Mini|Rks')}<
2019.08.04 08:54:49 4: GOOGLECAST:  not found, retry in 10s.


stimmt das define?

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 04 August 2019, 20:31:46
Das define sieht richtig aus, was meinst du mit defmod und setstate danach?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 04 August 2019, 20:42:05
Das ist vermutlich "raw definition"...

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Gernot69 am 27 August 2019, 16:13:04
Hallo.

Seit einem Jahr funktioniert nach eurer Hilfe meine Chromecast Audio super. Danke Dominik

Aber seit ca 2-4 Monaten habe ich ein Problem . Wenn ich Tunein, GooglePay oder Plex streame (Android HAndy und Iphone) , dann läuft der Stream einfach weiter obwohl ich  "stream beenden" drücke  in der GooglePlay/App. Alles andere (Pause ,  Lautstärke , skip .... usw.) funktioniert bestens.

Mit 98_Googlecast und Google Home  funktioniert alles bestens  auch "stream beenden" ..
Wenn ich meine chromcasts lösche in FHEM , dann funktioniert auch "stream beenden" im GooglePlay.

Kennt jemand diese Problem? Oder kann das jemand nachstellen?
Mit Verbose5 keine Fehlermeldung . Aber irgendwie schaut das so aus als ob der Stream von "98_googlecast " selbständig wieder gestartet wird .. Sonst habe ich keine Erklärung ..

danke
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: SouzA am 31 August 2019, 07:55:29
Hi,
Das kann ich hier nicht darstellen.
3xChromecast...
Wenn ich Spotify vom Handy starte, kann ich die Übertragung auch wieder damit stoppen. Als auch mit fhem.
Hast du irgendwelche Automatiken in fhem, die einen start auslösen könnten?

Bis denn
SouzA
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Gernot69 am 04 September 2019, 17:12:13
Hallo SouzA

danke dafür. Ich habe die Programme deaktiviert .. Sicherheitshalbe habe ich eine neue Chromecast angelegt, die noch nie in FHEM eingebunden war.. und auch keine Programmcode hat.. Es reicht wenn ich diese definiere .-- Dann ist der Fehler wieder da... wenn ich die Cast wieder lösche ist der Fehler weg...
Vielleicht kann jemand anderes das nachstellen .. (Ich verwende Tunin und Google Play Music )
danke
Gernot
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: meyerhavener am 15 September 2019, 20:29:31
Hallo,
ich habe dasselbe Verhalten, wenn ich einen Stream in der Google Play App beende. Allerdings beschränkt sich das nicht nur auf den Chromecast sondern taucht ebenfalls in Verbindung mit Google Home auf. Nur das QuitApp über Fhem schließt den Stream endgültig. Für mich ist das nicht schlimm, vielleicht ist dieses Verhalten ja auch gewollt? Schließlich soll die Musik ja weiterlaufen, wenn mal die Verbindung zum Handy abreißt.

Gruß
mhavener
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Gernot69 am 24 September 2019, 08:56:22
Danke für die Rückmeldung
Welches System von FHEM hast du Installiert? (Rasp/Strech/Jessi /Pyrocromecast.. usw.)
Wie schaut deine Netzwerkinfrastruktur aus? (Router usw.)
Welches Handy verwendest du mit welchem Betriebssystem (Android Version / IPhone V? /Google Music Version)

Was ist der Unterschied von PAUSE / Stop und APP beenden?
FHEM Googlecast98Modul macht folgendes (glaube das ist Richtig):
Pause = wirklich Pause und spielt mit Play weiter  (Das funktioniert auch mit Google Play Music)
Stop = macht Pause und spielt mit Play nicht weiter. Das  Googlecast98Modul  geht auf "idle"  (Jedoch ein Play von Google Play Music funktioniert in dieser Situation)
App beenden  mit Googlecast98Modul = Stream beenden  funktioniert super
"Stream beenden" in GooglePlay Music funktioniert nicht"   .. Ich kann dann zwar mit GoogleHome App und mit dem  Googlecast98Modul  alles machen.
Aber mit der GooglePlayMusic app nicht mehr steuern. Was extrem lästig ist wenn ich zuerst in der Küche Music caste und dann ins Bad gehe .. Dafür den Stream in der Küche beende und im BAD neu caste .. Dann spielt die Küche einfach weiter  2 Streams im Haus .. Ich beende dann den STream dann immer mit FHEM  oder der Google Home App .. Jedoch sind meine Kinde r und meine Frau über diese Lösung nicht ganz glücklich .
schöne GRüßeGernot69
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: caldir65 am 28 September 2019, 10:45:57
Hallo,

bei mir wird das Mail-Log mit Fehlermeldungen "vollgemüllt", sobald das Device nicht mehr verfügbar ist. Sobald ich das Gerät wieder einschalte und der Boot gelaufen ist, sind die Fehlermeldungen weg, zudem kann ich dann auch aus FHEM alles normal bedienen:

WARNING:zeroconf:Exception occurred:
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/zeroconf.py", line 2245, in send
    bytes_sent = s.sendto(packet, 0, (addr, port))
OSError: [Errno 126] Der notwendige Schlüssel ist nicht verfügbar

Diese FM wiederholt sich regelmäßig

Das System:
HP MicroServer Proliant Gen8, Ubuntu Server 18.04.3, Fhem aktuell, LG Soundbar Music Flow SJ8 (angebunden via Ethernet)

Woher kommt die FM, und wie kann ich sie abstellen (entweder beheben oder "nur" aus den Logs heraus halten)?

Gruß, Christoph
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: caldir65 am 01 Oktober 2019, 08:52:15
Hallo,

ein weiteres Problem ist bei mir aufgetreten:
Ich habe das Modul jetzt etwa 3 Tage erfolgreich im Einsatz, und gestern Abend ist anscheinend das Modul so gründlich abgestürzt, als ich alles per Funkschalter abgeschaltet habe, daß nur der Neustart von fhem via ssh-Shell alles wieder zum Leben erwecken konnte. Im Browser kam statt der gewohnten fhem-Weboberfläche nur ein "Bad Request 502" nach der Passwort-Abfrage (Ich nehme an, das PW wurde noch abgefragt, da bei mir fhem nicht den eigenen Webserver benutzt, sondern von NGINX ausgeliefert wird)

Im Log zum fraglichen Zeitpunkt:
2019.09.30 22:11:48.053 3: Read password from file uniqueID
2019.09.30 22:11:48.293 2: EGPM2LAN Powerstate: 1,0,0,0
2019.09.30 22:11:48.294 3: EGPM2LAN: Update State of Schaltsteckdose.egpm2lan_SoundBar
2019.09.30 22:11:48.328 3: http://192.168.1.153/login.html: HTTP response code 200
2019.09.30 22:11:49.129 3: Read password from file uniqueID
2019.09.30 22:11:49.364 2: EGPM2LAN Powerstate: 0,0,0,0
2019.09.30 22:11:49.364 3: EGPM2LAN: Update State of Schaltsteckdose.egpm2lan_TV
2019.09.30 22:11:49.366 5: Triggering WzHzNacht
2019.09.30 22:11:49.366 4: WzHzNacht exec set wz_Wohnzimmer_Heizung_Climate desired-temp 17.0
2019.09.30 22:11:49.369 3: CUL_HM set wz_Wohnzimmer_Heizung_Climate desired-temp 17.0
2019.09.30 22:11:49.401 3: http://192.168.1.153/login.html: HTTP response code 200
2019.09.30 22:12:12.064 1: ERROR: Select error -1 (9), error count= 0
2019.09.30 22:12:12.065 1: Found and deleted bad fileno for GOOGLECAST-Wohnzimmer.chromecast
WARNING:zeroconf:Exception occurred:
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/zeroconf.py", line 2245, in send
    bytes_sent = s.sendto(packet, 0, (addr, port))
OSError: [Errno 126] Der notwendige Schlüssel ist nicht verfügbar
Can't use string ("") as a HASH ref while "strict refs" in use at ./FHEM/98_GOOGLECAST.pm line 601.
2019.09.30 22:12:22.140 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...


EIne Anpassung ähnlich wie bei Sonos mit Funksteckdose (https://wiki.fhem.de/wiki/SONOS#Betrieb_des_Sonos_an_einer_Funksteckdose_.28regelm.C3.A4.C3.9Figes_Ausschalten.29_-_Verbindungsprobleme) scheitert grundsätzlich erst einmal an einem fehlenden Attribut disable - wodurch ich das Modul dann auch nicht per Hand temporär abschalten kann ...

Das System:
HP MicroServer Proliant Gen8, Ubuntu Server 18.04.3, Fhem aktuell, LG Soundbar Music Flow SJ8 (angebunden via Ethernet)
fhem via NGINX-Server nach Decatec - zweite Webanwendung ... (https://decatec.de/home-server/zweite-web-anwendung-neben-owncloudnextcloud-einrichten-am-beispiel-wordpress/#fhem)

Gruß, Christoph
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: michaelw am 02 Oktober 2019, 08:22:09
Zitat von: dominik am 01 August 2019, 23:37:36
Diese Meldungen kommen wenn die Verbindung zum Cast Device verloren geht. Die Meldung selbst kommt aus der FHEM Mainloop und die kann ich auch nicht unterdruecken.

Gibt es vielleicht die Möglichkeit das Modul so zu bauen, dass man es deaktivieren kann und damit vielleicht auch die Verbindungen sauber abgebaut werden können? z.B. set gc.device disable oder attr gc.device disable 1.
Mir würde das insofern helfen, weil ich relativ genau sagen kann, wann die Verbindung verloren gegangen sein wird, da meine Chromecasts an einer schaltbaren Steckdose hängen. Ich könnte also die Googlcast-Geräte dann zusammen mit dem ein-/ausschalten der Dosen das Modul deaktivieren. Das funktioniert bei meinem SAT Receiver, AVR und Harmony Hub sehr zuverlässig indem ich bei den Geräten das Attribut jeweils zum richtigen Zeitpunkt verändere.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: febus am 29 Oktober 2019, 08:43:13
Hmmm, ich brauche jetzt auch mal Unterstützung. Hatte bis vor Kurzem das chromecast Modul im Einsatz und versuche gerade umzustellen auf googlecast. Leider bleiben meine Chromecasts offline...
Ich nutze einen RPi mit Stretch und habe alles so installiert wie beschrieben, dabei sind mir auch keine Fehlermeldungen aufgefallen.

Hier ein Auszug aus dem Log:


2019.10.29 08:39:11 5: GOOGLECAST(ccWohnzimmer): start findChromecasts BlockingCall
2019.10.29 08:39:11 5: GOOGLECAST(ccWohnzimmer): finished findChromecasts BlockingCall
2019.10.29 08:39:20 4: GOOGLECAST: search result: ccWohnzimmer|CCDEVICE|192.168.188.29|8009|49596897-8f65-a8c9-6b6b-62a9424f0dcf|Chromecast Audio|Kueche|CCDEVICE|192.168.188.28|8009|8329f1b1-c8e7-464a-21cc-7a17f8c67d5d|Chromecast Audio|Wohnzimmer|CCDEVICE|192.168.188.27|8009|9138e025-ce19-e378-300c-68caf9b5f0fb|Chromecast Audio|Badezimmer|CCDEVICE|192.168.188.29|42500|9c1f5ccd-3485-4943-ae57-3863b3f1fd1c|Google Cast Group|Alle
2019.10.29 08:39:20 4: GOOGLECAST (ccWohnzimmer): init cast device Wohnzimmer
2019.10.29 08:39:20 4: GOOGLECAST (ccWohnzimmer): device initialized
2019.10.29 08:39:20 4: GOOGLECAST: Wohnzimmer not found, retry in 10s.


Edit / Ergänzung:
2019.10.29 16:03:24 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 186.
2019.10.29 16:03:24 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 187.


Irgendeine Idee, was ich tun kann?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: febus am 06 November 2019, 10:40:58
Hi nochmal, ich komme hier nicht weiter...
define ccWohnzimmer GOOGLECAST Wohnzimmer
Ist da irgendwas fasch?
Im Log steht immernoch device initialized und danach Wohnzimmer not found. Im search result wird der Chromecast aber angezeigt...?
Hat irgendjemand noch eine Idee?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: caldir65 am 23 November 2019, 18:49:20
Moin,

Hast Du den Gerätenamen exakt so geschrieben,  wie das Chromecast-Gerät in der zugehörigen App bezeichnet wurde?

Gesendet von meinem SM-G960F mit Tapatalk

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: robii am 03 Januar 2020, 13:03:30
Das gleiche Problem hier:

define GH_Wohnen GOOGLECAST Wohnen (exakt so geschrieben wie in der App)

Ergebnis ist ein rotierendes Log:


2020.01.03 12:59:15 4: GOOGLECAST (GH_Wohnen): init cast device Wohnen
2020.01.03 12:59:15 4: GOOGLECAST (GH_Wohnen): device initialized
2020.01.03 12:59:15 3: GOOGLECAST: Wohnen initialized successfully
2020.01.03 12:59:15 5: GOOGLECAST (GH_Wohnen): run_once
2020.01.03 12:59:15 4: GOOGLECAST (GH_Wohnen): checkConnection, connection failure, reconnect...
2020.01.03 12:59:15 5: GOOGLECAST(GH_Wohnen): start findChromecasts BlockingCall
2020.01.03 12:59:15 5: GOOGLECAST(GH_Wohnen): finished findChromecasts BlockingCall
2020.01.03 12:59:18 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 186.
2020.01.03 12:59:18 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 187.
2020.01.03 12:59:18 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 186.
2020.01.03 12:59:18 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 187.
2020.01.03 12:59:24 4: GOOGLECAST: search result: GH_Wohnen|CCDEVICE|record[a,in-unique,1562e319-3e36-7748-7aea-18171c2feaef.local.]=120/119,192.168.178.40|8009|1562e319-3e36-7748-7aea-18171c2feaef|Google Home Mini|Wohnen
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: robii am 03 Januar 2020, 14:01:51
Gelöst (quick & dirty)

Problem scheint die IP zu sein die pychromecast.discovery.discover_chromecasts zurückgibt, bei mir hier:

record[a,in-unique,1562e319-3e36-7748-7aea-18171c2feaef.local.]=120/119,192.168.178.40


Hier lösche ich z.Zt. einfach alles vor dem Komma um nur die IPv4 Adresse zu erhalten

sub GOOGLECAST_findChromecasts {
    my ($string) = @_;
   
    my ($name) = split("\\|", $string);
    my $result = "$name";

    my @ccResult = GOOGLECAST_PyFindChromecasts();
    foreach my $ref_cc (@ccResult) {
        my @cc = @$ref_cc;
        my $ip=$cc[0];
        $ip=~s/.+,//;
       
        $result .= "|CCDEVICE|".$ip."|".$cc[1]."|".$cc[2]."|".$cc[3]."|".Encode::encode('UTF-8', $cc[4]);
    }

    Log3 $name, 4, "GOOGLECAST: search result: $result";

    return $result;
}
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Caleus am 17 Januar 2020, 21:40:39
Hallo

ich schreibe mal hier mit da es sich bei meiner Frage zwar um das Modul handelt aber in Verbindung mit Google Home Mini,
ich kann nach erfolgreichem einbinden in Fhem alles nutzen nur "set speak ... " verstehe ich nicht und eine Erklärung finde ich nicht,
wenn ich da einen Text eintrage
" Hallo das ist eine Test Text"
wird nur Hallo ausgegeben ist das so gewollt?
und kann man das Modul irgendwie mit dem     
Text2Speech Modul verbinden?

Caleus
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 17 Januar 2020, 22:19:10
Gerade eben exakt den Text (copy/paste) bei meinem Google Home Mini eingegeben...
...und es wurde der komplette Text wiedergegeben...

Hast du ihn auch beim set GoogleMini speak " Hallo das ist eine Test Text" in Anführungszeichen gesetzt!?

Oder nur hier!?

Ohne Anführungszeichen kommt bei mir auch nur "Hallo" ;)

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Caleus am 17 Januar 2020, 22:25:19
Das ist ja mal interessant

Hallo das ist ein Test Text = Hallo

"Hallo das ist ein Test Text" = Hallo das ist ein Test Text

verstehe ich nicht ganz aber muss ich auch nicht wenn es so auch geht  ;D

das bedeutet aber nun auch das ich nicht mehr auf Text2Speech angewiesen bin.

Caleus
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Mathias R am 18 Februar 2020, 15:33:04
Hallo,

die Installation (unter Debian Buster) klappt problemlos wie in der CommandRef beschrieben.
Mein FHEM-Server befindet sich jedoch im Rechenzentrum. Wie kann ich über VPN oder Portfreigaben einen Google Home Mini erreichen?

Gruß,
Mathias
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Mathias R am 21 Februar 2020, 17:18:49
Hallo,

kennt jemand zufällig Projekte um GoogleCast Assets wie Google home von remote (FHEM-Server außerhalb der lokalen LAN) anzusprechen - entweder per VPN oder mit "Hub" im lokalen Netz z.B. auf einer Fritzbox oder einem ausgedienten Android-Handy (Root Shell)? Hierzu habe ich noch keinerlei Projekt gefunden. Möglicherweise gibt es ja auch entsprechende Projekte außerhalb der FHEM-Welt?

Gruß, Mathias
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: KOAL am 07 April 2020, 19:23:17
Zitat von: dominik am 24 Februar 2018, 19:40:07
Bitte mal folgendes testen um zu prüfen ob Inline Python richtig funktioniert...
pi@raspberrypi ~ $ cat testpython3.pl

use Inline Python => << "ENDE";

import sys
print(sys.version_info[0])

ENDE





pi@raspberrypi ~ $ perl testpython3.pl
3



Hallo,
bei mir gibt der test Version 2 aus und pychromcast will nicht. :(
Wie kann man das auf Version 3 umstellen?

root@FHEM-SERVER:/opt/fhem/log# perl /inlinetest.pl
inline python is working
2



Ich kann aber den Googlehome zumindest finden..
root@FHEM-SERVER:/opt/fhem/log# perl /inlinetest.pl
inline python is working
2
root@FHEM-SERVER:/opt/fhem/log# python
Python 3.7.3 (default, Dec 20 2019, 18:57:59)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pychromecast
>>> chromecasts = pychromecast.get_chromecasts()
>>> [cc.device.friendly_name for cc in chromecasts]
['Wohnzimmer', 'Standardgruppe', 'Fernseher']
>>>




FHEM.LOG
2020.04.07 19:11:58.538 1: Including fhem.cfg
2020.04.07 19:11:59.966 1: PERL WARNING: "my" variable $fields masks earlier declaration in same scope at ./FHEM/42_FUIP.pm line 3679, <$fh> line 221.
2020.04.07 19:12:00.041 1: PERL WARNING: Use of uninitialized value in lc at fhem.pl line 5403, <$fh> line 221.
2020.04.07 19:12:01.048 1: HMLAN_Parse: HMLAN1 new condition disconnected
2020.04.07 19:12:01.053 1: HMLAN_Parse: HMLAN1 new condition init
2020.04.07 19:12:01.514 1: CUL1: Can't open /dev/ttyACM0: No such file or directory
2020.04.07 19:12:02.406 1: Including /opt/fhem/mycfg/00_config.cfg
2020.04.07 19:12:02.407 1: Including /opt/fhem/mycfg/01_scc.cfg
2020.04.07 19:12:02.415 1: Including /opt/fhem/mycfg/01_Einkaufsliste.cfg
2020.04.07 19:12:02.428 1: Including /opt/fhem/mycfg/99_tests.cfg
2020.04.07 19:12:02.536 1: Including /opt/fhem/mycfg/20_Schlafzimmer.cfg
2020.04.07 19:12:05.334 1: Including /opt/fhem/mycfg/20_Badezimmer.cfg
2020.04.07 19:12:05.351 1: Including /opt/fhem/mycfg/20_Flur.cfg
2020.04.07 19:12:05.435 1: Including /opt/fhem/mycfg/20_Wohnzimmer_temp.cfg
2020.04.07 19:12:07.765 1: Including /opt/fhem/mycfg/20_Kueche.cfg
2020.04.07 19:12:07.793 1: Including /opt/fhem/mycfg/30_Auto.cfg
2020.04.07 19:12:07.800 1: Including /opt/fhem/mycfg/29_residents.cfg
2020.04.07 19:12:09.835 1: Including ./log/fhem.save
2020.04.07 19:12:14.786 1: usb create starting
2020.04.07 19:12:15.216 1: usb create end
2020.04.07 19:12:15.250 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/00_MQTT.pm line 505.
2020.04.07 19:12:17.114 1: withings: getUserDetail json error Wrong user id
2020.04.07 19:12:17.119 0: Featurelevel: 6
2020.04.07 19:12:17.119 0: Server started with 644 defined entities (fhem.pl:21573/2020-04-01 perl:5.028001 os:linux user:fhem pid:21548)
2020.04.07 19:12:17.358 1: PERL WARNING: Use of uninitialized value $modi in split at ./FHEM/57_CALVIEW.pm line 344.
2020.04.07 19:12:18.110 1: Wz_2.Kodi: Can't connect to 172.31.14.17:9090: 172.31.14.17: No route to host (113)
2020.04.07 19:12:18.187 1: HMLAN_Parse: HMLAN1 new condition ok
2020.04.07 19:12:18.307 1: Wz_1.Kodi: Can't connect to 172.31.14.16:9090: 172.31.14.16: Connection refused (111)
2020.04.07 19:12:18.310 1: Sz_1.Kodi: Can't connect to 172.31.14.15:9090: 172.31.14.15: Connection refused (111)
2020.04.07 19:12:20.953 1: withings: getUserDetail json error Wrong user id
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 11, in <module>
    from . import socket_client
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/socket_client.py", line 26, in <module>
    from .dial import CAST_TYPE_CHROMECAST, CAST_TYPE_AUDIO, CAST_TYPE_GROUP
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/dial.py", line 10, in <module>
    from .discovery import get_info_from_service, get_host_from_service_info
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/discovery.py", line 6, in <module>
    import zeroconf
  File "/usr/local/lib/python2.7/dist-packages/zeroconf/__init__.py", line 212
    def current_time_millis() -> float:
                              ^
SyntaxError: invalid syntax
2020.04.07 19:13:13.183 1: PERL WARNING: Subroutine myUtils_Initialize redefined at ./FHEM/99_myUtils.pm line 12.
2020.04.07 19:13:13.184 1: PERL WARNING: Subroutine homematicBatterySummary redefined at ./FHEM/99_myUtils.pm line 20.
2020.04.07 19:13:13.185 1: PERL WARNING: Subroutine sendNotification redefined at ./FHEM/99_myUtils.pm line 45.
2020.04.07 19:13:13.185 1: PERL WARNING: Subroutine sendAdminNotification redefined at ./FHEM/99_myUtils.pm line 76.
2020.04.07 19:13:13.186 1: PERL WARNING: Subroutine sendAdminEmergencyNotification redefined at ./FHEM/99_myUtils.pm line 90.
2020.04.07 19:13:13.187 1: PERL WARNING: Subroutine GetRelativeTime redefined at ./FHEM/99_myUtils.pm line 104.
2020.04.07 19:13:13.188 1: PERL WARNING: Subroutine startFireEffect redefined at ./FHEM/99_myUtils.pm line 121.
2020.04.07 19:13:13.188 1: PERL WARNING: Subroutine stopFireEffect redefined at ./FHEM/99_myUtils.pm line 137.
2020.04.07 19:13:13.189 1: PERL WARNING: Subroutine SecondsToTime redefined at ./FHEM/99_myUtils.pm line 150.
2020.04.07 19:13:18.094 1: withings: getUserDetail json error Wrong user id
2020.04.07 19:13:27.281 1: PERL WARNING: Subroutine GOOGLECAST_Initialize redefined at ./FHEM/98_GOOGLECAST.pm line 147.
2020.04.07 19:13:27.282 1: PERL WARNING: Subroutine GOOGLECAST_Define redefined at ./FHEM/98_GOOGLECAST.pm line 164.
2020.04.07 19:13:27.284 1: PERL WARNING: Subroutine GOOGLECAST_findChromecasts redefined at ./FHEM/98_GOOGLECAST.pm line 184.
2020.04.07 19:13:27.285 1: PERL WARNING: Subroutine GOOGLECAST_initDevice redefined at ./FHEM/98_GOOGLECAST.pm line 199.
2020.04.07 19:13:27.287 1: PERL WARNING: Subroutine GOOGLECAST_findChromecastsResult redefined at ./FHEM/98_GOOGLECAST.pm line 210.
2020.04.07 19:13:27.288 1: PERL WARNING: Subroutine GOOGLECAST_Attribute redefined at ./FHEM/98_GOOGLECAST.pm line 244.
2020.04.07 19:13:27.289 1: PERL WARNING: Subroutine GOOGLECAST_Set redefined at ./FHEM/98_GOOGLECAST.pm line 256.
2020.04.07 19:13:27.290 1: PERL WARNING: Subroutine GOOGLECAST_setVolume redefined at ./FHEM/98_GOOGLECAST.pm line 302.
2020.04.07 19:13:27.291 1: PERL WARNING: Subroutine GOOGLECAST_setWebsite redefined at ./FHEM/98_GOOGLECAST.pm line 312.
2020.04.07 19:13:27.291 1: PERL WARNING: Subroutine GOOGLECAST_setSpeak redefined at ./FHEM/98_GOOGLECAST.pm line 321.
2020.04.07 19:13:27.292 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType redefined at ./FHEM/98_GOOGLECAST.pm line 338.
2020.04.07 19:13:27.293 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType_String redefined at ./FHEM/98_GOOGLECAST.pm line 355.
2020.04.07 19:13:27.294 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia redefined at ./FHEM/98_GOOGLECAST.pm line 366.
2020.04.07 19:13:27.295 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia_String redefined at ./FHEM/98_GOOGLECAST.pm line 374.
2020.04.07 19:13:27.296 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMediaBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 389.
2020.04.07 19:13:27.296 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDl redefined at ./FHEM/98_GOOGLECAST.pm line 411.
2020.04.07 19:13:27.297 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDlBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 419.
2020.04.07 19:13:27.298 1: PERL WARNING: Subroutine GOOGLECAST_setStop redefined at ./FHEM/98_GOOGLECAST.pm line 433.
2020.04.07 19:13:27.298 1: PERL WARNING: Subroutine GOOGLECAST_setPlayFavorite redefined at ./FHEM/98_GOOGLECAST.pm line 444.
2020.04.07 19:13:27.299 1: PERL WARNING: Subroutine GOOGLECAST_setPlay redefined at ./FHEM/98_GOOGLECAST.pm line 451.
2020.04.07 19:13:27.300 1: PERL WARNING: Subroutine GOOGLECAST_setPause redefined at ./FHEM/98_GOOGLECAST.pm line 474.
2020.04.07 19:13:27.300 1: PERL WARNING: Subroutine GOOGLECAST_setRewind redefined at ./FHEM/98_GOOGLECAST.pm line 485.
2020.04.07 19:13:27.301 1: PERL WARNING: Subroutine GOOGLECAST_setSkip redefined at ./FHEM/98_GOOGLECAST.pm line 496.
2020.04.07 19:13:27.301 1: PERL WARNING: Subroutine GOOGLECAST_setQuitApp redefined at ./FHEM/98_GOOGLECAST.pm line 507.
2020.04.07 19:13:27.302 1: PERL WARNING: Subroutine GOOGLECAST_Undef redefined at ./FHEM/98_GOOGLECAST.pm line 517.
2020.04.07 19:13:27.302 1: PERL WARNING: Subroutine GOOGLECAST_Get redefined at ./FHEM/98_GOOGLECAST.pm line 526.
2020.04.07 19:13:27.303 1: PERL WARNING: Subroutine GOOGLECAST_updateReading redefined at ./FHEM/98_GOOGLECAST.pm line 530.
2020.04.07 19:13:27.304 1: PERL WARNING: Subroutine GOOGLECAST_newChash redefined at ./FHEM/98_GOOGLECAST.pm line 543.
2020.04.07 19:13:27.305 1: PERL WARNING: Subroutine GOOGLECAST_addSocketToMainloop redefined at ./FHEM/98_GOOGLECAST.pm line 566.
2020.04.07 19:13:27.306 1: PERL WARNING: Subroutine GOOGLECAST_checkConnection redefined at ./FHEM/98_GOOGLECAST.pm line 590.
2020.04.07 19:13:27.309 1: PERL WARNING: Subroutine GOOGLECAST_Read redefined at ./FHEM/98_GOOGLECAST.pm line 622.
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 11, in <module>
    from . import socket_client
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/socket_client.py", line 23, in <module>
    from . import cast_channel_pb2
ImportError: cannot import name cast_channel_pb2
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 11, in <module>
    from . import socket_client
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/socket_client.py", line 23, in <module>
    from . import cast_channel_pb2
ImportError: cannot import name cast_channel_pb2


Warum zeigt der eigentlich immer auf "/usr/local/lib/python2.7/" >>sollte der nicht mit V3.7 laufen?

Ich bin von einem PI3-BUSTER auf einen PI4 gewechselt, und bis auf den GOOGLE als Sprachausgabe funktioniert alles. Sollte es inzwischen einen anderen Weg geben dem Google sprechen beizubringen würde ich auch umstellen.


Danke
LG (bleibt gesund)
KOAL
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: KOAL am 08 April 2020, 10:54:23
Hallo nochmal,

ich hab das jetzt auf einem NEUEN System auch nochmal installiert, geht wieder nicht.


root@raspberrypi:/opt/fhem/log# tail -f fhem-2020-04.log
2020.04.08 09:42:12 3: Probing ZWDongle device /dev/ttyAMA0
2020.04.08 09:42:12 3: Probing SIGNALDuino device /dev/ttyAMA0
2020.04.08 09:42:12 3: Probing MYSENSORS device /dev/ttyAMA0
2020.04.08 09:42:12 3: Probing ArduCounter device /dev/ttyAMA0
2020.04.08 09:42:12 3: Probing ElsnerWS device /dev/ttyAMA0
2020.04.08 09:42:14 3: Probing FRM device /dev/ttyAMA0
2020.04.08 09:42:19 1: usb create end
2020.04.08 09:42:19 0: Featurelevel: 6
2020.04.08 09:42:19 0: Server started with 7 defined entities (fhem.pl:21573/2020-04-01 perl:5.028001 os:linux user:fhem pid:1499)
2020.04.08 09:42:19 3: FHEMWEB WEB CSRF error: csrf_395853982648701 ne csrf_731090866656219 for client WEB_192.168.13.100_35302 / command shutdown restart. For details see the csrfToken FHEMWEB attribute.
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 9, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/config.py", line 6, in <module>
    import requests
ImportError: No module named requests
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_Initialize redefined at ./FHEM/98_GOOGLECAST.pm line 147.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_Define redefined at ./FHEM/98_GOOGLECAST.pm line 164.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_findChromecasts redefined at ./FHEM/98_GOOGLECAST.pm line 184.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_initDevice redefined at ./FHEM/98_GOOGLECAST.pm line 199.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_findChromecastsResult redefined at ./FHEM/98_GOOGLECAST.pm line 210.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_Attribute redefined at ./FHEM/98_GOOGLECAST.pm line 244.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_Set redefined at ./FHEM/98_GOOGLECAST.pm line 256.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_setVolume redefined at ./FHEM/98_GOOGLECAST.pm line 302.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_setWebsite redefined at ./FHEM/98_GOOGLECAST.pm line 312.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_setSpeak redefined at ./FHEM/98_GOOGLECAST.pm line 321.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType redefined at ./FHEM/98_GOOGLECAST.pm line 338.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_setPlayType_String redefined at ./FHEM/98_GOOGLECAST.pm line 355.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia redefined at ./FHEM/98_GOOGLECAST.pm line 366.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMedia_String redefined at ./FHEM/98_GOOGLECAST.pm line 374.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_setPlayMediaBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 389.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDl redefined at ./FHEM/98_GOOGLECAST.pm line 411.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_setPlayYtDlBlocking redefined at ./FHEM/98_GOOGLECAST.pm line 419.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_setStop redefined at ./FHEM/98_GOOGLECAST.pm line 433.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_setPlayFavorite redefined at ./FHEM/98_GOOGLECAST.pm line 444.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_setPlay redefined at ./FHEM/98_GOOGLECAST.pm line 451.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_setPause redefined at ./FHEM/98_GOOGLECAST.pm line 474.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_setRewind redefined at ./FHEM/98_GOOGLECAST.pm line 485.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_setSkip redefined at ./FHEM/98_GOOGLECAST.pm line 496.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_setQuitApp redefined at ./FHEM/98_GOOGLECAST.pm line 507.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_Undef redefined at ./FHEM/98_GOOGLECAST.pm line 517.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_Get redefined at ./FHEM/98_GOOGLECAST.pm line 526.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_updateReading redefined at ./FHEM/98_GOOGLECAST.pm line 530.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_newChash redefined at ./FHEM/98_GOOGLECAST.pm line 543.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_addSocketToMainloop redefined at ./FHEM/98_GOOGLECAST.pm line 566.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_checkConnection redefined at ./FHEM/98_GOOGLECAST.pm line 590.
2020.04.08 09:42:45 1: PERL WARNING: Subroutine GOOGLECAST_Read redefined at ./FHEM/98_GOOGLECAST.pm line 622.
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 9, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/config.py", line 6, in <module>
    import requests
ImportError: No module named requests
2020.04.08 09:42:45 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 699.

2020.04.08 09:42:45 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 699.

Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 9, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/config.py", line 6, in <module>
    import requests
ImportError: No module named requests
2020.04.08 09:43:34 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 699.

2020.04.08 09:43:34 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 699.

Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 9, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/config.py", line 6, in <module>
    import requests
ImportError: No module named requests
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 9, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/config.py", line 6, in <module>
    import requests
ImportError: No module named requests
2020.04.08 09:43:39 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 699.

2020.04.08 09:43:39 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 699.

Traceback (most recent call last):
  File "<string>", line 3, in <module>
ImportError: No module named pychromecast
2020.04.08 09:44:04 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 699.

2020.04.08 09:44:04 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 699.

Traceback (most recent call last):
  File "<string>", line 3, in <module>
ImportError: No module named pychromecast
Traceback (most recent call last):
  File "<string>", line 3, in <module>
ImportError: No module named pychromecast
2020.04.08 09:44:09 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 699.

2020.04.08 09:44:09 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 699.

Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 11, in <module>
    from . import socket_client
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/socket_client.py", line 26, in <module>
    from .dial import CAST_TYPE_CHROMECAST, CAST_TYPE_AUDIO, CAST_TYPE_GROUP
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/dial.py", line 10, in <module>
    from .discovery import get_info_from_service, get_host_from_service_info
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/discovery.py", line 6, in <module>
    import zeroconf
  File "/usr/local/lib/python2.7/dist-packages/zeroconf/__init__.py", line 212
    def current_time_millis() -> float:
                              ^
SyntaxError: invalid syntax
2020.04.08 09:44:28 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 699.

2020.04.08 09:44:28 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1/Inline/Python.pm line 177.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 699.

Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 11, in <module>
    from . import socket_client
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/socket_client.py", line 23, in <module>
    from . import cast_channel_pb2
ImportError: cannot import name cast_channel_pb2



Als Version gibt er wieder V2 aus.

root@raspberrypi:/# perl testpython3.pl
2




Hat jemand eventuell ne Idee?
DANKE
LG
KOAL
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: KOAL am 08 April 2020, 18:03:35
Hallo,

konnte es nun selbst lösen.
root@FHEM-SERVER:~# sudo apt purge python2
root@FHEM-SERVER:~# sudo apt purge python3


dann mit WINSCP auf den RASPI, und alle python ordner gelöscht die es dann noch gab. (/usr/local/lib)

root@FHEM-SERVER:~#sudo apt autoremove
reboot


sudo apt install python3-pip
sudo apt-get install libwww-perl python-enum34 python-dev libextutils-makemaker-cpanfile-perl python3-pip cpanminus
sudo pip3 install pychromecast --upgrade
sudo pip3 install youtube-dl --upgrade
sudo INLINE_PYTHON_EXECUTABLE=/usr/bin/python3 cpanm Inline::Python


dann ging es endlich. :)
Puhh langer Weg von Stretch(PI3) nach Buster(PI4), aber nun läufts. :) JUHUUU



LG
KOAL
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: ReneH87 am 26 April 2020, 02:02:06
Falls jmd. das Update auf die neueste PyChromeCast Version macht:

Damit funktioniert 98_GOOGLECAST.pm nicht mehr, wegen folgendem Commit: https://github.com/home-assistant-libs/pychromecast/pull/349

Lösung (Zeile 715): "blocking=False," entfernen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: a_quadrat am 29 April 2020, 16:05:45
Hallo ReneH87,

kannst du mir helfen wo sich die Datei befindet, die geändert werden muss?

VG Andreas
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: ReneH87 am 29 April 2020, 16:36:46
Hi Andreas,

klar, gern. Liegt bei mir unter /opt/fhem/FHEM.

@all: hat jemand noch das Problem, dass Googlecast zu starker RAM Auslastung führt ("Cannot fork: Cannot allocate memory") bzw. Fehler im Log auftauchen?


2020.04.26 20:05:40 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 186.
2020.04.26 20:05:40 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 187.


Außerdem funktioniert mein Lenovo Smart Display nicht mehr:


2020.04.29 16:32:14 1: BlockingInformParent (BlockingStart): Can't connect to localhost:39429: IO::Socket::INET: connect: Connection refused
2020.04.29 16:32:14 1: BlockingInformParent (GOOGLECAST_findChromecastsResult): Can't connect to localhost:39429: IO::Socket::INET: connect: Connection refused


Ich vermute das hängt irgendwie zusammen?

edit: ich hab den Fehler gefunden, mein Lenovo Smart Display ist wohl etwas langsamer mit dem Antworten als die anderen Google Cast Geräte. Man kann aber die Wartezeit etwas erhöhen beim Verbindungsaufbau, damit funktionierts bei mir wieder.

Zeile 715 in 98_GOOGLECAST.pm:

cast = pychromecast._get_chromecast_from_host((ip.decode("utf-8"), int(port), uuid.decode("utf-8"), model_name.decode("utf-8"), friendly_name.decode("utf-8")), timeout=0.5, tries=1, retry_wait=0.5)


Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: a_quadrat am 29 April 2020, 18:42:07
Danke, hat funktioniert. Ich hatte gestern schon Mal im Modul nachgeschaut, da hatte ich es übersehen - nicht soweit nach rechts gescrollt  ;). Deshalb dachte ich, es gibt noch eine andere Datei.

Ich habe auch ein Lenovo Smart Displays. Was funktioniert bei dir nicht?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: ReneH87 am 29 April 2020, 18:47:33
Super, dass es funktioniert :)

Zu deiner Frage: s.o. mein Edit... Ich hab mich irgendwie gewundert, dass mein Smart Display immer mal wieder nicht funktioniert hat. Beim Prüfen hab ich dann gesehen, dass es offline war. Nach dem Update von pychromecast hat er sich dann plötzlich gar nicht mehr verbinden können. Kann natürlich sein, dass ich noch ein anderes Problem auf dem Raspi habe und er deswegen in Timing-Probleme läuft... auf der anderen Seite gibts bei Home Mini und Lenovo Smart Clock keinerlei Probleme.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: ReneH87 am 03 Mai 2020, 02:21:23
Zitat von: KOAL am 08 April 2020, 10:54:23
Als Version gibt er wieder V2 aus.

root@raspberrypi:/# perl testpython3.pl
2


Hatte das Problem innerhalb von einem fhem Docker Image ebenfalls, geholfen hat bei mir:

sudo INLINE_PYTHON_EXECUTABLE=/usr/bin/python3 cpanm -f Inline::Python

-f erzwingt hier eine erneute Installtion von Inline::Python, da wohl wie ich gelesen habe, die Python Version nur bei der Installation gesetzt werden kann bzw. beim Kompilieren?!
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Keichi am 12 Juni 2020, 14:51:04
Bei mir wollte er auch nicht laden... Allerdings lag es bei mir an Perl, was hier irgendwie noch gar nicht vorkam...

2020.06.12 13:49:20 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Can't locate Inline.pm in @INC (you may need to install the Inline module) (@INC contains: ./lib ./FHEM . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/arm-linux-gnueabihf/perl5/5.28 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base ./FHEM/lib) at ./FHEM/98_GOOGLECAST.pm line 703.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 703.

2020.06.12 13:49:20 0: Can't locate Inline.pm in @INC (you may need to install the Inline module) (@INC contains: ./lib ./FHEM . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/arm-linux-gnueabihf/perl5/5.28 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base ./FHEM/lib) at ./FHEM/98_GOOGLECAST.pm line 703.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 703.

2020.06.12 14:08:45 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Failed to autogenerate /opt/fhem/_Inline/config-arm-linux-gnueabihf-thread-multi-64int-5.028001.

at ./FHEM/98_GOOGLECAST.pm line 703.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 703.

2020.06.12 14:08:45 0: Failed to autogenerate /opt/fhem/_Inline/config-arm-linux-gnueabihf-thread-multi-64int-5.028001.

at ./FHEM/98_GOOGLECAST.pm line 703.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 703.


Lösung war nen einfaches

sudo apt-get install libinline-perl

und nun läufts.. Sollte man vielleicht dann auch noch mit aufnehmen.

Edit:

2020.06.12 15:28:02 1: BlockingInformParent (BlockingStart): Can't connect to localhost:43625: IO::Socket::INET: connect: Connection refused
2020.06.12 15:28:02 1: BlockingInformParent (GOOGLECAST_findChromecastsResult): Can't connect to localhost:43625: IO::Socket::INET: connect: Connection refused


telnet fehlte auch noch....
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 27 Juni 2020, 11:01:25
Hallo ich habe seit ein paar Tagen (ca. 2 Wochen) das Problem, dass keine YouTube Inhalte mehr abgespielt werden. Zuvor war alles ok... Ich habe zwischenzeitlich mal alles upgedated, aber das hat das Problem nicht gelöst...

Es betrifft nur das Streamen von YouTube Inhalten, die Radiosender funktionieren einwandfrei...

Im Log steht auch nicht viel Aufschlussreiches:

2020.06.27 10:38:39 4: GOOGLECAST(GC_Iona): setPlayType(https://www.youtube.com/watch?v=umiJNUlC2gk&t=9s, text/plain)
2020.06.27 10:38:39 4: GOOGLECAST(GC_Iona): start play_media
2020.06.27 10:38:39 5: GOOGLECAST (GC_Iona): run_once
2020.06.27 10:38:39 5: GOOGLECAST (GC_Iona): run_once
2020.06.27 10:38:39 5: GOOGLECAST (GC_Iona): run_once
2020.06.27 10:38:39 5: GOOGLECAST (GC_Iona): run_once
2020.06.27 10:38:39 5: GOOGLECAST (GC_Iona): run_once
2020.06.27 10:38:45 5: GOOGLECAST (GC_Iona): run_once
2020.06.27 10:38:49 5: GOOGLECAST (GC_Iona): run_once


Hier ein LIST vom Device...
Internals:
   CCNAME     Iona
   DEF        Iona
   FUUID      5d80af77-f33f-9a76-6f09-95aab3c7a4bd6f32
   NAME       GC_Iona
   NR         679
   STATE      online
   TYPE       GOOGLECAST
   READINGS:
     2020-06-27 10:54:04   appId           
     2020-06-27 10:54:04   appName         
     2020-06-26 17:58:38   castType        audio
     2020-06-27 10:54:04   idle            1
     2020-06-26 23:09:20   mediaAlbum     
     2020-06-26 23:09:20   mediaAlbumArtist
     2020-06-26 23:09:20   mediaArtist     
     2020-06-27 10:54:04   mediaContentId 
     2020-06-27 09:29:14   mediaCurrentPosition 0
     2020-06-26 23:09:19   mediaDuration   
     2020-06-26 23:09:20   mediaImage     
     2020-06-27 10:54:04   mediaPlayerState UNKNOWN
     2020-06-27 10:54:04   mediaStreamType UNKNOWN
     2020-06-26 23:09:20   mediaTitle     
     2019-10-25 09:56:03   model           Google Home Mini
     2019-10-25 09:56:03   name            Iona
     2019-12-10 18:41:17   online         
     2020-06-27 04:24:09   presence        online
     2020-06-27 09:29:14   state           online
     2019-10-25 09:56:03   uuid            480366a3-2abc-408f-11e5-92f5a5d82875
     2020-06-27 08:30:05   volume          5
   helper:
Attributes:
   DbLogExclude .*
   alias      GC_Iona
   favoriteURL_1 http://wdr-1live-live.icecast.wdr.de/wdr/1live/live/mp3/128/stream.mp3
   favoriteURL_2 https://radios.rtbf.be/pure-128.mp3
   favoriteURL_3 http://spoonradio.ice.infomaniak.ch/spoonradio-hd.mp3
   favoriteURL_4 https://music.youtube.com/playlist?list=OLAK5uy_lzMQtTy44QNb4Goz5rlespwhb3911aJfU
   favoriteURL_5 https://www.youtube.com/watch?v=umiJNUlC2gk&t=9s
   room       32_Iona,77_GoogleCast
   verbose    5
   webCmd     playFavorite:play:pause:stop:volume


Falls mir jemand weiterhelfen könnte, wäre super :-)

Danke schon mal im Voraus,

Gruss Jan
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 01 Juli 2020, 22:20:39
Komisch...

Seit heute abend sind alle Google Home Geräte offline, ohne dass am System etwas geändert wurde... Ich denke es ist an der Zeit die Dinger gegen SONOS Lautsprecher zu tauschen.. Für die Sprachsteuerung werde ich sie noch behalten, aber für Multimedia Zwecke haben die wohl ausgedient... Die Regal Lautsprecher von ikea sind ja etwas erschwinglicher.. Wäre nur mal interessant zu wissen, ob es auch anderen so geht, oder ob es nur bei mir so ist...

Gruss Jan
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: SouzA am 01 Juli 2020, 23:15:23
Zitat von: JF Mennedy am 01 Juli 2020, 22:20:39
Komisch...

Seit heute abend sind alle Google Home Geräte offline, ohne dass am System etwas geändert wurde... Ich denke es ist an der Zeit die Dinger gegen SONOS Lautsprecher zu tauschen.. Für die Sprachsteuerung werde ich sie noch behalten, aber für Multimedia Zwecke haben die wohl ausgedient... Die Regal Lautsprecher von ikea sind ja etwas erschwinglicher.. Wäre nur mal interessant zu wissen, ob es auch anderen so geht, oder ob es nur bei mir so ist...

Gruss Jan
Hier ist alles i.O.
Keine Ausfälle oder ähnliches.

Kann man die Ikea-Lautsprecher wie chromecasts nutzen? Braucht man dazu keine extra App?

Thx und bis denn
SouzA
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 02 Juli 2020, 16:28:36
Ich werde mich mal um mein python kümmern evtl ist da was faul... Ich habe auf die letzte pychromcast ein Update gemacht... Die ikea Lautsprecher laufen in der sonos Umgebung und sind wie die original sonos Geräte zu integrieren... Ich habe davon schon 2 laufen...

Gruss Jan
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 04 Juli 2020, 12:06:20
Schon komisch,
aus Python kann ich die Geräte finden.. Wenn ich ein ein GoogleCast neu anlege habe ich folgenden Eintrag im Log:

2020.07.04 12:00:49 3: GOOGLECAST: Wohnzimmer initializing...
2020.07.04 12:00:49 5: GOOGLECAST: Wohnzimmer set readings offline
2020.07.04 12:00:49 5: GOOGLECAST: Wohnzimmer start initDevice
2020.07.04 12:00:49 5: GOOGLECAST(GC_Wohnzimmer): start findChromecasts BlockingCall
2020.07.04 12:00:49 5: GOOGLECAST(GC_Wohnzimmer): finished findChromecasts BlockingCall
Not an ARRAY reference at ./FHEM/98_GOOGLECAST.pm line 194.


Gruss Jan
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 04 Juli 2020, 12:09:54
Das ist die Ausgabe, wenn ich direkt über python nach den GoogleCasts suche:

>>> import pychromecast
>>> pychromecast.discovery.discover_chromecasts()
([({'Chromecast-2f395b03dee1a04712003a19643e062b._googlecast._tcp.local.'}, UUID('2f395b03-dee1-a047-1200-3a19643e062b'), 'Chromecast', 'Yamaha', '192.168.0.62', 8009), ({'Google-Home-Mini-ea78301bda5e0deec889469f5865f971._googlecast._tcp.local.'}, UUID('ea78301b-da5e-0dee-c889-469f5865f971'), 'Google Home Mini', 'Julia', '192.168.0.69', 8009), ({'Google-Home-Mini-480366a32abc408f11e592f5a5d82875._googlecast._tcp.local.'}, UUID('480366a3-2abc-408f-11e5-92f5a5d82875'), 'Google Home Mini', 'Iona', '192.168.0.61', 8009), ({'Google-Cast-Group-aeee65558f9f4598aaafe02610f80707-1._googlecast._tcp.local.'}, UUID('aeee6555-8f9f-4598-aaaf-e02610f80707'), 'Google Cast Group', 'Kinderzimmer', '192.168.0.61', 42948), ({'Google-Home-Mini-a7c2928d40f9bd1f9d57da68f18012be._googlecast._tcp.local.'}, UUID('a7c2928d-40f9-bd1f-9d57-da68f18012be'), 'Google Home Mini', 'Badezimmer', '192.168.0.64', 8009), ({'Google-Home-Mini-48375bc89149511b30601dcd62df5425._googlecast._tcp.local.'}, UUID('48375bc8-9149-511b-3060-1dcd62df5425'), 'Google Home Mini', 'Schlafzimmer2', '192.168.0.89', 8009), ({'Google-Cast-Group-2ef11b45e51948cfa60fddc824aa87f2-1._googlecast._tcp.local.'}, UUID('2ef11b45-e519-48cf-a60f-ddc824aa87f2'), 'Google Cast Group', 'Haus ohne Wohnzimmer', '192.168.0.89', 42285), ({'Google-Cast-Group-85cb62720ef54a169ec586e546198804-1._googlecast._tcp.local.'}, UUID('85cb6272-0ef5-4a16-9ec5-86e546198804'), 'Google Cast Group', 'Obergeschoss', '192.168.0.89', 42979), ({'Google-Cast-Group-10eddc407d8f4ee5b51b153a72da0cf3-1._googlecast._tcp.local.'}, UUID('10eddc40-7d8f-4ee5-b51b-153a72da0cf3'), 'Google Cast Group', 'Haus', '192.168.0.89', 42100), ({'Google-Home-Mini-6caa3731bc36980b8d67b053f29977ca._googlecast._tcp.local.'}, UUID('6caa3731-bc36-980b-8d67-b053f29977ca'), 'Google Home Mini', 'Wohnzimmer', '192.168.0.65', 8009), ({'Google-Cast-Group-a449a777c9fd42ae86449ed291ba823f._googlecast._tcp.local.'}, UUID('a449a777-c9fd-42ae-8644-9ed291ba823f'), 'Google Cast Group', 'Erdgeschoss ohne WZ', '192.168.0.65', 42338), ({'Google-Cast-Group-aa80515241a84bd484ee6c7fcd3f90e3-1._googlecast._tcp.local.'}, UUID('aa805152-41a8-4bd4-84ee-6c7fcd3f90e3'), 'Google Cast Group', 'Erdgeschoss', '192.168.0.65', 42202), ({'Chromecast-480591721e4da7defa145f34b3658b55._googlecast._tcp.local.'}, UUID('48059172-1e4d-a7de-fa14-5f34b3658b55'), 'Chromecast', 'Beamer', '192.168.0.83', 8009), ({'Google-Home-Mini-08ed5fab7397a753ea129b37b1472638._googlecast._tcp.local.'}, UUID('08ed5fab-7397-a753-ea12-9b37b1472638'), 'Google Home Mini', 'Bureau', '192.168.0.106', 8009), ({'Google-Home-6df0950fa307343738740dbbfe058a20._googlecast._tcp.local.'}, UUID('6df0950f-a307-3437-3874-0dbbfe058a20'), 'Google Home', 'Flur', '192.168.0.63', 8009)], <ServiceBrowser(zeroconf-ServiceBrowser__googlecast._tcp.local._139872622851840, started daemon 139872622851840)>)



Ich habe pychromecast auch schon auf version 3.2 downgegradet, aber leider war es das auch nicht...

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Huabafranze am 01 August 2020, 15:08:24
Hallo,
ich habe gerade einen neuen Raspberry aufgesetzt in FHEM ganz neu aufgespielt.
Ich kann die Geräte definieren. Z.B.:
define Wohnzimmer.chromecast GOOGLECAST Wohnzimmer

Jedoch bleiben die Geräte immer "offline"

Der log sagt folgendes:
2020.08.01 15:03:13 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_GOOGLECAST.pm line 195.
Not an ARRAY reference at ./FHEM/98_GOOGLECAST.pm line 194.
2020.08.01 15:03:13 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_GOOGLECAST.pm line 195, <$fh> line 33.
Not an ARRAY reference at ./FHEM/98_GOOGLECAST.pm line 194, <$fh> line 33.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: X-Byte am 02 August 2020, 17:17:16
Ich hatte ein ähnliches Problem mit meinem vor ein paar Tagen aktivierten Googlecast Modul und denke, dass es an der nicht passenden PyChromecast Version liegt. Wenn man die Voraussetzungen wie in der FHEM Doku (https://fhem.de/commandref.html#GOOGLECAST) installiert, bekommt man die neueste Version von PyChromecast, aktuell 7.2.0.

98_GOOGLECAST.pm in der aktuellen Version 2.1.5 scheint aber maximal mit PyChromecast 5.1.0 kompatibel zu sein, so schreibt es zumindest Dominik im Changelog zur 2.1.5 seines Moduls (https://github.com/mhop/fhem-mirror/blob/master/fhem/FHEM/98_GOOGLECAST.pm).

Aus dem Changelog  (https://github.com/home-assistant-libs/pychromecast/releases)von PyChromecast geht auch hervor, dass es seitdem einige Breaking Changes bei der Discovery gegeben hat. So sieht der Output von pychromecast.discovery.discover_chromecasts() mit 7.2.0 deutlich anders strukturiert aus als mit 5.1.0.

Man kann sich den Discovery Output mal vor und nach dem Downgrade anschauen:
Code (Discovery output) Auswählen
sudo python3
>>> import pychromecast
>>> pychromecast.discovery.discover_chromecasts()


Code (Discovery Output Schema 7.2.0) Auswählen
([ ({'<DeviceType>-<UUID>._googlecast._tcp.local.'}, UUID('<UUID>'), '<DeviceType>', '<DeviceName>', '<IP>', <Port?>) ], <ServiceBrowser ...>)

Code (Discovery Output Schema 5.1.0) Auswählen
[ ('<IP>', <Port?>, UUID('<UUID>'), '<DeviceType>', '<DeviceName>') ]

Die eigene Version kann man wie folgt prüfen:
Code (Version prüfen) Auswählen
sudo pip3 freeze | grep PyChromecast
PyChromecast==7.2.0


Ein Downgrade auf die als kompatible Version gelistete 5.1.0 geht so:
Code (Downgrade auf 5.1.0) Auswählen
sudo pip3 install 'PyChromecast==5.1.0' --force-reinstall
sudo pip3 freeze | grep PyChromecast
PyChromecast==5.1.0


Allerdings wirft mir FHEM auch nach einem 'reload 98_GOOGLECAST.pm' dann immer noch das vor die Füße
GOOGLECAST: Wohnzimmer initializing...
Not an ARRAY reference at ./FHEM/98_GOOGLECAST.pm line 194


Nach einem 'shutdown restart' in FHEM lief es dann aber endlich 8)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 05 August 2020, 19:31:48
Zur Info, ich arbeite gerade an einem neuen Googlecast Modul welches komplett in Python implementiert ist und ohne Inline::Python. Damit geht dann auch die neue pychromecast Version und auch die Youtube App wird unterstützt.

Die nächsten Tage sollte die erste Testversion fertig sein.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: KOAL am 16 August 2020, 00:39:56
Hallo Jungs,

danke das ihr euch dem Thema schon annehmt.
Mein GOOGLE HOME funktioniert noch wie immer. Benutze ihn um Befehle an FHEM zu senden, und mir den Status ansagen zu lassen.

Aber er spammt auch mir das LOG zu.... (kann man das temporär deaktivieren, so ne Art "NO LOG" für das eine Device?

2020.08.16 00:34:04.693 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 189.
2020.08.16 00:34:04.695 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 190.
2020.08.16 00:34:24.745 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 189.
2020.08.16 00:34:24.748 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 190.
2020.08.16 00:34:43.253 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 189.
2020.08.16 00:34:43.255 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 190.
2020.08.16 00:35:03.341 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 189.
2020.08.16 00:35:03.344 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 190.
2020.08.16 00:35:23.292 1: PERL WARNING: Use of uninitialized value $string in split at ./FHEM/98_GOOGLECAST.pm line 189.
2020.08.16 00:35:23.297 1: PERL WARNING: Use of uninitialized value $name in string at ./FHEM/98_GOOGLECAST.pm line 190.



LG
KOAL
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 20 August 2020, 20:48:01
Hallo,

ich habe nun ein FHEM - Python Binding gebaut. Wer sich fragt was das bedeutet? Man kann damit FHEM Module in Python statt Perl schreiben. Das ermöglicht bei GOOGLECAST die Nutzung des nativen pychromecast Code inkl. automatischen Reconnect und Youtube App Support.

Wer es mal testen will, hier die Anleitung dazu (ich empfehle vorerst die Nutzung auf einem Testsystem):
https://github.com/dominikkarall/fhem_pythonbinding/blob/master/README.md

Bitte beachtet, dass Python 3.7 benötigt wird - ist in Buster normal standardmäßig installiert. Die genaue Installation findet ihr im github README.

Bitte um Feedback ob es bei euch läuft. In den nächsten Wochen würde ich dann auch Spotify App Support integrieren.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 25 August 2020, 17:55:05
Hallo,

habe nach der Anleitung installiert und bekomme die CastDevices auch online, jedoch kann ich bei den Attributen noch nicht die Favoriten einstellen und ich kann auch noch nichts abspielen... Jedoch wird der Status vom CastDevice angezeigt, wenn etwas abgespielt wird und ich kann auch die Wiedergabe stoppen..

Gruss Jan
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 25 August 2020, 18:31:28
Hi,

beim Abspielen musst du
set castdevice play url="https://YouTube....."
nutzen. Das Attribut Favorite habe ich noch nicht implementiert, muss ich noch machen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 26 August 2020, 13:50:38
So richtig rund läuft es bei mir noch nicht.. Nach einem shutdown restart waren alle castdevice weg und wenn ich sie jetzt neu anlege stehen sie auf PythonBinding timeout... BindingsIO ist opened....
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 27 August 2020, 10:21:16
Danke für die Info. Kannst du mir bitte fhem und PythonBinding Log per PN zur Verfügung stellen?

//Edit: Ich kann zumindest den Fehler beim Restart reproduzieren. Den Fehler bei der Neuanlage des Devices nach einem Restart jedoch noch nicht. Bitte da noch die Logs per PN zusenden. Danke!
Den Restart Bug werde ich heute oder morgen beheben.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 27 August 2020, 12:46:50
Die logs sind riesig und bekomme sie nicht in eine PN... Ich musste das Device Pythonbinding vom Typ PythonBinding, das sich selber anlegt löschen. Danach konnte ich dann wieder die CastDevices anlegen...

Ich werde sie mal etwas filtern und dann versuchen zu schicken...

von urls kann ich auch noch nichts abspielen , ich habe es gestern versucht mit set castdevice play url="youtou.be..."  es kam auch ein pling vom google home mini und in den readings tat sich was, aber der abgespielt wurde nichts...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 27 August 2020, 12:53:46
hier noch das fhem log gefiltert auf bindingsio
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 27 August 2020, 14:41:46
Danke für die Logs, schau ich mir am Abend an. Die Logs sind noch riesig weil überall Debug aktiviert ist, das erleichtert mir am Anfang die Fehlersuche. Wird für den Produktivbetrieb dann deaktiviert.

Kann es sein, dass YouTube am Mini nicht abspielen geht? Ich glaube da braucht man einen Premium Account, oder?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 27 August 2020, 14:44:40
Premium Account habe ich, daran sollte es nicht liegen...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 27 August 2020, 16:31:25
Hi,
ich habe es gerade bei mir auf den Minis getestet. Da geht bei mir auch kein Youtube Audio only. Ich vermute mal, dass Google da noch ein paar weitere Authentifizierungsinfos an die Minis schickt, daher klappt es mit pychromecast (die Basis fuer Googlecast) nicht.
Hier habe ich auch einen Artikel gefunden:
https://support.google.com/googlenest/thread/17735428?hl=en

Falls du einen Chromecast oder NestHub hast, kannst es dort mal probieren.

Fuer den Restart Bug kommt heute noch ein Fix.

//Edit: Restart Bug sollte nun behoben sein, kannst du es bitte nach einem Update nochmals testen? Danke!
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 27 August 2020, 19:24:18
Nach shutdown restart bleiben die castdevice jedoch im Status PythonBinding timeout... Das system ist extrem blockiert bis das device Pythonbinding gelöscht wird... Dann neu definieren Pythonbinding und castdevice sind wieder online...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 27 August 2020, 20:05:26
Youtube music kann auf die home minis casten... Aber wenn ich die URL eingebe z. B. set castdevice play url="https://music.youtube.com/watch?v=HGlIImajcRI&feature=share" wird nichts abgespielt.. Auch eine URL für ein web Radio geht nicht... (Z. B url="http://radios.rtbf.be/classic21-128.mp3" )
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 27 August 2020, 23:32:50
Kannst du mir bitte den Output von
grep 15733 /opt/fhem/log/fhem....log
posten?

Bzgl. Youtube Music, das ist leider eine andere App, daher funktioniert das nicht. Die rtbf.be URL habe ich bei mir auch probiert und den Fehler gefunden, sobald ich den Fix hab, melde ich mich.

//Edit: Der rtbf.de Link sollte nun funktionieren. Bitte beachte, zuerst sudo pip3 install aiohttp ausfuehren.
Restarts sollten nun auch funktionieren, wenn nicht, bitte um Info.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 28 August 2020, 08:42:06
Nach dem ersten Shutdown restart waren die Castdevices wieder gelöscht... Wieder angelegt nochmal shutdown restart Castdevices nicht gelöscht, aber teils offline teils PythonBinding timeout


jan@debian-vm:/$ grep 15733 /opt/fhem/log/fhem-2020-08-28.log
2020.08.28 07:44:24 3: Opening pythonbinding device ws:127.0.0.1:15733
2020.08.28 07:44:24 5: HttpUtils url=http://127.0.0.1:15733/
Host: 127.0.0.1:15733
2020.08.28 07:44:32 4: http://127.0.0.1:15733/: HTTP response code 101
2020.08.28 07:44:32 5: HttpUtils http://127.0.0.1:15733/: Got data, length: 0
2020.08.28 07:48:27 3: Opening pythonbinding device ws:127.0.0.1:15733
2020.08.28 07:48:27 5: HttpUtils url=http://127.0.0.1:15733/
Host: 127.0.0.1:15733
2020.08.28 07:48:32 4: http://127.0.0.1:15733/: HTTP response code 101
2020.08.28 07:48:32 5: HttpUtils http://127.0.0.1:15733/: Got data, length: 0
2020.08.28 08:32:14 3: Opening pythonbinding device ws:127.0.0.1:15733
2020.08.28 08:32:14 5: HttpUtils url=http://127.0.0.1:15733/
Host: 127.0.0.1:15733
2020.08.28 08:32:20 1: pythonbinding: Can't connect to ws:127.0.0.1:15733: write to http://127.0.0.1:15733 timed out
2020.08.28 08:32:20 1: BindingsIo: ERROR pythonbinding - error while connecting: write to http://127.0.0.1:15733 timed out
2020.08.28 08:32:30 5: HttpUtils url=http://127.0.0.1:15733/
2020.08.28 08:32:30 5: HttpUtils url=http://127.0.0.1:15733/
Host: 127.0.0.1:15733
Host: 127.0.0.1:15733
2020.08.28 08:32:44 5: HttpUtils url=http://127.0.0.1:15733/
2020.08.28 08:32:44 1: BindingsIo: ERROR pythonbinding - error while connecting: write to http://127.0.0.1:15733 timed out
Host: 127.0.0.1:15733
2020.08.28 08:32:47 4: http://127.0.0.1:15733/: HTTP response code 101
2020.08.28 08:32:47 5: HttpUtils http://127.0.0.1:15733/: Got data, length: 0
2020.08.28 08:32:48 1: ws:127.0.0.1:15733 reappeared (pythonbinding)
2020.08.28 08:32:50 5: HttpUtils url=http://127.0.0.1:15733/
2020.08.28 08:32:50 4: http://127.0.0.1:15733/: HTTP response code 101
2020.08.28 08:32:50 5: HttpUtils http://127.0.0.1:15733/: Got data, length: 0
2020.08.28 08:32:51 1: ws:127.0.0.1:15733 reappeared (pythonbinding)
Host: 127.0.0.1:15733
2020.08.28 08:32:54 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.08.28 08:33:04 5: HttpUtils url=http://127.0.0.1:15733/
Host: 127.0.0.1:15733
2020.08.28 08:33:07 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.08.28 08:33:18 5: HttpUtils url=http://127.0.0.1:15733/
Host: 127.0.0.1:15733
2020.08.28 08:33:21 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.08.28 08:33:31 5: HttpUtils url=http://127.0.0.1:15733/
Host: 127.0.0.1:15733
2020.08.28 08:33:36 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.08.28 08:33:46 5: HttpUtils url=http://127.0.0.1:15733/
Host: 127.0.0.1:15733
2020.08.28 08:33:53 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.08.28 08:34:03 5: HttpUtils url=http://127.0.0.1:15733/
Host: 127.0.0.1:15733
2020.08.28 08:34:06 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.08.28 08:34:16 5: HttpUtils url=http://127.0.0.1:15733/
Host: 127.0.0.1:15733
2020.08.28 08:34:20 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.08.28 08:34:30 5: HttpUtils url=http://127.0.0.1:15733/
Host: 127.0.0.1:15733
2020.08.28 08:34:33 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.08.28 08:34:43 5: HttpUtils url=http://127.0.0.1:15733/
Host: 127.0.0.1:15733
2020.08.28 08:34:46 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.08.28 08:34:56 5: HttpUtils url=http://127.0.0.1:15733/
Host: 127.0.0.1:15733
2020.08.28 08:34:59 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.08.28 08:35:09 5: HttpUtils url=http://127.0.0.1:15733/
Host: 127.0.0.1:15733
2020.08.28 08:35:12 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.08.28 08:35:22 5: HttpUtils url=http://127.0.0.1:15733/
Host: 127.0.0.1:15733
2020.08.28 08:35:55 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.08.28 08:36:05 5: HttpUtils url=http://127.0.0.1:15733/
2020.08.28 08:36:06 1: ws:127.0.0.1:15733 disconnected, waiting to reappear (pythonbinding)
2020.08.28 08:36:07 5: HttpUtils url=http://127.0.0.1:15733/
2020.08.28 08:36:17 5: HttpUtils url=http://127.0.0.1:15733/
2020.08.28 08:36:27 5: HttpUtils url=http://127.0.0.1:15733/
2020.08.28 08:36:27 5: HttpUtils url=http://127.0.0.1:15733/
Host: 127.0.0.1:15733
Host: 127.0.0.1:15733
2020.08.28 08:36:29 4: http://127.0.0.1:15733/: HTTP response code 101
2020.08.28 08:36:29 5: HttpUtils http://127.0.0.1:15733/: Got data, length: 0
2020.08.28 08:36:42 1: ws:127.0.0.1:15733 reappeared (pythonbinding)
2020.08.28 08:36:42 4: http://127.0.0.1:15733/: HTTP response code 101
2020.08.28 08:36:42 5: HttpUtils http://127.0.0.1:15733/: Got data, length: 0
2020.08.28 08:36:43 1: ws:127.0.0.1:15733 reappeared (pythonbinding)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 28 August 2020, 10:23:20
Wie heisst bei dir das BindingsIo Device? Ich glaub der Fehler liegt daran, dass ich bei AssignIoDevice hardcoded pyBinding drin stehen hatte. Wenn das Device nicht genau pyBinding heisst, dann wurde mehrmals verbunden was zu Problemen fuehrt.

Ich habe das nun korrigiert und bei mir getestet. Waere super, wenn du es bei dir auch nochmals pruefen koenntest. Danke fuer deine Unterstuetzung beim Testing!
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 28 August 2020, 11:18:51
Ich bekomme es jetzt gar nicht mehr ans Laufen. Ich lege nach und nach die CastDevices an. Anfangs noch online und dann irgendwann nach 4-5 Stück pythonbinding timeout
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 28 August 2020, 11:19:42
Das ioDevice heisst wie im Git define pythonbinding BindingsIo Python
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 28 August 2020, 11:56:32
Kannst du mir bitte nur das FHEM Log posten, gerne auf BindingsIo gefiltert.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 28 August 2020, 12:19:22
ANbei das Log
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 28 August 2020, 12:42:00
Sehr merkwürdig, jetzt konnte ich wieder alles anlegen... Vielleicht war ich vorher immer etwas zu schnell, habe aus ner Textdatei die Definitionen innerhalb weniger Sekunden in fhem eingefügt... Noch zur Info, Youtube auf einem chromecast geht und webradio geht jetzt auch... und ein shutdown restart funzt jetzt auch :-)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 28 August 2020, 14:09:46
Super! :)

Hast du vielleicht die Devices inkl. BindingsIo/PythonBinding geloescht und dann BindingsIo neu angelegt? Ich glaube da war der Fehler bei mir drin und daher hießen vielleicht 2 Devices sogar gleich und führten zu dem Fehler.

Wenn du noch einen Fehler erhältst, gib mir bitte bescheid.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 29 August 2020, 12:28:07
Hier ein Update nach 1 Tag Laufzeit: Alles läuft und obwohl wir heute Nacht 2 Mal einen Stromausfall hatten, den meine USV nicht überbrücken konnte ist fhem wieder ordentlich gestartet und auch die CastDevices funktionieren noch alle :-)

Zum Thema Youtube hab ich mir ein Workaround geschaffen. Ich nutze Ampache als Streamingserver, hier lege ich über youtoube-dl die Dateien ab und caste sie dann als mp3 auf meine Minis... Zur Zeit läuft das downloaden und umwandeln in mp3 noch manuell, aber da werd ich mir mal über ein Skript was bauen ;-)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 29 August 2020, 12:53:10
Super :)

Bzgl. der Minis, ich habe schon überlegt pytube zu integrieren und nur den Audiostream aus YouTube dann an die Minis zu schicken, das sollte klappen. Dann ersparst du dir den Download.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 29 August 2020, 12:59:54
Das wäre natürlich noch schicker ;-)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 01 September 2020, 11:46:44
Zitat von: JF Mennedy am 29 August 2020, 12:59:54
Das wäre natürlich noch schicker ;-)

Funktioniert bei mir bereits, werde es am Abend online stellen :) Kannst du bitte pruefen ob die Google Home (nicht Minis) Youtube unterstuetzen? Aktuell wuerde ich alle Modelle mit "Mini" im Modellname mit dieser Methode bespielen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 02 September 2020, 09:42:16
Hi,

ein normaler Google Home geht auch nicht mit Youtube...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 02 September 2020, 22:46:38
Hab schon eine Moeglichkeit gefunden. Ueber cast_type=audio kann ich ausfindig machen ob YouTube geht oder nicht.

Ich habe den Code jetzt noch erweitert damit Installationen wie pychromecast, youtube_dl, oder aehnliches zukuenftig automatisch im Hintergrund passieren. Beim Device steht dann "Installing update..." als Status und danach wird es geladen.

Update ist eingecheckt. Brauchst nur update und shutdown restart machen.

Neu:
- Youtube Audio Stream auf alle Cast Devices ohne Screen
- automatische Installation der Abhaengigkeiten via Python pip

Nachdem das eine groessere Aenderung war, bitte um Info ob nach dem Update alles laeuft. Danke!
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 03 September 2020, 12:34:44
Ja sehr geil :-) Das funktioniert wunderbar bei mir... Wenn jetzt noch Favoriten mit drin sind, dann wäre es top :-)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 03 September 2020, 13:07:49
Zitat von: JF Mennedy am 03 September 2020, 12:34:44
Ja sehr geil :-) Das funktioniert wunderbar bei mir... Wenn jetzt noch Favoriten mit drin sind, dann wäre es top :-)

Cool, danke für die schnelle Rückmeldung!

Achja, Favoriten war ja auch noch auf meiner Liste :) Bau ich die nächsten Tage ein.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JHo am 03 September 2020, 13:36:20
Die Rückmeldungen lesen sich ja positiv. Wie ist denn der richtige Weg vom "alten" Googlecast-Modul zur neuen Version - muss von den Anleitungen aus der "Note" der Commandref wieder was deinstalliert werden und/oder das Googlecast-Device erst gelöscht werden?
Dann fhem aktualisieren, fhem_pythonbinding installieren und Googlecast-Device anlegen? Das wäre ja zu einfach um wahr zu sein... ;-) Danke!
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 03 September 2020, 13:38:25
Du kannst die alten Devices angelegt lassen, die musst du nicht loeschen.

Also einfach nach dem README auf github (https://github.com/dominikkarall/fhem_pythonbinding) vorgehen. Wenn es dann klappt, kannst du danach die alten Devices loeschen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JHo am 03 September 2020, 14:08:13
Danke, auch für die schnelle Antwort!
Leider hängt es bei mir bei der Anlage eines Cast-Devices (define castdevice PythonModule googlecast "Home-wozi"). Das WebIF meldet nur "error", im Log steht ein JSON error: ...
2020.09.03 14:00:58 5: BindingsIo: DevIo_SimpleRead
2020.09.03 14:00:58 5: BindingsIo: DevIo_SimpleRead WithTimeout
2020.09.03 14:00:58 4: BindingsIo: >>> WS: �
2020.09.03 14:00:58 5: BindingsIo: QUEUE: start handling - 1
2020.09.03 14:00:58 5: processMessage: �
2020.09.03 14:00:58 1: BindingsIo: ERROR JSON: Wide character in subroutine entry at ./FHEM/10_BindingsIo.pm line 271.

2020.09.03 14:00:58 5: BindingsIo: QUEUE: finished handling - 0
2020.09.03 14:00:58 4: BindingsIo: end PythonFunction: castdevice => Define (14850957) - result: error
2020.09.03 14:00:58 1: define castdevice PythonModule googlecast "Home-wozi": error
2020.09.03 14:00:58 5: BindingsIo: DevIo_SimpleRead
2020.09.03 14:00:58 1: ws:127.0.0.1:15733 disconnected, waiting to reappear (pythonbinding)
2020.09.03 14:00:58 5: BindingsIo: DevIo_SimpleRead NoTimeout
2020.09.03 14:00:58 5: BindingsIo: QUEUE: start handling - 0
2020.09.03 14:00:58 5: BindingsIo: QUEUE: finished handling - 0
2020.09.03 14:00:58 5: HttpUtils url=http://127.0.0.1:15733/
2020.09.03 14:00:58 4: IP: 127.0.0.1 -> 127.0.0.1
...

Was mache ich falsch?

Danke für einen Schubser in die richtige Richtung,
Jan
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 03 September 2020, 14:28:40
Ist dein FHEM aktuell? Hast du es beim update mit aktualisiert?

//Edit: Kannst du mir bitte auch das Python Log posten (/opt/fhem/log/PythonBinding-2020-09-03.log).
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JHo am 03 September 2020, 15:51:41
Ich bin wirklich doof. Danke für den Schubser mit dem Logfile... da steht ja alles drin, was nicht passt:
- Python 3.6
- pip3, weshalb die Installation von allem dahinter fehlgeschlagen ist - wer nicht nur stupide kopiert, sondern auch die Ausgabe liest, ist im Vorteil.

Danach ist alles soweit gelaufen.
Händisch anlegen musste ich den Ordner /opt/fhem/.local, das gab sonst einen Fehler beim Installieren von youtube_dl usw. - weiß nicht, ob das jetzt nur durch mein Durcheinander nötig war, oder noch mit in die Anleitung rein sollte.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 03 September 2020, 17:44:35
Hi,

super, danke dir für die Infos, ich werde diese Installationen im README ergänzen.

Wegen /opt/fhem, kannst du mal prüfen welche Berechtigung der Ordner hat? Weil eigentlich sollte der User fhem .local anlegen können. Könnte mir vorstellen, dass das bei dir vielleicht root gehört?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JHo am 03 September 2020, 20:51:56
Ja, das ist auch richtig getippt: natürlich ist der Besitzer root, nicht fhem. Habe fhem damals über apt installiert, eventuell wurde das da gleich so angelegt, oder ich habe es irgendwann aus irgendeinem Grund geändert.
Der Hinweis aufs PythonBinding-Log war auf jeden Fall Gold wert.

Danke für das tolle Modul - das macht ja noch ganz neue Szenarien für mich möglich. Sehr cool!
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 03 September 2020, 21:05:06
Freut mich, dass bei dir alles klappt. Ich habe deinen Hinweis zu python3 und python3-pip Installation noch im Readme aufgenommen.

Bei der FHEM Installation ueber apt sollte der Ordner eigentlich auch dem User fhem gehoeren. Stell sicherheitshalber das ganze Verzeichnis auf fhem als Owner um, zumindest .local sollte fhem als Owner haben.

Spotify Integration steht auch noch an, das ist wahrscheinlich auch fuer viele Interessant.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 04 September 2020, 14:56:37
Hi,

nachdem alles ein paar Tage jetzt gut durchgelaufen ist, war mein System heute Mittag komplett blockiert. NAch einem Shutdown Restart waren einige CastDevices gelöscht. System immer noch blockiert. Das Device Pythonbinding_15733 gelöscht alles wieder gut. CastDevices neu angelegt anschliessend Pythonbinding_15733 neu angelegt und es läuft wieder... Anbei das Logfile

Was komisch ist, es ist keiner zu Hause und eigentlich ist alles im Standby...

Gruss Jan
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 04 September 2020, 15:10:17
Kannst du bitte prüfen ob du im PythonBinding Log etwas findest?

Im Log von FHEM kann ich erkennen, dass die Verbindung zum PythonBinding weg war. Ich werde mir diesen Teil der Logik auch noch genauer anschauen, vielleicht finde ich da was.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 04 September 2020, 15:16:27
besser als datei ist zu gross für die textfunktion...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 04 September 2020, 15:20:39
Danke! Findest du im FHEM Log vielleicht noch Eintraege um diese Uhrzeit 2020-09-04 02:48:37,963 . Weil ca. um diese Zeit duerfte aus irgendeinem Grund die Verbindung zwischen FHEM und PythonBinding abgerissen sein.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 04 September 2020, 15:26:43
Hier der Auszug von heute Nacht...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 04 September 2020, 15:36:58
Sieht fast so aus, als wuerde pythonbinding ein zweites Mal gestartet worden sein. Wegen dieser Log Meldung:
2020.09.04 02:48:43 3: Pythonbinding_15733: using logfile: ./log/PythonBinding-2020-09-04.log

Hast du vielleicht noch ein 2. PythonBinding Device von vorigen Tests? Ich werde dennoch bisschen was umbauen, damit bei fehlerhaften Verbindungen nach ein paar Timeouts ein Reconnect gemacht wird. Das loest aber noch nicht den Ursprung des Problems.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 04 September 2020, 15:42:35
Da sollte nichts mehr gewesen sein... Ich hatte vor dem Update alles gelöscht...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 04 September 2020, 20:54:41
Kannst du bitte noch im FHEM Log schauen was vor 2020.09.04 02:48:42 passiert ist? Ich habe gerade gesehen, dass pythonbinding per Websocket die Msg um 2020.09.04 02:48:37 versendet hat, die jedoch erst um 2:48:42 in FHEM angekommen ist. Kann es vielleicht sein, dass ein anderes Device FHEM zu der Zeit blockiert hat?
Diesen Fall habe ich nämlich noch nicht berücksichtigt, wenn die FHEM Mainloop für längere Zeit blockiert ist.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 04 September 2020, 21:02:56
Da war eigentlich nix besonderes...:

2020.09.04 02:43:22 1: NaturallySalt, RX, 676, old: 0
2020.09.04 02:43:43 1: NaturallySalt, RX, 677, old: 0
2020.09.04 02:45:13 1: NaturallySalt, RX, 676, old: 0
2020.09.04 02:45:25 1: NaturallySalt, RX, 677, old: 0
2020.09.04 02:48:42 5: BindingsIo: DevIo_SimpleRead
2020.09.04 02:48:42 5: BindingsIo: DevIo_SimpleRead NoTimeout
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 04 September 2020, 21:37:05
Hmm...ich finde leider den Fehler noch nicht. Ich bau jetzt ein, dass nach 3 Timeouts hintereinander die Verbindung neu aufgebaut wird. Falls der Fehler wieder auftritt, melde dich bitte wenn moeglich ohne sofort neu zu starten, damit wir das dann gemeinsam anschauen koennen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 04 September 2020, 21:41:36
OK... Wenn es passiert wenn wir nicht zu Hause sind können wir das gerne zusammen durchschauen... Aber wenn hier halligalli ist muss ich wohl oder übel neu starten 🤪
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 04 September 2020, 21:42:57
Zitat von: JF Mennedy am 04 September 2020, 21:41:36
OK... Wenn es passiert wenn wir nicht zu Hause sind können wir das gerne zusammen durchschauen... Aber wenn hier halligalli ist muss ich wohl oder übel neu starten 🤪

Schon klar, das kenne ich :D
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Sommerfeld am 07 September 2020, 08:26:44
Hallo Dominik,
vielen Dank für deine hervorragende Arbeit.
Ich teste zur Zeit deine Umstellung und es läuft soweit gut.
Allerdings habe ich nach jedem shutdown restart jedesmal die Meldung
im Device:

Function execution >1s, cancelled: Castdevice_Schlafzimmer - Define

Nachdem ich das Device definiert habe, läuft wieder alles wie gewollt.

Internals:
   .FhemMetaInternals 1
   DEF        googlecast "Schlafzimmer"
   FUUID      5f51370d-f33f-3b5c-2838-a9213a700e951cc1
   FVERSION   10_PythonModule.pm:0.182830/2019-01-16
   IODev      pythonbinding
   NAME       Castdevice_Schlafzimmer
   NR         1093
   PYTHONTYPE googlecast
   STATE      Function execution >1s, cancelled: Castdevice_Schlafzimmer - Define
   TYPE       PythonModule
   .attraggr:
   .attrminint:
   READINGS:
     2020-09-06 22:32:14   app_id         
     2020-09-03 21:01:21   cast_type       audio
     2020-09-07 08:07:51   connection      disconnected
     2020-09-06 22:32:14   display_name   
     2020-09-03 21:01:21   ignore_cec      0
     2020-09-06 22:29:08   mediaAlbum     
     2020-09-06 22:32:14   mediaContentId 
     2020-09-06 22:32:14   mediaContentType
     2020-09-03 21:08:59   mediaCurrentPosPercent
     2020-09-03 21:20:35   mediaCurrentPosition 0
     2020-09-03 21:08:59   mediaDuration   
     2020-09-06 22:32:14   mediaPlayerState UNKNOWN
     2020-09-06 22:32:14   mediaStreamType UNKNOWN
     2020-09-06 22:32:14   mediaTitle     
     2020-09-03 21:01:21   model_name      Google Home Mini
     2020-09-03 21:01:21   mute            0
     2020-09-03 21:01:21   name            Schlafzimmer
     2020-09-06 22:32:14   session_id     
     2020-09-07 08:07:52   state           Function execution >1s, cancelled: Castdevice_Schlafzimmer - Define
     2020-09-06 22:32:14   status_text     
     2020-09-06 22:32:14   transport_id   
     2020-09-03 21:01:21   uuid            0b17bd65-d266-18c8-2974-ef2efd4e3731
     2020-09-06 21:07:16   volume          50
   args:
     Castdevice_Schlafzimmer
     PythonModule
     googlecast
     Schlafzimmer
   argsh:
Attributes:
   comment    https://github.com/dominikkarall/fhem_pythonbinding

https://forum.fhem.de/index.php/topic,45505.765.html
   icon       hue_filled_aura@yellow
   room       01_0_OG->01_6_OG_Schlafzimmer,06_1_Sprachausgabe,Test
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 08 September 2020, 23:32:30
Hi,

nutzt du die letzte Version? Falls nicht, mach bitte noch ein update, vor ca. 5 Tagen hatte ich da noch was verbessert.

Wenn du schon die letzte Version nutzt, poste bitte einen Auszug aus dem FHEM Log.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 09 September 2020, 21:49:32
Update gemacht, playFavorit mit 1-5 Favoriten im Attribut wird nun ebenfalls unterstuetzt.

Man kann nun auch das "verbose" Attribut nutzen, da wird dann das Log Level bei verbose=5 auf DEBUG im Python Modul gesetzt.

Wer weiter testen mag, kann auch mal folgendes testen:
define py_mdns PythonModule discover_mdns: Da werden alle Chromecasts automatisch erkannt und angelegt, genauso wie BOSE SoundTouch. Wenn bereits ein Device dazu existiert, wird es nicht neu angelegt.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 10 September 2020, 12:08:55
Hallo,

soweit alles i.O. Favoriten funktionieren, und auch das automatische Anlegen der Devices. Hatte seit dem letzten Ausfall auch keine Probleme mehr...

Gruss Jan
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Sommerfeld am 10 September 2020, 20:27:14
Hallo Dominik,

Version 10_BindingsIo.pm:0.182830/2019-01-16
            10_PythonModule.pm:0.182830/2019-01-16

Logauszug:
Server: Python/3.8 websockets/8.1
2020.09.10 18:27:17.560 4: BindingsIo: start PythonFunction: Castdevice_Schlafzimmer => Define (99861745)
2020.09.10 18:27:17.560 4: BindingsIo: <<< WS: {"msgtype":"function","PYTHONTYPE":"googlecast","NAME":"Castdevice_Schlafzimmer","id":99861745,"args":["Castdevice_Schlafzimmer","PythonModule","googlecast","Schlafzimmer"],"defargs":["Castdevice_Schlafzimmer","PythonModule","googlecast","Schlafzimmer"],"argsh":{},"defargsh":{},"function":"Define"}
2020.09.10 18:27:17.561 5: SW: 7b226d736774797065223a2266756e6374696f6e222c22505954484f4e54595045223a22676f6f676c6563617374222c224e414d45223a22436173746465766963655f5363686c61667a696d6d6572222c226964223a39393836313734352c2261726773223a5b22436173746465766963655f5363686c61667a696d6d6572222c22507974686f6e4d6f64756c65222c22676f6f676c6563617374222c225363686c61667a696d6d6572225d2c2264656661726773223a5b22436173746465766963655f5363686c61667a696d6d6572222c22507974686f6e4d6f64756c65222c22676f6f676c6563617374222c225363686c61667a696d6d6572225d2c226172677368223a7b7d2c226465666172677368223a7b7d2c2266756e6374696f6e223a22446566696e65227d
2020.09.10 18:27:17.562 5: BindingsIo: DevIo_SimpleRead
2020.09.10 18:27:17.562 5: BindingsIo: DevIo_SimpleRead WithTimeout
2020.09.10 18:27:17.563 4: BindingsIo: >>> WS: {"msgtype": "function", "PYTHONTYPE": "googlecast", "NAME": "Castdevice_Schlafzimmer", "id": 99861745, "args": ["Castdevice_Schlafzimmer", "PythonModule", "googlecast", "Schlafzimmer"], "defargs": ["Castdevice_Schlafzimmer", "PythonModule", "googlecast", "Schlafzimmer"], "argsh": {}, "defargsh": {}, "function": "Define", "finished": 1, "returnval": ""}
2020.09.10 18:27:17.564 5: BindingsIo: QUEUE: start handling - 1
2020.09.10 18:27:17.564 5: processMessage: {"msgtype": "function", "PYTHONTYPE": "googlecast", "NAME": "Castdevice_Schlafzimmer", "id": 99861745, "args": ["Castdevice_Schlafzimmer", "PythonModule", "googlecast", "Schlafzimmer"], "defargs": ["Castdevice_Schlafzimmer", "PythonModule", "googlecast", "Schlafzimmer"], "argsh": {}, "defargsh": {}, "function": "Define", "finished": 1, "returnval": ""}
2020.09.10 18:27:17.564 5: BindingsIo: QUEUE: finished handling - 0
2020.09.10 18:27:17.564 4: BindingsIo: end PythonFunction: Castdevice_Schlafzimmer => Define (99861745) - result:
2020.09.10 18:27:17.565 3: pythonbinding device opened
2020.09.10 18:27:17.571 3: FS20 set BZ_EG_Spiegelschrank off
2020.09.10 18:27:17.616 1: PERL WARNING: Argument "undefined" isn't numeric in numeric eq (==) at ./FHEM/88_HMCCU.pm line 3403.
2020.09.10 18:27:17.660 3: FS20 set Gartenhaus_Deckenlicht off
2020.09.10 18:27:17.801 3: FBDECT set Lautsprecher_R off
2020.09.10 18:27:17.802 3: FBDECT set Lautsprecher_L off
2020.09.10 18:27:17.930 2: HMCCU: [d_ccu : 1035] Update success=47 failed=0
2020.09.10 18:27:18.061 1: PERL WARNING: Argument "undefined" isn't numeric in numeric eq (==) at ./FHEM/88_HMCCUCHN.pm line 220.
2020.09.10 18:27:18.567 5: BindingsIo: DevIo_SimpleRead
2020.09.10 18:27:18.567 5: BindingsIo: DevIo_SimpleRead NoTimeout
2020.09.10 18:27:18.567 4: BindingsIo: >>> WS: {"awaitId": 82351020, "NAME": "Castdevice_Schlafzimmer", "msgtype": "command", "command": "readingsBeginUpdate($defs{'Castdevice_Schlafzimmer'});;"}
2020.09.10 18:27:18.567 5: BindingsIo: QUEUE: start handling - 1
2020.09.10 18:27:18.567 5: processMessage: {"awaitId": 82351020, "NAME": "Castdevice_Schlafzimmer", "msgtype": "command", "command": "readingsBeginUpdate($defs{'Castdevice_Schlafzimmer'});;"}
2020.09.10 18:27:18.568 4: BindingsIo: <<< WS: {"awaitId":82351020,"result":"2020-09-10 18:27:18","error":0}
2020.09.10 18:27:18.568 5: SW: 7b2261776169744964223a38323335313032302c22726573756c74223a22323032302d30392d31302031383a32373a3138222c226572726f72223a307d
2020.09.10 18:27:18.569 5: BindingsIo: QUEUE: finished handling - 0
2020.09.10 18:27:18.625 5: BindingsIo: DevIo_SimpleRead
2020.09.10 18:27:18.625 5: BindingsIo: DevIo_SimpleRead NoTimeout
2020.09.10 18:27:18.625 4: BindingsIo: >>> WS: {"awaitId": 93316355, "NAME": "Castdevice_Schlafzimmer", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'Castdevice_Schlafzimmer'},'state','offline');;"}
2020.09.10 18:27:18.626 5: BindingsIo: QUEUE: start handling - 1
2020.09.10 18:27:18.626 5: processMessage: {"awaitId": 93316355, "NAME": "Castdevice_Schlafzimmer", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'Castdevice_Schlafzimmer'},'state','offline');;"}
2020.09.10 18:27:18.626 4: BindingsIo: <<< WS: {"result":"offline","error":0,"awaitId":93316355}
2020.09.10 18:27:18.626 5: SW: 7b22726573756c74223a226f66666c696e65222c226572726f72223a302c2261776169744964223a39333331363335357d
2020.09.10 18:27:18.627 5: BindingsIo: QUEUE: finished handling - 0
2020.09.10 18:27:18.795 3: harmony: IODev for device 49115890 is Harmony_Universal
2020.09.10 18:27:19.099 5: BindingsIo: DevIo_SimpleRead
2020.09.10 18:27:19.100 5: BindingsIo: DevIo_SimpleRead NoTimeout
2020.09.10 18:27:19.100 4: BindingsIo: >>> WS: {"awaitId": 48674361, "NAME": "Castdevice_Schlafzimmer", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'Castdevice_Schlafzimmer'},'connection','disconnected');;"}
2020.09.10 18:27:19.100 4: BindingsIo: >>> WS: {"awaitId": 83852992, "NAME": "Castdevice_Schlafzimmer", "msgtype": "command", "command": "readingsSingleUpdate($defs{'Castdevice_Schlafzimmer'},'state','Function execution >1s, cancelled: Castdevice_Schlafzimmer - Define',1)"}
2020.09.10 18:27:19.100 5: BindingsIo: QUEUE: start handling - 2
2020.09.10 18:27:19.100 5: processMessage: {"awaitId": 48674361, "NAME": "Castdevice_Schlafzimmer", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'Castdevice_Schlafzimmer'},'connection','disconnected');;"}
2020.09.10 18:27:19.100 4: BindingsIo: <<< WS: {"awaitId":48674361,"result":null,"error":0}
2020.09.10 18:27:19.100 5: SW: 7b2261776169744964223a34383637343336312c22726573756c74223a6e756c6c2c226572726f72223a307d
2020.09.10 18:27:19.102 5: processMessage: {"awaitId": 83852992, "NAME": "Castdevice_Schlafzimmer", "msgtype": "command", "command": "readingsSingleUpdate($defs{'Castdevice_Schlafzimmer'},'state','Function execution >1s, cancelled: Castdevice_Schlafzimmer - Define',1)"}
2020.09.10 18:27:19.103 4: BindingsIo: start PythonFunction: Castdevice_Schlafzimmer => Set (84595363)
2020.09.10 18:27:19.103 4: BindingsIo: <<< WS: {"function":"Set","defargsh":{},"argsh":{},"defargs":["Castdevice_Schlafzimmer","PythonModule","googlecast","Schlafzimmer"],"args":["Castdevice_Schlafzimmer","?"],"NAME":"Castdevice_Schlafzimmer","id":84595363,"PYTHONTYPE":"googlecast","msgtype":"function"}
2020.09.10 18:27:19.103 5: SW: 7b2266756e6374696f6e223a22536574222c226465666172677368223a7b7d2c226172677368223a7b7d2c2264656661726773223a5b22436173746465766963655f5363686c61667a696d6d6572222c22507974686f6e4d6f64756c65222c22676f6f676c6563617374222c225363686c61667a696d6d6572225d2c2261726773223a5b22436173746465766963655f5363686c61667a696d6d6572222c223f225d2c224e414d45223a22436173746465766963655f5363686c61667a696d6d6572222c226964223a38343539353336332c22505954484f4e54595045223a22676f6f676c6563617374222c226d736774797065223a2266756e6374696f6e227d
2020.09.10 18:27:19.105 5: BindingsIo: DevIo_SimpleRead
2020.09.10 18:27:19.115 5: BindingsIo: DevIo_SimpleRead WithTimeout
2020.09.10 18:27:19.115 5: BindingsIo: QUEUE: start handling - 0
2020.09.10 18:27:19.116 5: BindingsIo: QUEUE: finished handling - 0
2020.09.10 18:27:19.116 5: BindingsIo: DevIo_SimpleRead
2020.09.10 18:27:19.126 5: BindingsIo: DevIo_SimpleRead WithTimeout
2020.09.10 18:27:19.126 5: BindingsIo: QUEUE: start handling - 0
2020.09.10 18:27:19.126 5: BindingsIo: QUEUE: finished handling - 0
2020.09.10 18:27:19.127 5: BindingsIo: DevIo_SimpleRead
2020.09.10 18:27:19.137 5: BindingsIo: DevIo_SimpleRead WithTimeout
2020.09.10 18:27:19.138 5: BindingsIo: QUEUE: start handling - 0
2020.09.10 18:27:19.138 5: BindingsIo: QUEUE: finished handling - 0
2020.09.10 18:27:19.138 5: BindingsIo: DevIo_SimpleRead
2020.09.10 18:27:19.144 5: BindingsIo: DevIo_SimpleRead WithTimeout
2020.09.10 18:27:19.144 4: BindingsIo: >>> WS: {"function": "Set", "defargsh": {}, "argsh": {}, "defargs": ["Castdevice_Schlafzimmer", "PythonModule", "googlecast", "Schlafzimmer"], "args": ["Castdevice_Schlafzimmer", "?"], "NAME": "Castdevice_Schlafzimmer", "id": 84595363, "PYTHONTYPE": "googlecast", "msgtype": "function", "finished": 1, "returnval": "Unknown argument ?, choose one of stop:noArg pause:noArg rewind:noArg skip:noArg quitApp:noArg play playFavorite:1,2,3,4,5 volume:slider,0,1,100 seek next:noArg prev:noArg subtitles:on,off displayWebsite speak startApp volUp:noArg volDown:noArg"}
2020.09.10 18:27:19.144 5: BindingsIo: QUEUE: start handling - 1
2020.09.10 18:27:19.145 5: processMessage: {"function": "Set", "defargsh": {}, "argsh": {}, "defargs": ["Castdevice_Schlafzimmer", "PythonModule", "googlecast", "Schlafzimmer"], "args": ["Castdevice_Schlafzimmer", "?"], "NAME": "Castdevice_Schlafzimmer", "id": 84595363, "PYTHONTYPE": "googlecast", "msgtype": "function", "finished": 1, "returnval": "Unknown argument ?, choose one of stop:noArg pause:noArg rewind:noArg skip:noArg quitApp:noArg play playFavorite:1,2,3,4,5 volume:slider,0,1,100 seek next:noArg prev:noArg subtitles:on,off displayWebsite speak startApp volUp:noArg volDown:noArg"}
2020.09.10 18:27:19.145 5: BindingsIo: QUEUE: finished handling - 0
2020.09.10 18:27:19.145 4: BindingsIo: end PythonFunction: Castdevice_Schlafzimmer => Set (84595363) - result: Unknown argument ?, choose one of stop:noArg pause:noArg rewind:noArg skip:noArg quitApp:noArg play playFavorite:1,2,3,4,5 volume:slider,0,1,100 seek next:noArg prev:noArg subtitles:on,off displayWebsite speak startApp volUp:noArg volDown:noArg
2020.09.10 18:27:19.146 4: BindingsIo: <<< WS: {"error":0,"result":"Function execution >1s, cancelled: Castdevice_Schlafzimmer - Define","awaitId":83852992}
2020.09.10 18:27:19.146 5: SW: 7b226572726f72223a302c22726573756c74223a2246756e6374696f6e20657865637574696f6e203e31732c2063616e63656c6c65643a20436173746465766963655f5363686c61667a696d6d6572202d20446566696e65222c2261776169744964223a38333835323939327d
2020.09.10 18:27:19.148 5: BindingsIo: QUEUE: finished handling - 0
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 10 September 2020, 21:17:25
2020.09.10 18:27:17.565 3: pythonbinding device opened


Wie sieht deine Reihenfolge der define Commands in der fhem.cfg aus? Kann es sein, dass das Cast Device vor dem pythonbinding geladen wird? Ich glaub da liegt der "Fehler". Wichtig waere, dass pythonbinding zuerst geladen wird, erst danach die Devices.

Poste bitte noch mehr vom Log, oder schick es mir per PN. Interessant waere in welcher Reihenfolge es geladen wird, so bei mir:
020.09.07 18:17:53.057 3: BindingsIo v1.0.0
2020.09.07 18:17:53.066 3: PythonBinding v1.0.0
2020.09.07 18:17:53.088 3: PythonModule v1.0.0 (googlecast)


Natuerlich ist das kein "Fehler" von dir, das muss ich dann noch im Code korrigieren, damit die Reihenfolge egal ist.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 06 Oktober 2020, 21:15:16
Hallo Dominik,

wochenlang alles gut.. Und seit heute ohne voriges Update (Upzeit war ca 40 Tage ohne update und/oder shutdown) hat sich das pythonbinding schlafen gelegt... Habe dann mal ein Update gemacht, bekomme es aber jetzt gar nicht mehr zum laufen...

Anbei das log...

Edit: die castdevices wurden auch wieder alle gelöscht... Ich habe jetzt mal alle  Castedevices neu angelegt , anchliessend pythonbinding und bindingsIO gelöscht und dann bindingsIO neu angelegt und jetzt läuft erstmal wieder...

Gruss Jan
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 06 Oktober 2020, 22:01:50
Hi,

danke dir fuer die Rueckmeldung. Mach bitte ein update, da ich vor 6 Tagen einen Fix eingespielt habe. Es sollten keine "NO RESPONSE" Meldungen mehr kommen.

Lass mich bitte danach wissen ob es funktioniert.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 07 Oktober 2020, 10:06:15
Ich hatte gestern Abend ein Update gemacht, bevor ich gepostet habe... Habe es dann wieder wie im edit beschrieben ans laufen gebracht... Ich habe den Eindruck dass sich das binding verabschiedet, wenn automatisch die devices angelegt werden... Ich habe insgesamt mit Gruppen 13 cast devices und wenn ein paar angelegt wurden (ca 5-6) steht pythonbinding plötzlich auf offline...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 08 Oktober 2020, 17:43:03
Das könnte durchaus sein, kannst du diesen Fall bitte mal mit verbose 5 loggen und dann PythonBinding Log und fhem.log posten oder per PN schicken? Danke!

Ich habe bemerkt, dass FHEM manchmal mit der Bearbeitung der Websockt Messages nicht nachkommt. Im Python Prozess wird nämlich nicht auf Antworten gearbeitet, da läuft alles asynchron und damit kann es auch sein, dass manchmal 10 Msgs innerhalb weniger ms an FHEM gehen. Eventuell muss ich da den Load Richtung FHEM reduzieren.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 10 Oktober 2020, 19:58:37
Ist irgendwie nicht reproduzierbar... Ich hatte vorgestern wieder einen ausfall des bindings wodurch die cast devices von alleine gelöscht wurden. Dann habe ich das auto discover aktiviert, und alle devices wurden ohne probleme angelegt... Ich hatte noch keine zeit, aber ich suche noch die entsprechenden logs raus... Hab mir die zeit notiert...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 10 Oktober 2020, 20:11:12
ok, danke! Mir ist noch nicht klar wie das passiert, dass die Devices verschwinden, da waeren die Logs sehr interessant.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 11 Oktober 2020, 09:38:19
Guten Morgen, anbei die logs der letzten Tage, wo es Ausfälle gab..

Ich glaube die Devices werden bei Neustart gelöscht, da BindingsIO noch nicht definiert ist:

2020.10.09 07:15:52 1: define Chromecast_Yamaha PythonModule googlecast 'Yamaha': Before you use PythonModule please define BindingsIo once:
define pyBinding BindingsIo Python
2020.10.09 07:15:52 1: define Google_Home_Mini_Bureau PythonModule googlecast 'Bureau': Before you use PythonModule please define BindingsIo once:
define pyBinding BindingsIo Python
2020.10.09 07:15:53 1: define Google_Home_Mini_Wohnzimmer PythonModule googlecast 'Wohnzimmer': Before you use PythonModule please define BindingsIo once:
define pyBinding BindingsIo Python
2020.10.09 07:15:53 1: define Google_Cast_Group_Erdgeschoss_ohne_WZ PythonModule googlecast 'Erdgeschoss ohne WZ': Before you use PythonModule please define BindingsIo once:
define pyBinding BindingsIo Python
2020.10.09 07:15:53 1: define Google_Home_Mini_Schlafzimmer2 PythonModule googlecast 'Schlafzimmer2': Before you use PythonModule please define BindingsIo once:
define pyBinding BindingsIo Python
2020.10.09 07:15:53 1: define Google_Cast_Group_Erdgeschoss PythonModule googlecast 'Erdgeschoss': Before you use PythonModule please define BindingsIo once:
define pyBinding BindingsIo Python
2020.10.09 07:15:53 1: define Chromecast_Beamer PythonModule googlecast 'Beamer': Before you use PythonModule please define BindingsIo once:
define pyBinding BindingsIo Python
2020.10.09 07:15:53 1: define Google_Home_Mini_Iona PythonModule googlecast 'Iona': Before you use PythonModule please define BindingsIo once:
define pyBinding BindingsIo Python
2020.10.09 07:15:53 1: define Google_Cast_Group_Kinderzimmer PythonModule googlecast 'Kinderzimmer': Before you use PythonModule please define BindingsIo once:
define pyBinding BindingsIo Python
2020.10.09 07:15:53 1: define Google_Home_Flur PythonModule googlecast 'Flur': Before you use PythonModule please define BindingsIo once:
define pyBinding BindingsIo Python
2020.10.09 07:15:53 1: define Google_Home_Mini_Badezimmer PythonModule googlecast 'Badezimmer': Before you use PythonModule please define BindingsIo once:
define pyBinding BindingsIo Python
2020.10.09 07:15:53 1: define Google_Cast_Group_Haus PythonModule googlecast 'Haus': Before you use PythonModule please define BindingsIo once:
define pyBinding BindingsIo Python
2020.10.09 07:15:53 1: define Google_Cast_Group_Haus_ohne_Wohnzimmer PythonModule googlecast 'Haus ohne Wohnzimmer': Before you use PythonModule please define BindingsIo once:
define pyBinding BindingsIo Python
2020.10.09 07:15:53 1: define Google_Cast_Group_Obergeschoss PythonModule googlecast 'Obergeschoss': Before you use PythonModule please define BindingsIo once:
define pyBinding BindingsIo Python
2020.10.09 07:15:53 1: define Google_Home_Mini_Julia PythonModule googlecast 'Julia': Before you use PythonModule please define BindingsIo once:
define pyBinding BindingsIo Python
2020.10.09 07:15:53 3: BindingsIo v1.0.0
2020.10.09 07:15:53 3: PythonBinding v1.0.0
2



Heute morgen war PythonBindings auch wieder offline, habe es gegen 9.05 über ein einfaches defmod vom pythonbinding wieder reaktiviert...

Gruss Jan
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 11 Oktober 2020, 11:51:10
Danke! Das sind super Logs fuer mich.

1. Fehler beim Neustart, da BindingsIo NACH googlecast erstellt wird
Das werde ich heute noch beheben, sollte kein Problem sein.

2. Um 20:08 am 8.10. faellt die Verbindung aus
2020-10-08 20:08:40,639 - ERROR    - lib.fhem_pythonbinding: Connection closed error
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/websockets/protocol.py", line 827, in transfer_data
    message = await self.read_message()
  File "/usr/local/lib/python3.7/dist-packages/websockets/protocol.py", line 895, in read_message
    frame = await self.read_data_frame(max_size=self.max_size)
  File "/usr/local/lib/python3.7/dist-packages/websockets/protocol.py", line 971, in read_data_frame
    frame = await self.read_frame(max_size)
  File "/usr/local/lib/python3.7/dist-packages/websockets/protocol.py", line 1051, in read_frame
    extensions=self.extensions,
  File "/usr/local/lib/python3.7/dist-packages/websockets/framing.py", line 105, in read
    data = await reader(2)
  File "/usr/lib/python3.7/asyncio/streams.py", line 677, in readexactly
    raise IncompleteReadError(incomplete, n)
asyncio.streams.IncompleteReadError: 0 bytes read on a total of 2 expected bytes

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 41, in pybinding
    async for message in websocket:
  File "/usr/local/lib/python3.7/dist-packages/websockets/protocol.py", line 439, in __aiter__
    yield await self.recv()
  File "/usr/local/lib/python3.7/dist-packages/websockets/protocol.py", line 509, in recv
    await self.ensure_open()
  File "/usr/local/lib/python3.7/dist-packages/websockets/protocol.py", line 803, in ensure_open
    raise self.connection_closed_exc()
websockets.exceptions.ConnectionClosedError: code = 1006 (connection closed abnormally [internal]), no reason
2020-10-08 20:08:40,651 - INFO     - lib.fhem_pythonbinding: Waiting for new FHEM connection...
2020-10-08 20:08:40,791 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 127.0.0.1


Im FHEM Log
2020.10.08 20:08:40 1: ws:127.0.0.1:15733 disconnected, waiting to reappear (pythonbinding)
2020.10.08 20:08:50 1: BindingsIo: ERROR: Timeout while waiting for function to finish (id: 45322799)
2020.10.08 20:09:00 1: BindingsIo: ERROR: Timeout while waiting for function to finish (id: 84405908)
2020.10.08 20:09:10 1: BindingsIo: ERROR: Timeout while waiting for function to finish (id: 18901240)
2020.10.08 20:09:20 1: BindingsIo: ERROR: Timeout while waiting for function to finish (id: 35039860)
2020.10.08 20:09:20 1: BindingsIo: ERROR: Too many timeouts, disconnect now and try to reconnect

Da sieht man, dass ich die Verbindung nochmals trenne, weil mehrere Timeouts passiert sind. Das duerfte aber Probleme machen, da danach der Verbindungsaufbau nicht mehr klappt. Ich werde diesen von mir initiierten Disconnect nun rausnehmen dann koennen wir das nochmals testen.

Ich melde mich sobald das Update bereit steht.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 11 Oktober 2020, 18:16:29
Update ist online
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: bartman121 am 11 Oktober 2020, 20:21:39
Hallo,

ich versuche mich gerade an dem Modul, leider bleiben alle meine Geräte "offline" ... ich befürchte meine Namen sind falsch

Kann man irgendwie nach verfügbaren Geräten suchen?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 11 Oktober 2020, 20:25:39
define mdns_disc PythonModule discover_mdns

Dann werden alle automatisch angelegt.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: bartman121 am 11 Oktober 2020, 20:28:51
Danke für die schnelle Antwort, leider kommt bei mir:
Unknown module PythonModule
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 11 Oktober 2020, 20:35:06
Achso, dann hast du noch nicht fhem_pythonbinding:
https://github.com/dominikkarall/fhem_pythonbinding
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 11 Oktober 2020, 20:43:03
Ich teste morgen das neue update, wenn ich jetzt das Haus lahm lege (Kinder gehen gerade ins Bett) killt mich meine Frau ;-)

Vielleicht musst du den eingangs Post anpassen mit Verweis auf das neue binding... Ich glaube Bartman121 ist noch mit dem offiziellen moful unterwegs...

Schönen rest sonntag noch und ich geb dann morfen bescheid...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: bartman121 am 11 Oktober 2020, 20:49:25
so .... jetzt wurden die Geräte angelegt.

Leider fehlt mein "Nest Hub" noch, dieser heißt "Küche".

Liegt es am Umlaut oder wird der Nest Hub noch nicht unterstützt?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 11 Oktober 2020, 20:54:42
NestHub und NestHubMax werden unterstützt.

Ich habe es mit Umlauten im Namen jedoch selbst noch nicht getestet, sollte aber dennoch klappen. Probier mal mit...
define nesthub PythonModule googlecast Küche
...es direkt anzulegen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: bartman121 am 11 Oktober 2020, 21:06:09
Mit dem Umlaut hatte ich keine Chance

Ich hab's jetzt in "Kueche" umbenannt,dann wird es angelegt.

Danke schonmal für diene Hilfe
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 12 Oktober 2020, 09:06:04
Guten Morgen,

Update durchgeführt, shutdown restart, und alle devices noch da und operationell :-) ich hatte für den restart 2 chromecast extra abgesteckt, diese wurden natürlich nicht gefunden, aber sobald wieder am Netz gingen sie auch online :-)

Lasse es jetzt laufen und berichte, falls es Probleme gibt...

Gruss Jan
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 12 Oktober 2020, 22:39:39
Zitat von: bartman121 am 11 Oktober 2020, 21:06:09
Mit dem Umlaut hatte ich keine Chance

Ich hab's jetzt in "Kueche" umbenannt,dann wird es angelegt.

Danke schonmal für diene Hilfe

Ok, danke für die Info. Das werde ich mir anschauen woran das liegt.

Zitat von: JF Mennedy am 12 Oktober 2020, 09:06:04
Guten Morgen,

Update durchgeführt, shutdown restart, und alle devices noch da und operationell :-) ich hatte für den restart 2 chromecast extra abgesteckt, diese wurden natürlich nicht gefunden, aber sobald wieder am Netz gingen sie auch online :-)

Lasse es jetzt laufen und berichte, falls es Probleme gibt...

Gruss Jan
Sehr gut, gerne melden wenn Fehler auftreten.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: a_quadrat am 14 Oktober 2020, 10:49:40
Hallo Dominik,

ich bin gerade dabei die "Python-Version" vom googlecast Modul einzubinden. Ich bin nach deiner Anleitung im GitHub vorgegangen. Mein Server läuft mit der Version Ubuntu 20.04.
Dennoch verbindet sich der Pythen-Server nicht. Hier mal ein Auszug aus meinen Log's:


pythonbinding
2020.10.14 10:39:10 1 : UPD FHEM/10_PythonBinding.pm
2020.10.14 10:39:10 1 : UPD FHEM/10_BindingsIo.pm
2020.10.14 10:39:10 1 : UPD FHEM/10_PythonModule.pm
2020.10.14 10:39:11 1 : UPD FHEM/bindings/python/pythonbinding.py
2020.10.14 10:39:11 1 : UPD FHEM/bindings/python/lib/__init__.py
2020.10.14 10:39:11 1 : UPD FHEM/bindings/python/lib/fhem.py
2020.10.14 10:39:11 1 : UPD FHEM/bindings/python/lib/fhem_pythonbinding.py
2020.10.14 10:39:11 1 : Got 12432 bytes for FHEM/bindings/python/lib/fhem_pythonbinding.py, expected 12388
2020.10.14 10:39:11 1 : aborting.
2020.10.14 10:39:14 1 : BindingsIo: ERROR pythonbinding - error while connecting: 127.0.0.1: Connection refused (111)
2020.10.14 10:39:22 3 : Pythonbinding_0: starting
2020.10.14 10:39:22 3 : Pythonbinding_0: using logfile: ./log/PythonBinding-2020-10-14.log
2020.10.14 10:39:22 3 : Pythonbinding_0: read: end of file reached while sysread
2020.10.14 10:39:22 3 : Pythonbinding_0: stopped



Traceback (most recent call last):
  File "FHEM/bindings/python/pythonbinding.py", line 3, in <module>
    import lib.fhem_pythonbinding as fpb
ModuleNotFoundError: No module named 'lib.fhem_pythonbinding'


Kannst du erkennen woran es liegt?

VG Andreas
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 14 Oktober 2020, 12:24:18
2020.10.14 10:39:11 1 : UPD FHEM/bindings/python/lib/fhem_pythonbinding.py
2020.10.14 10:39:11 1 : Got 12432 bytes for FHEM/bindings/python/lib/fhem_pythonbinding.py, expected 12388
2020.10.14 10:39:11 1 : aborting.


Da wurde das Update abgebrochen. Ich habe soeben das controls File nochmals aktualisiert, nun sollte das Update laufen. Bitte daher nochmals "update".
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: a_quadrat am 14 Oktober 2020, 14:30:51
 :) Danke, das dachte ich mir schon. Jetzt läuft es...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: a_quadrat am 14 Oktober 2020, 17:22:13
Mein Python Log müllt sich zu  ;). Was bedeuten diese Einträge?


2020-10-14 17:06:05,471 - WARNING  - zeroconf: packets() made no progress adding records; returning
2020-10-14 17:08:31,210 - WARNING  - zeroconf: packets() made no progress adding records; returning
2020-10-14 17:08:31,214 - WARNING  - zeroconf: packets() made no progress adding records; returning
2020-10-14 17:10:01,270 - WARNING  - zeroconf: packets() made no progress adding records; returning
2020-10-14 17:10:01,275 - WARNING  - zeroconf: packets() made no progress adding records; returning
2020-10-14 17:11:31,383 - WARNING  - zeroconf: packets() made no progress adding records; returning
2020-10-14 17:11:31,393 - WARNING  - zeroconf: packets() made no progress adding records; returning


Das ist nur ein kleiner Auszug  ;).
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 14 Oktober 2020, 18:07:12
Kannst du mal das hier ausfuehern
sudo -u fhem pip3 show pychromecast
sudo -u fhem pip3 show zeroconf
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: a_quadrat am 14 Oktober 2020, 19:26:33
hab ich gemacht:


root@homeserver:~# sudo -u fhem pip3 show pychromecast
Name: PyChromecast
Version: 7.5.0
Summary: Python module to talk to Google Chromecast.
Home-page: https://github.com/balloob/pychromecast
Author: Paulus Schoutsen
Author-email: paulus@paulusschoutsen.nl
License: MIT
Location: /opt/fhem/.local/lib/python3.8/site-packages
Requires: casttube, zeroconf, protobuf, requests
Required-by:
root@homeserver:~# sudo -u fhem pip3 show zeroconf
Name: zeroconf
Version: 0.27.0
Summary: Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)
Home-page: https://github.com/jstasiak/python-zeroconf
Author: Paul Scott-Murphy, William McBrine, Jakub Stasiak
Author-email: UNKNOWN
License: LGPL
Location: /usr/local/lib/python3.8/dist-packages
Requires: ifaddr
Required-by: PyChromecast
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 14 Oktober 2020, 20:41:11
Ok, eine kurze Google Recherche dazu hat ergeben, dass es bei zeroconf in der Library da scheinbar dieses Problem gab.
Probier mal
sudo -u fhem pip3 install --upgrade zeroconf
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: a_quadrat am 15 Oktober 2020, 14:51:30
Hallo Dominik,

das upgrade allein hat nicht gereicht, aber mit einem reboot vom System, kommen jetzt keine Einträge mehr hinzu.

VG Andreas
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 15 Oktober 2020, 18:20:14
Hallo Dominik,

wäre es möglich auch für die Ring-Doorbell ein Binding zu erstellen?

Es gibt da schon was in Python:

https://github.com/tchellomello/python-ring-doorbell

Ich glaube, das würde ausser mir auch noch einige andere Besitzer dieser Klingel interessieren...

Ich steige da noch nicht so richtig durch (HelloWorld Beispiel) wie das zu bewerkstelligen ist...

Gruss Jan
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 15 Oktober 2020, 19:25:17
Zitat von: JF Mennedy am 15 Oktober 2020, 18:20:14
Hallo Dominik,

wäre es möglich auch für die Ring-Doorbell ein Binding zu erstellen?

Es gibt da schon was in Python:

https://github.com/tchellomello/python-ring-doorbell

Ich glaube, das würde ausser mir auch noch einige andere Besitzer dieser Klingel interessieren...

Ich steige da noch nicht so richtig durch (HelloWorld Beispiel) wie das zu bewerkstelligen ist...

Gruss Jan

Ja, das ist kein Problem. Das ist der große Vorteil bei Python, es gibt unzählige fertige Libraries :)
Ich habe mir das mal angesehen, sieht sehr einfach aus. Kannst du dazu einen eigenen Thread machen? Dann können wir das dort weiter besprechen.

Bin gerade noch am Umlaut-Problem für Googlecast, danach schau ich mir die Ring Doorbell an.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 16 Oktober 2020, 20:37:48
Zitat von: bartman121 am 11 Oktober 2020, 21:06:09
Mit dem Umlaut hatte ich keine Chance

Ich hab's jetzt in "Kueche" umbenannt,dann wird es angelegt.

Danke schonmal für diene Hilfe
Fehler behoben, Umlaute funktionieren nun
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: a_quadrat am 17 Oktober 2020, 11:49:47
Zitat von: dominik am 16 Oktober 2020, 20:37:48
Fehler behoben, Umlaute funktionieren nun

Hallo Dominik,

Umlaute funktionieren, aber nach dem Update, sind meine beiden googlecast-Module offline gegangen - ich weiss nicht ob es da einen Zusammenhang geben kann, aber es stört mich nicht weiter, ich nutze jetzt erstmal die Phython-Module.

VG Andreas
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 17 Oktober 2020, 12:05:01
Oh, ja, das liegt daran, das pychromecast in der neuen Version mit dem alten Modul nicht mehr funktioniert.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: diddle am 29 Oktober 2020, 10:44:37
Hi Dominik,

kannst du z.B. ein mediaType Reading einbauen, das bspw. Video, Audio oder Image o.Ä. enthält? Ich würde anhand dessen entscheiden wollen, ob der Fernseher zugeschlatet wird oder nicht.

Gruß und Danke!

Diddle.

EDIT:
hab nun das Reading "castType" gefunden... da steht bei nem Chromcast Audio "audio" drin, ok... bei nem NestHub aber scheinbar immer "cast", egal was läuft.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 01 November 2020, 10:36:22
Hi,

anscheinend wurde wieder seitens Google etwas geändert. Es lassen sich keine YouTube Inhalte mehr auf Minis oder Google Homes ausgeben :-( Auf einem Chromecast geht es noch...

Gruss Jan
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 01 November 2020, 11:18:35
@diddle
Es gibt ein Reading mediaContentType, dort steht der Mime Type drin. Das sollte dir helfen.

@JF
Mach mal sudo -u fhem  pip install --upgrade youtube-dl, es gibt heute ein neues Release, vielleicht ist es dort behoben.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: JF Mennedy am 01 November 2020, 20:56:44
Habe heute Nachmittag alle python libraries auf den neuesten Stand gebracht und nun geht Youtube wieder... 😊
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: hermann1514 am 02 November 2020, 08:39:55
Hi,
ich wollte mich gerade mal an die Python Version von dem Modul machen.
Das Python Bindung schein zu klappen, aber wenn ich ein Castdevice hinzufügen möchte, bleibt dieser immer offline und im LOG sehe ich folgenden Fehler:

2020.11.02 08:36:09 1: BindingsIo: received JSON was: �
2020.11.02 08:36:09 1: ws:127.0.0.1:15733 reappeared (pythonbinding)
2020.11.02 08:36:09 1: ws:127.0.0.1:15733 disconnected, waiting to reappear (pythonbinding)
2020.11.02 08:36:10 1: BindingsIo: ERROR JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "\x{3}\x{ef}\x{bf}\x{bd}") at /usr/share/perl5/JSON.pm line 187.

2020.11.02 08:36:10 1: BindingsIo: received JSON was: �
2020.11.02 08:36:10 1: ws:127.0.0.1:15733 reappeared (pythonbinding)
2020.11.02 08:36:10 1: ws:127.0.0.1:15733 disconnected, waiting to reappear (pythonbinding)
2020.11.02 08:36:10 1: BindingsIo: ERROR JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "\x{3}\x{ef}\x{bf}\x{bd}") at /usr/share/perl5/JSON.pm line 187.

2020.11.02 08:36:10 1: BindingsIo: received JSON was: �
2020.11.02 08:36:10 1: ws:127.0.0.1:15733 reappeared (pythonbinding)
2020.11.02 08:36:10 1: ws:127.0.0.1:15733 disconnected, waiting to reappear (pythonbinding)
2020.11.02 08:36:10 1: BindingsIo: ERROR JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "\x{3}\x{ef}\x{bf}\x{bd}") at /usr/share/perl5/JSON.pm line 187.

2020.11.02 08:36:10 1: BindingsIo: received JSON was: �
2020.11.02 08:36:10 1: ws:127.0.0.1:15733 reappeared (pythonbinding)
2020.11.02 08:36:10 1: ws:127.0.0.1:15733 disconnected, waiting to reappear (pythonbinding)
2020.11.02 08:36:10 1: BindingsIo: ERROR JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "\x{3}\x{ef}\x{bf}\x{bd}") at /usr/share/perl5/JSON.pm line 187.



Laute Python3.7 --version habe ich 3.7

Fehlt noch was?

Gruß
Hermann

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 02 November 2020, 20:31:48
Hi,
dein FHEM ist aktuell? Was nutzt du für ein System? Rasbperry mit Buster? Poste bitte noch ein Log mit verbose 5 beim BindingsIo (zu finden im hidden Room).
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: hermann1514 am 03 November 2020, 09:24:24
Hi,

ich hatte ein Ubuntu 18.04 mit einem aktuellen FHEM. Da ich aber schon länger ein Update des OS durchführe wollte, habe ich dies heute mal gemacht.
Nach einem Update auf Ubuntu 20.04 und einigen Fehlerbeseitigungen in den PERL Modulen, konnte ich das GOOGLECAST Modul nun ohne Fehler aktivieren.

Scheint dann doch wohl am alten Ubuntu 18.04 gelegen zu haben.

Danke.
Gruß
Hermann

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 16 November 2020, 12:58:57
Hallo, habe die Seiten jetzt nur überflogen, aber wenn ich diesen Threat und die Commandref richtig verstehe, ist es nicht möglich spezifische Sprachbefehle ausgeben zu lassen, oder habe ich was über sehen?
Ich möchte zum Beispiel gerne Ausgaben wie z.B. "Das Fenster wurde geöffnet", Der Wecker wurde abgestellt" etc. ausgeben lassen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 16 November 2020, 13:07:28
Zitat von: Superposchi am 16 November 2020, 12:58:57
Hallo, habe die Seiten jetzt nur überflogen, aber wenn ich diesen Threat und die Commandref richtig verstehe, ist es nicht möglich spezifische Sprachbefehle ausgeben zu lassen, oder habe ich was über sehen?
Ich möchte zum Beispiel gerne Ausgaben wie z.B. "Das Fenster wurde geöffnet", Der Wecker wurde abgestellt" etc. ausgeben lassen.

Doch (sollte) geht.

Bzw. ging es mal (solange ich das Modul und Google-Zeugs noch verwendet hatte)...

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: a_quadrat am 16 November 2020, 17:14:12
Hallo Dominik,

gibt es eine Möglichkeit, wenn z.B. ich ein TuneIn Stream auf mein Smart Display schicke, dass dort auch die entsprechende Grafik mit angezeigt wird? Aktuell wird nur angezeigt "Default Media Receiver läuft". Wenn ich TuneIn über Sprachbefehl starte, wird dort Radiosender und aktueller Titel mit Cover dargestellt.

VG Andreas
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 16 November 2020, 20:12:44
Zitat von: Superposchi am 16 November 2020, 12:58:57
Hallo, habe die Seiten jetzt nur überflogen, aber wenn ich diesen Threat und die Commandref richtig verstehe, ist es nicht möglich spezifische Sprachbefehle ausgeben zu lassen, oder habe ich was über sehen?
Ich möchte zum Beispiel gerne Ausgaben wie z.B. "Das Fenster wurde geöffnet", Der Wecker wurde abgestellt" etc. ausgeben lassen.
Ja, das geht.
set google_home speak "Das ist ein Test."
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 16 November 2020, 20:15:15
Zitat von: a_quadrat am 16 November 2020, 17:14:12
Hallo Dominik,

gibt es eine Möglichkeit, wenn z.B. ich ein TuneIn Stream auf mein Smart Display schicke, dass dort auch die entsprechende Grafik mit angezeigt wird? Aktuell wird nur angezeigt "Default Media Receiver läuft". Wenn ich TuneIn über Sprachbefehl starte, wird dort Radiosender und aktueller Titel mit Cover dargestellt.

VG Andreas

Das wird leider nicht möglich sein, da der TuneIn Player eine extra "App" ist die mit spezifischen Commands angesprochen werden muss. Dies sind leider noch nicht bekannt.
Bei pychromecast gibt es schon einen Feature Request von jemanden:
https://github.com/home-assistant-libs/pychromecast/issues/424

Wenn es dort integriert wird, ist es kein Problem es ins Modul mit aufzunehmen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 16 November 2020, 23:14:07
google_home ist klar der Name des Device. Aber wofür steht das zweite Name in der Definition?
define <name> GOOGLECAST <name>

Ist das auch ein freier Begriff oder wird damit das reale Gerät identifiziert? Wenn letzteres wodurch? Durch den Namen in der Google Home App, oder was ist der Name?
Ich habe zwei Google Nest Mini, muss ich dann für jeden ein einzelnes Device anlegen?

Ich blick durch die Info in der commandRef nicht durch.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 16 November 2020, 23:22:40
Ich empfehle das neue Modul zu verwenden
https://github.com/dominikkarall/fhem_pythonbinding

Dann einfach:
define disccast PythonModule discover_mdns

Dann werden die Devices automatisch angelegt.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 17 November 2020, 08:27:48
Hallo, auf wen bezieht sich diese Aussage?

Falls an mich gerichtet muss ich sagen, dass ich sie nicht verstehe.
a) Wie bekomme ich die GitHub-Dateien ins Fhem?
b) handelt es sich dabei jetzt um einen Ersatz für das GOOGLECAST-Modul?
c) wird dieses neue Modul als Abhängigkeit für GOOGLECAST gebraucht?
d) ist die ursprüngliche Frage nicht beantwortet, weshalb ich das Prozedere weiterhin nicht verstehe
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: SouzA am 17 November 2020, 15:54:16
Zitat von: dominik am 16 November 2020, 23:22:40
Ich empfehle das neue Modul zu verwenden
https://github.com/dominikkarall/fhem_pythonbinding

Dann einfach:
define disccast PythonModule discover_mdns

Dann werden die Devices automatisch angelegt.
Wann wirds eingeloggt? :D

Zitat von: Superposchi am 17 November 2020, 08:27:48
Hallo, auf wen bezieht sich diese Aussage?

Falls an mich gerichtet muss ich sagen, dass ich sie nicht verstehe.
a) Wie bekomme ich die GitHub-Dateien ins Fhem?
b) handelt es sich dabei jetzt um einen Ersatz für das GOOGLECAST-Modul?
c) wird dieses neue Modul als Abhängigkeit für GOOGLECAST gebraucht?
d) ist die ursprüngliche Frage nicht beantwortet, weshalb ich das Prozedere weiterhin nicht verstehe
Ich denke schon, dass er dich meinte.
Dominik hat das Modul überarbeitet. Es ist allerdings noch nicht über das fhem update zu haben...
Bei Leuten mit aktueller Installation läuft das "alte" Modul nämlich nicht mehr out of the box: https://forum.fhem.de/index.php/topic,45505.msg922848.html#msg922848 (https://forum.fhem.de/index.php/topic,45505.msg922848.html#msg922848)

Zur commandref:
define <name1> GOOGLECAST <name2>
name1= der Name den du dem Device in fhem geben willst
name2= Name deines Devices in der Home-App

Bis denn
SouzA

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 17 November 2020, 21:01:03
Zitat von: Superposchi am 17 November 2020, 08:27:48
Hallo, auf wen bezieht sich diese Aussage?

Falls an mich gerichtet muss ich sagen, dass ich sie nicht verstehe.
a) Wie bekomme ich die GitHub-Dateien ins Fhem?
b) handelt es sich dabei jetzt um einen Ersatz für das GOOGLECAST-Modul?
c) wird dieses neue Modul als Abhängigkeit für GOOGLECAST gebraucht?
d) ist die ursprüngliche Frage nicht beantwortet, weshalb ich das Prozedere weiterhin nicht verstehe

Hi,
ja, die Antwort war an dich gerichtet.
a) Einfach der Installationsanleitung folgen die in github im Readme steht (5 Schritt sind zu machen)
b) ja
c) nein, es ersetzt das aktuelle GOOGLECAST Modul
d) Installationsanleitung folgen, dann kannst du die Pythonmodule nutzen. Um konkret das googlecast Modul zu verwenden, kannst du einfach ein "define bla PythonModule discover_mdns" machen und dann werden die googlecast Devices automatisch angelegt.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 17 November 2020, 22:33:26
Ich habe die 5 Schritte in der GitHub Anleitung gemacht. Mein erstelltes Device bleibt aber auf "Disconnected".

Hier das List zum Device:
Internals:
   BindingType Python
   CFGFN     
   DEF        Python
   DeviceName ws:127.0.0.1:15733
   FUUID      5fb44032-f33f-b8b5-7162-e3bca01b5641eecc
   NAME       local_pybinding
   NEXT_OPEN  1605648505.14968
   NR         324
   NTFY_ORDER 50-local_pybinding
   PARTIAL   
   STATE      disconnected
   TYPE       BindingsIo
   nextOpenDelay 10
   READINGS:
     2020-11-17 22:28:15   state           disconnected
Attributes:
   room       hidden


Ist das so Correkt?

Brauche ich jetzt gar kein Device für das GoogleCast-Modul mehr anzulegen?
Für mich ist die Aussage es wäre ein Ersatz für Googlecast unter b) und der Wortlaut "Um das Googlecast- Modul zu verwenden ..." unter d) ein Wiederspruch.

Zitatund dann werden die googlecast Devices automatisch angelegt
Woher soll Fhem denn wissen welche Lautsprecher ich habe?

Sorry, bin einfach noch zu neu für diese Logik.

P.S. Hab das define bla... einfach mal gemacht. Das List vom erstellten Device sieht so aus:
Internals:
   CFGFN     
   DEF        discover_mdns
   FUUID      5fb441cb-f33f-b8b5-d518-b94f122de1fdc33b
   IODev      local_pybinding
   NAME       bla
   NR         486
   PYTHONTYPE discover_mdns
   STATE      PythonBinding offline
   TYPE       PythonModule
   READINGS:
     2020-11-17 22:34:26   state           PythonBinding offline
   args:
     bla
     PythonModule
     discover_mdns
   argsh:
Attributes:
   IODev      local_pybinding
   room       Unsorted

Wenn da automatische Googlecast-Devices angelegt werden, wo finde ich diese?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 17 November 2020, 22:42:43
Ok, dann mal paar Fragen:
- Welche Version von Python hast du installiert? 3.7 ist notwendig.
- Poste bitte den Inhalt von /opt/fhem/log/PythonBinding...log

Die Frage wie es erkennt welche Devices du hast:
Ganz einfach, so wie die Home App auch. mDNS ist ein Protokoll welches Geräte im Netzwerk erkennt, jedes Google Cast schickt mDNS Pakete ins Netz um sich erkennbar zu machen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 17 November 2020, 22:51:11
Ehrlich gesagt keine Ahnung welche Python-Version installiert ist. Wie kriege ich das raus?
Mein Fhem läuft ja in einem Docker-Container auf einem NAS.

Hier der Inhalt des Logs:2020-11-17 22:27:15,613 - INFO     - __main__: Attempting install of websockets
2020-11-17 22:27:24,715 - INFO     - __main__: Successfully installed websockets
2020-11-17 22:27:24,716 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:27:46,584 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-3kid841l --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:28:06,253 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:28:26,896 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-jii4qo0o --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:28:46,254 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:29:06,427 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-dya9ru2o --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:29:26,325 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:29:46,179 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-on_ceerx --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:30:06,229 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:30:26,681 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-rzp81r2n --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:30:46,251 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:31:06,680 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-8os95p0v --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:31:26,290 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:31:46,833 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-mczaj128 --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:32:06,314 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:32:26,771 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-u5dm47xq --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:32:46,253 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:33:06,669 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-c9jglws9 --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:33:26,287 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:33:46,859 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-4by_fwqg --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:34:06,234 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:34:27,073 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-35mb0pq2 --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:34:47,253 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:35:07,548 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-4cij9hep --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:35:27,236 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:35:47,757 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-5dj53nxf --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:36:07,233 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:36:27,761 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-waln8iq3 --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:36:47,270 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:37:07,394 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-e6zfeo7f --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:37:27,291 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:37:47,996 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-jotyics8 --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:38:08,285 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:38:28,577 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-e88i54o7 --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:38:48,302 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:39:08,451 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-fmj0xmyq --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:39:28,569 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:39:57,183 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-l34wb_v2 --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:40:17,539 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:40:44,363 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-an5_l42v --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:41:04,285 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:41:26,566 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-75g_09o3 --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:41:46,486 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:42:20,831 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-ijeonisg --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:42:40,490 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:43:00,452 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-f5kk2znq --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:43:34,457 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:44:13,956 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-62dsnvcv --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:44:35,278 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:44:56,039 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-8e4rbgen --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:45:16,240 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:45:37,284 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-4fhwcg_2 --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:45:57,253 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:46:18,165 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-7x4j9utw --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:46:38,360 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:46:58,863 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-jq8wem42 --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:47:18,240 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:47:38,790 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-63zy8ga2 --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
2020-11-17 22:47:58,233 - INFO     - __main__: Attempting install of cryptography
2020-11-17 22:48:19,035 - ERROR    - __main__: Unable to install package cryptography: Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-c4b0drp2 --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None


Er hat wohl anscheinend Probleme irgend ein Package zu installieren. Zeigte aber bei den 5 Schritten vom GitHub keinen Fehler an.

Bei den Befehlen die laut CommandRef für Googlecast notwendig sind bricht er bei dem letzten Befehl mit code 126 ab:
INLINE_PYTHON_EXECUTABLE=/usr/bin/python3 cpanm Inline::Python
Ausgabe:
[code9OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"INLINE_PYTHON_EXECUTABLE=/usr/bin/python3\": stat INLINE_PYTHON_EXECUTABLE=/usr/bin/python3: no such file or directory": unknown[/code]
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 17 November 2020, 23:23:41
Hi,

mach mal
sudo -u fhem pip3 install cryptography

Bitte vergiss jegliche Hinweise in der Commandref, die beziehen sich auf das alte Modul.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 18 November 2020, 09:11:24
Kann ich nicht, weil sudo-Befehle im Terminal des NAS nicht akzeptiert werden.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 18 November 2020, 13:28:13
Kann ich was anderes probieren?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: SouzA am 18 November 2020, 13:34:07
Zitat von: Superposchi am 18 November 2020, 09:11:24
Kann ich nicht, weil sudo-Befehle im Terminal des NAS nicht akzeptiert werden.
Wie machst du den Updates usw?
Es gibt doch etliche Sachen, wo man mit Sudo hantieren muß.

Vielleicht so:
https://www.blogging-it.com/befehl-sudo-auf-einer-diskstation-verfuegbar-machen/hardware/nas.html (https://www.blogging-it.com/befehl-sudo-auf-einer-diskstation-verfuegbar-machen/hardware/nas.html)
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 18 November 2020, 13:39:20
Ja leider, denn an all diesen Punkten stehe ich dann auf dem Schlauch und komme nicht weiter.
Manchmal kann ich den Befehl ohne das Wort sudo im Terminal ausführen, aber nicht immer. Und wenn es nicht geht, bin ich festgefahren. Das ist eins meiner Hauptprobleme.

Was für Updates meinst du? Fhem-Updates mache ich ganz normal in der Weboberfläche des Fhem-Servers. Alles andere geht nicht.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 18 November 2020, 18:55:45
Hi,

probier mal nur
pip3 install cryptography

Da kommt wahrscheinlich der gleiche Fehler der auch mit dem User fhem kommen würde.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 21 November 2020, 16:50:13
Hey, habe auf Basis eines anderen Threats einen neuen Container mit arm32V7-Image und einigen Startparametern erstellt.
In diesem wird für den Befehl folgendes zurückgegeben:
[code]Collecting cryptography                                                                                                                                                                                                                                                         
  Downloading https://files.pythonhosted.org/packages/94/5c/42de91c7fbdb817b2d9a4e64b067946eb38a4eb36c1a09c96c87a0f86a82/cryptography-3.2.1.tar.gz (540kB)                                                                                                                     
    100% |████████████████████████████████| 542kB 649kB/s                                                                                                                                                                                                                       
  Installing build dependencies ... error                                                                                                                                                                                                                                       
  Complete output from command /usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-oaa5kc6c --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; p
latform_python_implementation != 'PyPy'":                                                                                                                                                                                                                                       
  Collecting setuptools>=40.6.0                                                                                                                                                                                                                                                 
    Downloading https://files.pythonhosted.org/packages/6d/38/c21ef5034684ffc0412deefbb07d66678332290c14bb5269c85145fbd55e/setuptools-50.3.2-py3-none-any.whl (785kB)                                                                                                           
  Collecting wheel                                                                                                                                                                                                                                                             
    Downloading https://files.pythonhosted.org/packages/a7/00/3df031b3ecd5444d572141321537080b40c1c25e1caa3d86cdd12e5e919c/wheel-0.35.1-py2.py3-none-any.whl                                                                                                                   
  Collecting cffi!=1.11.3,>=1.8                                                                                                                                                                                                                                                 
    Downloading https://files.pythonhosted.org/packages/cb/ae/380e33d621ae301770358eb11a896a34c34f30db188847a561e8e39ee866/cffi-1.14.3.tar.gz (470kB)                                                                                                                           
  Collecting pycparser (from cffi!=1.11.3,>=1.8)                                                                                                                                                                                                                               
    Downloading https://files.pythonhosted.org/packages/ae/e7/d9c3a176ca4b02024debf82342dab36efadfc5776f9c8db077e8f6e71821/pycparser-2.20-py2.py3-none-any.whl (112kB)                                                                                                         
  Building wheels for collected packages: cffi                                                                                                                                                                                                                                 
    Running setup.py bdist_wheel for cffi: started                                                                                                                                                                                                                             
    Running setup.py bdist_wheel for cffi: finished with status 'error'                                                                                                                                                                                                         
    Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-oe9jwqyp/cffi/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_w
heel -d /tmp/pip-wheel-s776jly5 --python-tag cp37:                                                                                                                                                                                                                             
    Package libffi was not found in the pkg-config search path.                                                                                                                                                                                                                 
    Perhaps you should add the directory containing `libffi.pc'                                                                                                                                                                                                                 
    to the PKG_CONFIG_PATH environment variable                                                                                                                                                                                                                                 
    No package 'libffi' found                                                                                                                                                                                                                                                   
    Package libffi was not found in the pkg-config search path.                                                                                                                                                                                                                 
    Perhaps you should add the directory containing `libffi.pc'                                                                                                                                                                                                                 
    to the PKG_CONFIG_PATH environment variable                                                                                                                                                                                                                                 
    No package 'libffi' found                                                                                                                                                                                                                                                   
    Package libffi was not found in the pkg-config search path.                                                                                                                                                                                                                 
    Perhaps you should add the directory containing `libffi.pc'                                                                                                                                                                                                                 
    to the PKG_CONFIG_PATH environment variable                                                                                                                                                                                                                                 
    No package 'libffi' found                                                                                                                                                                                                                                                   
    Package libffi was not found in the pkg-config search path.                                                                                                                                                                                                                 
    Perhaps you should add the directory containing `libffi.pc'                                                                                                                                                                                                                 
    to the PKG_CONFIG_PATH environment variable                                                                                                                                                                                                                                 
    No package 'libffi' found                                                                                                                                                                                                                                                   
    Package libffi was not found in the pkg-config search path.                                                                                                                                                                                                                 
    Perhaps you should add the directory containing `libffi.pc'                                                                                                                                                                                                                 
    to the PKG_CONFIG_PATH environment variable                                                                                                                                                                                                                                 
    No package 'libffi' found                                                                                                                                                                                                                                                   
    running bdist_wheel                                                                                                                                                                                                                                                         
    running build                                                                                                                                                                                                                                                               
    running build_py                                                                                                                                                                                                                                                           
    creating build                                                                                                                                                                                                                                                             
    creating build/lib.linux-armv7l-3.7
    creating build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                                                   
    copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                             
    copying cffi/model.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                                   
    copying cffi/commontypes.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                             
    copying cffi/error.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                                   
    copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                           
    copying cffi/cparser.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                                 
    copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                             
    copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                               
    copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                             
    copying cffi/api.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                                     
    copying cffi/lock.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                                     
    copying cffi/__init__.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                                 
    copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                           
    copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                             
    copying cffi/verifier.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                                 
    copying cffi/recompiler.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                               
    copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                             
    copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                             
    copying cffi/_embedding.h -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                               
    copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                             
    running build_ext                                                                                                                                                                                                                                                           
    building '_cffi_backend' extension                                                                                                                                                                                                                                         
    creating build/temp.linux-armv7l-3.7                                                                                                                                                                                                                                       
    creating build/temp.linux-armv7l-3.7/c                                                                                                                                                                                                                                     
    arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.7m -
c c/_cffi_backend.c -o build/temp.linux-armv7l-3.7/c/_cffi_backend.o                                                                                                                                                                                                           
    c/_cffi_backend.c:15:10: fatal error: ffi.h: No such file or directory                                                                                                                                                                                                     
     #include <ffi.h>                                                                                                                                                                                                                                                           
              ^~~~~~~                                                                                                                                                                                                                                                           
    compilation terminated.                                                                                                                                                                                                                                                     
    error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                               
    ----------------------------------------                                                                                                                                                                                                                                   
    Failed building wheel for cffi                                                                                                                                                                                                                                             
    Running setup.py clean for cffi                                                                                                                                                                                                                                             
  Failed to build cffi                                                                                                                                                                                                                                                         
  Installing collected packages: setuptools, wheel, pycparser, cffi                                                                                                &nbs
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: kadettilac89 am 21 November 2020, 17:24:51
@Superposchi, du tanzt aktuell auf mehreren Hochzeiten. Dein Problem hängt vermutlich am Docker-Container. Wie ich schon im Docker-Thread gesagt hab, nutze die Environment Variablen in der Docker Config um zusätzliche Pakete zu installieren, sowohl python als auch nodejs. Damit ist sichergestellt, dass es auch beim UPdate des Containers funktioniert.

Ansonsten, löse erstmal ein Problem bevor du weiter im Docker Container zusätzliche Dinge einbindest. Wenn estwas nicht funktioniert hast du keine Übersicht was das Problem verursacht hat. Du hast ein Problem mit Fehlermeldungen für Curl, dann installierst du zusätzliche nodejs-Versionen und hier änderst du manuell Python Module. Überall hast du Fehlermeldungen.

Am Rande, poste die Logs bitte in Code Tags. Das ist das Raute-Symbol (#) über dem Textfeld. Das macht es besser lesbar.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 21 November 2020, 17:44:45
Da musst du wohl zuerst diesen Fehler beheben bevor du weiter machst. Aber wie kadettilac89 schon schreibt, bitte nicht an 10 Stellen gleichzeitig was ändern, sonst tun wir uns auch beim Supporten schwer.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 21 November 2020, 18:01:32
Ich ändere doch nicht an mehreen Stellen, nur an einer die in dem anderen Threat ausgearbeitet worden ist.
Da sich aber grundsätzlich alle Probleme auf die selbe Ursache zurückführen lassen - nämlich fehlende Funktionen aus der Docker-Configuration - habe ich einfach nur hier auf den Befehl eine rückmeldung gegeben. Wir können uns aber natürlich gerne auf den anderen Threat alleinig konzentrieren.

P.S. es war eigentlich in Code Tags eingeschlossen, aber da ich es in mehreren Teilen rauskopieren musste, ist das wohl schiefgegangen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 22 November 2020, 15:47:17
So nach dem das Fhemconnect Problem aus dem anderen Threat gelöst ist wollte ich mich an Googlecast und text2speech ranwagen.

Habe wie empfohlen das neue Modul von dominic entsprechend der Anleitung unter https://github.com/dominikkarall/fhem_pythonbinding (https://github.com/dominikkarall/fhem_pythonbinding) angelegt.
Leider ist das Device "disconnect". Das List sieht folgendermaßen aus:
Internals:
   BindingType Python
   CFGFN     
   DEF        Python
   DeviceName ws:127.0.0.1:15733
   FUUID      5fba74b5-f33f-793a-1760-e724b98ba1bd9e5e
   NAME       local_pybinding
   NEXT_OPEN  1606055967
   NR         51
   NTFY_ORDER 50-local_pybinding
   PARTIAL   
   STATE      disconnected
   TYPE       BindingsIo
   nextOpenDelay 10
   READINGS:
     2020-11-22 15:39:17   state           disconnected
Attributes:
   group      Google
   room       hidden


Hier ein Auszug aus dem Startprotokoll des Fhem-Servers:

Abbild :
fhem/fhem-arm32v7_linux:latest
ID : 2db911d82719
Applikation : - -
Eingangspunkt : /entry.sh
Befehl : start
CPU : 19%
RAM : 1%
Netzwerkauslastung :
3.8 KB/s 614 B/s
10k
0
10k
20k
30k
40k
Konsole
1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2020.11.22 17:05:05.006 3: Pythonbinding_0: starting                                                                               
2020.11.22 17:05:05.011 3: Pythonbinding_0: using logfile: ./log/PythonBinding-2020-11-22.log                                       
2020.11.22 17:05:11.005 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)         
2020.11.22 17:05:21.060 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)         
2020.11.22 17:05:21.060 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)         
2020.11.22 17:05:28.572 3: Pythonbinding_0: read: end of file reached while sysread                                                 
2020.11.22 17:05:28.572 3: Pythonbinding_0: stopped

Anbei packe ich auch mal das Log
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 22 November 2020, 18:31:00
Hi,

mach mal ein
sudo pip3 install cryptography
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 22 November 2020, 19:30:48
Hatte ich schon in einer der Anleitungen gelesen und gemacht. Habs aber gerade eben noch mal probiert. Hier das Ergebnis:
[code]Collecting cryptography                                                                                                                                                                                                                                                         
  Downloading https://files.pythonhosted.org/packages/94/5c/42de91c7fbdb817b2d9a4e64b067946eb38a4eb36c1a09c96c87a0f86a82/cryptography-3.2.1.tar.gz (540kB)                                                                                                                     
    100% |████████████████████████████████| 542kB 420kB/s                                                                                                                                                                                                                       
  Installing build dependencies ... error                                                                                                                                                                                                                                       
  Complete output from command /usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-dp7ppjw4 --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; p
latform_python_implementation != 'PyPy'":                                                                                                                                                                                                                                       
  Collecting setuptools>=40.6.0                                                                                                                                                                                                                                                 
    Downloading https://files.pythonhosted.org/packages/6d/38/c21ef5034684ffc0412deefbb07d66678332290c14bb5269c85145fbd55e/setuptools-50.3.2-py3-none-any.whl (785kB)                                                                                                           
  Collecting wheel                                                                                                                                                                                                                                                             
    Downloading https://files.pythonhosted.org/packages/a7/00/3df031b3ecd5444d572141321537080b40c1c25e1caa3d86cdd12e5e919c/wheel-0.35.1-py2.py3-none-any.whl                                                                                                                   
  Collecting cffi!=1.11.3,>=1.8                                                                                                                                                                                                                                                 
    Downloading https://files.pythonhosted.org/packages/cb/ae/380e33d621ae301770358eb11a896a34c34f30db188847a561e8e39ee866/cffi-1.14.3.tar.gz (470kB)                                                                                                                           
  Collecting pycparser (from cffi!=1.11.3,>=1.8)                                                                                                                                                                                                                               
    Downloading https://files.pythonhosted.org/packages/ae/e7/d9c3a176ca4b02024debf82342dab36efadfc5776f9c8db077e8f6e71821/pycparser-2.20-py2.py3-none-any.whl (112kB)                                                                                                         
  Building wheels for collected packages: cffi                                                                                                                                                                                                                                 
    Running setup.py bdist_wheel for cffi: started                                                                                                                                                                                                                             
    Running setup.py bdist_wheel for cffi: finished with status 'error'                                                                                                                                                                                                         
    Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-ewb32_js/cffi/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_w
heel -d /tmp/pip-wheel-d4uny2e2 --python-tag cp37:                                                                                                                                                                                                                             
    Package libffi was not found in the pkg-config search path.                                                                                                                                                                                                                 
    Perhaps you should add the directory containing `libffi.pc'                                                                                                                                                                                                                 
    to the PKG_CONFIG_PATH environment variable                                                                                                                                                                                                                                 
    No package 'libffi' found                                                                                                                                                                                                                                                   
    Package libffi was not found in the pkg-config search path.                                                                                                                                                                                                                 
    Perhaps you should add the directory containing `libffi.pc'                                                                                                                                                                                                                 
    to the PKG_CONFIG_PATH environment variable                                                                                                                                                                                                                                 
    No package 'libffi' found                                                                                                                                                                                                                                                   
    Package libffi was not found in the pkg-config search path.                                                                                                                                                                                                                 
    Perhaps you should add the directory containing `libffi.pc'                                                                                                                                                                                                                 
    to the PKG_CONFIG_PATH environment variable                                                                                                                                                                                                                                 
    No package 'libffi' found                                                                                                                                                                                                                                                   
    Package libffi was not found in the pkg-config search path.                                                                                                                                                                                                                 
    Perhaps you should add the directory containing `libffi.pc'                                                                                                                                                                                                                 
    to the PKG_CONFIG_PATH environment variable                                                                                                                                                                                                                                 
    No package 'libffi' found                                                                                                                                                                                                                                                   
    Package libffi was not found in the pkg-config search path.                                                                                                                                                                                                                 
    Perhaps you should add the directory containing `libffi.pc'                                                                                                                                                                                                                 
    to the PKG_CONFIG_PATH environment variable                                                                                                                                                                                                                                 
    No package 'libffi' found                                                                                                                                                                                                                                                   
    running bdist_wheel                                                                                                                                                                                                                                                         
    running build                                                                                                                                                                                                                                                               
    running build_py                                                                                                                                                                                                                                                           
    creating build                                                                                                                                                                                                                                                             
    creating build/lib.linux-armv7l-3.7
    creating build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                                                   
    copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                             
    copying cffi/model.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                                   
    copying cffi/commontypes.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                             
    copying cffi/error.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                                   
    copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                           
    copying cffi/cparser.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                                 
    copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                             
    copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                               
    copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                             
    copying cffi/api.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                                     
    copying cffi/lock.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                                     
    copying cffi/__init__.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                                 
    copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                           
    copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                             
    copying cffi/verifier.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                                 
    copying cffi/recompiler.py -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                               
    copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                             
    copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                             
    copying cffi/_embedding.h -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                               
    copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.7/cffi                                                                                                                                                                                                             
    running build_ext                                                                                                                                                                                                                                                           
    building '_cffi_backend' extension                                                                                                                                                                                                                                         
    creating build/temp.linux-armv7l-3.7                                                                                                                                                                                                                                       
    creating build/temp.linux-armv7l-3.7/c                                                                                                                                                                                                                                     
    arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.7m -
c c/_cffi_backend.c -o build/temp.linux-armv7l-3.7/c/_cffi_backend.o                                                                                                                                                                                                           
    c/_cffi_backend.c:15:10: fatal error: ffi.h: No such file or directory                                                                                                                                                                                                     
     #include <ffi.h>                                                                                                                                                                                                                                                           
              ^~~~~~~                                                                                                                                                                                                                                                           
    compilation terminated.                                                                                                                                                                                                                                                     
    error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                               
    ----------------------------------------                                                                                                                                                                                                                                   
    Failed building wheel for cffi                                                                                                                                                                                                                                             
    Running setup.py clean for cffi                                                                                                                                                                                                                                             
  Failed to build cffi                                                                                                                                                                                                                                                         
  Installing collected packages: setuptools, wheel, pycparser, cffi                                                                                                                  &
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 22 November 2020, 19:40:42
sudo apt install libffi-dev libssl-dev und danach nochmals probieren
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Stelaku am 22 November 2020, 20:15:51
Hallo alle zusammen
Ich habe das selbe Problem wie Superposchi bei mir geht das Device BindingsIo auch gleich auf disconnect. Selber Log Auszug wie bei Superposchi. Ich habe hier einen Auszug aus meinen log
PythonBinding-2020-11-22.log


Traceback (most recent call last):
  File "FHEM/bindings/python/pythonbinding.py", line 3, in <module>
    import lib.fhem_pythonbinding as fpb
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 14, in $
    from . import pkg_installer
  File "/opt/fhem/FHEM/bindings/python/lib/pkg_installer.py", line 20, in <modu$
    from importlib_metadata import (  # pylint: disable=import-error
ModuleNotFoundError: No module named 'importlib_metadata'


Was bei mir komisch ist, ich hatte es schon am 13.11.2020 erfolgreich auf meiner FHEM Instand die sich da noch auf einen USB Stick befunden hatte zum laufen gebracht.
Jetzt habe ich alles auf einem neuen SSD Laufwerk aufgesetzt und bekomme Pyhtonbinding patu nicht zum laufen.
System auf dem USB-Stick war wie jetzt auf der SSD Buster 10.
Die beiden Befehle

sudo pip3 install cryptography
sudo apt install libffi-dev libssl-dev

habe ich ohne Erfolg ausgeführt.

cryptography war bereits installiert und hat mir auf der nicht funktionierenden SSD Festplatte folgendes ausgegeben.


Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: cryptography in /usr/lib/python3/dist-packages (2.6.1)



Die Ausgabe des Befehls sudo pip3 install cryptography auf der funktionierenden USB Version hatte diese Ausgabe

Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: cryptography in /opt/fhem/.local/lib/python3.7/site-packages (3.2.1)
Requirement already satisfied: cffi!=1.11.3,>=1.8 in /opt/fhem/.local/lib/python3.7/site-packages (from cryptography) (1.14.3)
Requirement already satisfied: six>=1.4.1 in /usr/lib/python3/dist-packages (from cryptography) (1.12.0)
Requirement already satisfied: pycparser in /opt/fhem/.local/lib/python3.7/site-packages (from cffi!=1.11.3,>=1.8->cryptography) (2.20)


Vieleicht hilft das ein wenig weiter das Problem zu finden
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 22 November 2020, 20:22:28
Jetzt hat es offenbar funktioniert mit der Installation. Wurde mit Code 0 beendet:
Collecting cryptography                                                                                                                                                                                                                                                         
  Using cached https://files.pythonhosted.org/packages/94/5c/42de91c7fbdb817b2d9a4e64b067946eb38a4eb36c1a09c96c87a0f86a82/cryptography-3.2.1.tar.gz                                                                                                                             
  Installing build dependencies ... done                                                                                                                                                                                                                                       
Requirement already satisfied: six>=1.4.1 in /usr/lib/python3/dist-packages (from cryptography) (1.12.0)                                                                                                                                                                       
Collecting cffi!=1.11.3,>=1.8 (from cryptography)                                                                                                                                                                                                                               
Collecting pycparser (from cffi!=1.11.3,>=1.8->cryptography)                                                                                                                                                                                                                   
  Using cached https://files.pythonhosted.org/packages/ae/e7/d9c3a176ca4b02024debf82342dab36efadfc5776f9c8db077e8f6e71821/pycparser-2.20-py2.py3-none-any.whl                                                                                                                   
Building wheels for collected packages: cryptography                                                                                                                                                                                                                           
  Running setup.py bdist_wheel for cryptography ... done                                                                                                                                                                                                                       
  Stored in directory: /root/.cache/pip/wheels/93/82/ae/e8b455fc66cb84eb1e07f29af34d888f37fa62fb707b56f57c                                                                                                                                                                     
Successfully built cryptography                                                                                                                                                                                                                                                 
Installing collected packages: pycparser, cffi, cryptography                                                                                                                                                                                                                   
Successfully installed cffi-1.14.3 cryptography-3.2.1 pycparser-2.20


Aber das Device bleibt weiterhin auf Disconnected stehen. Bei einem Neustart von Fhem gibt es Fehlermeldungen im Startprotokoll:
2020.11.22 20:19:36.555 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)         
2020.11.22 20:19:36.555 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)         
2020.11.22 20:19:41.004 3: Pythonbinding_0: starting                                                                               
2020.11.22 20:19:41.009 3: Pythonbinding_0: using logfile: ./log/PythonBinding-2020-11-22.log                                       
2020.11.22 20:19:41.681 3: Pythonbinding_0: read: end of file reached while sysread                                                 
2020.11.22 20:19:41.682 3: Pythonbinding_0: stopped                                                                                 
2020.11.22 20:19:46.557 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)         
2020.11.22 20:19:46.558 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)         
2020.11.22 20:19:56.561 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)         
2020.11.22 20:19:56.561 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)         
2020.11.22 20:20:01.004 3: Pythonbinding_0: starting                                                                               
2020.11.22 20:20:01.009 3: Pythonbinding_0: using logfile: ./log/PythonBinding-2020-11-22.log                                       
2020.11.22 20:20:01.705 3: Pythonbinding_0: read: end of file reached while sysread                                                 
2020.11.22 20:20:01.705 3: Pythonbinding_0: stopped


Das List sieht folgendermaßen aus:
Internals:
   BindingType Python
   DEF        Python
   DeviceName ws:127.0.0.1:15733
   FUUID      5fba74b5-f33f-793a-1760-e724b98ba1bd9e5e
   FVERSION   10_BindingsIo.pm:0.182830/2019-01-16
   NAME       local_pybinding
   NEXT_OPEN  1606072906
   NR         22
   NTFY_ORDER 50-local_pybinding
   PARTIAL   
   STATE      disconnected
   TYPE       BindingsIo
   nextOpenDelay 10
   READINGS:
     2020-11-22 20:21:36   state           disconnected
Attributes:
   group      Google
   room       Test
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 22 November 2020, 20:25:28
@Stelaku, bei dir fehlt importlib. Probier mal
sudo pip3 install importlib_metadata

@Superposchi, bitte PythonBinding Log posten. Bist du auch auf Buster?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 22 November 2020, 20:32:25
Anbei das Log:

Was ist Buster?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 22 November 2020, 20:37:30
Poste bitte die Ausgabe von
sudo pip3 install importlib_metadata
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 22 November 2020, 20:53:39
Wurde mit Code 0 beendet:
Collecting importlib_metadata                                                                                                                                                                                                                                                   
  Downloading https://files.pythonhosted.org/packages/41/fa/7777ba70d10aff203eab65839e53faa029e2cafba8bb7f27cdb25e44393b/importlib_metadata-3.0.0-py2.py3-none-any.whl                                                                                                         
Collecting zipp>=0.5 (from importlib_metadata)                                                                                                                                                                                                                                 
  Downloading https://files.pythonhosted.org/packages/41/ad/6a4f1a124b325618a7fb758b885b68ff7b058eec47d9220a12ab38d90b1f/zipp-3.4.0-py3-none-any.whl                                                                                                                           
Installing collected packages: zipp, importlib-metadata                                                                                                                                                                                                                         
Successfully installed importlib-metadata-3.0.0 zipp-3.4.0
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 22 November 2020, 20:55:20
Startet es jetzt? Wenn nicht, bitte wieder um PythonBinding Log.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Stelaku am 22 November 2020, 20:56:29
Hallo Dominik

sudo pip3 install importlib_metadata

Das war es bei mir.
Jetzt steht das Device BindingsIo auf open so wie es sein soll.

Super und vielen dank für die Hilfe

Gruß

Stephan
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 22 November 2020, 20:58:22
Ist komisch, dass das nicht automatisch installiert wurde. Eigentlich sollte das beim Start installiert werden. Welche Debian Version nutzt du?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 22 November 2020, 21:15:59
Hallo Dominik,

jetzt ist das local_pybinding-Device "opended". Hier das List:
Internals:
   BindingType Python
   DEF        Python
   DeviceName ws:127.0.0.1:15733
   FD         19
   FUUID      5fba74b5-f33f-793a-1760-e724b98ba1bd9e5e
   FVERSION   10_BindingsIo.pm:0.182830/2019-01-16
   NAME       local_pybinding
   NR         22
   NTFY_ORDER 50-local_pybinding
   PARTIAL   
   STATE      opened
   TYPE       BindingsIo
   WEBSOCKET  1
   nextOpenDelay 10
   READINGS:
     2020-11-22 20:53:23   state           opened
Attributes:
   group      Google
   room       Test


auch das Castdevice-Device wird als online angezeigt. Das List:
Internals:
   CASTNAME   Schlafzimmerlautsprecher
   DEF        googlecast "Schlafzimmerlautsprecher"
   FUUID      5fba773c-f33f-793a-5007-c9bf0d1a378d6c54
   FVERSION   10_PythonModule.pm:0.182830/2019-01-16
   IODev      local_pybinding
   NAME       castdevice
   NR         24
   PYTHONTYPE googlecast
   STATE      online
   TYPE       PythonModule
   READINGS:
     2020-11-22 20:55:53   cast_type       cast
     2020-11-22 20:55:53   connection      connected
     2020-11-22 20:55:53   ignore_cec      0
     2020-11-22 20:55:53   is_active_input 0
     2020-11-22 20:55:53   is_stand_by     1
     2020-11-22 20:55:53   model_name      Google Nest Mini
     2020-11-22 20:55:53   mute            0
     2020-11-22 20:55:53   name            Schlafzimmerlautsprecher
     2020-11-22 20:55:53   state           online
     2020-11-22 20:55:53   uuid            dbef8319-c89c-e735-11f6-ce7777b133b2
     2020-11-22 20:55:53   volume          10
   args:
     castdevice
     PythonModule
     googlecast
     Schlafzimmerlautsprecher
   argsh:
Attributes:
   IODev      local_pybinding
   icon       scene_scene
   room       Test
   userattr   favorite_1 favorite_2 favorite_3 favorite_4 favorite_5


Was muss ich jetzt machen um mit Text2Speech Sprachnachrichten an meine Zwei Google Nest senden zu können?
In der Anleitung hattest du ja mal geschrieben, dass die Googlecast-Device automatisch erstellt werden wenn ich es richtig verstanden habe.

In deinem GitHub steht noch etwas das in Fhem ausgeführt werden muss.
define castdevice PythonModule googlecast "Living Room"
define eq3bt PythonModule eq3bt 00:11:22:33:44:66:77
define upnp PythonModule discover_upnp

Verstehe ich das richtig?
Um was für eine Mac-Adresse handelt es sich dabei?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 22 November 2020, 21:20:10
set castdevice speak "Das ist ein Test"
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 22 November 2020, 21:26:09
Und wie kann ich einen einzelnen Google Nest ansprechen?
Das Castdevice-Device ist doch beide Nest-Lautsprecher oder?

P.S.:
Frage hat sich erledigt, habe es schon gelöst.

Habe in Unsorted unter der Gruppe "PythonModule" 3 automatisch erstellte Devices - kann ich die Löschen, scheinen das gleiche wie die Castdevice-Devices zu sein.
Brauche ich das Text2speech jetzt gar nicht mehr?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 22 November 2020, 21:34:30
Zitat von: Superposchi am 22 November 2020, 21:26:09
Und wie kann ich einen einzelnen Google Nest ansprechen?
Das Castdevice-Device ist doch beide Nest-Lautsprecher oder?
Nein, wie kommst du drauf?
Internals:
   CASTNAME   Schlafzimmerlautsprecher
   DEF        googlecast "Schlafzimmerlautsprecher"


define blabla PythonModule googlecast "NAME VOM NESTHUB"

Oder schau mal in Unsorted ob das nicht schon erstellt wurde, falls du mdns_discover verwendet hast.
Ein Google Cast Device ist ein Googlecast FHEM Device, außer bei Gruppen.

//Edit: Hat das "speak" jetzt funktioniert? Wäre gut wenn du auch Rückmeldung geben würdest wenn etwas geht oder auch nicht.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 22 November 2020, 21:39:20
Zitat von: Superposchi am 22 November 2020, 21:26:09
Und wie kann ich einen einzelnen Google Nest ansprechen?
Das Castdevice-Device ist doch beide Nest-Lautsprecher oder?

P.S.:
Frage hat sich erledigt, habe es schon gelöst.

Habe in Unsorted unter der Gruppe "PythonModule" 3 automatisch erstellte Devices - kann ich die Löschen, scheinen das gleiche wie die Castdevice-Devices zu sein.
Brauche ich das Text2speech jetzt gar nicht mehr?

Heee? Ich verstehe dich nicht ganz. Wieso willst du nun die 3 Devices löschen?
Nein, Text2Speech brauchst du nicht, habe ich doch schon mal geschrieben, dass es mit speak geht.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 22 November 2020, 23:18:55
Sorry, aber bei zig verschiedenen Wegen die es anscheinend gibt komme ich da nicht mehr mit. Deshalb frage ich einfach nach ob ich es richtig verstanden habe.

Ja, das speak hat funktioniert.

Die drei Devices löschen weil sie im Grunde jetzt doppelt sind. Einmal die händisch angelegten und eben diese drei in unsorted die ich nicht selbst angelegt habe, also automatisch erstellt wurden. Somit sind beide Lautsprecher und eine gemeinsame Gruppe jeweils doppelt als Device angelegt.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 22 November 2020, 23:29:21
Ja, die 3 kannst löschen.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Stelaku am 23 November 2020, 06:58:41
Zitat von: dominik am 22 November 2020, 20:58:22
Ist komisch, dass das nicht automatisch installiert wurde. Eigentlich sollte das beim Start installiert werden. Welche Debian Version nutzt du?

Hallo Dominik

Das hat mich auch gewundert. Zumal Pyhtonbinding auf meinem alten System auf USB ohne Probleme nach Deiner Anleitung sofort funktioniert hat.
Was noch komischer ist, das Debian auf den alten USB ist das selbe wie auf der neu aufgesetzten ssd Festplatte.
Nämlich

lsb_release -d
Description:    Raspbian GNU/Linux 10 (buster)


Ich hatte in meinen beschränkten Möglichkeiten dann erstmal gedacht es liegt an der SSD, was ja normal nicht sein kann.
Um das auszuschliessen habe ich dann mein System mehrfach auf einen neuen USB-Stick aufgesetzt. Aber immer mit den selben misserfolg.
Um mein neues Image auf den stand zu bringen den ich immer aktuell habe benutze ich ein selbst geschriebenes shell skript in den ich
einfach alle Befehle der reihe nach ablaufen lasse. So das das auch immer gleich sein sollte .. .

Gruß

Stephan

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 23 November 2020, 08:08:35
So, jetzt habe ich eine Frage die nicht direkt zum Thema passt, sich aber aus diesem ergeben hat.

Ich musste ja meinen Server komplett neu aufsetzen und einen neuen Container erstellen.
Welche Möglichkeiten gibt es die Devices aus dem alten ins neue System zu übertragen?
Oder muss ich tatsächlich jedes Device händisch neu anlegen?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: SouzA am 23 November 2020, 14:07:22
Zitat von: Superposchi am 23 November 2020, 08:08:35
So, jetzt habe ich eine Frage die nicht direkt zum Thema passt, sich aber aus diesem ergeben hat.

Ich musste ja meinen Server komplett neu aufsetzen und einen neuen Container erstellen.
Welche Möglichkeiten gibt es die Devices aus dem alten ins neue System zu übertragen?
Oder muss ich tatsächlich jedes Device händisch neu anlegen?
Meinst du fhem im allgemeinen?
https://wiki.fhem.de/wiki/Backup (https://wiki.fhem.de/wiki/Backup)
oder
http://heinz-otto.blogspot.com/2015/12/backup-und-restore-von-fhem.html (http://heinz-otto.blogspot.com/2015/12/backup-und-restore-von-fhem.html)

Bis denn
SouzA
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 23 November 2020, 14:13:26
Ja meine ich, doch ein Backup fällt so weit ich es verstehe leider aus, da dabei im neuen System bereits existierende Devices verloren gingen, oder nicht?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: kadettilac89 am 23 November 2020, 14:41:03
musst du für dich entscheiden.

1) Entweder ein Backup zurückspielen wodurch bestehende Config überschrieben wird. Im Anschluss dann bereits gemachte Ändeurungen erneut konfigurieren
2) Die Installation die du jetzt hast behalten und die Devices aus der alten Installation per RAW-Definition eintragen

Ohne "händische" Arbeit geht es nicht.

Ich vermute Option 1 ist trotz Nacharbeit schneller. Wenn es dabei Probleme gibt einen eigene Post .. ist ein allgemeines Thema das hier weniger passt

Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 23 November 2020, 14:50:12
Wie im anderen Thread auch von mir geschrieben, denke ich auch, dass das Einspielen eines Backups und das nochmalige Anlegen des gassistant Devices und Chromecast auf FHEM-Ebene am einfachsten ist.

OS-/Docker-"Installationen" bleiben ja...

ABER: es kann sein, dass die bislang vorgenommenen "Installationen" nicht reichen, es kann ja sein, dass ein anderes (übertragenes) Modul noch weitere OS-/Perl-Module braucht.

Das meinte ich mit "mit Docker beschäftigen" im anderen Thread...

Evtl. ist auch der aktuelle nur ein weiterer ("Probier")Container auf dem Weg zum laufenden Systen...

Und wenn du alle (zielführenden) Schritte (sauber) notierst hast du auch gleich ein Backup/Restore Konzept...

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: presskopf am 30 November 2020, 20:43:37
Hallo Dominik,
bei meiner Installation gibt es auch irgendwie ein paar Probleme, ähnlich den oben beschriebenen - aber nicht 100 % identisch in den Logs.
Nach einem Neustart des Raspi (Buster) läuft das Pythonbinding. Wenn ich aber ein fhem-update mache und danach mit shutdown restart fhem neu starte, springt das Pythonbinding immer zurück auf disconnected.
Hier ein paar Logs dazu:

pi@raspi-4:/opt/fhem/log $ tail -n 50 PythonBinding-2020-11-30.log
  File "/usr/local/lib/python3.7/dist-packages/websockets/server.py", line 965, in __await_impl__
    server = await self._create_server()
  File "/usr/lib/python3.7/asyncio/base_events.py", line 1378, in create_server
    % (sa, err.strerror.lower())) from None
OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 15733): address already in use
2020-11-30 20:32:34,957 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
Traceback (most recent call last):
  File "FHEM/bindings/python/pythonbinding.py", line 118, in <module>
    fpb.run()
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 273, in run
    websockets.serve(pybinding, '0.0.0.0', 15733, ping_timeout=None, ping_interval=None))
  File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete
    return future.result()
  File "/usr/lib/python3.7/asyncio/tasks.py", line 603, in _wrap_awaitable
    return (yield from awaitable.__await__())
  File "/usr/local/lib/python3.7/dist-packages/websockets/server.py", line 965, in __await_impl__
    server = await self._create_server()
  File "/usr/lib/python3.7/asyncio/base_events.py", line 1378, in create_server
    % (sa, err.strerror.lower())) from None
OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 15733): address already in use
2020-11-30 20:32:55,963 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
Traceback (most recent call last):
  File "FHEM/bindings/python/pythonbinding.py", line 118, in <module>
    fpb.run()
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 273, in run
    websockets.serve(pybinding, '0.0.0.0', 15733, ping_timeout=None, ping_interval=None))
  File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete
    return future.result()
  File "/usr/lib/python3.7/asyncio/tasks.py", line 603, in _wrap_awaitable
    return (yield from awaitable.__await__())
  File "/usr/local/lib/python3.7/dist-packages/websockets/server.py", line 965, in __await_impl__
    server = await self._create_server()
  File "/usr/lib/python3.7/asyncio/base_events.py", line 1378, in create_server
    % (sa, err.strerror.lower())) from None
OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 15733): address already in use
2020-11-30 20:33:16,973 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
Traceback (most recent call last):
  File "FHEM/bindings/python/pythonbinding.py", line 118, in <module>
    fpb.run()
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 273, in run
    websockets.serve(pybinding, '0.0.0.0', 15733, ping_timeout=None, ping_interval=None))
  File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete
    return future.result()
  File "/usr/lib/python3.7/asyncio/tasks.py", line 603, in _wrap_awaitable
    return (yield from awaitable.__await__())
  File "/usr/local/lib/python3.7/dist-packages/websockets/server.py", line 965, in __await_impl__
    server = await self._create_server()
  File "/usr/lib/python3.7/asyncio/base_events.py", line 1378, in create_server
    % (sa, err.strerror.lower())) from None
OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 15733): address already in use
pi@raspi-4:/opt/fhem/log


pi@raspi-4:/opt/fhem/log $ tail -n 50 fhem-2020-11.log
2020.11.30 20:31:05 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.11.30 20:31:05 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.11.30 20:31:10 3: Pythonbinding_0: starting
2020.11.30 20:31:10 3: Pythonbinding_0: using logfile: ./log/PythonBinding-2020-11-30.log
2020.11.30 20:31:11 3: Pythonbinding_0: read: end of file reached while sysread
2020.11.30 20:31:11 3: Pythonbinding_0: stopped
2020.11.30 20:31:18 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.11.30 20:31:31 3: Pythonbinding_0: starting
2020.11.30 20:31:31 3: Pythonbinding_0: using logfile: ./log/PythonBinding-2020-11-30.log
2020.11.30 20:31:32 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.11.30 20:31:32 3: Pythonbinding_0: read: end of file reached while sysread
2020.11.30 20:31:32 3: Pythonbinding_0: stopped
2020.11.30 20:31:45 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.11.30 20:31:45 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.11.30 20:31:52 3: Pythonbinding_0: starting
2020.11.30 20:31:52 3: Pythonbinding_0: using logfile: ./log/PythonBinding-2020-11-30.log
2020.11.30 20:31:53 3: Pythonbinding_0: read: end of file reached while sysread
2020.11.30 20:31:53 3: Pythonbinding_0: stopped
2020.11.30 20:31:59 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.11.30 20:32:12 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.11.30 20:32:13 3: Pythonbinding_0: starting
2020.11.30 20:32:13 3: Pythonbinding_0: using logfile: ./log/PythonBinding-2020-11-30.log
2020.11.30 20:32:14 3: Pythonbinding_0: read: end of file reached while sysread
2020.11.30 20:32:14 3: Pythonbinding_0: stopped
2020.11.30 20:32:25 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.11.30 20:32:25 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.11.30 20:32:34 3: Pythonbinding_0: starting
2020.11.30 20:32:34 3: Pythonbinding_0: using logfile: ./log/PythonBinding-2020-11-30.log
2020.11.30 20:32:35 3: Pythonbinding_0: read: end of file reached while sysread
2020.11.30 20:32:35 3: Pythonbinding_0: stopped
2020.11.30 20:32:38 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.11.30 20:32:51 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.11.30 20:32:55 3: Pythonbinding_0: starting
2020.11.30 20:32:55 3: Pythonbinding_0: using logfile: ./log/PythonBinding-2020-11-30.log
2020.11.30 20:32:56 3: Pythonbinding_0: read: end of file reached while sysread
2020.11.30 20:32:56 3: Pythonbinding_0: stopped
2020.11.30 20:33:04 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.11.30 20:33:05 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.11.30 20:33:16 3: Pythonbinding_0: starting
2020.11.30 20:33:16 3: Pythonbinding_0: using logfile: ./log/PythonBinding-2020-11-30.log
2020.11.30 20:33:17 3: Pythonbinding_0: read: end of file reached while sysread
2020.11.30 20:33:17 3: Pythonbinding_0: stopped
2020.11.30 20:33:18 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.11.30 20:33:31 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.11.30 20:33:37 3: Pythonbinding_0: starting
2020.11.30 20:33:37 3: Pythonbinding_0: using logfile: ./log/PythonBinding-2020-11-30.log
2020.11.30 20:33:38 3: Pythonbinding_0: read: end of file reached while sysread
2020.11.30 20:33:38 3: Pythonbinding_0: stopped
2020.11.30 20:33:44 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed out
2020.11.30 20:33:45 1: BindingsIo: ERROR pythonbinding - error while connecting: read from http://127.0.0.1:15733 timed ou


Was mir auffällt ist, dass nach einem "sudo service fhem stop" der Prozess
pi@raspi-4:/opt/fhem/log $ ps -edalf | grep binding
0 S fhem      1132     1  0  80   0 - 33577 -      Nov26 ?        00:05:13 python3 FHEM/bindings/python/pythonbinding.py

nach wie vor existiert.

Das Pythonbinding connected nach einem fhem-Neustart nur, wenn ich diesen Prozess per "kill" zuvor abschieße.
(oder halt den Raspberry neu starte).

2020-11-30 20:39:00,427 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
2020-11-30 20:39:11,704 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 127.0.0.1
2020-11-30 20:39:11,898 - INFO     - lib.pkg_installer: Attempting install of zeroconf==0.28.6


Hast Du einen Tipp, was ich da ändern kann, damit der Prozess nicht als Zombie weiterläuft?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 30 November 2020, 21:22:58
Hi,

das dürfte das Problem sein, der eine Prozess der noch weiter läuft und nicht beendet wird. Welche Module hast du im Einsatz? Nur googlecast, oder auch andere?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: presskopf am 01 Dezember 2020, 07:37:30
Hi, ich habe bisher nur googlecast und gassistant im Einsatz.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Caleus am 01 Dezember 2020, 09:50:13
Hey Leute

ich hänge mich mal mit rein und stelle mal meine frage, ich habe zwar geschaut aber keine lösung hier gefunden.

Mein Problem ist das mein Google Home Mini leider immer nur 1 Wort wieder gibt wenn ich den Befehl speak nutze.

set Kueche speak Guten Morgen, Heute ist der $today, wir haben $draussen Grad draussen

ausgabe Guten


set Kueche speak wadehaddedudeda

ausgabe wadehaddedudeda

hat einer eine Idee?

MfG Caleus
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: OdfFhem am 01 Dezember 2020, 11:10:53
@Caleus

Anführungszeichen sind vermutlich die Retter in dieser Situation ...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Caleus am 01 Dezember 2020, 11:21:37
@odfFhem

sorry mein Code sieht so aus

fhem ("set Kueche speak Guten Morgen, Heute ist der $today, wir haben $draussen Grad draussen")}

es sind also Anführungszeichen vorhanden

und der ganze Code sieht so aus

([Test.Schalter:state] eq "on"){
my $draussen = ReadingsVal("THR128_0f_1","temperature","");
$draussen =~ s/\./ komma /;
fhem ("set Kueche speak Guten Morgen, Heute ist der $today, wir haben $draussen Grad draussen")}


MfG Caleus
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: OdfFhem am 01 Dezember 2020, 11:51:46
@Caleus

Wichtig ist, das der zu sprechende Text unmittelbar mit Anführungszeichen umgeben wird. Neben den Anführungszeichen für den gesamten Befehl in Deinem Fall brauchst Du noch weitere Anführungszeichen - einfache oder maskierte, doppelte ...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Caleus am 01 Dezember 2020, 12:38:21
@odfFhem

ein fettes Danke mal wieder, es ist wie bei PHP aber nun gut schon eine weile nicht mehr mit gearbeitet.

fhem ('set Kueche speak "Guten Morgen, Heute ist der '.$today.', wir haben '.$draussen.' Grad draussen"')}

Wenn ich jetzt noch eine möglichkeit finde mir den Wochentag ansagen zulassen bin ich froh.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 01 Dezember 2020, 13:34:29
Eventuell so:


fhem ("set Kueche speak \"Guten Morgen, Heute ist der \".$today.\", wir haben \".$draussen.\" Grad draussen\"")}


Vielleicht sogar so:


fhem ("set Kueche speak \"Guten Morgen, Heute ist der $today, wir haben $draussen Grad draussen\"")}


Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Caleus am 01 Dezember 2020, 14:04:47
@ MadMax-FHEM

mein Code klapt ja jetzt soweit, $today und $draussen sind ja vergeben, mir geht es jetzt noch um eine variable oder vorlage um auch den Wochentag zu übergeben.

$today kommt ja vom DOIF selbst und
$draussen wurde von mir definiert mit
my $draussen = ReadingsVal("THR128_0f_1","temperature","");

$today gibt also das Datum in form von 01.12.2020 aus und
$draussen sagt mir eine Temperatur an, nun möchte ich aber das mir auch noch zusätlich der aktuelle Wochentag angesagt wird.

MfG Caleus
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 01 Dezember 2020, 14:22:16
Ok, sorry.

Ich nutze DOIF nicht und wusste nicht, dass $today "nur" das Datum ist ;)

Irgendwo mit dem Echodevice-Modul gab es mal ein Script/myUtils wo (glaube ich) das umgesetzt wurde...

Ansonsten evtl. mit einem hash, also WoTaKürzel => Wochentag

Mo => Montag, Di/Tue => Dienstag

Weil es gibt ja "nur" 7 Tage.

Das WoTaKürzel müsste doch mit einer "Datumsabfrage" rauszukriegen sein...

Ich weiß: wieder nicht (sonderlich) hilfreich ;)
(noch mal sorry ;)  )

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Stelaku am 01 Dezember 2020, 17:05:05
@Caleus

Vieleicht funktioniert es so als userreading.
Wochentag {
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);;
if ($wday == 1) {return "Montag"}
elsif ($wday == 2) {return "Dienstag"}
elsif ($wday == 3) {return "Mittwoch"}
elsif ($wday == 4) {return "Donnerstag"}
elsif ($wday == 5) {return "Freitag"}
elsif ($wday == 6) {return "Samstag"}
elsif ($wday == 0) {return "Sonntag"}
}
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 01 Dezember 2020, 18:10:00
Zitat von: presskopf am 01 Dezember 2020, 07:37:30
Hi, ich habe bisher nur googlecast und gassistant im Einsatz.

Kannst du mal prüfen wie viele pythonbinding Prozesse im Normalfall laufen? Ist es nur der eine, oder mehrere?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: OdfFhem am 01 Dezember 2020, 18:45:43
@Caleus

Folgende Eingabe in der FHEM-Kommandozeile liefert den (hoffentlich) richtigen Wochentag:

{ my @days = qw/Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag/;; my $day = $days[(localtime(time))[6] - 1];; return $day;; }


Sollte anschließend leicht in Deinen Code integrierbar sein ...
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: presskopf am 01 Dezember 2020, 20:34:10
Zitat von: dominik am 01 Dezember 2020, 18:10:00
Kannst du mal prüfen wie viele pythonbinding Prozesse im Normalfall laufen? Ist es nur der eine, oder mehrere?

Es ist nur ein Prozess.

Mir ist aber gerade aufgefallen, dass ich das Problem aktuell nicht mehr nachstellen kann.
Wurde mit einem der letzten Updates irgendwas an den Start/Stop-Routinen geändert?
Ich hatte das Phänomen bei sicher drei, vier Fhem-Updates.
Einerseits bin ich perplex, andererseits froh, dass doch (wieder) alles im Lot zu sein scheint.
Danke Dominik
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 01 Dezember 2020, 20:47:29
Bei den letzten Updates gab es nicht wirklich etwas was mit dem Thema zu tun hätte, aber wenn es nochmals auftritt, melde dich gerne wieder.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Caleus am 01 Dezember 2020, 20:48:06
Zitat von: OdfFhem am 01 Dezember 2020, 18:45:43
@Caleus

Folgende Eingabe in der FHEM-Kommandozeile liefert den (hoffentlich) richtigen Wochentag:

{ my @days = qw/Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag/;; my $day = $days[(localtime(time))[6] - 1];; return $day;; }


Sollte anschließend leicht in Deinen Code integrierbar sein ...


Und wieder einmal gilt dir mein Dank @odfFhem
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 02 Dezember 2020, 23:12:50
Kann man in die Sprachausgabe mit Speak auch den Inhalt von Devices/Readings einbauen?
Habe mal "set Schlafzimmerlautsprecher speak "Morgen wird [Muelltonnen:next_text] abgeholt", set Test off" versucht-

Dabei wird der Inhalt des Readings einfach übersprungen und er spuckt nur "Morgen wird abgeholt" aus.

Gibts da vielleicht eine Lösung?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Caleus am 03 Dezember 2020, 17:04:43
@Superposchi

ich habe das so gelöst

my $ereigniss = ReadingsVal("MyWeather","condition","");

habe das also als Variable gespeichert und dann

my $ereigniss = ReadingsVal("MyWeather","condition","");
my $draussen = ReadingsVal("THR128_0f_1","temperature","");
$draussen =~ s/\./ komma /;
fhem('set Kueche speak "Guten Morgen, Heute ist '.$day.', der '.$today.', wir haben '.$draussen.' Grad draussen und zur Zeit '.$ereigniss.'')}


mit '.$ereigniss.' wird es dann abgefragt.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 03 Dezember 2020, 17:39:55
Hey, kenne mich mit Variable in Fhem noch gar nicht aus.
Sind das dann vier einzelne Befehle die als Command ins Notify, at, DOIF etc. eingeschrieben werden müssen?
Und ich vermute mal, dass geht nur im Perl-Modus im DOIF, richtig?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Caleus am 03 Dezember 2020, 17:58:20
@Superposchi

nein my $ereigniss ist die Variable und ausgehend von deinem Text würde es so lauten

my $ereigniss = ReadingsVal("Muelltonnen","next_text","");

und dann würdest du in deinem speak abgeleitet von meinem script 

'.$ereigniss.' eintragen

Mfg Caleus
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 03 Dezember 2020, 18:10:29
Ja, aber müsste ich das my_ereignis als Command nutzen?
Also praktisch so:
define Benachrichtigung DOIF (Trigger_X) fhem(my $ereigniss = ReadingsVal("Muelltonnen","next_text",""); ('set Lautsprecher speak "Heute wird der '.$ereigniss.'' abgeholt')
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Caleus am 03 Dezember 2020, 18:40:21
@Superposchi

ja das geht ABER, und da sollte jemand der da etwas tiefer in der materie ist Antworten,  ich weis nur noch das es etwas mit der Performance zu tuhen hat.

MfG Caleus
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 03 Dezember 2020, 18:49:50
Naja ganz so wird es NICHT gehen, weil:

fhem(my $Variable=...) geht so nicht!
EDIT: zumindest denke ich, dass das auch bei DOIF gilt... Wobei: WARUM IMMER DOIF, wenn es eh nur EINEN "Trigger" gibt? Da ist notify doch locker ausreichend... ;) Aber: jeder wie er will... ;)

ABER: das hat NICHTS mit GoogleCast zu tun!

Das ist entweder: fhem Basics oder Perl oder DOIF (oder alles zusammen)!

Daher: eigenen Thread in (wenn es DOIF ist / sein muss) DOIF öffnen mit der Frage wie man ein Reading eines Devices "abfrägt" und dann in einen set einbaut...

Für notify wäre das so:


define nTest notify Device:RegEx {my $Wert=ReadingsVal("Device","Reading","Ersatzwert");fhem("set AnderesDevice $Wert");}

EDIT: je nachdem wo wie usw. man das eingibt auch mal doppelte etc. Strichpunkte... Da ich sowas ja (immer) in eine Sub auslagere bin ich nicht so firm was die Anzahl der Strichpunkte angeht (außerhalb einer Sub ;)  )...

EDIT: bzw. wenn um die Variable noch was drumrum soll

define nTest notify Device:RegEx {my $Wert=ReadingsVal("Device","Reading","Ersatzwert") . 'noch was anderes';fhem("set AnderesDevice $Wert");}


oder


define nTest notify Device:RegEx {my $Wert=ReadingsVal("Device","Reading","Ersatzwert");fhem("set Chromecast \"was davor $Wert und was danach\"");}



Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Caleus am 03 Dezember 2020, 19:36:08
Ich muss erhlich zugeben das ich mir das oben nicht 100% genau angeschaut habe nur überflogen, ich bitte um entschuldigung.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 03 Dezember 2020, 19:42:23
Zitat von: Caleus am 03 Dezember 2020, 19:36:08
Ich muss erhlich zugeben das ich mir das oben nicht 100% genau angeschaut habe nur überflogen, ich bitte um entschuldigung.

Locker bleiben!

War ja nicht "gegen" dich, wollte es nur (hoffentlich ;) ) "korrigieren"... :)

Jetzt aber genug zu "nicht (wirklich) GoogleCast Themen" hier... ;)

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 03 Dezember 2020, 21:45:09
Wieso nicht GoogleCast-Thema?
Die Frage bezieht sich doch auf GoogleCast und den Subbefehl speak.

Ob es jetzt ein notify oder DOIF wird spielt doch eigentlich keine Rolle, es geht doch darum wie man den Wert eines readings in den Speak Befehl einbaut.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 03 Dezember 2020, 22:04:24
Falsch!

Weil es nicht am speak liegt, sondern eben wie du bei DOIF/notify/... oder was immer DU nutzt um den speak Befehl abzusetzen und DORT dann eben ein Reading "abfrägst" und an einen set-Befehl "übergibst"...

Und zwar egal ob es sich um einen speak Befehl oder irgendeinen anderen set Befehl handelt...

Und das hat nun mal mit dem Modul zu tun wo eben der speak-Befehl verwendet wird und eben nicht am speak Befehl selbt...

Und: oben stehen 2 Lösungen, die funktionieren mit SPEAK... ;)

Aber (bei dir) halt nicht wie/womit du den speak Befehl absetzt...
Gleiches würde für jeden anderen set Befehl mit Reading-Abfrage/Übergabe genauso gelten...
Ergo: unabhängig vom speak Befehl...

EDIT: und einmal die richtige Frage im passenden Unterforum (wie vorgeschlagen) gestellt (statt hier weiter ab vom Thema zu schreiben) und du hättest vermutlich schon lang die Lösung...

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 04 Dezember 2020, 10:50:52
Bei der Frage geht es mir um das Verständnis der Logik.
Der Speak-Befehl gehört zum GoogleCastModul - richtig?
Der Speak-Befehl wird von einem Trigger (egal ob notify, at, DOIF oder was auch immer) lediglich ausgelöst - richtig?
Ich kann doch auch den Speak-Befehl komplett ohne Trigger von Hand absetzen und dabei Inhalte von fremden Readings benutzen.

Wieso - und das ist eine generelle Frage - soll die Frage in ein Unterforum für DOIF, notify oder was auch immer?
Ich verstehe einfach die Denkweise weise nicht, möchte es aber gerne.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 04 Dezember 2020, 12:29:15
Wenn du es nicht verstehen willst: lass es!

Einmal noch, dann bin ich hier "raus"...

Zitat von: Superposchi am 04 Dezember 2020, 10:50:52
Der Speak-Befehl wird von einem Trigger (egal ob notify, at, DOIF oder was auch immer) lediglich ausgelöst - richtig?

Ja aber genau das weitere ist der Trugschluss!

Weil das Abfragen von einem Reading (eines anderen Devices) sich eben danach richtet WO man diese Abfrage des Readings macht, also welche "Mittel" DORT zur Verfügung stehen UND wie die SYNTAX DORT eben aussieht!

Weil (nochmal): oben wurde eine Lösung gepostet, die mit DOIF und Perl bzw. mit notify und Perl funktioniert!

Wenn du aber mittels "setMagic" oder anderen Mechanismen (was DOIF ja bietet) "abfrägst", dann hat das eben was mit DOIF zu tun!

Ebenso WIE Variablen bei einem set-Aufruf übergeben werden (und auch der speak-Befehl ist eben auch "nur" ein set Aufruf) liegt eben auch an dem Modul das den Aufruf ABSETZT (also DOIF/notify/...) und eben nicht am Chromecast oder irgendeinem anderen Modul, dessen set Befehl du aufrufst...
(außer, dass es hier beim Googlecast eben der Wert des set eine Zeichenkette sein "muss" -> ergo due Anführungszeichen brauchst)


Zitat von: Superposchi am 04 Dezember 2020, 10:50:52
Bei der Frage geht es mir um das Verständnis der Logik.
Der Speak-Befehl gehört zum GoogleCastModul - richtig?

Ja und?

Andere Devices/Module haben andere set Befehle...

Und auch bei denen (wie schon zuvor MEHRFACH!! erläutert) kommt es eben auf das NUTZENDE Device (notify/DOIF/at/...) an WIE man eben Werte abfrägt und in einen set BEI DOIF/notify/at "einbaut"...


Zitat von: Superposchi am 04 Dezember 2020, 10:50:52
Ich kann doch auch den Speak-Befehl komplett ohne Trigger von Hand absetzen und dabei Inhalte von fremden Readings benutzen.

Ja!
Wenn du den Ausführungs-Teil aus meinem notfy Vorschlag (angepasst an deine Device-Namen) oder auch den Vorschlag von Caleus mit der entsprechenden "Formatierung" (und da sind wir wieder beim Thema: auch bei Eingabe in das FhemWebCmd kommt es eben auf die nutzung DORT an und nicht auf den speak oder den set eines anderen Devices) in FhemWeb eingibst dann hast du wie es eben mit notify oder FhemWeb funktioniert. Muss halt nicht dasselbe sein wie es auch mit at oder DOIF funktioniert weil die u.U. eben eine andere Syntax haben!!
Wie der speak Befehl bei Chromecast funktioniert wurde ja schon ausführlich geschrieben: set ChromecastDevice speak "Zeichenkette" (das geklärt zu haben, also, dass Anführungszeichen helfen ist klar HIER richtig und wurde ja [sofort] erläutert)

Und wie du eben Werte aus Readings in Variablen kriegst und dann die Variablenwerte in "Zeichenkette" landen hängt halt nun mal vom "verwendenden Device(Typ)" ab und NICHT vom "verwendeten Device(Typ").
EDIT: dem Chromecast Device ist es egal "wie" die Zeichenkette gekommen ist, solange sie eben gekommen ist. Und dass sie kommt hängt halt von dort ab wo der set befehl aufgerufen wurde... Damit er eben richtig beim Chromecast ankommt...

EDIT: oder wenn du Perl verwendest eben von der Syntax bei Perl ab. Wenn du es in Bash-Script auf der Console schreibst hängt es eben davon ab was bash bietet. In einem C++ Programm musst du halt sehen wie du den set Befehl mit C++ schreiben musst OBWOHL: der set beim Chromecast immer DERSELBE ist und bleibt (bleiben soll)... Wenn du es jetzt noch nicht verstanden hast/verstehen willst dann weiß ich auch nicht mehr...

Zitat von: Superposchi am 04 Dezember 2020, 10:50:52
Wieso - und das ist eine generelle Frage - soll die Frage in ein Unterforum für DOIF, notify oder was auch immer?
Ich verstehe einfach die Denkweise weise nicht, möchte es aber gerne.

Weil halt die Frage dort am besten aufgehoben ist wo die Helfer mitlesen, die eben zu den jeweiligen Modul-Fragen (und es ist halt [siehe oben bzw. die ganze Diskussion] ein notify/DOIF/at/... "Problem"/Frage) besser beantwortet werden als "wo anders"/"irgendwo"...

Und noch mal: hättest du meinen Rat befolgt hättest du verm. schon lange die Lösung...

Mehr als meine Lösung mit notify kann ich nicht liefern...

Laut deiner Annahme müsste das dann ja auch einfach in DOIF gehen: baue es doch ein...

Wenn es nicht geht: kann ICH nicht helfen, weil ICH KEIN DOIF nutze! Daher auch nicht weiß wie das in DOIF geht!

Viel Spaß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 04 Dezember 2020, 14:30:35
ZitatWenn du es nicht verstehen willst: lass es!
Würde ich nachfragen wenn dem so wäre. Nur weil es ohne wirkliche Erklärung nicht nachvollziehbar ist brauchst du nicht aggressiv zu werden.

ZitatAndere Devices/Module haben andere set Befehle...
Du willst mir also sagen, dass der set Befehl abhängig vom Trigger eine andere Syntex hat. Da muss ich dann wirklich nachfragen wo das steht.
Mag sein, dass wir von der Denkweise aneinander vorbei reden, aber Befehl ist Befehl und Syntex bleibt Syntex. Und die Syntext zum set-Befehl ist:
set <Device>[:<Reding>,<Internal> etc. ] <Commando/Wert>

Also beim Programmieren gibt es da keine Alternative, da ist die Syntex bindend. Darum habe ich da echte Verständnisprobleme mit.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 04 Dezember 2020, 14:40:00
Ja es gibt Systaxunterschiede.

Habe ich ja erklärt (versucht): in C++ ist die Abfrage von Werten und anlegen von Variablen anders als in Bash Script anders als in fhem-Commandos und anders als in Perl und auch DOIF hat u.a. "eigene" Syntax. Kannst du nachlesen, nämlich bei C++, Perl, fhem Commads und eben auch bei notify, at und DOIF...

EDIT: hier schreibt sogar Rudolf König selbst, dass es eben doch entscheidend ist WO man Befehle nutzt https://forum.fhem.de/index.php/topic,108970.msg1029509.html#msg1029509
Und dabei sind noch nicht mal die "Spezialitäten" von DOIF erwähnt ;)
Hier nur eine kleine "Anekdote": https://forum.fhem.de/index.php/topic,110047.msg1040659.html#msg1040659

EDIT: im Forum nach "fhem perl mischen" liefert noch weitere Dinge... Und fhem und Perl mischen ist genau was hier "passiert". set Device irgendwas -> fhem
Abfrage eines Readings mit ReadingsVal("Dev","Read","Ers") -> Perl dann gibt es noch setMagic und vielleicht (in DOIF) weitere Möglichkeiten. Aber all das hat NICHTS mit Googlecast zu tun... ;) Naja außer dass in dem (bisschen) fhem Teil (also set Befehl) eben das Googlecast angesprochen wird. Die "Problematik" wäre aber bei jedem anderen Device(Typ) genauso...

Was rauskommen muss ist eben ein: set Chromedevice speak "Zeichenkette"

Aber das WIE hängt halt (letzter Versuch) davon ab von WO aus bzw. WOMIT dieser Aufruf eben "zusammengebastelt" wird und "abgeschickt" wird...

Es kann ja sein, dass es (ab und an) keine Unterschiede gibt (oder diese nicht offensichtlich sind) aber sie sind dennoch da.
Alleine Befehlstrenner: in DOIF ist es das Komma aber wohl nicht unbedingt bei DOIF-Perl oder heißt das Perl-DOIF? (soweit ich das mit meinen wenigen DOIF Kenntnissen im Kopf habe) bei fhem ist es der Strichpunkt aber je nachdem wo eingegeben muss der auch mal gedoppelt werden usw. Manchmal gibt es setMagic (oder geht das mittlerweile auch "überall"?) also [Device:Reading] statt ReadingsVal("Device","Reading","Ersatzwert"). Manchmal kann man Perl im Ausführungsteil "einfach" einfügen/mischen: set Device {ReadingsVal("Dev","Re","Er") . "mach was dazu"} und manchmal eben nicht. Und OB das geht oder eben NICHT liegt eben daran WO man das nutzt. Punkt und aus...

EDIT: und wie der commandref zu DOIF und den Beispielen und Wiki zu entnehmen hat DOIF noch weitere "Syntax-Spezialitäten"...

Und jetzt bin ICH auf jeden Fall für dieses "Problem" ruhig.

Ich habe ja einige andere "deiner" Threads überflogen und naja...
Auch hier bin ich jetzt lieber still...

Bevor hier in einem eh schon langen Thread noch mehr unnötiger Blödsinn den Thread ganz "kaputt" macht...

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 04 Dezember 2020, 23:35:51
Für alle die fhem_pythonbinding (neuer Name fhempy, ist kürzer zu tippen :) ) auf einen Remote Peer verwenden, folgende wichtige Info:

Ihr könnte /home/pi/fhem_pythonbinding löschen und auch /etc/systemd/system/fhem_pythonbinding.service. Ab sofort gibt es nämlich fhempy als pip package und man erspart sich somit das mühsame git update.
https://github.com/dominikkarall/fhem_pythonbinding#run-python-modules-on-remote-python-peers-eg-extend-bluetooth-range

Kurz zusammengefasst läuft die Installation (für alle die systemd nutzen, was in vielen Fällen Standard ist) nun mit
sudo pip3 install fhempy
https://raw.githubusercontent.com/dominikkarall/fhem_pythonbinding/master/install_systemd_fhempy.sh | sudo -E bash -


Weitere Neuerung:
- Update des Remote Peers kann nun über das BindingsIo Devie durchgeführt werden (set remote_bindingio update)
- Version vom Remote Peer wird ebenfalls im BindingsIo Device angezeigt


Ich habe auch einen neuen Thread für fhempy googlecast aufgemacht um die Diskussion zum alten Modul hier auch abzutrennen.
https://forum.fhem.de/index.php/topic,116455.0.html
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 06 Dezember 2020, 15:07:34
Es gibt keinen unnötigen Blödsinn - nur fehlende Informationen. Und nichts kann einen Thread kaputt machen.

Um den Inhalt mal zusammenzufassen, C++, Perl, Bash Script etc. sind unterschiedliche Programmiersprachen, da ist es nachvollziehbar wenn die Syntex unterschiedlich ist. Quasi Äpfel und Birnen.
DOIF, notify, at etc. sind aber alles Fhem Befehle, also alles Äpfel, nur eben verschiedene Sorten wie Granny Smith, Golden Delicias etc..

Das ist für einen Neuling wie mich - der über Programmierkenntnisse verfügt - eben nicht einfach so nachzuvollziehen, weil es komplett jeder bisher erlerntten Logik entgegenspricht. Daher tue ich mich so schwer damit.
Wenn dieses Unverständnis für einige hier schwer zu verstehen ist tut mir das Leid, ist aber kein Grund für diesen teilweise sehr aggressiven Tonfall, der in der Vergangenheit auch schon zu entsprechenden Reaktionen Meinerseits geführt hat.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: MadMax-FHEM am 06 Dezember 2020, 15:09:56
Schon wieder falsch!

notify, DOIF, at, ... sind fhem Module

Da kann jeder Modulautor seine eigene Syntax haben...

EDIT: und gerade DOIF hat eine Menge "Sondermöglichkeiten"...

Und: nicht mal alle fhem Module sind (rein) in Perl geschrieben...

Und: das gehört KEINESFALLS in DIESEN Thread!!

EDIT: und macht "ihn" somit sehr wohl (langsam) "kaputt". Weil Leute die tatsächlich Fragen/Probleme bzgl. Googlecast haben hier ja Seitenlang unnötige Philosophiererei etc. finden, die nicht hier her gehört...

EDIT: an dieser Stelle (noch mal) SORRY für das "Mitmachen"...

EDIT: und das war nun wirklich meine letzte Anmerkung hierzu...

EDIT: und es sind immer noch Lösungen hier gegeben worden und da, die funktionieren. Aber halt in der jeweiligen "Umgebung". 1x (sofern ich richtig gesehen habe) ist es DOIF-Perl (oder Perl-DOIF / ich nutze kein DOIF, daher: keine Ahnung) und 1x notify mit Perl...

Gruß, Joachim
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 16 Dezember 2020, 23:05:57
Hallo dominic,

ich habe bei einem Update All immer wieder probleme mit dem Pythonbinding.

Die Meldung im Log ist dann immer:
BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)

Das Device ist dann immer disconnected. Hier das List:
Internals:
   .FhemMetaInternals 1
   .triggerUsed 0
   BindingType Python
   DEF        Python
   DeviceName ws:127.0.0.1:15733
   FUUID      5fba74b5-f33f-793a-1760-e724b98ba1bd9e5e
   FVERSION   10_BindingsIo.pm:0.182830/2019-01-16
   NAME       local_pybinding
   NEXT_OPEN  1608156005.0906
   NR         94
   NTFY_ORDER 50-local_pybinding
   PARTIAL   
   STATE      disconnected
   TYPE       BindingsIo
   localBinding 1
   nextOpenDelay 10
   READINGS:
     2020-12-16 22:59:55   state           disconnected
   args:
     local_pybinding
     BindingsIo
     Python
   argsh:
Attributes:
   group      Google
   icon       mqtt_bridge_2
   room       Devices
   verbose    2


Log von heute und gestern ist anbei.

Ein Neustart korregiert das Problem. Aber das kann doch nicht die Lösung sein, oder?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 17 Dezember 2020, 19:23:12
Bitte hier posten:
https://forum.fhem.de/index.php/topic,116455.0.html
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: benedikt-wue am 21 Dezember 2020, 15:09:12
Zitat von: benedikt-wue am 18 März 2018, 18:26:50
Mal noch eine Frage:
wie könnte ich das Modul dazu bringen, Spotify abzuspielen? Das Spotify - Modul habe ich ebenfalls am laufen, allerdings "vergisst" dieses regemäßig die Devices, so dass ich das jeweilige Gerät immer erst "per Hand" starten muss um dann die Musik zu transferieren. Das ist etwas mühsam. Gibt es die Möglichkeit, in diesem Google - Modul z.B. eine Playlist - URL zu starten oder z.B. eine Artist - URL (track_artist_uri
spotify:artist:0NnyKz36MvIC2R3dFht35A --> Reading aus dem Spotify - Modul)?
Ansonsten kann ich nur nochmal ein großes "Danke" in die Runde werfen, das Modul hier ist schon echt große Klasse... habe es inzwischen auch geschafft, bisschen in der FTUI damit weiterzukommen... ich hänge mal einen Entwurf an, vielleicht wollt Ihr mir (völliger Amateur!!!)mal Eure Meinung dazu sagen.

Nach einer Neu - Installation meines gesamten FHEM´s und der Installation der neuen Version des GoogleCast - Moduls stehe ich nach wie vor dem gleichen Problem... ist es irgendwie möglich, die beiden Module Spotify und GoogleCast so miteinander zu verknüpfen, dass ich tatsächlich per FHEM auswählen kann, auf welchem Device die Musik abgespielt wird... bzw. welche URL müsste ich im GoogleCast - Modul eingeben, dass das Device ein bestimmtes Spotify - Album abspielt?
Schöne Grüße
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: SouzA am 21 Dezember 2020, 16:17:39
Zitat von: benedikt-wue am 21 Dezember 2020, 15:09:12
Nach einer Neu - Installation meines gesamten FHEM´s und der Installation der neuen Version des GoogleCast - Moduls stehe ich nach wie vor dem gleichen Problem... ist es irgendwie möglich, die beiden Module Spotify und GoogleCast so miteinander zu verknüpfen, dass ich tatsächlich per FHEM auswählen kann, auf welchem Device die Musik abgespielt wird... bzw. welche URL müsste ich im GoogleCast - Modul eingeben, dass das Device ein bestimmtes Spotify - Album abspielt?
Schöne Grüße
Zitat von: dominik am 03 September 2020, 21:05:06
Freut mich, dass bei dir alles klappt. Ich habe deinen Hinweis zu python3 und python3-pip Installation noch im Readme aufgenommen.

Bei der FHEM Installation ueber apt sollte der Ordner eigentlich auch dem User fhem gehoeren. Stell sicherheitshalber das ganze Verzeichnis auf fhem als Owner um, zumindest .local sollte fhem als Owner haben.

Spotify Integration steht auch noch an, das ist wahrscheinlich auch fuer viele Interessant.

Kommt vielleicht ja noch...
Bis denn
SouzA
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 25 Dezember 2020, 21:11:19
Spotify ist nun integriert :)

https://forum.fhem.de/index.php/topic,116455.msg1114119.html#msg1114119

Bitte nur im anderen Thread dazu weiter posten.
Der Thread hier ist für das alte Googlecast Modul.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 01 Januar 2021, 17:53:56
Muss ich zur Nutzung von Spotify mit Googlecast das Spotify-Modul nutzen oder gibt es inzwischen Alternativen?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 01 Januar 2021, 18:27:59
https://github.com/dominikkarall/fhempy/blob/master/FHEM/bindings/python/fhempy/lib/spotify/README.md
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: Superposchi am 01 Januar 2021, 20:36:24
Beim Anlegen des Device kommt es offensichtlich zu einem Fehler, hier das list des Device:
Internals:
   .AttrList  .*
   CFGFN     
   DEF        spotify
   FUUID      5fef78cc-f33f-793a-8c26-8a899e2cb8311976
   IODev      local_pybinding
   NAME       Spotify
   NR         56258
   PYTHONTYPE spotify
   STATE      Module failed to load: spotify
Maybe you need to update fhempy on this or remote peer.

Stacktrace:
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 242, in _onMessage
    module_object = importlib.import_module(pymodule)
  File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'fhempy.lib.spotify'

   TYPE       PythonModule
   .attraggr:
   .attrminint:
   READINGS:
     2021-01-01 20:32:29   state           Module failed to load: spotify
Maybe you need to update fhempy on this or remote peer.

Stacktrace:
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 242, in _onMessage
    module_object = importlib.import_module(pymodule)
  File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'fhempy.lib.spotify'

   args:
     Spotify
     PythonModule
     spotify
   argsh:
Attributes:
   IODev      local_pybinding


Wenn ich das richtig Interpretiere muss fhempy upgedatet werden, richtig? Wenn ja, wie?
Und wenn ich die Einträge im GitHub richtig verstehe, muss man während der Wiedergabe die Webseite von Spotify offen haben, korrekt?
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 01 Januar 2021, 21:01:49
Einfach "update" in FHEM ausführen.

Website in FHEM offen halten ist NUR wenn du FHEM als Player (ja, du kannst dann in FHEM Musik hören) nutzen willst. Zum Steuern brauchst du FHEM nicht offen haben.

Wenn du weitere Fragen dazu hast, bitte diesen Thread nutzen:
https://forum.fhem.de/index.php/topic,117289.0.html

Der hier ist NUR für das alte Googlecast Modul.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: NePheus am 19 Januar 2021, 06:24:47
Liege ich richtig der Annahme, dass der Google Nest Mini 2 nicht unterstützt wird? Ich nutze das fhempy und habe das discover device angelegt. Das zeigt auch alles opened und connected an. Automatisch wird aber kein Chromecast angelegt. Wenn ich mir eine App aus dem Store lade die Chromecast devices sucht, wird das Nest Mini auch nicht angezeigt.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 20 Januar 2021, 21:29:32
Bitte diese Frage hier stellen:
https://forum.fhem.de/index.php/topic,116455.0.html

Der Thread hier ist nur für das alte Googlecast Modul.
Titel: Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: SouzA am 21 Januar 2021, 00:28:48
Zitat von: dominik am 20 Januar 2021, 21:29:32
Bitte diese Frage hier stellen:
https://forum.fhem.de/index.php/topic,116455.0.html

Der Thread hier ist nur für das alte Googlecast Modul.
Vielleicht solltest du den Threat mal umbenennen ;)

Bis denn
SouzA
Titel: Antw:[Altes Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: wk2000 am 24 Januar 2021, 20:27:35
Funktioniert das alte Modul eigentlich noch?

Ich versuche verzweifelt das im fhem-docker container laufen zu bekommen und das neue funktioniert dort einfach nicht.

Vielen Dank :)
Titel: Antw:[Altes Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 24 Januar 2021, 20:46:39
Zitat von: wk2000 am 24 Januar 2021, 20:27:35
Funktioniert das alte Modul eigentlich noch?

Ich versuche verzweifelt das im fhem-docker container laufen zu bekommen und das neue funktioniert dort einfach nicht.

Vielen Dank :)
Wiese funktioniert das neue im Docker nicht? Was kommt für ein Fehler? Im alten Modul musst du eine alte pychromecast Version nutzen.
Titel: Antw:[Altes Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: wk2000 am 24 Januar 2021, 23:00:38
Zitat von: dominik am 24 Januar 2021, 20:46:39
Wiese funktioniert das neue im Docker nicht? Was kommt für ein Fehler? Im alten Modul musst du eine alte pychromecast Version nutzen.

Danke für deine Antwort, ich hab mein Problem eben mal im neuen Thread beschrieben.

Ok, fürs alte müsste ich jetzt auch noch mal schauen wie das mit dem inline war..
Der wirft mir nämlich: 2021.01.24 22:53:51 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Error -- py_eval raised an exception at /usr/lib/arm-linux-gnueabihf/perl5/5.28/Inline/Python.pm line 221.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 703


Macht dann vieleicht mehr Sinn, das neue zum laufen zu bekommen.
Ich hatte halt gehofft, dass das neue ins Docker Image aufgenommen wird, wenn es denn nicht mehr beta ist. Dein gAssistant Modul funktioniert da ja schließlich auch 'einfach so' :)
Titel: Antw:[Altes Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: kriegerkl am 29 Januar 2021, 18:44:11
Hallo Dominik,
ich habe folgenden Fehler beim update des neuen GoogleCast-Moduls s.u.
Was kann ich da machen?


Module failed to load: googlecast
Maybe you need to update fhempy on this or remote peer.

Stacktrace:
Traceback (most recent call last):
  File "/home/pi/.local/lib/python3.8/site-packages/fhempy/lib/fhem_pythonbinding.py", line 252, in _onMessage
    module_object = await utils.run_blocking(
  File "/home/pi/.local/lib/python3.8/site-packages/fhempy/lib/utils.py", line 32, in run_blocking
    return await asyncio.get_event_loop().run_in_executor(pool, function)
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/pi/.local/lib/python3.8/site-packages/fhempy/lib/googlecast/googlecast.py", line 31, in <module>
    import spotify_token as st
ModuleNotFoundError: No module named 'spotify_token'


Im PhytonBinding..log steht folgendes:

2021-01-29 18:45:46,830 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
Traceback (most recent call last):
  File "FHEM/bindings/python/pythonbinding.py", line 81, in <module>
    fpb.run()
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 276, in run
    asyncio.get_event_loop().run_until_complete(
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/usr/local/lib/python3.8/asyncio/tasks.py", line 684, in _wrap_awaitable
    return (yield from awaitable.__await__())
  File "/opt/fhem/.local/lib/python3.8/site-packages/websockets/server.py", line 965, in __await_impl__
    server = await self._create_server()
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 1463, in create_server
    raise OSError(err.errno, 'error while attempting '
OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 15733): address already in use
Titel: Antw:[Altes Modul] GoogleCast (98_GOOGLECAST.pm)
Beitrag von: dominik am 29 Januar 2021, 21:18:21
Bitte hier posten, dann helfe ich weiter:
https://forum.fhem.de/index.php/topic,116455.0.html