fhempy: googlecast

Begonnen von dominik, 04 Dezember 2020, 23:33:53

Vorheriges Thema - Nächstes Thema

dominik

Zitat von: Superposchi am 10 Oktober 2021, 14:23:35
Nein, bei mir geht weder Play noch PlayFavorit. Der Set-Befehl verpufft einfach und es passiert nichts.

Wie gesagt, wenn etwas gestreamt wird, funktioniert die Bedienung perfekt, ur der Start eines Streams geht nicht.
Wie ist denn bei dir die Auswahl des Streaming-Ziels? Kannst du das Google-Gerät direkt auswählen oder musst du auch erst Googlecast auswählen und dann das Gerät.

Eventuell sp_dc/key neu setzen? Vielleicht ist der abgelaufen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

JF Mennedy

ich verstehe die frage nach der auswahl des streaming zieles nicht... wir reden doch vom fhempy modul googlecast, oder? da ist das streaming ziel ja eindeutig, namlich der googlecast von dem der befehl abgesetzt wird...

Superposchi


Superposchi

Hallo, auch hier war die fehlerhafte DNS-Auflösung das Problem

Superposchi

#289
Und täglich grüßt das Murmeltier.
Nachdem ich wegen dem GoogleAssistant meinen Docker-Container neu erstellen musste funktionieren nun die Cast-Devices wieder mal nicht mehr mit Spotify.

Keine Ahnung wie oft schon, aber der Fehler das einfach nichts gestartet wird tritt ja immer wieder auf.
Nur weiß ich nicht, wonach ich noch schauen soll. Die 37.spotify habe ich vom alten Container kopiert, muss also die Anpassungen beinhalten. Authcode und sp_dc, sp_key sind alle neu gesetzt.

Es ist halt blöd, dass es auch keinerlei Hinweis gibt wo es hakt. Es verpufft einfach im Nirvana wenn mit Play eine Spotify-url aufgerufen wird.

Edit: nach dem gefühlt 28. Neustart des Fhem-Servers geht's dann auf einmal.

Tsadan

Hallo Zusammen,

die Einrichtung von fhempy und den devices (5 Google Home Minis, 3 Google Chromecats Audio) in FHEM haben gut funktioniert und ich konnte problemlos Spotify streamen oder "speak"-Ausgaben laufenlassen.
Ich habe aber eine Frage zum Verhalten von fhempy: googlecast und Google Home Mini Geräten in Verbindung mit der Google Home App:

Nachdem ich die Google Home Minis in FHEM mit fhempy:googlecast eingebunden hatte, konnte ich die GHM's in der Google Home App nicht mehr "managen". In der App konnte man nur noch die Lautstärke anpassen. Außerdem waren sie aus den gruppen, die in der Google Home App definiert waren, verschwunden. Die Chromecast Audios funktionierten und waren in der Google Home App weiter normal zu bedienen.

Da die Google Home App ja durchaus für die Konfiguration der GHM gebraucht wird (zumindest kenne ich keinen anderen Weg, die Dinger zu konfigurieren), habe ich die GHM aus FHEM wieder gelöscht und neu gestartet. Danach waren sie wieder voll-umfänglich in der Google Home App konfigurierbar und sind sofort wieder in den Gruppen der Google Home App aufgetaucht.

Hat das außer mir noch jemand beobachten können ?

Im fhempy-Log finde wiederkehrend folgende Fehlermeldung, hab aber keine Ahnung, ob es etwas mit meiner Frage zu tun haben könnte:

