fhempy: googlecast

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

Vorheriges Thema - Nächstes Thema

dominik

Hast du dich im Inkognito Browser eh nicht abgemeldet? Also Logout bei Spotify gedrückt.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Superposchi

Nein, ist auf dem Notebook geöffnet und das hab ich einfach zugeklappt so dass alles in den Ruhezustand geht, dadurch bleiben Anmeldungen erhalten. Habs gerade extra noch mal nachgeschaut.
Allerdings habe ich mich ja angemeldet bevor du das mit dieser 1 Stunde gefunden hattest, weiß also nicht ob die Keys trotz laufender Anmeldung nicht "veraltet sind".

dominik

Ich habe es gerade bei mir nochmals mit einem dc/key Paar von gestern auf meinem Nest Hub Max probiert. Funktioniert.
Was kommt für eine Fehlermeldung? Was steht im Log?

Hat sonst schon jemand getestet?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

a_quadrat

Ich habe es seit gestern am Laufen. Bis jetzt funktioniert es ohne Probleme  :).

VG Andreas

Superposchi

Also ich habe mich jetzt bei allen Spotify-Anwendungen abgemeldet und anschließend im normalen Chrome Broser wieder angemeldet.
Nach dem Server-Neustart stehen die beiden Devices für die Nest-Lautsprecher statt wie vorher auf "online" jetzt wieder auf:
Failed to execute function Define: Traceback (most recent call last): File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 335, in _onMessage fct_timeout, File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for return fut.result() File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/googlecast/googlecast.py", line 112, in Define await super().Define(hash, args, argsh) File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/generic.py", line 86, in Define await utils.handle_define_attr(self._conf_attr, self, hash) File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 108, in handle_define_attr await fct_call(hash) File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/googlecast/googlecast.py", line 255, in set_attr_spotify_cookie data = st.start_session(self._attr_spotify_sp_dc, self._attr_spotify_sp_key) File "/opt/fhem/.local/lib/python3.7/site-packages/spotify_token.py", line 19, in start_session headers=headers, cookies=cookies) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 546, in get return self.request('GET', url, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 533, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 668, in send history = [resp for resp in gen] if allow_redirects else [] File "/usr/lib/python3/dist-packages/requests/sessions.py", line 668, in history = [resp for resp in gen] if allow_redirects else [] File "/usr/lib/python3/dist-packages/requests/sessions.py", line 165, in resolve_redirects raise TooManyRedirects('Exceeded %s redirects.' % self.max_redirects, response=resp) requests.exceptions.TooManyRedirects: Exceeded 30 redirects.
Die Lautsprechergruppe ist von "Online" auf "PythonBinding timeout" gewechselt.

Speak und alle anderen Befehle können nicht mehr ausgewählt werden.

