[Altes Modul] GoogleCast (98_GOOGLECAST.pm)

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

Vorheriges Thema - Nächstes Thema

Det20

Sleep = Doof
Besser vorher die Lautstärke speichern und auf notify Google_Name:mediaPlayerState:.IDLE reagieren. Dort die Lautstärke wieder herstellen.

MadMax-FHEM

Ja, stimmt schon: sleep ist nicht toll (aber so schlimm auch nicht / in dem Fall ;)  )...

War ja nur mal zum Test bzw. Aufzeigen, dass es da noch was zu brauchen scheint...

Nur auf IDLE reagieren ist aber wahrscheinlich zu wenig...

Ich weiß nicht was für Zustände es noch gibt und dann würde ja immer was zurückgesetzt werden auf "irgendeine" Lautstärke (die beim letzten Absetzen einer "Ansage" gespeichert wurde) auch wenn vom Abspielen eines Musikstücks der Zustand dann IDLE geht...

Evtl. könnte man beim Abspielen der "Ansage" ja die aktuelle LS speichern (wie bereits geschrieben: eigenes Reading/Dummy/...) und den Wert dann beim (ersten) Notify auf IDLE wieder zurücksetzen und dann diesen gespeicherten Wert auf "ungültig" setzen und im Notify auf IDLE prüfen, ob ein "gültiger" LS-Wert drin steht und nur dann zurücksetzen...

Werde ich mal rumexperimetieren...

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)

MadMax-FHEM

#407
So dann hab ich wie "versprochen" mal ein wenig "rumgebastelt" ;)

Folgende Subs in die myUtils:


sub my_Ansage($$)
{
  my ($Ansage, $Volume)  = @_;
  my @GoogleCasts = ("GoogleCast_1","GoogleCast_2","GoogleCast_n"); # Namen der GoogleCast die für die Ansage "herhalten" sollen ;)
  my $ActLSGoogleCast = 0;
  my $ActGoogleCast = "";
 
  foreach $ActGoogleCast(@GoogleCasts)
  {
    $ActLSGoogleCast = ReadingsVal($ActGoogleCast, "volume", 30); # oder anderen default
    # aktuelle Lautstärke im Reading volume_saved speichern und Ansagenlautstärke setzen
    fhem("setreading $ActGoogleCast volume_saved $ActLSGoogleCast; set $ActGoogleCast volume $Volume");
  }

  foreach $ActGoogleCast(@GoogleCasts)
  {
    fhem("set $ActGoogleCast speak \"$Ansage\""); # Ansage absetzen
  }
}

sub my_ResetVolume($)
{
  my ($Device) = @_;
  my $SavedLSGoogleCast = ReadingsVal($Device, "volume_saved", "na");

  # wenn eine Lautstärke gespeichert wurde, dann wieder zurücksetzen. Ansonsten: nix ;)
  if($SavedLSGoogleCast ne "na")
  {
    fhem("set $Device volume $SavedLSGoogleCast; setreading $Device volume_saved na");
  }
}


Alternativ kann man nat. auch alles in eine Schleife packen, müsste man sehen wie "gleichzeitig" die Ansage dann noch ist (wobei ich jetzt nicht getestet habe wie "gleichzeitig" das jetzt [schon] ist).

Und man kann natürlich auch "einfach" über alles vom Typ GOOGLECAST "loopen" für den Fall, dass man immer alle einbeziehen will...
...weitere Alternative: man übergibt die GoogleCasts je Aufruf, für die das dann ausgeführt werden soll...


Und dann noch ein Notify auf "mediaPlayerState IDLE" zum Zurücksetzen nach der Ansage:

define nResetVolume notify .*mediaPlayerState:.IDLE {my_ResetVolume($NAME)}

Aufgerufen wird das dann wie folgt:

my_Ansage("Ansage-Text", Lautstärke)

Beispiel:
{my_Ansage("Das ist mal eine Ansage", 80)}

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


duke-f

Will ja nicht nerven  ;) , aber nachdem ich Chromecast deaktiviert habe, sind keine unzähligen tcp-sockets mit danach folgendem reboot mehr aufgetreten. Bin ich wirklich der einzige mit dem Problem?
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

Det20

#410
Bin nur Herr der Lage geworden, indem ich die maximale Anzahl offene handles im Debian selbst massiv erhöht habe, ansonsten ist fhem regelmäßig abgestürzt. Ich möchte aber nicht auf dieses Modul verzichten, ich nutze die Googles intensiv.