Exception in thread zeroconf-ServiceBrowser-_googlecast._tcp-421539:
Traceback (most recent call last):
  File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/opt/fhem/.local/lib/python3.8/site-packages/zeroconf/_services/browser.py", line 538, in run
    self._fire_service_state_changed_event(event)
  File "/opt/fhem/.local/lib/python3.8/site-packages/zeroconf/_services/browser.py", line 421, in _fire_service_state_changed_event
    self._service_state_changed.fire(
  File "/opt/fhem/.local/lib/python3.8/site-packages/zeroconf/_services/__init__.py", line 55, in fire
    h(**kwargs)
  File "/opt/fhem/.local/lib/python3.8/site-packages/zeroconf/_services/browser.py", line 178, in on_change
    getattr(listener, _ON_CHANGE_DISPATCH[state_change])(zeroconf, service_type, name)
  File "/opt/fhem/.local/lib/python3.8/site-packages/pychromecast/discovery.py", line 120, in add_service
    self._add_update_service(zconf, typ, name, self._cast_listener.add_cast)
  File "/opt/fhem/.local/lib/python3.8/site-packages/pychromecast/discovery.py", line 131, in _add_update_service
    service = zconf.get_service_info(typ, name)
  File "/opt/fhem/.local/lib/python3.8/site-packages/zeroconf/_core.py", line 523, in get_service_info
    if info.request(self, timeout, question_type):
  File "/opt/fhem/.local/lib/python3.8/site-packages/zeroconf/_services/info.py", line 436, in request
    return bool(run_coro_with_timeout(self.async_request(zc, timeout, question_type), zc.loop, timeout))
  File "/opt/fhem/.local/lib/python3.8/site-packages/zeroconf/_utils/asyncio.py", line 95, in run_coro_with_timeout
    return asyncio.run_coroutine_threadsafe(aw, loop).result(
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 446, in result
    raise TimeoutError()
concurrent.futures._base.TimeoutError


SouzA

#291
Moin,
ähnliches habe ich auch beobachtet.
Ein kurzes stromlos machen und somit Neustart der Geräte hat bei mir geholfen.

Bis denn
SouzA

Edit:
Hab das jetzt mal beobachtet... War mir bisher nicht aufgefallen.
Die Geräte (manche, nicht alle) sind nach einer geraumen Zeit nicht mehr über die App konfigurierbar. Nach Neustart dieser Geräte sind sie in der App normal verfügbar. Irgendwann nicht mehr.
Bei mir betrifft es Geräte, die in einer Gruppe sind. Dabei komischerweise aber nich alle Geräte aus einer Gruppe.
Kann also die Anmerkung von Tsadan bestätigen.

Edit 2:
Mal nen Tag beobachtet... Jetzt sind nahezu alle Geräte GH-Geräte ausgefallen. Soll bedeuten, dass diese nicht mehr über die App konfiguriert werden können.
Bedienung per Sprache usw. funktioniert aber normal.
Habe den Verdacht, dass es auch was mit dem automatischen Reconnect der DSL-Leitung zu tun haben könnte.
Habe den python-Server jetzt gestoppt und werde mal weiter beobachten.
1. Ob die Geräte jetzt von allein wieder konfigurierbar werden
2. Wenn nein, werde ich das morgen mit nem Restart der Geräte initiieren und einen weiteren Tag beobachten ohne python-Server.

Edit 3:
Vollzug kann gemeldet werden.
Nach abschalten des python-Server sind kurze Zeit später alle Geräte wieder konfigurierbar.
Also irgendwie blockiert der Server die App?!
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee

SouzA

Hi,

nochmal eine andere Frage zu fhempy.
fhempy erstellt ja seinen Log.
Problem: Ich kann von diesem Log-Device die Room-Zuordnung nicht dauerhaft setzen. Wenn ich an einem Tag den Room setze, dann ist es am nächsten Tag wieder in Unsorted.

Kann das noch jemand nachvollziehen?

Thx und 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

SouzA

Moin,

ich noch mal...
Hat noch jemand das Problem, dass ein Großteil der Googlecast-Geräte irgendwann offline ist?

2021-10-28 11:14:33,502 - ERROR    - pychromecast.socket_client: [Chromecast(192.168.178.70):8009] Error reading from socket.
2021-10-28 11:14:36,322 - ERROR    - Spotify: Failed to update status
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 445, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/opt/fhem/.local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 440, in _make_request
    httplib_response = conn.getresponse()
  File "/opt/fhem/.local/lib/python3.7/site-packages/sentry_sdk/integrations/stdlib.py", line 107, in getresponse
    rv = real_getresponse(self, *args, **kwargs)
  File "/usr/lib/python3.7/http/client.py", line 1352, in getresponse
    response.begin()
  File "/usr/lib/python3.7/http/client.py", line 310, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.7/http/client.py", line 271, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/lib/python3.7/socket.py", line 589, in readinto
    return self._sock.recv_into(b)
  File "/usr/lib/python3.7/ssl.py", line 1052, in recv_into
    return self.read(nbytes, buffer)
  File "/usr/lib/python3.7/ssl.py", line 911, in read
    return self._sslobj.read(len, buffer)
socket.timeout: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/requests/adapters.py", line 449, in send
    timeout=timeout
  File "/opt/fhem/.local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 756, in urlopen
    method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
  File "/opt/fhem/.local/lib/python3.7/site-packages/urllib3/util/retry.py", line 532, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/opt/fhem/.local/lib/python3.7/site-packages/urllib3/packages/six.py", line 770, in reraise
    raise value
  File "/opt/fhem/.local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 706, in urlopen
    chunked=chunked,
  File "/opt/fhem/.local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 447, in _make_request
    self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
  File "/opt/fhem/.local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 337, in _raise_timeout
    self, url, "Read timed out. (read timeout=%s)" % timeout_value
urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='api.spotify.com', port=443): Read timed out. (read timeout=5)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/spotify/spotify.py", line 342, in update_playback
    functools.partial(self.spotipy.current_playback)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 33, in run_blocking
    return await asyncio.get_event_loop().run_in_executor(pool, function)
  File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/opt/fhem/.local/lib/python3.7/site-packages/spotipy/client.py", line 1697, in current_playback
    return self._get("me/player", market=market, additional_types=additional_types)
  File "/opt/fhem/.local/lib/python3.7/site-packages/spotipy/client.py", line 291, in _get
    return self._internal_call("GET", url, payload, kwargs)
  File "/opt/fhem/.local/lib/python3.7/site-packages/spotipy/client.py", line 242, in _internal_call
    timeout=self.requests_timeout, **args
  File "/opt/fhem/.local/lib/python3.7/site-packages/requests/sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "/opt/fhem/.local/lib/python3.7/site-packages/requests/sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "/opt/fhem/.local/lib/python3.7/site-packages/requests/adapters.py", line 529, in send
    raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='api.spotify.com', port=443): Read timed out. (read timeout=5)
