[Altes Modul] GoogleCast (98_GOOGLECAST.pm)

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

Vorheriges Thema - Nächstes Thema

JF Mennedy

Hi,

ein normaler Google Home geht auch nicht mit Youtube...

dominik

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

JF Mennedy

Ja sehr geil :-) Das funktioniert wunderbar bei mir... Wenn jetzt noch Favoriten mit drin sind, dann wäre es top :-)

dominik

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

JHo

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!
1: FHEM auf Ubuntu, MAX!Cube, Wand- und Heizkörperthermostate, Eco-Schalter, diverse LaCrosse-Sensoren, per remote angebundene DS18B20-Sensoren
2: FHEM auf Raspi 3, Max!Cube, Wand- und Heizkörperthermostate, Eco-Schalter, ht_pitiny-Adapter zu Junkers FW120

dominik

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

JHo

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
1: FHEM auf Ubuntu, MAX!Cube, Wand- und Heizkörperthermostate, Eco-Schalter, diverse LaCrosse-Sensoren, per remote angebundene DS18B20-Sensoren
2: FHEM auf Raspi 3, Max!Cube, Wand- und Heizkörperthermostate, Eco-Schalter, ht_pitiny-Adapter zu Junkers FW120

dominik

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

JHo

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.
1: FHEM auf Ubuntu, MAX!Cube, Wand- und Heizkörperthermostate, Eco-Schalter, diverse LaCrosse-Sensoren, per remote angebundene DS18B20-Sensoren
2: FHEM auf Raspi 3, Max!Cube, Wand- und Heizkörperthermostate, Eco-Schalter, ht_pitiny-Adapter zu Junkers FW120

dominik

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

JHo

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!
1: FHEM auf Ubuntu, MAX!Cube, Wand- und Heizkörperthermostate, Eco-Schalter, diverse LaCrosse-Sensoren, per remote angebundene DS18B20-Sensoren
2: FHEM auf Raspi 3, Max!Cube, Wand- und Heizkörperthermostate, Eco-Schalter, ht_pitiny-Adapter zu Junkers FW120

dominik

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

JF Mennedy

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

dominik

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

JF Mennedy

besser als datei ist zu gross für die textfunktion...