Hier das List des Wohnzimmerlautsprechers:
Internals:
   .AttrList  favorite_1 favorite_2 favorite_3 favorite_4 favorite_5 spotify_sp_dc spotify_sp_key IODev event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading
   .FhemMetaInternals 1
   DEF        googlecast Wohnzimmerlautsprecher
   FUUID      5ff499cd-f33f-793a-00f2-d3111a8f03bbe3f5
   FVERSION   10_PythonModule.pm:0.182830/2019-01-16
   IODev      local_pybinding
   NAME       Wohnzimmerlautsprecher
   NR         191
   PYTHONTYPE googlecast
   STATE      Failed to execute function Define: Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 335, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/googlecast/googlecast.py", line 112, in Define
    await super().Define(hash, args, argsh)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/generic.py", line 86, in Define
    await utils.handle_define_attr(self._conf_attr, self, hash)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 108, in handle_define_attr
    await fct_call(hash)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/googlecast/googlecast.py", line 255, in set_attr_spotify_cookie
    data = st.start_session(self._attr_spotify_sp_dc, self._attr_spotify_sp_key)
  File "/opt/fhem/.local/lib/python3.7/site-packages/spotify_token.py", line 19, in start_session
    headers=headers, cookies=cookies)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 546, in get
    return self.request('GET', url, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 668, in send
    history = [resp for resp in gen] if allow_redirects else []
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 668, in <listcomp>
    history = [resp for resp in gen] if allow_redirects else []
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 165, in resolve_redirects
    raise TooManyRedirects('Exceeded %s redirects.' % self.max_redirects, response=resp)
requests.exceptions.TooManyRedirects: Exceeded 30 redirects.

   TYPE       PythonModule
   .attraggr:
   .attrminint:
   READINGS:
     2021-01-05 20:35:04   app_id         
     2021-01-05 17:54:41   cast_type       cast
     2021-01-06 04:31:48   connection      connected
     2021-01-05 20:35:04   display_name   
     2021-01-05 17:54:41   ignore_cec      0
     2021-01-05 17:54:41   is_active_input 0
     2021-01-05 17:54:41   is_stand_by     1
     2021-01-05 18:30:29   mediaContentId 
     2021-01-05 18:30:29   mediaContentType
     2021-01-05 18:25:29   mediaCurrentPosPercent
     2021-01-05 18:25:29   mediaCurrentPosition
     2021-01-05 18:30:29   mediaDuration   
     2021-01-05 18:30:29   mediaPlayerState UNKNOWN
     2021-01-05 18:30:29   mediaStreamType UNKNOWN
     2021-01-05 17:54:41   model_name      Google Nest Mini
     2021-01-05 17:54:41   mute            0
     2021-01-05 17:54:41   name            Wohnzimmerlautsprecher
     2021-01-05 20:35:04   session_id     
     2021-01-05 18:17:11   spotify_user    attr spotify_sp... required
     2021-01-06 17:24:19   state           Failed to execute function Define: Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 335, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/googlecast/googlecast.py", line 112, in Define
    await super().Define(hash, args, argsh)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/generic.py", line 86, in Define
    await utils.handle_define_attr(self._conf_attr, self, hash)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 108, in handle_define_attr
    await fct_call(hash)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/googlecast/googlecast.py", line 255, in set_attr_spotify_cookie
    data = st.start_session(self._attr_spotify_sp_dc, self._attr_spotify_sp_key)
  File "/opt/fhem/.local/lib/python3.7/site-packages/spotify_token.py", line 19, in start_session
    headers=headers, cookies=cookies)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 546, in get
    return self.request('GET', url, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 668, in send
    history = [resp for resp in gen] if allow_redirects else []
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 668, in <listcomp>
    history = [resp for resp in gen] if allow_redirects else []
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 165, in resolve_redirects
    raise TooManyRedirects('Exceeded %s redirects.' % self.max_redirects, response=resp)
requests.exceptions.TooManyRedirects: Exceeded 30 redirects.

     2021-01-05 20:35:04   status_text     
     2021-01-05 18:30:29   transport_id   
     2021-01-05 17:54:41   uuid            ec715a28-897e-dc95-3c87-e44ecb1699c0
     2021-01-06 14:20:05   volume          65
   args:
     Wohnzimmerlautsprecher
     PythonModule
     googlecast
     Wohnzimmerlautsprecher
   argsh:
Attributes:
   IODev      local_pybinding
   cmdIcon    pause:rc_PAUSE play:rc_PLAY
   favorite_1 https://open.spotify.com/playlist/37i9dQZF1EgoFqquhlQhCX
   favorite_2 https://open.spotify.com/playlist/4MwJ4E9RlPUii28R0t5dDL
   favorite_3 https://open.spotify.com/playlist/2RxtpesK6vFl9g4q9YQdwD
   favorite_4 https://open.spotify.com/playlist/2ftQtVEUV8RnTI8HQ67OYb
   group      Audio
   icon       audio_loudness
   room       Devices
   spotify_sp_dc xxx
   spotify_sp_key xxx
   webCmd     volume:play:pause

Superposchi

#125
Ich habe testweise beim Wohnzimmerlautsprecher die beiden Attribute SP_DC und SP_Key gelöscht und den Server neugestartet.
Resultat: Der Wohnzimmerlautsprecher steht wieder auf online und ist für eine Befehleingabe bereit.

Der Fehler kommt und geht mit dem setzen der beiden Attribute.

Was mir im Startlog des Containers aufgefallen ist (Also das Protokoll von Fhem beim Starten) sind folgende Zeilen:
2021.01.06 18:28:48.543 1: BindingsIo: ERROR: Timeout while waiting for function to finish (id: 74142870)                                                                                                                                       
2021.01.06 18:28:51.055 1: BindingsIo: ERROR: Timeout while waiting for function to finish (id: 65998167)

dominik

Hi,
in dem Fehlerauszug sehe ich, dass du noch nicht die letzte Version nutzt. Bitte mach noch ein "update". Sollte dann 0.1.18 im BindingsIo Device angezeigt werden.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Superposchi

So, ich habe Fhem noch mal upgedated, und den Server mit shutdown restart neugestartet und den kompletten Container neugestartet.
Es gibt jetzt nur noch 1 Zeile bezüglich Bindingslo im Startprotokoll
2021.01.07 13:40:14.215 1: BindingsIo: ERROR: Timeout while waiting for function to finish (id: 54137577)

Beim start meckerte er mir auch ein Problem mit meiner 99_myutils an, was vorher noch nie der Fall war und ich die Datei auch nicht geändert habe. Nur zur Info.

a_quadrat

ich weiss nicht ob es eine Rolle spielt, aber meine Python Version ist 3.8.

dominik

Zitat von: Superposchi am 07 Januar 2021, 13:43:18
So, ich habe Fhem noch mal upgedated, und den Server mit shutdown restart neugestartet und den kompletten Container neugestartet.
Es gibt jetzt nur noch 1 Zeile bezüglich Bindingslo im Startprotokoll
2021.01.07 13:40:14.215 1: BindingsIo: ERROR: Timeout while waiting for function to finish (id: 54137577)

Beim start meckerte er mir auch ein Problem mit meiner 99_myutils an, was vorher noch nie der Fall war und ich die Datei auch nicht geändert habe. Nur zur Info.

Ok, und was ist der Status mit Spotify? Das Timeout ist aber auch eigenartig, in welchem Bereich des Logs kommt das? Was steht davor und danach?

Die Python Version sollte damit nicht zusammen hängen. Ich nutze 3.7.3.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Superposchi

In dem Thread https://forum.fhem.de/index.php/topic,117513.msg1119042.html#new habe ich ein kompletteres Startprotokoll eingestellt, kannst du dort schauen was vorher und hinterher steht wenn das wichtig für dich ist. es handelt sich dabei um das Protokoll, dass der Container beim Start produziert, sollte meines Wissens identisch mit dem Fhem-Log sein.

Die Attribute sp_dc und sp_key habe ich gelöscht, bei den Readings steht bezüglich Spotify nur noch:
spotify_user              attr spotify_sp... required                  2021-01-08 08:34:41

Sobald ich die Attribute einfüge kommt die bereits mehrfach geschriebene Fehlermeldung im state-reading.

dominik

Zitat von: Superposchi am 08 Januar 2021, 08:42:26
In dem Thread https://forum.fhem.de/index.php/topic,117513.msg1119042.html#new habe ich ein kompletteres Startprotokoll eingestellt, kannst du dort schauen was vorher und hinterher steht wenn das wichtig für dich ist. es handelt sich dabei um das Protokoll, dass der Container beim Start produziert, sollte meines Wissens identisch mit dem Fhem-Log sein.

Die Attribute sp_dc und sp_key habe ich gelöscht, bei den Readings steht bezüglich Spotify nur noch:
spotify_user              attr spotify_sp... required                  2021-01-08 08:34:41

Sobald ich die Attribute einfüge kommt die bereits mehrfach geschriebene Fehlermeldung im state-reading.

Welche mehrfach geschriebene Fehlermeldung meinst du? Seit dem Update finde ich hier keine, außer die Startfehlermeldung.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Superposchi

Ich hatte mindestens dreimal eine 8-zeiligen Text der im STATE angezeigt wurde sobald die Attribute eingefügt waren gepostet, finde aber keinen einzigen mehr davon.
Ist aber auch egal, es läuft. Ich habe den Fehler gefunden. Beim Einfügen des SP_DC wurde im Dialogfesnter nie der komplette String angezeigt. Es wurde vorne vorne etwas abgeschnitten, somit habe ich einen unvollständigen String eingefügt.
Hinten hatte ich kontrolliert, aber vorne nicht.

Mal sehen ob es auf dauer so bleibt wenn ich die App am Notebook starte.

dominik

Nach meiner Info, dass du ein "update" machen sollst (06 Januar 2021, 23:17:25), hast du nichts mehr gepostet. Also bitte keine falschen Behauptungen anstellen.

Aber ok, jetzt läuft es ja...
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Superposchi

Nein, dass war vorher, letzten Freitag- vergangenen Sonntag. Und ich finde sie ja selber nicht mehr.
Du hattest auch nie wirklich darauf reagiert, jetzt ist offensichtlich warum - die Post wurde aus irgendeinem Grund nicht im Forum veröffentlicht.

Ja, es läuft im Moment, aber das hatten wir ja schon öfters.
Nachdem ich dann auf "normalem Weg" Spotify gehört habe ging es dann plötzlich nicht mehr. Deshalb freue ich mich nicht zu früh.
Wenn du bis Di/Mi nichts von mir gehört hast, dann können wir davon ausgehen, dass es dauerhaft funktioniert.