2021-10-28 11:15:36,395 - WARNING  - urllib3.connectionpool: Retrying (Retry(total=2, connect=None, read=False, redirect=None, status=3)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xb4fc2590>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /v1/me/player
2021-10-28 11:15:36,997 - WARNING  - urllib3.connectionpool: Retrying (Retry(total=1, connect=None, read=False, redirect=None, status=3)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xb29e7bb0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /v1/me/player
2021-10-28 11:15:38,200 - WARNING  - urllib3.connectionpool: Retrying (Retry(total=0, connect=None, read=False, redirect=None, status=3)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xb158bb30>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /v1/me/player
2021-10-28 11:15:38,202 - ERROR    - Spotify: Failed to update status
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/urllib3/connection.py", line 175, in _new_conn
    (self._dns_host, self.port), self.timeout, **extra_kw
  File "/opt/fhem/.local/lib/python3.7/site-packages/urllib3/util/connection.py", line 73, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
  File "/usr/lib/python3.7/socket.py", line 748, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Temporary failure in name resolution

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 706, in urlopen
    chunked=chunked,
  File "/opt/fhem/.local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 382, in _make_request
    self._validate_conn(conn)
  File "/opt/fhem/.local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 1010, in _validate_conn
    conn.connect()
  File "/opt/fhem/.local/lib/python3.7/site-packages/urllib3/connection.py", line 358, in connect
    conn = self._new_conn()
  File "/opt/fhem/.local/lib/python3.7/site-packages/urllib3/connection.py", line 187, in _new_conn
    self, "Failed to establish a new connection: %s" % e
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0xb4ffef70>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/requests/adapters.py", line 449, in send
    timeout=timeout
  File "/opt/fhem/.local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 796, in urlopen
    **response_kw
  File "/opt/fhem/.local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 796, in urlopen
    **response_kw
  File "/opt/fhem/.local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 796, in urlopen
    **response_kw
  File "/opt/fhem/.local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 756, in urlopen
    method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
  File "/opt/fhem/.local/lib/python3.7/site-packages/urllib3/util/retry.py", line 574, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.spotify.com', port=443): Max retries exceeded with url: /v1/me/player (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xb4ffef70>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/spotify/spotify.py", line 342, in update_playback
    functools.partial(self.spotipy.current_playback)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 33, in run_blocking
    return await asyncio.get_event_loop().run_in_executor(pool, function)
  File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/opt/fhem/.local/lib/python3.7/site-packages/spotipy/client.py", line 1697, in current_playback
    return self._get("me/player", market=market, additional_types=additional_types)
  File "/opt/fhem/.local/lib/python3.7/site-packages/spotipy/client.py", line 291, in _get
    return self._internal_call("GET", url, payload, kwargs)
  File "/opt/fhem/.local/lib/python3.7/site-packages/spotipy/client.py", line 242, in _internal_call
    timeout=self.requests_timeout, **args
  File "/opt/fhem/.local/lib/python3.7/site-packages/requests/sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "/opt/fhem/.local/lib/python3.7/site-packages/requests/sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "/opt/fhem/.local/lib/python3.7/site-packages/requests/adapters.py", line 516, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='api.spotify.com', port=443): Max retries exceeded with url: /v1/me/player (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xb4ffef70>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))
2021-10-28 11:15:41,038 - ERROR    - pychromecast.socket_client: [Chromecast(192.168.178.70):8009] Failed to connect to service ServiceInfo(type='host', data=('192.168.178.70', 8009)), retrying in 5.0s


Siehe dazu Bild im Anhang...
Läuft auf Raspi 4 mit Buster.

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

JF Mennedy

Hallo,

Ja, habe auch seit einem der letzten Updates (irgendwo bei 0.1.157) das Problem. Bei mir kommt noch hinzu, dass mein FHEM irgendwann blockiert oder total langsam ist. Habe jetzt mal alles googlecasts gelöscht und schaue, ob es dann nicht mehr blockiert. Nach einem Neustart von fhempy geht auf jeden Fall alles wieder normal.

Gruss Jan

SouzA

#295
Ähnlich bei mir... eben gerade konnt ich noch nicht mal nen Updatecheck machen. Lief mit nem TimeOut aus.
Nachdem ich "set Pythonbinding stop" gemacht habe, funktionierte es.

Bis denn
SouzA

Edit:
Ich sehe gerade im Log, das eigentlich der gesamte Netzverkehr lahmgelegt wurde.

Kann mir jemand den Befehl nennen, wie man das fhempy vom Raspi wieder deinstalliert?  ::)

