[Altes Modul] GoogleCast (98_GOOGLECAST.pm)

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

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

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

Det20

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.

klausa

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

SouzA

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
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee

MadMax-FHEM

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

SouzA

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
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee

MadMax-FHEM

Wie lautet denn nun dein define?

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)

SouzA

Hi

define GC_GanzesHaus GOOGLECAST Ganzes.Haus

Bis denn
SouzA
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee

MadMax-FHEM

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

Tabu

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

Kuzl

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.

patlabor

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.

r1hard

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.

OdfFhem

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.

wk2000

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