Boote das System ausserdem alle 2 Tage neu, um die Leichen loszuwerden. Seitdem läuft es.

MadMax-FHEM

Bei mir (noch) kein Problem

Fhem aktuell...

PI3 auf Raspbian Stretch lite (auch rel. aktuell)...

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)

duke-f

@DET20:
Ok, Du hattest also auch das Problem und auch zusammen mit GOOGLECHAST, wenn ich richtig verstanden habe. Das neu Booten macht er bei mir ja dank Watchdog selber - kann halt schon mal im ungünstigen Moment sein.


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

Det20

Ja, bei mir stand fhem und ftui regelmäßig. Bevor der watchdog zur Stelle war, habe ich lieber die handles erhöht und starte das System kontrolliert selbst nachts neu.

Hoffe auch dringend auf Bugfix vom Modul.

duke-f

Danke für die Nachricht. Dann muss ich auch nicht weiter suchen. Vielleicht lasse ich das Modul mal probehalber auf einem Slave-System laufen und versuche mittels FHE2FHEM oder RFHEM zu verbinden. Habe da zum einen Raspberries, zum anderen ein virtuelles Debian auf dem NAS mit Intel-Prozessor. Jetzt sind aber gerade andere Aktivitäten vorrangig.
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

Det20

#415
Ich spiele auf meinen Chrome's die folgende URL ab (playFavorite) , sobald Licht angemacht wird. Nachdem Licht ausgeschaltet wird, wird der Stream mit 2 Minuten verzögerung wieder gestoppt:


http://edge.live.mp3.mdn.newmedia.nacamar.net/ps-radiolippe/livestream.mp3


Gestern abend ist da anscheinend was schief gegangen, danach wurde das Log geflutet:


2018.01.25 21:03:12 1: WARNING: sleep without additional commands is deprecated and blocks FHEM
ERROR: Unable to download webpage: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
ERROR: Unable to download webpage: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
ERROR: Unable to download webpage: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
ERROR: Unable to download webpage: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
ERROR: Unable to download webpage: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.


usw., mehrere hundert Einträge. Einmal ne Meldung hätte ja gereicht :) Interessant ist der Sleep Hinweis: Ich verwende Sleep nirgendwo ohne Parameter.

Grml

ERROR: Unable to download webpage: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Das Problem hatte ich am 15.01. auch, mein FHEM stand komplett still. Mein fhem.log hatte da da schon eine Größe von knapp 900 MB erreicht. Normal sind bei mir am Monatsende 20 - 30 MB...

Also hier gibt es im Modul scheinbar wirklich noch ein massives Problem, zusätzlich zu dem, dass bei vielen Usern die Chromecasts nach einem Neustart auf "initialized" hängen bleiben anstatt auf "online" zu gehen.

duke-f

Für meinen Teil muss ich aber auch zugeben, dass ich mich mit der Installation der notwendigen Komponenten etwas schwer getan habe und nicht sicher bin, ob eventuell da irgendwo sich etwas eingeschlichen hat. Als es zuletzt plötzlich lief war ich zwar froh, konnte aber nicht wirklich nachvollziehen, was jetzt der entscheidende Punkt war.
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

Det20

#418
Es läuft ja und ich bin wirklich mehr als happy, sowas wie Sonos für 29 EUR / Gerät bekommen zu haben. Es läuft aber leider noch nicht ganz rund, wofür aber mA nach das Modul nichts kann, sondern eher das darunterliegende pychromecast.

Frage mich nur, wieso das Log so geflutet wird. Ich habe playFavorite ja nur einmal aufgerufen.

Grml

Zitat von: Grml am 26 Januar 2018, 10:36:08
ERROR: Unable to download webpage: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Das Problem hatte ich am 15.01. auch, mein FHEM stand komplett still. Mein fhem.log hatte da da schon eine Größe von knapp 900 MB erreicht. Normal sind bei mir am Monatsende 20 - 30 MB...

Also hier gibt es im Modul scheinbar wirklich noch ein massives Problem, zusätzlich zu dem, dass bei vielen Usern die Chromecasts nach einem Neustart auf "initialized" hängen bleiben anstatt auf "online" zu gehen.
So, heute hatte ich genau das gleiche Problem wieder. FHEM hängt weil das Logfile für Februar knapp 900MB hatte... Und heute ist erst der 3.2... Jemand eine Idee, wie man das in den Griff bekommen kann?