Edit 2:
Wenn man den Server stopt, wird das Log alle 10 Sekunden schön befüllt...
2021.10.28 12:41:24 1: BindingsIo (local_pybinding): ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.10.28 12:41:34 1: BindingsIo (local_pybinding): ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.10.28 12:41:44 1: BindingsIo (local_pybinding): ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee

dominik

Hi,
Problem ist bekannt und ich bin noch auf Fehlersuche.

Könnt ihr bitte mal
sudo -u fhem bash
pip3 install fhempy==0.1.160
mach und dann fhempy neu starten? Lasst mich wissen ob es mit 0.1.160 läuft. Danke!
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Ich habe gerade 0.1.166 released, bitte um test dieser Version ob der Fehler weiterhin auftritt.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

SouzA

Zitat von: dominik am 28 Oktober 2021, 23:04:26
Ich habe gerade 0.1.166 released, bitte um test dieser Version ob der Fehler weiterhin auftritt.

Moin,
danke für deine Arbeit!

Bisher keine Beanstandungen meinerseits.
Keine Offline und in der App lassen sich auch alle konfigurieren.
Läuft jetzt seit knapp 3 Stunden.

Wenn was ist, melde ich mich.

Thx und 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

JF Mennedy

Guten Morgen,

ich habe auch vor ca. 2 Stunden das Update gemacht und lasse seitdem mal ein Castdevice streamen. Bis jetzt alles in Ordnung und das log sieht auch ganz gut aus :-)

Gruss Jan