[Altes Modul] GoogleCast (98_GOOGLECAST.pm)

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

Vorheriges Thema - Nächstes Thema

meyerhavener

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

Gernot69

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

caldir65

#707
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
Alte Techniker-Regel: "kaum macht man es richtig, funktioniert es auch"
------
Dell Wyse5070 ThinClient 16GBRam, 64GB SSD, Lubuntu 22.04LTS, fhem (aktuell), debmatic, Homematic-Devs, ConBee II und deConz, viele Shellys, Rademacher, NextCloud-Anbindung, FullyKioskBrowser+FUIP uvm.

caldir65

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

Gruß, Christoph
Alte Techniker-Regel: "kaum macht man es richtig, funktioniert es auch"
------
Dell Wyse5070 ThinClient 16GBRam, 64GB SSD, Lubuntu 22.04LTS, fhem (aktuell), debmatic, Homematic-Devs, ConBee II und deConz, viele Shellys, Rademacher, NextCloud-Anbindung, FullyKioskBrowser+FUIP uvm.

michaelw

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.

febus

#710
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?

Viele Grüße,
Marc

febus

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?

Viele Grüße,
Marc

caldir65

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

Alte Techniker-Regel: "kaum macht man es richtig, funktioniert es auch"
------
Dell Wyse5070 ThinClient 16GBRam, 64GB SSD, Lubuntu 22.04LTS, fhem (aktuell), debmatic, Homematic-Devs, ConBee II und deConz, viele Shellys, Rademacher, NextCloud-Anbindung, FullyKioskBrowser+FUIP uvm.

robii

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

robii

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;
}

Caleus

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

MadMax-FHEM

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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Caleus

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

Mathias R

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

Mathias R

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