GOOGLECAST wieder zum Laufen bringen/Python säubern oder neu installieren?

Begonnen von Grml, 10 Juli 2018, 18:19:13

Vorheriges Thema - Nächstes Thema

Grml

Hi zusammen,

ich kenne natürlich den Thread zum Modul GOOGLECAST, aber wirklich helfen konnte mir dort keiner, bzw. ist meine Frage/mein Problem immer wieder untergegangen.

Meine ersten Tests mit GOOGLECAST im Herbst letzten Jahres waren erfolgreich. Dann gab es eine Änderung bzw. immer wieder Bugfixes, z.T. auch ein Wechsel auf Python3. Seit dem geht bei mir leider nichts mehr :-(
Meine Chromecast- und Google Home-Devices lassen sich nicht mehr anlegen, Fehlermeldung "Cannot load module GOOGLECAST". Im FHEM-Log sieht es so aus (auch bei höchstem Verbose-Level):
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.07.10 18:05:57 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.


Python ist aktuell Version 2.7.9:
user@fhem:~ $ python
Python 2.7.9 (default, Sep 17 2016, 20:26:04)
[GCC 4.9.2] on linux2


In /etc habe ich aktuell vier Python-Verzeichnisse:
drwxr-xr-x  2 root root    4096 Mai 11  2016 python
drwxr-xr-x  2 root root    4096 Sep 30  2016 python2.7
drwxr-xr-x  2 root root    4096 Feb 24 16:09 python3
drwxr-xr-x  2 root root    4096 Apr 16 10:09 python3.4


In /usr/bin liegt das hier:
user@fhem:/usr/bin $ ls pyth* -al
lrwxrwxrwx 1 root root      16 Apr 16 10:22 python -> /usr/bin/python2
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


Lange habe ich alle möglichen zusammengesuchten Tipps mit CPANM, Inline, Python etc. probiert ohne weiter zu kommen. Zugegebenermaßen auch ohne richtig tief in Linux Erfahrung zu haben.

Ich habe leider wirklich keine Ahnung mehr, was ich noch machen soll. Mir ist klar, dass ich mir da irgendwas verbastelt habe. Und irgendwas hat es mit Python, Inline etc. zu tun. Als Einigermaßen-Laie stehe ich aber nun echt wieder der Ochs' vorm Berg.
Und meine ganze FHEM-Installation neu aufsetzen wollte ich eigentlich nicht. Zumal sonst alles problemlos läuft. Ich bekomme nur die GOOGLECAST-Devices nicht mehr eingebunden.

Wäre toll, wenn mir da jemand helfen könnte.

Danke!


HansDampfHH

Ich schliesse mich an. Exakt die gleiche Meldung.
Allerdings habe ich kein verbasteltes System. Wie lange mein Google Home bereits "inaktiv" ist kann ich gar nicht sagen.
Ist mir nur gerade aufgefallen. Einzig ein Update meines Servers ist in letzter Zeit passier.

Jemand vielleicht einen Hinweis warum das GOOGLECAST Modul jetzt Schwierigkeiten hat?
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

bennebartsch

Auf was für einem System läuft das denn bei euch?
Bei mir lags am Perl Modul "Inline::Python", dieses muss folgendermaßen installiert werden:
sudo INLINE_PYTHON_EXECUTABLE=/usr/bin/python3 cpanm Inline::Python
eventuell voher einmal deinstallieren:
cpanm --uninstall Inline::Python

Was passiert wenn ihr folgendes in der Konsole eingebt?:
python3
import pychromecast

HansDampfHH

Oh, leider keine Info über Deine Nachricht bekommen.
Ich habe das Perl Modul eben noch einmal de- und neu installiert.

Folgende Meldung bekomme ich nach dem Aufruf:


Python 3.4.2 (default, Sep 26 2018, 01:01:01)
[GCC 4.9.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pychromecast
>>>
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

bennebartsch

Findest du auch Geräte?

python3
>> import pychromecast
>> chromecasts = pychromecast.get_chromecasts()
>> [cc.device.friendly_name for cc in chromecasts]

HansDampfHH

Sieht gut aus:


Python 3.4.2 (default, Sep 26 2018, 01:01:01)
[GCC 4.9.2] 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]
['GoogleHomeMini']
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

bennebartsch

Sehr komisch, es liegt also schonmal nicht an Python, sondern wie von mir bereits vermutet an der Schnittstelle von Perl zu Python.
Was sagt bei dir "which python3"?

HansDampfHH

FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

bennebartsch

1. googlecast device aus fhem löschen
2. fhem stoppen
3. sudo apt-get install libwww-perl python-enum34 python-dev libextutils-makemaker-cpanfile-perl python3-pip cpanminus
4. sudo INLINE_PYTHON_EXECUTABLE=/usr/bin/python3 cpanm Inline::Python
5. fhem wieder starten
6. define GOOGLECAST GoogleHomeMini

HansDampfHH

YEAH...Thats it!

Hammer, sauber. Vielen Dank für deine Unterstützung.
Allerdings frage ich mich schon warum das jetzt funktioniert hat.
Die Requirements aus der Commandref hatte ich bereits mehrfach ausgeführt.

Ahhh, allerdings nie FHEM gestopt und wieder gestartet.
Egal, es funktioniert und ich danke Dir vielmals.
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

bennebartsch

Zitat von: HansDampfHH am 04 Oktober 2018, 21:33:54
YEAH...Thats it!

Hammer, sauber. Vielen Dank für deine Unterstützung.
Allerdings frage ich mich schon warum das jetzt funktioniert hat.
Die Requirements aus der Commandref hatte ich bereits mehrfach ausgeführt.

Ahhh, allerdings nie FHEM gestopt und wieder gestartet.
Egal, es funktioniert und ich danke Dir vielmals.

Gar kein Problem! Hatte selber so meine Probleme mit dem Modul, da hilft man doch gerne :-)
Ich denke FHEM muss neu gestartet werden um das Inline::Python Modul neu zu laden!
Schönen Abend noch und viel Spaß mit dem Modul.

ReneH87

Habe leider das gleiche Problem  :-[


2018.11.11 04:39:19 1: reload: Error:Modul 98_GOOGLECAST deactivated:
Couldn't find an appropriate DIRECTORY for Inline to use.

at ./FHEM/98_GOOGLECAST.pm line 695.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 695.

2018.11.11 04:39:19 0: Couldn't find an appropriate DIRECTORY for Inline to use.

at ./FHEM/98_GOOGLECAST.pm line 695.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 695.



pi@raspberrypi:/opt/fhem $ which python3
/usr/bin/python3



pi@raspberrypi:/opt/fhem $ python3
Python 3.5.3 (default, Sep 27 2018, 17:25:39)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pychromecast
chromecasts = pychromecast.get_chromecasts()
>>> chromecasts = pychromecast.get_chromecasts()
>>> [cc.device.friendly_name for cc in chromecasts]
['GoogleHome']


Anleitung von oben habe ich probiert, leider ohne Erfolg. Jmd. noch eine Idee?

edit: Fehler gefunden, mein FHEM Verzeichnis hatte den falschen Besitzer  :-X dadurch konnte inline das "_Inline" Verzeichnis nicht anlegen... Eigentlich steht da ja was ihn stört  ;D