[Altes Modul] GoogleCast (98_GOOGLECAST.pm)

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

Vorheriges Thema - Nächstes Thema

Sailor

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
******************************
Man wird immer besser...

duke-f

Ja - es sagt mir, dass ich nicht zwanghaft probieren muss, Perl zu aktualisieren. Liegt offensichtlich nicht an der Version.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

duke-f

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
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).
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

duke-f

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.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

duke-f

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/
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

Sailor

#560
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


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
******************************
Man wird immer besser...

duke-f

Diese Meldung habe ich bisher nicht. Mag auch daran liegen dass ich GOOGLECAST bisher nicht zum Laufen bekomme.....
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

duke-f

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.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

benedikt-wue

#563
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

meddie

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

duke-f

#565
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


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.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

dominik

#566
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.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

duke-f

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.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

dominik

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
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

duke-f

Hab's eingespielt und werde prüfen und beobachten.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite