FHEM Forum

FHEM - Anwendungen => Multimedia => Thema gestartet von: dominik am 04 Dezember 2020, 23:33:53

Titel: fhempy: googlecast
Beitrag von: dominik am 04 Dezember 2020, 23:33:53
Hallo zusammen,

ich mach hier einen neuen Thread auf um sich vom alten GOOGLECAST Modul abzugrenzen.

In diesem Thread soll nur mehr das neue googlecast Modul via fhempy (https://github.com/dominikkarall/fhem_pythonbinding/blob/master/README.md) diskutiert werden, damit ist die Trennung auch klarer und sollte zukünftig weniger Verwirrungen für Neueinsteiger bringen.

Wer fhempy noch nicht kennt, noch eine kurze Zusammenfassung:
fhempy ermöglicht es FHEM Module in Python zu schreiben. Dazu wird fhempy innerhalb von FHEM gestartet welches dann über Websockets mit FHEM kommuniziert. Die Basisinstallation von fhempy ist Voraussetzung um die Module nutzen zu können.

Installationsanleitung in 5 Schritten:
https://github.com/dominikkarall/fhem_pythonbinding/blob/master/README.md

googlecast Nutzung:
https://github.com/dominikkarall/fhem_pythonbinding/blob/master/FHEM/bindings/python/lib/googlecast/README.md
Titel: Antw:fhempy: googlecast
Beitrag von: KOAL am 11 Dezember 2020, 06:59:12
Hi,

dankeschön, das neue Plugin für Chromecast funktioniert wunderbar.
Super Sache!!!!
Und das man die Xiaomi-token auslesen kann ist ja der Hammer. (ich hatte da bis jetzt immer so eine gehackte APK am Handy)

Ich muss noch testen ob Chromcast auch in einem anderen Netzwerk funktioniert, das alte konnte das nicht.
Internet >> Firewall-1>>Chromcast (usw..)>>Firewall-2>>Fhem

Frage:
Ist es besser die Xiaomi Geräte mit dem neuen Plugin zu betreiben oder kann man auf dem alten Plugin bleiben?
Gibt es da unterschiede?


LG
KOAL
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 11 Dezember 2020, 19:04:45
Hi,

FHEM über die Firewall mit dem Chromecast zu verbinden ist sicher technisch möglich. Musst nur prüfen welchen Ports du alles freischalten musst. Wichtig ist, dass mDNS über die Firewall hinweg funktioniert.

Bzgl. der Xiaomi Geräte, das kommt auf das Gerät drauf an. miio unterstützt alle Geräte die direkt im WLAN hängen, xiaomi_gateway3 alle Geräte die an dem Xiaomi Gateway 3 hängen. Es hängt also vom Gerät ab das du einbinden willst. Für weitere Fragen dazu bitte den fhempy miio oder xiaomi_gateway3 Thread nutzen.
Titel: Antw:fhempy: googlecast
Beitrag von: OliverHH am 22 Dezember 2020, 15:21:28
Hi,

ich habe heut einmal das neue Modul nach Anleitung installiert.

Nach der Istallation bleibt das BindingsIo Device "disconnected"

Im FHEM Log kommt wiederholt:
2020.12.22 15:04:48 1 : BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2020.12.22 15:04:48 1 : BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2020.12.22 15:04:58 1 : BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2020.12.22 15:04:58 1 : BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2020.12.22 15:04:59 3 : Pythonbinding_15733: starting
2020.12.22 15:04:59 3 : Pythonbinding_15733: using logfile: ./log/PythonBinding-2020-12-22.log
2020.12.22 15:04:59 3 : Pythonbinding_15733: read: end of file reached while sysread
2020.12.22 15:04:59 3 : Pythonbinding_15733: stopped

das PythonBinding Log sagt folgendes, auch vielfach wiederholt:
SyntaxError: invalid syntax
  File "FHEM/bindings/python/bin/fhempy", line 88
    logging.getLogger(__name__).info(f"Successfully installed {package}")
                                                                       ^

Hat jemand einen Tipp, wo ich ansetzen kann?

Danke & Viele Grüße,
Oliver
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 22 Dezember 2020, 15:24:42
Welche Python Version wird benutzt?
Titel: Antw:fhempy: googlecast
Beitrag von: OliverHH am 22 Dezember 2020, 15:30:20
Welche Python Version wird benutzt?

Es ist die Version 3.5.3-1
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 22 Dezember 2020, 15:33:36
https://github.com/dominikkarall/fhempy#installation

Python >= 3.7 ist notwendig.

Kannst du bitte mal python3 auf der Console starten und folgendes eingeben
>>> import sys
>>> sys.version_info
sys.version_info(major=3, minor=7, micro=3, releaselevel='final', serial=0)

Weil eigentlich solltest du eine Fehlermeldung erhalten, dass deine Python Version zu alt ist.
Titel: Antw:fhempy: googlecast
Beitrag von: OliverHH am 22 Dezember 2020, 15:40:40
Es ist tatsächlich die falsche Version:
>>> import sys
>>> sys.version_info
sys.version_info(major=3, minor=5, micro=3, releaselevel='final', serial=0)

Wenn ich sudo apt install python3 python3-pip libssl-dev libffi-dev eingebe wird aber nichts weiter aktualisiert.


Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 22 Dezember 2020, 15:44:08
Ich glaube da musst du auf Buster aktualisieren.
Titel: Antw:fhempy: googlecast
Beitrag von: OliverHH am 22 Dezember 2020, 19:36:41
Ich glaube da musst du auf Buster aktualisieren.

Danke, das war der entscheidende Hinweis!
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 25 Dezember 2020, 17:08:53
Zur Info, wahrscheinlich kann ich heute die Spotify Integration noch online stellen :)
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 25 Dezember 2020, 21:03:44
Spotify Support ist online.

Man muss dazu die Attribute
 - spotify_sp_dc
 - spotify_sp_key
setzen. Wie das geht, steht direkt unter den Attributen wenn man diese auswählt.

Danach
set cast play https://open.spotify.com/artist/4PBCFEjR4a3OGdOZ6jeKKM
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 28 Dezember 2020, 11:21:09
Hallo, hatte schon im original spotify-Thread geschrieben, aber da kommt leider keine Reaktion.

Ich habe das Problem, dass bei mir immer angezeigt wird, dass das Modul nicht geladen werden kann wenn ich versuche das Device zu erstellen. Cannot load module Spotify
Api habe ich selbstverständlich erstellt und die Reurl auch eingetragen. Die beiden Schlüssel vor dem Erstellen ausgelesen und entsprechend ins define eingefügt.

Hier was beim ausführen des Define im Log auftaucht:
2020.12.28 11:18:59.174 1: reload: Error:Modul 37_Spotify deactivated:
 Too many arguments for Cpanel::JSON::XS::encode_json at ./FHEM/37_Spotify.pm line 368, near "0)"
Not enough arguments for main::Spotify_apiRequest at ./FHEM/37_Spotify.pm line 368, near "0)"
Too many arguments for Cpanel::JSON::XS::encode_json at ./FHEM/37_Spotify.pm line 376, near "0)"
Not enough arguments for main::Spotify_apiRequest at ./FHEM/37_Spotify.pm line 376, near "0)"

2020.12.28 11:18:59.174 0: Too many arguments for Cpanel::JSON::XS::encode_json at ./FHEM/37_Spotify.pm line 368, near "0)"
Not enough arguments for main::Spotify_apiRequest at ./FHEM/37_Spotify.pm line 368, near "0)"
Too many arguments for Cpanel::JSON::XS::encode_json at ./FHEM/37_Spotify.pm line 376, near "0)"
Not enough arguments for main::Spotify_apiRequest at ./FHEM/37_Spotify.pm line 376, near "0)"
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 28 Dezember 2020, 11:54:25
Hi,

da bist du hier falsch, hier geht es nur um das googlecast Modul, welches Spotify abspielen am Cast Device ermöglicht.
Titel: Antw:fhempy: googlecast
Beitrag von: benedikt-wue am 28 Dezember 2020, 13:28:20
Hi,
ich finde es toll, dass Du das Modul weiterentwickelst! Vielen Dank dafür!
Leider funktioniert es bei mir nicht, die Attribute werden bei mir nicht angezeigt... liege ich richtig, dass ich über "update all" aktualisieren muss? Bei "update list" zeigt er mir dann auch schon an, dass das Update scheinbar noch nicht durchgeführt wurde (dominkkarall wird immer noch aufgeführt). Bei "update all" stand bei den GoogleDevices auch, dass FHEM irgendwas "installiert", aber eine Veränderung konnte ich danach nicht feststellen. Neustart von FHEM wurde natürlich durchgeführt.
Würdest Du mir weiterhelfen bzw mir sagen, welche Infos Du noch brauchst, um den Fehler einzugrenzen?
Schöne Grüße

2020.12.28 13:36:55 1 : Downloading https://fhem.de/fhemupdate/controls_fhem.txt
2020.12.28 13:36:55 1 :
2020.12.28 13:36:55 1 : fhem
2020.12.28 13:36:56 1 : nothing to do...
2020.12.28 13:36:56 1 : Downloading https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt
2020.12.28 13:36:56 1 :
2020.12.28 13:36:56 1 : fhemtabletui
2020.12.28 13:36:56 1 : nothing to do...
2020.12.28 13:36:56 1 : Downloading https://raw.githubusercontent.com/dominikkarall/fhempy/master/controls_pythonbinding.txt
2020.12.28 13:36:56 1 :
2020.12.28 13:36:56 1 : pythonbinding
2020.12.28 13:36:57 1 : nothing to do...
2020.12.28 13:36:57 1 : Downloading https://raw.githubusercontent.com/ThorstenPferdekaemper/FHEM-FUIP/master/controls_fuip.txt
2020.12.28 13:36:57 1 :
2020.12.28 13:36:57 1 : fuip
2020.12.28 13:36:57 1 : nothing to do...

http://fhem.de/fhemupdate/controls_fhem.txt
https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt
https://raw.githubusercontent.com/dominikkarall/fhempy/master/controls_pythonbinding.txt
https://raw.githubusercontent.com/ThorstenPferdekaemper/FHEM-FUIP/master/controls_fuip.txt
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 28 Dezember 2020, 15:35:22
Hi,
mach bitte Mal
sudo -u fhem pip3 uninstall fhempyUnd starte danach FHEM neu.
Titel: Antw:fhempy: googlecast
Beitrag von: benedikt-wue am 28 Dezember 2020, 17:06:39
Das war die Lösung, jetzt kann ich mich weiter reinfuchsen! Vielen Dank!

edit:
spotify_user
attr spotify_sp... required

aber bin nach Anleitung vorgegangen... abspielen tut er die Beispiel - Playlist leider nicht

edit2:
naja, vielleicht sollte ich geduldiger werden und FHEM einfach nochmal neu starten :-) Außerdem sind Seiler und Speer eine hervorragende Wahl :-)
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 28 Dezember 2020, 18:06:45
 :)) Eigentlich sollte es auch ohne Neustart gehen, das muss ich mir nochmals ansehen.
Titel: Antw:fhempy: googlecast
Beitrag von: ReneH87 am 29 Dezember 2020, 14:21:22
So, nach einigem Probieren hab ichs jetzt auch am Laufen :)

Musste allerdings aiohttp, pychromecast, spotipy, spotify_token und youtube_dl manuell installieren. Evtl. weil ich die Remote Variante am Laufen habe auf dem separaten raspi?

Ansonsten mal noch eine andere Frage: gibts die Möglichkeit, dass er nach einem "speak" Befehl mit dem vorher laufenden Stream weitermacht? Bisher hab ich mir damit beholfen, dass ich vor dem Befehl die "mediaContentId" merke und danach die URL mit "play" wieder abspiele. Funktioniert, hat aber den Nachteil, dass Cover, Texte usw. nicht mehr angezeigt werden.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 29 Dezember 2020, 15:09:08
Hi,
ja, sollte machbar sein, zumindest für Streams.

Kannst du mir mal ein Log posten wo eines der Packages nicht installiert war? Das sollte sich immer von selbst installieren.
Titel: Antw:fhempy: googlecast
Beitrag von: ReneH87 am 29 Dezember 2020, 15:36:04
Auf dem remote Pybinding war nichts in den Logs, weder Fehler, noch andere Log Einträge zu dem Zeitpunkt. Der Fehler war immer nur innerhalb von fhem zu sehen, beim Defininieren des Cast Devices bzw. dann innerhalb vom neuen Cast Device. Davon hab ich leider keinen Log Auszug, aber im Prinzip war immer nur der Teil zu sehen, dass eines der Pakete gefehlt hat.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 29 Dezember 2020, 16:15:11
journalctl -u fhempy
Sollte dir am remote peer das Log anzeigen, vielleicht findest du da noch was. Es sollte stehen, Installation failed oder so.
Titel: Antw:fhempy: googlecast
Beitrag von: ReneH87 am 29 Dezember 2020, 19:00:06
Ich hab mal alles von heute hier reinkopiert, ich kann darin nichts in der Richtung finden. Hatte auch während dem Einrichten "journalctl -fu fhempy" am Laufen und da kamen zu dem Zeitpunkt keine neuen Zeilen dazu

Dec 29 12:49:02 raspberrypi systemd[1]: Started FHEM PythonBinding.
Dec 29 12:49:05 raspberrypi fhempy[2510]: 2020-12-29 12:49:05,963 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
Dec 29 12:49:15 raspberrypi fhempy[2510]: 2020-12-29 12:49:15,764 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 192.168.5.2
Dec 29 12:49:15 raspberrypi fhempy[2510]: 2020-12-29 12:49:15,796 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 192.168.5.2
Dec 29 12:49:16 raspberrypi fhempy[2510]: 2020-12-29 12:49:16,488 - ERROR    - lib.fhem_pythonbinding: Connection closed error
Dec 29 12:49:16 raspberrypi fhempy[2510]: Traceback (most recent call last):
Dec 29 12:49:16 raspberrypi fhempy[2510]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 827, in transfer_data
Dec 29 12:49:16 raspberrypi fhempy[2510]:     message = await self.read_message()
Dec 29 12:49:16 raspberrypi fhempy[2510]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 895, in read_message
Dec 29 12:49:16 raspberrypi fhempy[2510]:     frame = await self.read_data_frame(max_size=self.max_size)
Dec 29 12:49:16 raspberrypi fhempy[2510]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 971, in read_data_frame
Dec 29 12:49:16 raspberrypi fhempy[2510]:     frame = await self.read_frame(max_size)
Dec 29 12:49:16 raspberrypi fhempy[2510]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 1051, in read_frame
Dec 29 12:49:16 raspberrypi fhempy[2510]:     extensions=self.extensions,
Dec 29 12:49:16 raspberrypi fhempy[2510]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/framing.py", line 105, in read
Dec 29 12:49:16 raspberrypi fhempy[2510]:     data = await reader(2)
Dec 29 12:49:16 raspberrypi fhempy[2510]:   File "/usr/lib/python3.7/asyncio/streams.py", line 677, in readexactly
Dec 29 12:49:16 raspberrypi fhempy[2510]:     raise IncompleteReadError(incomplete, n)
Dec 29 12:49:16 raspberrypi fhempy[2510]: asyncio.streams.IncompleteReadError: 0 bytes read on a total of 2 expected bytes
Dec 29 12:49:16 raspberrypi fhempy[2510]: The above exception was the direct cause of the following exception:
Dec 29 12:49:16 raspberrypi fhempy[2510]: Traceback (most recent call last):
Dec 29 12:49:16 raspberrypi fhempy[2510]:   File "/usr/local/lib/python3.7/dist-packages/lib/fhem_pythonbinding.py", line 42, in pybinding
Dec 29 12:49:16 raspberrypi fhempy[2510]:     async for message in websocket:
Dec 29 12:49:16 raspberrypi fhempy[2510]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 439, in __aiter__
Dec 29 12:49:16 raspberrypi fhempy[2510]:     yield await self.recv()
Dec 29 12:49:16 raspberrypi fhempy[2510]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 509, in recv
Dec 29 12:49:16 raspberrypi fhempy[2510]:     await self.ensure_open()
Dec 29 12:49:16 raspberrypi fhempy[2510]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 803, in ensure_open
Dec 29 12:49:16 raspberrypi fhempy[2510]:     raise self.connection_closed_exc()
Dec 29 12:49:16 raspberrypi fhempy[2510]: websockets.exceptions.ConnectionClosedError: code = 1006 (connection closed abnormally [internal]), no reason
Dec 29 12:49:16 raspberrypi fhempy[2510]: 2020-12-29 12:49:16,512 - INFO     - lib.fhem_pythonbinding: Restart binding
Dec 29 12:49:16 raspberrypi systemd[1]: fhempy.service: Main process exited, code=exited, status=1/FAILURE
Dec 29 12:49:16 raspberrypi systemd[1]: fhempy.service: Failed with result 'exit-code'.
Dec 29 12:49:17 raspberrypi systemd[1]: fhempy.service: Service RestartSec=100ms expired, scheduling restart.
Dec 29 12:49:17 raspberrypi systemd[1]: fhempy.service: Scheduled restart job, restart counter is at 6.
Dec 29 12:49:17 raspberrypi systemd[1]: Stopped FHEM PythonBinding.
Dec 29 12:49:17 raspberrypi systemd[1]: Started FHEM PythonBinding.
Dec 29 12:49:20 raspberrypi fhempy[2512]: 2020-12-29 12:49:20,991 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
Dec 29 12:49:27 raspberrypi fhempy[2512]: 2020-12-29 12:49:27,019 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 192.168.5.2
Dec 29 12:51:35 raspberrypi fhempy[2512]: 2020-12-29 12:51:35,905 - ERROR    - lib.fhem_pythonbinding: Failed to handle message:
Dec 29 12:51:35 raspberrypi fhempy[2512]: Traceback (most recent call last):
Dec 29 12:51:35 raspberrypi fhempy[2512]:   File "/usr/local/lib/python3.7/dist-packages/lib/fhem_pythonbinding.py", line 279, in _onMessage
Dec 29 12:51:35 raspberrypi fhempy[2512]:     nmInstance = loadedModuleInstances[hash["NAME"]]
Dec 29 12:51:35 raspberrypi fhempy[2512]: KeyError: 'SmartDisplay'
Dec 29 12:53:46 raspberrypi fhempy[2512]: 2020-12-29 12:53:46,361 - ERROR    - lib.fhem_pythonbinding: Failed to handle message:
Dec 29 12:53:46 raspberrypi fhempy[2512]: Traceback (most recent call last):
Dec 29 12:53:46 raspberrypi fhempy[2512]:   File "/usr/local/lib/python3.7/dist-packages/lib/fhem_pythonbinding.py", line 279, in _onMessage
Dec 29 12:53:46 raspberrypi fhempy[2512]:     nmInstance = loadedModuleInstances[hash["NAME"]]
Dec 29 12:53:46 raspberrypi fhempy[2512]: KeyError: 'SmartDisplay'
Dec 29 12:55:01 raspberrypi fhempy[2512]: 2020-12-29 12:55:01,115 - ERROR    - lib.fhem_pythonbinding: Connection closed error
Dec 29 12:55:01 raspberrypi fhempy[2512]: Traceback (most recent call last):
Dec 29 12:55:01 raspberrypi fhempy[2512]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 827, in transfer_data
Dec 29 12:55:01 raspberrypi fhempy[2512]:     message = await self.read_message()
Dec 29 12:55:01 raspberrypi fhempy[2512]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 895, in read_message
Dec 29 12:55:01 raspberrypi fhempy[2512]:     frame = await self.read_data_frame(max_size=self.max_size)
Dec 29 12:55:01 raspberrypi fhempy[2512]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 971, in read_data_frame
Dec 29 12:55:01 raspberrypi fhempy[2512]:     frame = await self.read_frame(max_size)
Dec 29 12:55:01 raspberrypi fhempy[2512]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 1051, in read_frame
Dec 29 12:55:01 raspberrypi fhempy[2512]:     extensions=self.extensions,
Dec 29 12:55:01 raspberrypi fhempy[2512]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/framing.py", line 105, in read
Dec 29 12:55:01 raspberrypi fhempy[2512]:     data = await reader(2)
Dec 29 12:55:01 raspberrypi fhempy[2512]:   File "/usr/lib/python3.7/asyncio/streams.py", line 677, in readexactly
Dec 29 12:55:01 raspberrypi fhempy[2512]:     raise IncompleteReadError(incomplete, n)
Dec 29 12:55:01 raspberrypi fhempy[2512]: asyncio.streams.IncompleteReadError: 0 bytes read on a total of 2 expected bytes
Dec 29 12:55:01 raspberrypi fhempy[2512]: The above exception was the direct cause of the following exception:
Dec 29 12:55:01 raspberrypi fhempy[2512]: Traceback (most recent call last):
Dec 29 12:55:01 raspberrypi fhempy[2512]:   File "/usr/local/lib/python3.7/dist-packages/lib/fhem_pythonbinding.py", line 42, in pybinding
Dec 29 12:55:01 raspberrypi fhempy[2512]:     async for message in websocket:
Dec 29 12:55:01 raspberrypi fhempy[2512]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 439, in __aiter__
Dec 29 12:55:01 raspberrypi fhempy[2512]:     yield await self.recv()
Dec 29 12:55:01 raspberrypi fhempy[2512]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 509, in recv
Dec 29 12:55:01 raspberrypi fhempy[2512]:     await self.ensure_open()
Dec 29 12:55:01 raspberrypi fhempy[2512]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 803, in ensure_open
Dec 29 12:55:01 raspberrypi fhempy[2512]:     raise self.connection_closed_exc()
Dec 29 12:55:01 raspberrypi fhempy[2512]: websockets.exceptions.ConnectionClosedError: code = 1006 (connection closed abnormally [internal]), no reason
Dec 29 12:55:01 raspberrypi fhempy[2512]: 2020-12-29 12:55:01,136 - INFO     - lib.fhem_pythonbinding: Restart binding
Dec 29 12:55:01 raspberrypi systemd[1]: fhempy.service: Main process exited, code=exited, status=1/FAILURE
Dec 29 12:55:01 raspberrypi systemd[1]: fhempy.service: Failed with result 'exit-code'.
Dec 29 12:55:01 raspberrypi systemd[1]: fhempy.service: Service RestartSec=100ms expired, scheduling restart.
Dec 29 12:55:01 raspberrypi systemd[1]: fhempy.service: Scheduled restart job, restart counter is at 7.
Dec 29 12:55:01 raspberrypi systemd[1]: Stopped FHEM PythonBinding.
Dec 29 12:55:01 raspberrypi systemd[1]: Started FHEM PythonBinding.
Dec 29 12:55:05 raspberrypi fhempy[2526]: 2020-12-29 12:55:05,464 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
Dec 29 12:55:25 raspberrypi fhempy[2526]: 2020-12-29 12:55:25,512 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 192.168.5.2
Dec 29 13:00:36 raspberrypi fhempy[2526]: 2020-12-29 13:00:36,211 - ERROR    - lib.fhem_pythonbinding: Failed to handle message:
Dec 29 13:00:36 raspberrypi fhempy[2526]: Traceback (most recent call last):
Dec 29 13:00:36 raspberrypi fhempy[2526]:   File "/usr/local/lib/python3.7/dist-packages/lib/fhem_pythonbinding.py", line 279, in _onMessage
Dec 29 13:00:36 raspberrypi fhempy[2526]:     nmInstance = loadedModuleInstances[hash["NAME"]]
Dec 29 13:00:36 raspberrypi fhempy[2526]: KeyError: 'SmartDisplay'
Dec 29 13:00:47 raspberrypi fhempy[2526]: 2020-12-29 13:00:47,992 - ERROR    - lib.fhem_pythonbinding: Failed to handle message:
Dec 29 13:00:47 raspberrypi fhempy[2526]: Traceback (most recent call last):
Dec 29 13:00:47 raspberrypi fhempy[2526]:   File "/usr/local/lib/python3.7/dist-packages/lib/fhem_pythonbinding.py", line 279, in _onMessage
Dec 29 13:00:47 raspberrypi fhempy[2526]:     nmInstance = loadedModuleInstances[hash["NAME"]]
Dec 29 13:00:47 raspberrypi fhempy[2526]: KeyError: 'SmartDisplay'
Dec 29 13:01:03 raspberrypi fhempy[2526]: 2020-12-29 13:01:03,306 - ERROR    - lib.fhem_pythonbinding: Failed to handle message:
Dec 29 13:01:03 raspberrypi fhempy[2526]: Traceback (most recent call last):
Dec 29 13:01:03 raspberrypi fhempy[2526]:   File "/usr/local/lib/python3.7/dist-packages/lib/fhem_pythonbinding.py", line 279, in _onMessage
Dec 29 13:01:03 raspberrypi fhempy[2526]:     nmInstance = loadedModuleInstances[hash["NAME"]]
Dec 29 13:01:03 raspberrypi fhempy[2526]: KeyError: 'SmartDisplay'
Dec 29 13:35:46 raspberrypi systemd[1]: Stopping FHEM PythonBinding...
Dec 29 13:35:46 raspberrypi systemd[1]: fhempy.service: Main process exited, code=killed, status=15/TERM
Dec 29 13:35:46 raspberrypi systemd[1]: fhempy.service: Succeeded.
Dec 29 13:35:46 raspberrypi systemd[1]: Stopped FHEM PythonBinding.
Dec 29 13:35:46 raspberrypi systemd[1]: Started FHEM PythonBinding.
Dec 29 13:35:51 raspberrypi fhempy[5355]: 2020-12-29 13:35:51,322 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
Dec 29 13:35:57 raspberrypi fhempy[5355]: 2020-12-29 13:35:57,103 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 192.168.5.2
Dec 29 13:36:18 raspberrypi fhempy[5355]: 2020-12-29 13:36:18,304 - ERROR    - pygatt.backends.gatttool.gatttool: Timed out connecting to E8:65:F3:5F:7F:F7 after 20 seconds.
Dec 29 13:36:43 raspberrypi fhempy[5355]: 2020-12-29 13:36:43,825 - ERROR    - pygatt.backends.gatttool.gatttool: Timed out connecting to E8:65:F3:5F:7F:F7 after 20 seconds.
Dec 29 13:37:09 raspberrypi fhempy[5355]: 2020-12-29 13:37:09,347 - ERROR    - pygatt.backends.gatttool.gatttool: Timed out connecting to E8:65:F3:5F:7F:F7 after 20 seconds.
Dec 29 13:37:11 raspberrypi fhempy[5355]: 2020-12-29 13:37:11,123 - ERROR    - lib.fhem_pythonbinding: Failed to handle message:
Dec 29 13:37:11 raspberrypi fhempy[5355]: Traceback (most recent call last):
Dec 29 13:37:11 raspberrypi fhempy[5355]:   File "/usr/local/lib/python3.7/dist-packages/lib/fhem_pythonbinding.py", line 279, in _onMessage
Dec 29 13:37:11 raspberrypi fhempy[5355]:     nmInstance = loadedModuleInstances[hash["NAME"]]
Dec 29 13:37:11 raspberrypi fhempy[5355]: KeyError: 'SmartDisplay'
Dec 29 13:37:34 raspberrypi fhempy[5355]: 2020-12-29 13:37:34,917 - ERROR    - pygatt.backends.gatttool.gatttool: Timed out connecting to E8:65:F3:5F:7F:F7 after 20 seconds.
Dec 29 13:37:39 raspberrypi fhempy[5355]: 2020-12-29 13:37:39,926 - ERROR    - nespresso_ble: Failed to get_info, more than 3 times
Dec 29 13:44:41 raspberrypi systemd[1]: Stopping FHEM PythonBinding...
Dec 29 13:44:41 raspberrypi systemd[1]: fhempy.service: Main process exited, code=killed, status=15/TERM
Dec 29 13:44:41 raspberrypi systemd[1]: fhempy.service: Succeeded.
Dec 29 13:44:41 raspberrypi systemd[1]: Stopped FHEM PythonBinding.
Dec 29 13:44:41 raspberrypi systemd[1]: Started FHEM PythonBinding.
Dec 29 13:44:45 raspberrypi fhempy[5533]: 2020-12-29 13:44:45,882 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
Dec 29 13:44:53 raspberrypi fhempy[5533]: 2020-12-29 13:44:53,987 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 192.168.5.2
Dec 29 13:45:47 raspberrypi systemd[1]: Stopping FHEM PythonBinding...
Dec 29 13:45:47 raspberrypi systemd[1]: fhempy.service: Main process exited, code=killed, status=15/TERM
Dec 29 13:45:47 raspberrypi systemd[1]: fhempy.service: Succeeded.
Dec 29 13:45:47 raspberrypi systemd[1]: Stopped FHEM PythonBinding.
Dec 29 13:47:07 raspberrypi systemd[1]: Started FHEM PythonBinding.
Dec 29 13:47:09 raspberrypi fhempy[5559]: 2020-12-29 13:47:09,661 - INFO     - __main__: Attempting install of zeroconf>=0.28.6
Dec 29 13:48:03 raspberrypi fhempy[5559]: 2020-12-29 13:48:03,430 - INFO     - __main__: Successfully installed zeroconf>=0.28.6
Dec 29 13:48:06 raspberrypi fhempy[5559]: 2020-12-29 13:48:06,895 - INFO     - fhempy.lib.fhem_pythonbinding: Starting pythonbinding...
Dec 29 13:48:20 raspberrypi fhempy[5559]: 2020-12-29 13:48:20,960 - INFO     - fhempy.lib.fhem_pythonbinding: FHEM connection started: 192.168.5.2
Dec 29 13:48:29 raspberrypi systemd[1]: Stopping FHEM PythonBinding...
Dec 29 13:48:29 raspberrypi systemd[1]: fhempy.service: Main process exited, code=killed, status=15/TERM
Dec 29 13:48:29 raspberrypi systemd[1]: fhempy.service: Succeeded.
Dec 29 13:48:29 raspberrypi systemd[1]: Stopped FHEM PythonBinding.
Dec 29 13:48:29 raspberrypi systemd[1]: Started FHEM PythonBinding.
Dec 29 13:48:33 raspberrypi fhempy[5592]: 2020-12-29 13:48:33,946 - INFO     - fhempy.lib.fhem_pythonbinding: Starting pythonbinding...
Dec 29 13:48:41 raspberrypi fhempy[5592]: 2020-12-29 13:48:41,730 - INFO     - fhempy.lib.fhem_pythonbinding: FHEM connection started: 192.168.5.2
Dec 29 13:48:45 raspberrypi fhempy[5592]: 2020-12-29 13:48:45,394 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to handle message:
Dec 29 13:48:45 raspberrypi fhempy[5592]: Traceback (most recent call last):
Dec 29 13:48:45 raspberrypi fhempy[5592]:   File "/home/pi/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 300, in _onMessage
Dec 29 13:48:45 raspberrypi fhempy[5592]:     nmInstance = loadedModuleInstances[hash["NAME"]]
Dec 29 13:48:45 raspberrypi fhempy[5592]: KeyError: 'SmartDisplay'
Dec 29 13:49:04 raspberrypi fhempy[5592]: 2020-12-29 13:49:04,669 - ERROR    - pygatt.backends.gatttool.gatttool: Timed out connecting to E8:65:F3:5F:7F:F7 after 20 seconds.
Dec 29 13:49:46 raspberrypi systemd[1]: Stopping FHEM PythonBinding...
Dec 29 13:49:46 raspberrypi systemd[1]: fhempy.service: Main process exited, code=killed, status=15/TERM
Dec 29 13:49:46 raspberrypi systemd[1]: fhempy.service: Succeeded.
Dec 29 13:49:46 raspberrypi systemd[1]: Stopped FHEM PythonBinding.
Dec 29 13:49:46 raspberrypi systemd[1]: Started FHEM PythonBinding.
Dec 29 13:49:50 raspberrypi fhempy[5616]: 2020-12-29 13:49:50,496 - INFO     - fhempy.lib.fhem_pythonbinding: Starting pythonbinding...
Dec 29 13:49:57 raspberrypi fhempy[5616]: 2020-12-29 13:49:57,194 - INFO     - fhempy.lib.fhem_pythonbinding: FHEM connection started: 192.168.5.2
Dec 29 13:53:31 raspberrypi fhempy[5616]: 2020-12-29 13:53:31,498 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to handle message:
Dec 29 13:53:31 raspberrypi fhempy[5616]: Traceback (most recent call last):
Dec 29 13:53:31 raspberrypi fhempy[5616]:   File "/home/pi/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 300, in _onMessage
Dec 29 13:53:31 raspberrypi fhempy[5616]:     nmInstance = loadedModuleInstances[hash["NAME"]]
Dec 29 13:53:31 raspberrypi fhempy[5616]: KeyError: 'SmartDisplay'
Dec 29 13:53:55 raspberrypi fhempy[5616]: 2020-12-29 13:53:55,456 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to handle message:
Dec 29 13:53:55 raspberrypi fhempy[5616]: Traceback (most recent call last):
Dec 29 13:53:55 raspberrypi fhempy[5616]:   File "/home/pi/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 300, in _onMessage
Dec 29 13:53:55 raspberrypi fhempy[5616]:     nmInstance = loadedModuleInstances[hash["NAME"]]
Dec 29 13:53:55 raspberrypi fhempy[5616]: KeyError: 'SmartDisplay'
Dec 29 13:54:09 raspberrypi systemd[1]: Stopping FHEM PythonBinding...
Dec 29 13:54:09 raspberrypi systemd[1]: fhempy.service: Main process exited, code=killed, status=15/TERM
Dec 29 13:54:09 raspberrypi systemd[1]: fhempy.service: Succeeded.
Dec 29 13:54:09 raspberrypi systemd[1]: Stopped FHEM PythonBinding.
Dec 29 13:54:09 raspberrypi systemd[1]: Started FHEM PythonBinding.
Dec 29 13:54:13 raspberrypi fhempy[5647]: 2020-12-29 13:54:13,834 - INFO     - fhempy.lib.fhem_pythonbinding: Starting pythonbinding...
Dec 29 13:54:21 raspberrypi fhempy[5647]: 2020-12-29 13:54:21,079 - INFO     - fhempy.lib.fhem_pythonbinding: FHEM connection started: 192.168.5.2
Dec 29 13:56:32 raspberrypi systemd[1]: Stopping FHEM PythonBinding...
Dec 29 13:56:32 raspberrypi systemd[1]: fhempy.service: Main process exited, code=killed, status=15/TERM
Dec 29 13:56:32 raspberrypi systemd[1]: fhempy.service: Succeeded.
Dec 29 13:56:32 raspberrypi systemd[1]: Stopped FHEM PythonBinding.
Dec 29 13:56:32 raspberrypi systemd[1]: Started FHEM PythonBinding.
Dec 29 13:56:37 raspberrypi fhempy[5673]: 2020-12-29 13:56:37,122 - INFO     - fhempy.lib.fhem_pythonbinding: Starting pythonbinding...
Dec 29 13:56:43 raspberrypi fhempy[5673]: 2020-12-29 13:56:43,114 - INFO     - fhempy.lib.fhem_pythonbinding: FHEM connection started: 192.168.5.2
Dec 29 13:56:47 raspberrypi fhempy[5673]: 2020-12-29 13:56:47,041 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to handle message:
Dec 29 13:56:47 raspberrypi fhempy[5673]: Traceback (most recent call last):
Dec 29 13:56:47 raspberrypi fhempy[5673]:   File "/home/pi/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 300, in _onMessage
Dec 29 13:56:47 raspberrypi fhempy[5673]:     nmInstance = loadedModuleInstances[hash["NAME"]]
Dec 29 13:56:47 raspberrypi fhempy[5673]: KeyError: 'SmartDisplay'
Dec 29 13:57:13 raspberrypi fhempy[5673]: 2020-12-29 13:57:13,571 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to handle message:
Dec 29 13:57:13 raspberrypi fhempy[5673]: Traceback (most recent call last):
Dec 29 13:57:13 raspberrypi fhempy[5673]:   File "/home/pi/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 300, in _onMessage
Dec 29 13:57:13 raspberrypi fhempy[5673]:     nmInstance = loadedModuleInstances[hash["NAME"]]
Dec 29 13:57:13 raspberrypi fhempy[5673]: KeyError: 'SmartDisplay'
Dec 29 13:57:21 raspberrypi systemd[1]: Stopping FHEM PythonBinding...
Dec 29 13:57:21 raspberrypi systemd[1]: fhempy.service: Main process exited, code=killed, status=15/TERM
Dec 29 13:57:21 raspberrypi systemd[1]: fhempy.service: Succeeded.
Dec 29 13:57:21 raspberrypi systemd[1]: Stopped FHEM PythonBinding.
Dec 29 13:57:21 raspberrypi systemd[1]: Started FHEM PythonBinding.
Dec 29 13:57:25 raspberrypi fhempy[5694]: 2020-12-29 13:57:25,488 - INFO     - fhempy.lib.fhem_pythonbinding: Starting pythonbinding...
Dec 29 13:57:31 raspberrypi fhempy[5694]: 2020-12-29 13:57:31,445 - INFO     - fhempy.lib.fhem_pythonbinding: FHEM connection started: 192.168.5.2
Dec 29 13:57:31 raspberrypi fhempy[5694]: 2020-12-29 13:57:31,516 - INFO     - fhempy.lib.fhem_pythonbinding: FHEM connection started: 192.168.5.2
Dec 29 13:57:32 raspberrypi fhempy[5694]: 2020-12-29 13:57:32,206 - ERROR    - fhempy.lib.fhem_pythonbinding: Connection closed error
Dec 29 13:57:32 raspberrypi fhempy[5694]: Traceback (most recent call last):
Dec 29 13:57:32 raspberrypi fhempy[5694]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 827, in transfer_data
Dec 29 13:57:32 raspberrypi fhempy[5694]:     message = await self.read_message()
Dec 29 13:57:32 raspberrypi fhempy[5694]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 895, in read_message
Dec 29 13:57:32 raspberrypi fhempy[5694]:     frame = await self.read_data_frame(max_size=self.max_size)
Dec 29 13:57:32 raspberrypi fhempy[5694]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 971, in read_data_frame
Dec 29 13:57:32 raspberrypi fhempy[5694]:     frame = await self.read_frame(max_size)
Dec 29 13:57:32 raspberrypi fhempy[5694]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 1051, in read_frame
Dec 29 13:57:32 raspberrypi fhempy[5694]:     extensions=self.extensions,
Dec 29 13:57:32 raspberrypi fhempy[5694]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/framing.py", line 105, in read
Dec 29 13:57:32 raspberrypi fhempy[5694]:     data = await reader(2)
Dec 29 13:57:32 raspberrypi fhempy[5694]:   File "/usr/lib/python3.7/asyncio/streams.py", line 677, in readexactly
Dec 29 13:57:32 raspberrypi fhempy[5694]:     raise IncompleteReadError(incomplete, n)
Dec 29 13:57:32 raspberrypi fhempy[5694]: asyncio.streams.IncompleteReadError: 0 bytes read on a total of 2 expected bytes
Dec 29 13:57:32 raspberrypi fhempy[5694]: The above exception was the direct cause of the following exception:
Dec 29 13:57:32 raspberrypi fhempy[5694]: Traceback (most recent call last):
Dec 29 13:57:32 raspberrypi fhempy[5694]:   File "/home/pi/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 63, in pybinding
Dec 29 13:57:32 raspberrypi fhempy[5694]:     async for message in websocket:
Dec 29 13:57:32 raspberrypi fhempy[5694]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 439, in __aiter__
Dec 29 13:57:32 raspberrypi fhempy[5694]:     yield await self.recv()
Dec 29 13:57:32 raspberrypi fhempy[5694]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 509, in recv
Dec 29 13:57:32 raspberrypi fhempy[5694]:     await self.ensure_open()
Dec 29 13:57:32 raspberrypi fhempy[5694]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 803, in ensure_open
Dec 29 13:57:32 raspberrypi fhempy[5694]:     raise self.connection_closed_exc()
Dec 29 13:57:32 raspberrypi fhempy[5694]: websockets.exceptions.ConnectionClosedError: code = 1006 (connection closed abnormally [internal]), no reason
Dec 29 13:57:32 raspberrypi fhempy[5694]: 2020-12-29 13:57:32,243 - INFO     - fhempy.lib.fhem_pythonbinding: Restart binding
Dec 29 13:57:32 raspberrypi systemd[1]: fhempy.service: Main process exited, code=exited, status=1/FAILURE
Dec 29 13:57:32 raspberrypi systemd[1]: fhempy.service: Failed with result 'exit-code'.
Dec 29 13:57:32 raspberrypi systemd[1]: fhempy.service: Service RestartSec=100ms expired, scheduling restart.
Dec 29 13:57:32 raspberrypi systemd[1]: fhempy.service: Scheduled restart job, restart counter is at 1.
Dec 29 13:57:32 raspberrypi systemd[1]: Stopped FHEM PythonBinding.
Dec 29 13:57:32 raspberrypi systemd[1]: Started FHEM PythonBinding.
Dec 29 13:57:37 raspberrypi fhempy[5702]: 2020-12-29 13:57:37,281 - INFO     - fhempy.lib.fhem_pythonbinding: Starting pythonbinding...
Dec 29 13:57:46 raspberrypi fhempy[5702]: 2020-12-29 13:57:46,083 - INFO     - fhempy.lib.fhem_pythonbinding: FHEM connection started: 192.168.5.2
Dec 29 13:58:07 raspberrypi fhempy[5702]: 2020-12-29 13:58:07,087 - ERROR    - pygatt.backends.gatttool.gatttool: Timed out connecting to E8:65:F3:5F:7F:F7 after 20 seconds.
Dec 29 13:58:17 raspberrypi fhempy[5702]: 2020-12-29 13:58:17,507 - ERROR    - pygatt.backends.gatttool.gatttool: Timed out connecting to E8:65:F3:5F:7F:F7 after 20 seconds.
Dec 29 13:58:32 raspberrypi fhempy[5702]: 2020-12-29 13:58:32,614 - ERROR    - pygatt.backends.gatttool.gatttool: Timed out connecting to E8:65:F3:5F:7F:F7 after 20 seconds.
Dec 29 13:58:46 raspberrypi systemd[1]: Stopping FHEM PythonBinding...
Dec 29 13:58:46 raspberrypi systemd[1]: fhempy.service: Main process exited, code=killed, status=15/TERM
Dec 29 13:58:46 raspberrypi systemd[1]: fhempy.service: Succeeded.
Dec 29 13:58:46 raspberrypi systemd[1]: Stopped FHEM PythonBinding.
Dec 29 14:02:19 raspberrypi systemd[1]: Started FHEM PythonBinding.
Dec 29 14:02:23 raspberrypi fhempy[5749]: 2020-12-29 14:02:23,813 - INFO     - fhempy.lib.fhem_pythonbinding: Starting pythonbinding...
Dec 29 14:02:32 raspberrypi fhempy[5749]: 2020-12-29 14:02:32,411 - INFO     - fhempy.lib.fhem_pythonbinding: FHEM connection started: 192.168.5.2
Dec 29 14:02:32 raspberrypi fhempy[5749]: 2020-12-29 14:02:32,484 - INFO     - fhempy.lib.fhem_pythonbinding: FHEM connection started: 192.168.5.2
Dec 29 14:02:33 raspberrypi fhempy[5749]: 2020-12-29 14:02:33,224 - ERROR    - fhempy.lib.fhem_pythonbinding: Connection closed error
Dec 29 14:02:33 raspberrypi fhempy[5749]: Traceback (most recent call last):
Dec 29 14:02:33 raspberrypi fhempy[5749]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 827, in transfer_data
Dec 29 14:02:33 raspberrypi fhempy[5749]:     message = await self.read_message()
Dec 29 14:02:33 raspberrypi fhempy[5749]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 895, in read_message
Dec 29 14:02:33 raspberrypi fhempy[5749]:     frame = await self.read_data_frame(max_size=self.max_size)
Dec 29 14:02:33 raspberrypi fhempy[5749]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 971, in read_data_frame
Dec 29 14:02:33 raspberrypi fhempy[5749]:     frame = await self.read_frame(max_size)
Dec 29 14:02:33 raspberrypi fhempy[5749]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 1051, in read_frame
Dec 29 14:02:33 raspberrypi fhempy[5749]:     extensions=self.extensions,
Dec 29 14:02:33 raspberrypi fhempy[5749]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/framing.py", line 105, in read
Dec 29 14:02:33 raspberrypi fhempy[5749]:     data = await reader(2)
Dec 29 14:02:33 raspberrypi fhempy[5749]:   File "/usr/lib/python3.7/asyncio/streams.py", line 677, in readexactly
Dec 29 14:02:33 raspberrypi fhempy[5749]:     raise IncompleteReadError(incomplete, n)
Dec 29 14:02:33 raspberrypi fhempy[5749]: asyncio.streams.IncompleteReadError: 0 bytes read on a total of 2 expected bytes
Dec 29 14:02:33 raspberrypi fhempy[5749]: The above exception was the direct cause of the following exception:
Dec 29 14:02:33 raspberrypi fhempy[5749]: Traceback (most recent call last):
Dec 29 14:02:33 raspberrypi fhempy[5749]:   File "/home/pi/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 63, in pybinding
Dec 29 14:02:33 raspberrypi fhempy[5749]:     async for message in websocket:
Dec 29 14:02:33 raspberrypi fhempy[5749]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 439, in __aiter__
Dec 29 14:02:33 raspberrypi fhempy[5749]:     yield await self.recv()
Dec 29 14:02:33 raspberrypi fhempy[5749]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 509, in recv
Dec 29 14:02:33 raspberrypi fhempy[5749]:     await self.ensure_open()
Dec 29 14:02:33 raspberrypi fhempy[5749]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 803, in ensure_open
Dec 29 14:02:33 raspberrypi fhempy[5749]:     raise self.connection_closed_exc()
Dec 29 14:02:33 raspberrypi fhempy[5749]: websockets.exceptions.ConnectionClosedError: code = 1006 (connection closed abnormally [internal]), no reason
Dec 29 14:02:33 raspberrypi fhempy[5749]: 2020-12-29 14:02:33,260 - INFO     - fhempy.lib.fhem_pythonbinding: Restart binding
Dec 29 14:02:33 raspberrypi systemd[1]: fhempy.service: Main process exited, code=exited, status=1/FAILURE
Dec 29 14:02:33 raspberrypi systemd[1]: fhempy.service: Failed with result 'exit-code'.
Dec 29 14:02:33 raspberrypi systemd[1]: fhempy.service: Service RestartSec=100ms expired, scheduling restart.
Dec 29 14:02:33 raspberrypi systemd[1]: fhempy.service: Scheduled restart job, restart counter is at 1.
Dec 29 14:02:33 raspberrypi systemd[1]: Stopped FHEM PythonBinding.
Dec 29 14:02:34 raspberrypi systemd[1]: Started FHEM PythonBinding.
Dec 29 14:02:38 raspberrypi fhempy[5759]: 2020-12-29 14:02:38,159 - INFO     - fhempy.lib.fhem_pythonbinding: Starting pythonbinding...
Dec 29 14:02:44 raspberrypi fhempy[5759]: 2020-12-29 14:02:44,075 - INFO     - fhempy.lib.fhem_pythonbinding: FHEM connection started: 192.168.5.2
Dec 29 14:12:37 raspberrypi fhempy[5759]: 2020-12-29 14:12:37,482 - ERROR    - Wohnzimmer.SmartDisplay: Failed to play: ed97364c-b284-4965-b614-f2fe87ef6e50
Dec 29 14:12:37 raspberrypi fhempy[5759]: Traceback (most recent call last):
Dec 29 14:12:37 raspberrypi fhempy[5759]:   File "/home/pi/.local/lib/python3.7/site-packages/fhempy/lib/googlecast/googlecast.py", line 247, in playDefaultMedia
Dec 29 14:12:37 raspberrypi fhempy[5759]:     res = await session.get(uri)
Dec 29 14:12:37 raspberrypi fhempy[5759]:   File "/usr/local/lib/python3.7/dist-packages/aiohttp/client.py", line 513, in _request
Dec 29 14:12:37 raspberrypi fhempy[5759]:     traces=traces,
Dec 29 14:12:37 raspberrypi fhempy[5759]:   File "/usr/local/lib/python3.7/dist-packages/aiohttp/client_reqrep.py", line 305, in __init__
Dec 29 14:12:37 raspberrypi fhempy[5759]:     self.update_host(url)
Dec 29 14:12:37 raspberrypi fhempy[5759]:   File "/usr/local/lib/python3.7/dist-packages/aiohttp/client_reqrep.py", line 366, in update_host
Dec 29 14:12:37 raspberrypi fhempy[5759]:     raise InvalidURL(url)
Dec 29 14:12:37 raspberrypi fhempy[5759]: aiohttp.client_exceptions.InvalidURL: ed97364c-b284-4965-b614-f2fe87ef6e50
Dec 29 14:12:37 raspberrypi fhempy[5759]: 2020-12-29 14:12:37,513 - ERROR    - asyncio: Unclosed client session
Dec 29 14:12:37 raspberrypi fhempy[5759]: client_session: <aiohttp.client.ClientSession object at 0xb2037ab0>
Dec 29 14:19:16 raspberrypi fhempy[5759]: 2020-12-29 14:19:16,004 - ERROR    - asyncio: Unclosed client session
Dec 29 14:19:16 raspberrypi fhempy[5759]: client_session: <aiohttp.client.ClientSession object at 0xae7ca510>
Dec 29 14:59:27 raspberrypi fhempy[5759]: 2020-12-29 14:59:27,213 - ERROR    - pychromecast.socket_client: [Smart Clock(192.168.5.32):8009] Failed to connect to service Lenovo-Smart-Clock-e13250dee7a25d075fa6bae980206816._googlecast._tcp.local., retrying in 5.0s
Dec 29 14:59:32 raspberrypi fhempy[5759]: 2020-12-29 14:59:32,022 - ERROR    - pychromecast.socket_client: [Smart Clock(192.168.5.32):8009] Failed to connect to service Lenovo-Smart-Clock-e13250dee7a25d075fa6bae980206816._googlecast._tcp.local., retrying in 5.0s
Dec 29 17:37:10 raspberrypi fhempy[5759]: 2020-12-29 17:37:10,339 - ERROR    - asyncio: Unclosed client session
Dec 29 17:37:10 raspberrypi fhempy[5759]: client_session: <aiohttp.client.ClientSession object at 0xb081b550>
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 29 Dezember 2020, 20:22:58
Ok, danke! Dann werde ich bei mir nochmals testen warum das nicht geht.

Das hier fällt mir aber noch auf
Dec 29 13:57:13 raspberrypi fhempy[5673]: 2020-12-29 13:57:13,571 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to handle message:
Dec 29 13:57:13 raspberrypi fhempy[5673]: Traceback (most recent call last):
Dec 29 13:57:13 raspberrypi fhempy[5673]:   File "/home/pi/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 300, in _onMessage
Dec 29 13:57:13 raspberrypi fhempy[5673]:     nmInstance = loadedModuleInstances[hash["NAME"]]
Dec 29 13:57:13 raspberrypi fhempy[5673]: KeyError: 'SmartDisplay'

Kommt das nach jedem Start? Ist das dein Smart Display mit googlecast angebunden?
Titel: Antw:fhempy: googlecast
Beitrag von: a_quadrat am 30 Dezember 2020, 10:32:32
Hi Dominik,

Spotify funktioniert super. Ich habe nur festgestellt, wenn ich den Link als Favorite abspeichere und dann abspielen will, kommt folgende Fehlermeldung.

Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/fhempy/lib/fhem_pythonbinding.py", line 333, in _onMessage
    ret = await asyncio.wait_for(
  File "/usr/lib/python3.8/asyncio/tasks.py", line 483, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/fhempy/lib/googlecast/googlecast.py", line 145, in Set
    return await super().Set(hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/fhempy/lib/generic.py", line 78, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/fhempy/lib/utils.py", line 210, in handle_set
    return await fct_call(hash, final_params)
  File "/opt/fhem/FHEM/bindings/python/fhempy/lib/googlecast/googlecast.py", line 161, in set_playFavorite
    url = await fhem.AttrVal(self.hash["NAME"], "favorite_" + id, "")
TypeError: can only concatenate str (not "builtin_function_or_method") to str


Wenn ich mir noch was wünschen darf, "Schuffle" wäre nicht schlecht.  ;)

VG Andreas
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 30 Dezember 2020, 10:48:08
Ist heute Abend erledigt...
https://github.com/dominikkarall/fhempy/commit/7aa7b26878057f86847296b729c2fc8686598008

Shuffle kann ich einbauen, das wird dann aber im spotify Modul drin sein (https://github.com/dominikkarall/fhempy/blob/master/FHEM/bindings/python/fhempy/lib/spotify/README.md (https://github.com/dominikkarall/fhempy/blob/master/FHEM/bindings/python/fhempy/lib/spotify/README.md)), da Shuffle sonst nicht für die restlichen Cast Applikationen funktioniert. Google bietet da nur pause, play, next, prev, stop als Mediensteuerung.
Titel: Antw:fhempy: googlecast
Beitrag von: a_quadrat am 30 Dezember 2020, 16:30:25
Alles klar, ich habe das Spotify-Modul eingebunden. Es funktioniert auch, aber es kommt folgende Fehlermeldung:

Failed to execute function FW_detailFn: Traceback (most recent call last): File "/opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/fhem_pythonbinding.py", line 333, in _onMessage ret = await asyncio.wait_for( File "/usr/lib/python3.8/asyncio/tasks.py", line 483, in wait_for return fut.result() File "/opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/spotify/spotify.py", line 107, in FW_detailFn if self._attr_spotify_connect == "on": AttributeError: 'spotify' object has no attribute '_attr_spotify_connect'
VG Andreas
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 30 Dezember 2020, 16:45:20
Yep, den Fehler habe ich soeben ein paar Stunden gesucht :)

Ist in den nächsten 30min behoben.
Titel: Antw:fhempy: googlecast
Beitrag von: ReneH87 am 30 Dezember 2020, 20:23:54
Das hier fällt mir aber noch auf
Dec 29 13:57:13 raspberrypi fhempy[5673]: 2020-12-29 13:57:13,571 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to handle message:
Dec 29 13:57:13 raspberrypi fhempy[5673]: Traceback (most recent call last):
Dec 29 13:57:13 raspberrypi fhempy[5673]:   File "/home/pi/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 300, in _onMessage
Dec 29 13:57:13 raspberrypi fhempy[5673]:     nmInstance = loadedModuleInstances[hash["NAME"]]
Dec 29 13:57:13 raspberrypi fhempy[5673]: KeyError: 'SmartDisplay'

Kommt das nach jedem Start? Ist das dein Smart Display mit googlecast angebunden?

Ja das ist eines meiner Geräte. Hatte mich verschrieben, "Smart Display" mit Leerzeichen wäre richtig gewesen. Konnte den Fehler nach der Korrektur nicht mehr entdecken.

Was mir aber noch aufgefallen ist: obwohl ich das über das remote Binding eingerichtet habe, wird bei mir ein "fhempy_peer_127_0_1_1" Device angelegt. Die IP macht auch nicht wirklich Sinn oder? Wenn dann wäre es ja 127.0.0.1?
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 30 Dezember 2020, 20:33:53
Hm...kannst du mal prüfen ob fhempy mit --local Argument gestartet wurde
$ ps -efa|grep fhempy
fhem     30570   538  7 20:25 ?        00:00:27 python3 FHEM/bindings/python/bin/fhempy --local

Ein 127.0.1.1 Device sollte nie angelegt werden. 127.0.1.1 ist scheinbar eine Adresse die sich auf den Hostname bei Debian bezieht, kannte ich auch noch nicht.

fhem_peer_... wird automatisch angelegt, wenn im Netzwerk ein fhempy erkannt wird, bei lokaler Nutzung wird es durch das --local Argument deaktiviert.
Titel: Antw:fhempy: googlecast
Beitrag von: a_quadrat am 31 Dezember 2020, 11:52:12
Hallo Dominik,

PlayFavorite geht wieder, aber Spotify will nicht mehr so richtig. Manchmal geht's, manchmal nicht. Ich kann noch nicht nachvollziehen, warum es manchmal funktioniert. Anbei Mal der Auszug aus dem Log. Kannst du damit was anfangen?

2020-12-31 11:42:12,082 - ERROR    - castdevice_Kueche: Failed to play spotify track
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/googlecast/googlecast.py", line 302, in playSpotify
    await utils.run_blocking(functools.partial(sp.launch_app))
  File "/opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/utils.py", line 28, in run_blocking
    return await asyncio.get_event_loop().run_in_executor(pool, function)
  File "/usr/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/opt/fhem/.local/lib/python3.8/site-packages/pychromecast/controllers/spotify.py", line 88, in launch_app
    raise LaunchError(
pychromecast.error.LaunchError: Timeout when waiting for status response from Spotify app

VG Andreas
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 31 Dezember 2020, 14:07:40
Probier mal einen neue sp_dc und sp_key zu setzen. Diese Meldung kommt immer, wenn Spotify am Device nicht fertig gestartet werden konnte weil User Authentifizierung fehlgeschlagen ist.
Titel: Antw:fhempy: googlecast
Beitrag von: a_quadrat am 31 Dezember 2020, 14:34:54
Das hat funktioniert. Hast du das Problem schon öfter gehabt?
Ich habe gesehen, dass du Shuffle schon mit eingebunden hast. Funktioniert es schon? Wenn ja, was für einen Wert muss ich übergeben? Im Log steht "2020-12-31 14:31:22,390 - WARNING  - spotipy.client: state must be a boolean" mit true habe ich es schon probiert - ohne Erfolg.

VG Andreas
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 31 Dezember 2020, 14:47:13
Nein, noch nicht. Ich habe schon einen Weg gefunden, wie man die 2 Werte automatisch über Username/Passwort jederzeit aktualisieren kann :) Falls das Problem also regelmäßig auftritt, dann kommt das weiter rauf auf meiner Prio Liste.

Shuffle folgt heute noch ein Update, dann funktioniert es auch.
Titel: Antw:fhempy: googlecast
Beitrag von: a_quadrat am 31 Dezember 2020, 15:06:01
 :) sehr schön.

Ich wünsche noch einen guten Rutsch ins neue Jahr.  8) Heute ist Sylvester.  ;)

VG Andreas
Titel: Antw:fhempy: googlecast
Beitrag von: ReneH87 am 31 Dezember 2020, 15:13:11
Hm...kannst du mal prüfen ob fhempy mit --local Argument gestartet wurde
$ ps -efa|grep fhempy
fhem     30570   538  7 20:25 ?        00:00:27 python3 FHEM/bindings/python/bin/fhempy --local

Ein 127.0.1.1 Device sollte nie angelegt werden. 127.0.1.1 ist scheinbar eine Adresse die sich auf den Hostname bei Debian bezieht, kannte ich auch noch nicht.

fhem_peer_... wird automatisch angelegt, wenn im Netzwerk ein fhempy erkannt wird, bei lokaler Nutzung wird es durch das --local Argument deaktiviert.

root@fhem:/opt/fhem# ps -efa|grep fhempy
root      4149  4015  0 15:09 pts/1    00:00:00 grep fhempy

so sollte es auf dem Server auch sein, auf dem fhem läuft - oder? Also fhem läuft bei mir unter Docker auf meinem Synology NAS und die Remote Instanz bekanntlich auf dem raspi zero. Könnte das Verhalten evtl. daher kommen, dass ich zuerst versucht hatte zusätzlich eine lokale Instanz laufen zu lassen? (hatte nicht funktioniert, vermutlich wegen Docker...)
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 02 Januar 2021, 13:04:10
Hier die Ausgabe des im anderen Thread genannten Befehls:
Collecting spotify_token                                                                                                                                                                                                                       
  Using cached https://files.pythonhosted.org/packages/d6/f5/9bf0e6664d6afa27e7329c949707d9c3ce143b1154895d0f49b836952bf4/spotify_token-1.0.0-py2.py3-none-any.whl                                                                             
Collecting lxml>=4.4.1 (from spotify_token)                                                                                                                                                                                                     
  Using cached https://files.pythonhosted.org/packages/db/f7/43fecb94d66959c1e23aa53d6161231dca0e93ec500224cf31b3c4073e37/lxml-4.6.2.tar.gz                                                                                                     
Requirement already satisfied: requests>=2.0 in /usr/lib/python3/dist-packages (from spotify_token) (2.21.0)                                                                                                                                   
Requirement already satisfied: beautifulsoup4>=4.8.1 in ./.local/lib/python3.7/site-packages (from spotify_token) (4.9.3)                                                                                                                       
Requirement already satisfied: soupsieve>1.2; python_version >= "3.0" in ./.local/lib/python3.7/site-packages (from beautifulsoup4>=4.8.1->spotify_token) (2.1)                                                                                 
Building wheels for collected packages: lxml                                                                                                                                                                                                   
  Running setup.py bdist_wheel for lxml ... /^canceled                                                                                                                                                                                         
Operation cancelled by user 

Wurde mit Code 1 beendet, was einen Fehler bedeutet. Leider gibt es keine vernünftige Dokumentation was welcher Fehlercode genau bedeutet.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 02 Januar 2021, 15:49:20
root@fhem:/opt/fhem# ps -efa|grep fhempy
root      4149  4015  0 15:09 pts/1    00:00:00 grep fhempy

so sollte es auf dem Server auch sein, auf dem fhem läuft - oder? Also fhem läuft bei mir unter Docker auf meinem Synology NAS und die Remote Instanz bekanntlich auf dem raspi zero. Könnte das Verhalten evtl. daher kommen, dass ich zuerst versucht hatte zusätzlich eine lokale Instanz laufen zu lassen? (hatte nicht funktioniert, vermutlich wegen Docker...)

Den Fehler mit 127.0.1.1 konnte ich finden und ist behoben. Sollte nicht mehr vorkommen, das 127.0.1.1 Device kannst du löschen.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 02 Januar 2021, 15:50:04
Hier die Ausgabe des im anderen Thread genannten Befehls:
Collecting spotify_token                                                                                                                                                                                                                       
  Using cached https://files.pythonhosted.org/packages/d6/f5/9bf0e6664d6afa27e7329c949707d9c3ce143b1154895d0f49b836952bf4/spotify_token-1.0.0-py2.py3-none-any.whl                                                                             
Collecting lxml>=4.4.1 (from spotify_token)                                                                                                                                                                                                     
  Using cached https://files.pythonhosted.org/packages/db/f7/43fecb94d66959c1e23aa53d6161231dca0e93ec500224cf31b3c4073e37/lxml-4.6.2.tar.gz                                                                                                     
Requirement already satisfied: requests>=2.0 in /usr/lib/python3/dist-packages (from spotify_token) (2.21.0)                                                                                                                                   
Requirement already satisfied: beautifulsoup4>=4.8.1 in ./.local/lib/python3.7/site-packages (from spotify_token) (4.9.3)                                                                                                                       
Requirement already satisfied: soupsieve>1.2; python_version >= "3.0" in ./.local/lib/python3.7/site-packages (from beautifulsoup4>=4.8.1->spotify_token) (2.1)                                                                                 
Building wheels for collected packages: lxml                                                                                                                                                                                                   
  Running setup.py bdist_wheel for lxml ... /^canceled                                                                                                                                                                                         
Operation cancelled by user 

Wurde mit Code 1 beendet, was einen Fehler bedeutet. Leider gibt es keine vernünftige Dokumentation was welcher Fehlercode genau bedeutet.

Hast du Strg-C gedrückt?
Zitat
  Running setup.py bdist_wheel for lxml ... /^canceled                                                                                                                                                                                         
Operation cancelled by user 

Hier steht durch den User abgebrochen.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 02 Januar 2021, 17:10:31
Habe ich auch gesehen, aber ich habe nichts abgebrochen.
Es hörte irgendwann 2 Zeilen vor dem geposteten Ende auf und nach ca. 10 Minuten kamen die letzten beiden Zeilen mit der Fehlermeldung Code 1. Doch es wurde nicht von mir abgebrochen.

Wenn ich den Text richtig verstehe kann Fhem das Googlecgemacht.st-Module nicht laden, die Frage ist aber warum und wieso. habe ja nur ein Update

Hab den Befehl gerade extra noch mal abgesetzt. Diesmal passierte gar nichts, hab extra 5 Minuten gewartet, keine einzige Rückmeldung.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 02 Januar 2021, 17:24:44
Warum es nicht geht, habe ich dir hier schon beantwortet:
https://forum.fhem.de/index.php/topic,117289.msg1116837.html#msg1116837

Probier bitte auch
sudo apt-get install python3-lxml python3-devund danach nochmals
sudo -u fhem pip3 install spotify_token
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 02 Januar 2021, 17:53:48
Der erste Befehl brachte folgende Rückmeldung:
  python3-bs4 python3-html5lib python3-lxml python3-soupsieve python3-webencodings                                                                                                                                                             
0 upgraded, 5 newly installed, 0 to remove and 27 not upgraded.                                                                                                                                                                                 
Need to get 1.306 kB of archives.                                                                                                                                                                                                               
After this operation, 4.356 kB of additional disk space will be used.                                                                                                                                                                           
Do you want to continue? [Y/n] y                                                                                                                                                                                                               
Get:1 https://cdn-aws.deb.debian.org/debian buster/main armhf python3-soupsieve all 1.8+dfsg-1 [27,6 kB]                                                                                                                                       
Get:2 https://cdn-aws.deb.debian.org/debian buster/main armhf python3-bs4 all 4.7.1-1 [94,1 kB]                                                                                                                                                 
Get:3 https://cdn-aws.deb.debian.org/debian buster/main armhf python3-webencodings all 0.5.1-1 [10,9 kB]                                                                                                                                       
Get:4 https://cdn-aws.deb.debian.org/debian buster/main armhf python3-html5lib all 1.0.1-1 [89,5 kB]                                                                                                                                           
Get:5 https://cdn-aws.deb.debian.org/debian-security buster/updates/main armhf python3-lxml armhf 4.3.2-1+deb10u2 [1.084 kB]                                                                                                                   
Fetched 1.306 kB in 2s (793 kB/s)                                                                                                                                                                                                               
Selecting previously unselected package python3-soupsieve.                                                                                                                                                                                     
(Reading database ... 41772 files and directories currently installed.)                                                                                                                                                                         
Preparing to unpack .../python3-soupsieve_1.8+dfsg-1_all.deb ...                                                                                                                                                                               
Unpacking python3-soupsieve (1.8+dfsg-1) ...                                                                                                                                                                                                   
Selecting previously unselected package python3-bs4.                                                                                                                                                                                           
Preparing to unpack .../python3-bs4_4.7.1-1_all.deb ...                                                                                                                                                                                         
Unpacking python3-bs4 (4.7.1-1) ...                                                                                                                                                                                                             
Selecting previously unselected package python3-webencodings.                                                                                                                                                                                   
Preparing to unpack .../python3-webencodings_0.5.1-1_all.deb ...                                                                                                                                                                               
Unpacking python3-webencodings (0.5.1-1) ...                                                                                                                                                                                                   
Selecting previously unselected package python3-html5lib.                                                                                                                                                                                       
Preparing to unpack .../python3-html5lib_1.0.1-1_all.deb ...                                                                                                                                                                                   
Unpacking python3-html5lib (1.0.1-1) ...                                                                                                                                                                                                       
Selecting previously unselected package python3-lxml:armhf.                                                                                                                                                                                     
Preparing to unpack .../python3-lxml_4.3.2-1+deb10u2_armhf.deb ...                                                                                                                                                                             
Unpacking python3-lxml:armhf (4.3.2-1+deb10u2) ...                                                                                                                                                                                             
Setting up python3-webencodings (0.5.1-1) ...                                                                                                                                                                                                   
Setting up python3-html5lib (1.0.1-1) ...                                                                                                                                                                                                       
Setting up python3-lxml:armhf (4.3.2-1+deb10u2) ...                                                                                                                                                                                             
Setting up python3-soupsieve (1.8+dfsg-1) ...                                                                                                                                                                                                   
Setting up python3-bs4 (4.7.1-1) ...

Der zweite Befehl läuft bis zu:
Collecting spotify_token                                                                                                                                                                                                                       
  Using cached https://files.pythonhosted.org/packages/d6/f5/9bf0e6664d6afa27e7329c949707d9c3ce143b1154895d0f49b836952bf4/spotify_token-1.0.0-py2.py3-none-any.whl                                                                             
Requirement already satisfied: requests>=2.0 in /usr/lib/python3/dist-packages (from spotify_token) (2.21.0)                                                                                                                                   
Collecting lxml>=4.4.1 (from spotify_token)                                                                                                                                                                                                     
  Using cached https://files.pythonhosted.org/packages/db/f7/43fecb94d66959c1e23aa53d6161231dca0e93ec500224cf31b3c4073e37/lxml-4.6.2.tar.gz                                                                                                     
Requirement already satisfied: beautifulsoup4>=4.8.1 in ./.local/lib/python3.7/site-packages (from spotify_token) (4.9.3)                                                                                                                       
Requirement already satisfied: soupsieve>1.2; python_version >= "3.0" in ./.local/lib/python3.7/site-packages (from beautifulsoup4>=4.8.1->spotify_token) (2.1)                                                                                 
Building wheels for collected packages: lxml                                                                                                                                                                                                   
  Running setup.py bdist_wheel for lxml ...
und bleibt dann quasi stehen. Genau wie beim letzten Mal, als dann irgendwann der angebliche Abbruch durch den User kam.
Nach mehreren Mnuten kommt dann plötzlich noch folgendes hinzu (angefangen bei der Zeile die oben die letzte war):
[code]  Running setup.py bdist_wheel for lxml ... error                                                                                                                                                                                               
  Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-0dl1osex/lxml/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(cod
e, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-lysgoufd --python-tag cp37:                                                                                                                                                               
  Building lxml version 4.6.2.                                                                                                                                                                                                                 
  Building without Cython.                                                                                                                                                                                                                     
  Building against libxml2 2.9.4 and libxslt 1.1.32                                                                                                                                                                                             
  running bdist_wheel                                                                                                                                                                                                                           
  running build                                                                                                                                                                                                                                 
  running build_py                                                                                                                                                                                                                             
  creating build                                                                                                                                                                                                                               
  creating build/lib.linux-armv7l-3.7                                                                                                                                                                                                           
  creating build/lib.linux-armv7l-3.7/lxml                                                                                                                                                                                                     
  copying src/lxml/sax.py -> build/lib.linux-armv7l-3.7/lxml                                                                                                                                                                                   
  copying src/lxml/_elementpath.py -> build/lib.linux-armv7l-3.7/lxml                                                                                                                                                                           
  copying src/lxml/builder.py -> build/lib.linux-armv7l-3.7/lxml                                                                                                                                                                               
  copying src/lxml/ElementInclude.py -> build/lib.linux-armv7l-3.7/lxml                                                                                                                                                                         
  copying src/lxml/__init__.py -> build/lib.linux-armv7l-3.7/lxml                                                                                                                                                                               
  copying src/lxml/usedoctest.py -> build/lib.linux-armv7l-3.7/lxml                                                                                                                                                                             
  copying src/lxml/cssselect.py -> build/lib.linux-armv7l-3.7/lxml                                                                                                                                                                             
  copying src/lxml/pyclasslookup.py -> build/lib.linux-armv7l-3.7/lxml                                                                                                                                                                         
  copying src/lxml/doctestcompare.py -> build/lib.linux-armv7l-3.7/lxml                                                                                                                                                                         
  creating build/lib.linux-armv7l-3.7/lxml/includes                                                                                                                                                                                             
  copying src/lxml/includes/__init__.py -> build/lib.linux-armv7l-3.7/lxml/includes                                                                                                                                                             
  creating build/lib.linux-armv7l-3.7/lxml/html                                                                                                                                                                                                 
  copying src/lxml/html/diff.py -> build/lib.linux-armv7l-3.7/lxml/html
  copying src/lxml/html/ElementSoup.py -> build/lib.linux-armv7l-3.7/lxml/html                                                                                                                                                                 
  copying src/lxml/html/html5parser.py -> build/lib.linux-armv7l-3.7/lxml/html                                                                                                                                                                 
  copying src/lxml/html/builder.py -> build/lib.linux-armv7l-3.7/lxml/html                                                                                                                                                                     
  copying src/lxml/html/__init__.py -> build/lib.linux-armv7l-3.7/lxml/html                                                                                                                                                                     
  copying src/lxml/html/usedoctest.py -> build/lib.linux-armv7l-3.7/lxml/html                                                                                                                                                                   
  copying src/lxml/html/_setmixin.py -> build/lib.linux-armv7l-3.7/lxml/html                                                                                                                                                                   
  copying src/lxml/html/clean.py -> build/lib.linux-armv7l-3.7/lxml/html                                                                                                                                                                       
  copying src/lxml/html/soupparser.py -> build/lib.linux-armv7l-3.7/lxml/html                                                                                                                                                                   
  copying src/lxml/html/_html5builder.py -> build/lib.linux-armv7l-3.7/lxml/html                                                                                                                                                               
  copying src/lxml/html/_diffcommand.py -> build/lib.linux-armv7l-3.7/lxml/html                                                                                                                                                                 
  copying src/lxml/html/formfill.py -> build/lib.linux-armv7l-3.7/lxml/html                                                                                                                                                                     
  copying src/lxml/html/defs.py -> build/lib.linux-armv7l-3.7/lxml/html                                                                                                                                                                         
  creating build/lib.linux-armv7l-3.7/lxml/isoschematron                                                                                                                                                                                       
  copying src/lxml/isoschematron/__init__.py -> build/lib.linux-armv7l-3.7/lxml/isoschematron                                                                                                                                                   
  copying src/lxml/etree.h -> build/lib.linux-armv7l-3.7/lxml                                                                                                                                                                                   
  copying src/lxml/etree_api.h -> build/lib.linux-armv7l-3.7/lxml                                                                                                                                                                               
  copying src/lxml/lxml.etree.h -> build/lib.linux-armv7l-3.7/lxml                                                                                                                                                                             
  copying src/lxml/lxml.etree_api.h -> build/lib.linux-armv7l-3.7/lxml                                                                                                                                                                         
  copying src/lxml/includes/etreepublic.pxd -> build/lib.linux-armv7l-3.7/lxml/includes                                                                                                                                                         
  copying src/lxml/includes/xinclude.pxd -> build/lib.linux-armv7l-3.7/lxml/includes                                                                                                                                                           
  copying src/lxml/includes/xmlerror.pxd -> build/lib.linux-armv7l-3.7/lxml/includes                                                                                                                                                           
  copying src/lxml/includes/htmlparser.pxd -> build/lib.linux-armv7l-3.7/lxml/includes                                                                                                                                                         
  copying src/lxml/includes/config.pxd -> build/lib.linux-armv7l-3.7/lxml/includes                                                                                                                                                             
  copying src/lxml/includes/__init__.pxd -> build/lib.linux-armv7l-3.7/lxml/includes                                                                                                                                                           
  copying src/lxml/includes/xmlschema.pxd -> build/lib.linux-armv7l-3.7/lxml/includes                                                                                                                                                           
  copying src/lxml/includes/uri.pxd -> build/lib.linux-armv7l-3.7/lxml/includes                                                                                                                                                                 
  copying src/lxml/includes/xslt.pxd -> build/lib.linux-armv7l-3.7/lxml/includes                                                                                                                                                               
  copying src/lxml/includes/tree.pxd -> build/lib.linux-armv7l-3.7/lxml/includes                                                                                                                                                               
  copying src/lxml/includes/xmlparser.pxd -> build/lib.linux-armv7l-3.7/lxml/includes                                                                                                                                                           
  copying src/lxml/includes/dtdvalid.pxd -> build/lib.linux-armv7l-3.7/lxml/includes
  copying src/lxml/includes/xpath.pxd -> build/lib.linux-armv7l-3.7/lxml/includes                                                                                                                                                               
  copying src/lxml/includes/relaxng.pxd -> build/lib.linux-armv7l-3.7/lxml/includes                                                                                                                                                             
  copying src/lxml/includes/c14n.pxd -> build/lib.linux-armv7l-3.7/lxml/includes                                                                                                                                                               
  copying src/lxml/includes/schematron.pxd -> build/lib.linux-armv7l-3.7/lxml/includes                                                                                                                                                 
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 02 Januar 2021, 17:57:54
Auch wenn es mehrere Minute dort steht, einfach nicht angreifen. Wenn es 1h steht, dann Bescheid geben.

Ich glaube dein Log ist nicht komplett, oder endet es aktuell mit
copying src/lxml/includes/schematron.pxd -> build/lib.linux-armv7l-3.7/lxml/includes    ?
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 02 Januar 2021, 18:49:00
Sorry, das ist einfach Scheiße, ich muss den Befehl in einem Terminalfenster des Containers starten was dann wiederum ein neues Brwoserfenster öffnet wo die Ausführung mitgeloggt wird. Leider kann man dort nur Seitenweise kopieren und auch nur mit Rechtsclick und kopieren (strg-C funktioniert komischerweise nicht). Hab die Seite leider schon zu gemacht. Aberdas Log endete wieder mit einem angeblichen User-Abbruch obwohl ich wieder nichts weiter gemacht habe als die Anwendung zu wechseln.

Werde die Befehle noch mal ausführen und dann noch mal schauen.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 02 Januar 2021, 19:19:37
So, hab den Befehl noch mal ausgeführt und nach gut einer halben Stunde mit insgesamt 3 Pausen wo sich minutenlang nichts getan hat, hat er den Befehl mit Code 1 abgebrochen. Hier die letzten Zeilen des Protokolls:
    copying src/lxml/includes/lxml-version.h -> build/lib.linux-armv7l-3.7/lxml/includes                                                                                                                                                       
    creating build/lib.linux-armv7l-3.7/lxml/isoschematron/resources                                                                                                                                                                           
    creating build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/rng                                                                                                                                                                       
    copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/rng                                                                                                             
    creating build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/xsl                                                                                                                                                                       
    copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/xsl                                                                                                                 
    copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/xsl                                                                                                                 
    creating build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1                                                                                                                                                   
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl -> build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1                                                                 
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl -> build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1                                                               
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl -> build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1                                                 
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl -> build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1                                                           
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl -> build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1                                                               
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.linux-armv7l-3.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1                                                                           
    running build_ext                                                                                                                                                                                                                           
    building 'lxml.etree' extension                                                                                                                                                                                                             
    creating build/temp.linux-armv7l-3.7                                                                                                                                                                                                       
    creating build/temp.linux-armv7l-3.7/src                                                                                                                                                                                                   
    creating build/temp.linux-armv7l-3.7/src/lxml                                                                                                                                                                                               
    arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DCYTHON_CLINE_IN_TRACEBACK=0 -I/usr/include/libxml2 -Isrc -Isrc/lxml/incl
udes -I/usr/include/python3.7m -c src/lxml/etree.c -o build/temp.linux-armv7l-3.7/src/lxml/etree.o -w                                                                                                                                           
    arm-linux-gnueabihf-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-armv7l-3.7/src/lxml/etree.
o -lxslt -lexslt -lxml2 -lrt -lz -lm -o build/lib.linux-armv7l-3.7/lxml/etree.cpython-37m-arm-linux-gnueabihf.so                                                                                                                               
    /usr/bin/ld: cannot find -lz                                                                                                                                                                                                               
    collect2: error: ld returned 1 exit status                                                                                                                                                                                                 
    error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1                                                                                                                                                                         
                                                                                                                                                                                                                                               
    ----------------------------------------                                                                                                                                                                                                   
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-lc23qcqh/lxml/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))"
 install --record /tmp/pip-record-ssjpq1kw/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /tmp/pip-install-lc23qcqh/lxml/
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 02 Januar 2021, 19:49:42
sudo apt install lib32z1-devund danach nochmals...
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 02 Januar 2021, 19:54:40
Hier das Protokoll des Befehls. Wurde mit Code100 beendet. Scheint wohl nicht geklappt zu haben, also bevor ich den anderen Befehl wiederhole und noch mal eine halbe Stunde vergeht, klören wir besser erst mal das, oder?
Reading package lists... Done                                                                                                                                                                                                                   
Building dependency tree                                                                                                                                                                                                                       
Reading state information... Done                                                                                                                                                                                                               
E: Unable to locate package lib32z1-dev

Was kann das denn bedeuten wenn er das Paket nicht finden kann?
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 02 Januar 2021, 19:56:42
sudo apt-get install zlib1g-devprobier mal das
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 02 Januar 2021, 20:00:22
Das ist erfolgreich durchgelaufen.

Soll ich jetzt den anderen noch mal probieren?
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 02 Januar 2021, 20:28:19
Ja, bitte
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 02 Januar 2021, 20:28:30
Hab die Befehle noch mal durch, jetzt hat auch die Installation des Spotify_Tokens offenbar geklappt.
"sudo -u fhem pip3 install spotify_token":
Collecting spotify_token                                                                                                                                                                                                                       
  Using cached https://files.pythonhosted.org/packages/d6/f5/9bf0e6664d6afa27e7329c949707d9c3ce143b1154895d0f49b836952bf4/spotify_token-1.0.0-py2.py3-none-any.whl                                                                             
Requirement already satisfied: beautifulsoup4>=4.8.1 in ./.local/lib/python3.7/site-packages (from spotify_token) (4.9.3)                                                                                                                       
Collecting lxml>=4.4.1 (from spotify_token)                                                                                                                                                                                                     
  Using cached https://files.pythonhosted.org/packages/db/f7/43fecb94d66959c1e23aa53d6161231dca0e93ec500224cf31b3c4073e37/lxml-4.6.2.tar.gz                                                                                                     
Requirement already satisfied: requests>=2.0 in /usr/lib/python3/dist-packages (from spotify_token) (2.21.0)                                                                                                                                   
Requirement already satisfied: soupsieve>1.2; python_version >= "3.0" in ./.local/lib/python3.7/site-packages (from beautifulsoup4>=4.8.1->spotify_token) (2.1)                                                                                 
Building wheels for collected packages: lxml                                                                                                                                                                                                   
  Running setup.py bdist_wheel for lxml ... done                                                                                                                                                                                               
  Stored in directory: /opt/fhem/.cache/pip/wheels/a0/0c/b2/b0e301d586f899fdabf46a03ee9d037d2c6df30bc9efa57bae                                                                                                                                 
Successfully built lxml                                                                                                                                                                                                                         
Installing collected packages: lxml, spotify-token                                                                                                                                                                                             
Successfully installed lxml-4.6.2 spotify-token-1.0.0

Leider hat das an der Fehlermeldung der Googlecast-Devices nicht geändert. Die zeigen immer noch "Module failed to load: googlecast Maybe you need to update fhempy on this or remote peer. Stacktrace: Traceback (most recent call last): File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 241, in _onMessage module_object = importlib.import_module(pymodule) File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1006, in _gcd_import File "", line 983, in _find_and_load File "", line 967, in _find_and_load_unlocked File "", line 677, in _load_unlocked File "", line 728, in exec_module File "", line 219, in _call_with_frames_removed File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/googlecast/googlecast.py", line 28, in import spotify_token as st ModuleNotFoundError: No module named 'spotify_token'" an.
Hier das List zum Device:
Internals:
   .AttrList  .*
   .FhemMetaInternals 1
   DEF        googlecast "Schlafzimmerlautsprecher"
   FUUID      5fba773c-f33f-793a-5007-c9bf0d1a378d6c54
   FVERSION   10_PythonModule.pm:0.182830/2019-01-16
   IODev      local_pybinding
   NAME       Schlafzimmerlautsprecher
   NR         92
   PYTHONTYPE googlecast
   STATE      Module failed to load: googlecast
Maybe you need to update fhempy on this or remote peer.

Stacktrace:
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 241, in _onMessage
    module_object = importlib.import_module(pymodule)
  File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/googlecast/googlecast.py", line 28, in <module>
    import spotify_token as st
ModuleNotFoundError: No module named 'spotify_token'

   TYPE       PythonModule
   .attraggr:
   .attreocr:
     .*
   .attrminint:
   .attrtocr:
     .*
   READINGS:
     2021-01-01 15:31:16   app_id         
     2020-11-22 20:55:53   cast_type       cast
     2021-01-01 02:10:52   connection      connected
     2021-01-01 15:31:16   display_name   
     2020-12-22 19:38:03   icon_url       
     2020-11-22 20:55:53   ignore_cec      0
     2020-11-22 20:55:53   is_active_input 0
     2020-11-22 20:55:53   is_stand_by     1
     2020-12-12 18:50:03   mediaAlbum     
     2020-12-12 18:50:03   mediaArtist     
     2020-12-28 21:35:08   mediaContentId 
     2020-12-28 21:35:08   mediaContentType
     2020-12-28 21:30:08   mediaCurrentPosPercent
     2020-12-28 21:30:08   mediaCurrentPosition
     2020-12-28 21:35:08   mediaDuration   
     2020-12-12 18:50:03   mediaImageHeight
     2020-12-12 18:50:03   mediaImageUrl   
     2020-12-12 18:50:03   mediaImageWidth
     2020-12-28 21:35:08   mediaPlayerState UNKNOWN
     2020-12-28 21:35:08   mediaStreamType UNKNOWN
     2020-12-12 18:50:03   mediaTitle     
     2020-11-22 20:55:53   model_name      Google Nest Mini
     2020-11-22 20:55:53   mute            0
     2020-11-22 20:55:53   name            Schlafzimmerlautsprecher
     2021-01-01 15:31:16   session_id     
     2021-01-02 12:44:39   state           Module failed to load: googlecast
Maybe you need to update fhempy on this or remote peer.

Stacktrace:
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 241, in _onMessage
    module_object = importlib.import_module(pymodule)
  File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/googlecast/googlecast.py", line 28, in <module>
    import spotify_token as st
ModuleNotFoundError: No module named 'spotify_token'

     2021-01-01 15:31:16   status_text     
     2020-12-28 21:35:08   transport_id   
     2020-11-22 20:55:53   uuid            dbef8319-c89c-e735-11f6-ce7777b133b2
     2021-01-01 15:26:28   volume          26
   args:
     Schlafzimmerlautsprecher
     PythonModule
     googlecast
     Schlafzimmerlautsprecher
   argsh:
Attributes:
   IODev      local_pybinding
   event-on-change-reading .*
   group      Audiosystem
   icon       audio_loudness
   room       Devices,GAssistant
   timestamp-on-change-reading .*
   userattr   favorite_1 favorite_2 favorite_3 favorite_4 favorite_5
   verbose    2

muss der Server erst neugestartet werden oder ist der Fehler immer noch vorhanden?
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 02 Januar 2021, 20:29:42
Probier Mal einen Neustart
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 02 Januar 2021, 20:47:45
Hab ich, jetzt werden die Google-Nest wieder als online angezeigt. Danke soweit schon mal.

Jetzt geht es nur noch darum, meine Spotify Playlists vom Fhem-Server ohne öffnen der Webseite direkt auf einem der Nest abspielen zu können, das muss aber nicht mehr heute Abend sein. Denke mal du willst auch noch etwas Ruhe haben, oder?

Zwei Fragen am Rande, die sich mir noch stellen:
1) Woher kam das Problem jetzt genau? Hab ja nur ein Update gemacht
2) Muss ich dieses Prozedere jetzt nach jedem Update machen damit es läuft?
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 02 Januar 2021, 21:14:31
Das war nur bei diesem Update, wegen neuer Abhängigkeit spotify_token.

Jetzt musst du spotify_sp_dc und spotify_sp_key setzen. Dazu einfach die Attribute auswählen, dann siehst du in der Beschreibung was zu tun ist.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 02 Januar 2021, 21:24:35
sp_dc hab ich gefunden und eingetragen, aber sp_key finde ich auf der Webseite nirgendwo aufgelistet.
Ich arbeite aber nur mit Edge und nicht mit Chrome. Kann das einen Unterschied machen?
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 02 Januar 2021, 21:39:32
Sollten im Edge denke ich auch beide verwendet werden.

Ansonsten starte einfach mal kurz Chrome und übernimm die Werte von dort. Du kannst ihn danach auch deinstallieren.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 02 Januar 2021, 21:50:30
Hab Chrome installiert, leider ist da die aufgerufene Seite komplett leer.

Nachdem ich die Desktop-App über Chrome runtergeladen habe und mich dort mal angemeldet habe waren die Daten auf der Seite angezeigt, tatsächlich auch mit dem sp_key.
Was kommt als nächstes?
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 02 Januar 2021, 22:15:57
Beide Werte eintragen...danach kannst mit play ... (Spotify Link) abspielen.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 02 Januar 2021, 22:50:27
Ne ging leider nicht sonst hätte ich nicht gefragt.
Musste erst wieder neustarten, davor war der Spotify-User noch nicht korrekt hinterlegt.
Erst nach dem Neustart stimmte der Eintrag und es ging mit Play und die url der Playlist oder einem vorher bestückten Favoriten.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 02 Januar 2021, 23:03:51
Ok, Neustart sollte eigentlich nicht notwendig sein, aber gut, jetzt klappt es ja.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 02 Januar 2021, 23:25:46
Danke für die ganze Hilfe hätte das alleine nie hinbekommen.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 11:09:25
Also ich muss doch noch mal nachfragen.

Gestern Abend hat es funktioniert, ich konnte mit Play eine url von Spotify abspielen oder auch die url an einen Favoriteneintrag hängen und den mit playFavorite abspielen.
Heute reagiert zwar der Google-Nest noch, doch von Spotify wird nichts mehr ausgegeben.

Es sollte doch auch Musik wiedergegeben werden wenn weder eine Spotify Webseite, noch die Desktop-App geöffnet sind, oder nicht? Aber selbst wenn ich eins offen habe, kommt keine Musik.

Ich hänge mal das List des Wohnzimmer-Nest an:
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
   CASTNAME   Wohnzimmerlautsprecher
   DEF        googlecast Wohnzimmerlautsprecher
   FUUID      5fbac9e2-f33f-793a-66ea-c20857e12b91fab7
   FVERSION   10_PythonModule.pm:0.182830/2019-01-16
   IODev      local_pybinding
   NAME       Wohnzimmerlautsprecher
   NR         94
   PYTHONTYPE googlecast
   STATE      online
   TYPE       PythonModule
   .attraggr:
   .attreocr:
     .*
   .attrminint:
   .attrtocr:
     .*
   READINGS:
     2021-01-03 10:41:53   app_id          CC32E753
     2020-11-22 21:28:19   cast_type       cast
     2021-01-03 10:33:56   connection      connected
     2021-01-03 10:41:53   display_name    Spotify
     2021-01-03 10:41:53   icon_url        https://lh3.googleusercontent.com/HOX9yqNu6y87Chb1lHYqhKVTQW43oFAFFe2ojx94yCLh0yMzgygTrM0RweAexApRWqq6UahgrWYimVgK
     2020-11-22 21:28:19   ignore_cec      0
     2020-11-22 21:28:19   is_active_input 0
     2020-11-22 21:28:19   is_stand_by     1
     2021-01-03 00:25:28   mediaAlbum     
     2021-01-03 00:25:28   mediaArtist     
     2021-01-03 10:39:02   mediaContentId 
     2021-01-03 10:39:02   mediaContentType
     2021-01-03 10:34:02   mediaCurrentPosPercent
     2021-01-03 10:34:02   mediaCurrentPosition
     2021-01-03 10:39:02   mediaDuration   
     2021-01-03 00:25:28   mediaImageHeight
     2021-01-03 00:25:28   mediaImageUrl   
     2021-01-03 00:25:28   mediaImageWidth
     2021-01-03 10:39:02   mediaPlayerState UNKNOWN
     2021-01-03 10:39:02   mediaStreamType UNKNOWN
     2021-01-03 00:25:28   mediaTitle     
     2020-11-22 21:28:19   model_name      Google Nest Mini
     2020-11-22 21:28:19   mute            0
     2020-11-22 21:28:19   name            Wohnzimmerlautsprecher
     2021-01-03 10:41:53   session_id      38606f3a-f54c-431a-872a-1f68fdf38424
     2021-01-02 21:59:01   spotify_user    xxx
     2021-01-03 10:34:02   state           online
     2021-01-03 10:41:53   status_text     Spotify
     2021-01-03 10:41:53   transport_id    38606f3a-f54c-431a-872a-1f68fdf38424
     2020-11-22 21:28:19   uuid            ec715a28-897e-dc95-3c87-e44ecb1699c0
     2021-01-03 10:42:13   volume          25
   args:
     Wohnzimmerlautsprecher
     PythonModule
     googlecast
     Wohnzimmerlautsprecher
   argsh:
Attributes:
   IODev      local_pybinding
   event-on-change-reading .*
   favorite_1 xxx
   favorite_2 xxx
   group      Audiosystem
   icon       audio_loudness
   room       Devices,GAssistant
   spotify_sp_dc xxx
   spotify_sp_key xxx
   timestamp-on-change-reading .*
   userattr   favorite_1 favorite_2 favorite_3 favorite_4 favorite_5

Wenn du noch was anderes brauchst wo du nachsehen kann, sag kurz Bescheid.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 03 Januar 2021, 11:18:36
Versuch Mal die Attribute neu zu setzen. Hast du in der Zwischenzeit Spotify Web Player benutzt? Es könnte sein, dass bei der Nutzung die alten Cookies deaktiviert werden.

Achtung: Bitte die Attribute hier nicht posten, damit kann man sich einloggen!!
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 12:21:07
Ja, ich habe Spotify auch über den WebPlayer benutzt und ja sp_dc war tatsächlich anders, sp_key aber identisch.
Habe trotzdem beide Attribute neu gesetzt und auch einen Neustart durchgeführt. Leider ohne Erfolg. Der Nest reagiert (man hört ein kurzes Ping), aber dann kommt keine Music.

Danke für den Hinweis mit den Attributen, hab sie im Post vorher gexxxt. Hatte ich vergessen.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 03 Januar 2021, 12:26:28
Versuch mal alle Spotify Web anmelden auszuloggen, dann nur auf einem Browser Login und die Attribute kopieren. Dann Web Player im Browser schließen und nicht mehr öffnen.

Im Moment weiß ich noch nicht wie das bei Spotify abläuft und warum ein Token der 1 Jahr halten sollte vorher deaktiviert wird. Im schlimmsten Fall muss ich noch einen anderen Weg implementieren. Gefunden hätte ich schon was.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 12:29:59
Ich hatte gestern zusätzlich zur WebPlayer auch die DesktopApp in Gebrauch, soll ich mich da sicherheitshalber auch ausloggen?

Das würde dann eine manuelle BEdienung von Spotify ausschließen, was ja nicht so gut wäre.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 13:13:57
Also ich hab mich jetzt sowohl im WebPlayer als auch in der Desktop-App abgemeldet, mich dann im WebPlayer neu angemeldet.
Beide Attribute (Diesmal waren sie gleich) neu gesetzt und den Server neu gestartet.

Brachte leider alles keinen Erfolg. Es wird keine Musik abgespielt obwohl der Nest reagiert.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 03 Januar 2021, 13:25:00
Die beiden Cookies sind eigentlich niemals gleich, schon alleine deren Länge ist komplett unterschiedlich.

Probier es bitte nochmals. Hier noch eine Anleitung mit etwas komplexere Vorgehensweise, führt aber zum gleichen Ergebnis:
https://github.com/enriquegh/spotify-webplayer-token#usage
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 13:43:49
Mit gleich war nicht der Vergleich zwischen den beiden Attributen gemeint, sondern der Vergleich mit den jeweiligen Attributen und ihren jeweiligen Vorgängerwerten.

Ehe ich diese Anleitung abarbeite (muss sowieso mal sehen ob ich das überhaupt hinbekomme) ist mir aufgefallen, dass ich vom WebPlayer nicht auf die Google-Nest-Geräte streamen kann. Gestern Abend wurde mir beide Google-Nest-Geräte unter "Mit Gerät verbinden" angezeigt, heute nicht mehr. Wenn ich das richtig verstanden habe, basiert das doch auf spotify_connect, oder?
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 03 Januar 2021, 13:51:17
Jein, die Google Nest/Home Geräte funktionieren so:
 - Sie werden als Cast Device (nicht Spotify Connect!) in der Spotify App angezeigt, wenn das nicht passiert, dann vielleicht mal das Gerät neu starten
 - Wenn Spotify eine Verbindung zum Cast Device aufbaut, startet es zuerst die Spotify App und schickt dann die Authentifizierungsdaten an das Cast Device. Damit weiß Spotify, dass es eine Spotify App auf einem Cast Device gibt die es ansprechen kann.
 - Ab diesen Zeitpunkt läuft alles über das Spotify Connect Protokoll
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 14:08:41
Also mal ganz von Vorne, ich versteh nämlich nur noch Bahnhof.

Das was ich sagen kann ist folgendes: In der Desktop-App (die ich mal testweise gestartet habe) werden die Google-Nest beide angezeigt, in der WebPlayer Version wird keins angezeigt. In beiden Playern wird ein WebPlayer (Microsoft Edge) angezeigt. Dieser war beim WebPlayer ursprüglich auch als wiedergabendes Gerät aktiviert.

Aus der Desktop-App kann ich auf die Nest-Lautsprecher streamen oder wahlweise jedes andere angezeigte Gerät. Lediglich bei Auswahl des WebPlayers (Microsoft Edge) verstummt die Wiedergabe. In der Desktop-App wird komischerweise der WebPlayer (Microsoft Edge) auch doppelt angezeigt

Es esxistiert also keine Verbindung mit dem WebPlayer. Ich denke also, dass das Problem ein generelles ist und gar nicht an den GoogleCast-Devices in Fhem liegt.
Wäre es sinnvoll mal komplett von vorne anzufangen, also das Spotify-Device zu prüfen?
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 03 Januar 2021, 14:12:05
So wie es bei dir angezeigt wird, ist es richtig. Im Webplayer werden die Nest Devices erst angezeigt wenn die Spotify App darauf läuft, vorher nicht.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 14:17:54
Auf den Nest läuft keine App oder Software, da lässt sich nichts installieren.
Oder meinst du, die Wiedergabe?

Ich verzweifele gerade.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 03 Januar 2021, 14:20:34
Das Spotify Ding da drauf ist eine App oder wahrscheinlich eher PWA.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 14:30:14
Ehrlich gesagt ist es mir inzwischen egal, ich werd die Sache wohl aufgeben, das bringt doch nix bei dem Chaos.

Was mir als Laie jedenfalls klar ist bei deinen Ausführungen: Wenn im WebPlayer die Nest-Lautsprecher nicht existieren, kann Fhem - was auf den WebPlayer zugreift - auch nicht auf diese Geräte streamen. Punkt.

Also für mich als Laie ist es ein Kommunikationsproblem zwischen Fhem, dem WebPlayer und den Nest-Lautsprechern.
Die Frage ist wie man dem auf die Spur kommen kann.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 14:40:50
Also ganz ehrlich, ich verstehe es nicht. Ich mache gerade alles dicht um aufzuräumen und schalte im Spotify-Device zufäälig mit toggle um und es wird wieder was auf dem Notebook wiedergegeben. Also gleich das Googlecast-Device ausprobiert und siehe da, auch das funktioniert plötzlich.

Keihne Ahnung was und warum da passiert ist, aber das ganze ist irgendwie nicht sauber.
Trotzdem verstehe ich nicht wie Fhem auf einen der Nest-Lautsprecher streamen kann wenn der Lautsprecher im WebPlayer nicht zur Auswahl steht.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 03 Januar 2021, 14:41:58
FHEM startet die Spotify App am Nest und dann kann es darauf streamen.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 14:47:17
Warum dann nicht eben schon, hab ja nichts verändert, nur aufgeräumt.

Egal, es funktioniert, sollten wieder Probleme auftreten muss ich mich halt wieder melden.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 14:57:56
Tja, schneller als gedacht, da bin ich wieder.

Ein bischen rumgespielt und schon geht es wieder nicht mehr.
Da muss irgendeine Konstellation sein, die Fhem blockiert und ich denke, das es in unser beider Interesse ist diese zu finden, oder?
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 03 Januar 2021, 15:05:47
Poste mal das Log wenn es nicht geht und bitte um detaillierte Fehlerbeschreibung. "Geht nicht" ist leider etwas wenig ;)
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 15:09:11
Welches Log? Fhem Log oder das Log eines speziellen Device?

Geht nicht habe ich schon mehrfach beschrieben, der Nest reagiert - merkt man daran, dass er kurz aufpingt - doch dann kommt eben keine Wiedergabe. Das Device bleibt stur auf Online stehen, da ändert sich nichts.

Es muss was mit dem SpotifyMusic-Device zu tun haben, also mit dem Fhempy - spotify, denn nach dem ich da vorhin auf toggle geklickt hatte ging es ja kurzzeitig.

Welche Devices brauche ich denn eigentlich zwingend für die Wiedergabe von Spotify auf den google-nest? Vielleicht kann man ja ein oder mehrere Devices löschen und so Fehlerquellen eliminieren.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 03 Januar 2021, 15:32:01
Die Spotify Devices haben damit nichts zu tun.

Was das jeweilige Modul macht, hatte ich die schon irgendwo gepostet.

/opt/fhem/log/PythonBinding*.log
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 15:33:15
Hier mal das fhem-Log, vielleicht hilft das ja schon mal weiter.
Zusätzlich das PhytonBinding.log

Also können die beiden Spotify Devices gelöscht werden, sowohl das was auf das ursprüngliche Spotify-Modul zugreift als auch das Device, das auf das Phyton-Spotify-Modul zugreift.
Titel: Antw:fhempy: googlecast
Beitrag von: a_quadrat am 03 Januar 2021, 15:33:27
Hallo Zusammen,

ich habe bei mir das gleiche Verhalten wie bei Superposchi festgestellt. Beim 1. Mal hat das erneute setzen der beiden Attribute "spotify_sp_dc" und "spotify_sp_key" noch funktioniert - leider bringt das jetzt auch nichts mehr. Im Log kommen immer folgende Einträge:

2021-01-03 15:23:23,497 - ERROR    - castdevice_Kueche: Failed to play spotify track
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/googlecast/googlecast.py", line 302, in playSpotify
    await utils.run_blocking(functools.partial(sp.launch_app))
  File "/opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/utils.py", line 29, in run_blocking
    return await asyncio.get_event_loop().run_in_executor(pool, function)
  File "/usr/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/opt/fhem/.local/lib/python3.8/site-packages/pychromecast/controllers/spotify.py", line 88, in launch_app
    raise LaunchError(
pychromecast.error.LaunchError: Timeout when waiting for status response from Spotify app

VG Andreas
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 15:48:02
Was mir inzwischen aufgefallen ist, ich musste im Spotify-Device, also das, was per fehmpy-spotify zugreift, die Autorisierung und den Authcode neu setzen, das war alles weg, werde jetzt mal Fhem neustarten (musste ich ja bei Erstellung auch) und dann mal sehen.

Also nachdem der Authcode im Spotify-Device gesetzt ist schreint es zu funktionieren. Da hat das Gedächtnis wohl ein Loch und die Authorisierung wird vergessen.
Keine Ahnung ob das die Lösung ist. Ist mir nur beim Probieren aufgefallen.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 03 Januar 2021, 15:56:23
Könnt ihr bitte Mal probieren die Cookies im Inkognito Browser Mode rauskopieren und dann Browser schließen?

Woran hast du gemerkt, dass die fhempy spotify Authorization weg war? Kein User Reading mehr gehabt?
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 17:29:44
Im Reading login erscheint "Connect Spotify account (new window/tab)" wo erneut zugestimmt werden muss und dann ein autocode erscheint.

Das mit dem Incognito Mode kriege ich nicht auf die Reihe. Erstens weiß ich nicht was du meinst und zweitens versuche ich den eben zu vermeiden wo es nur gehz
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 03 Januar 2021, 17:43:51
Das Reading "Connect Spotify account" erscheint IMMER. Damit man bei einer bestehenden Verbindung auch auf einen anderen Account switchen kann.

Inkognito Mode: https://support.google.com/chrome/answer/95464?co=GENIE.Platform%3DDesktop&hl=de
Damit werden keinerlei Daten innerhalb des Browsers zum Surfverhalten gespeichert.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 19:17:15
Ich weiß was der Inkognitomode ist, aber hab ihn bisher nie verwendet, insofern versteh ich den Sinn nicht.
Titel: Antw:fhempy: googlecast
Beitrag von: a_quadrat am 03 Januar 2021, 19:26:16
Es läuft wieder. Ich habe die Cookies aus dem Inkognito-Browser kopiert, wie vorgeschlagen. Mal sehen wie lange es funktioniert. Ich berichte...
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 20:03:38
Wie können im Incognito-Brwoser Coockies aufgezeichnet werden, das wiederspricht doch der Funktion der Geheimhaltung? Deshalb mein Kommentar mir Verstehe ich nicht.
Aber hauptsache es funktioniert und bin gespannt wie lange.
Werde es spätestens morgen auch noch mal probieren.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 03 Januar 2021, 20:14:54
Sorry, aber wenn du es nicht verstehst, dann Google doch einfach mal:
https://support.google.com/chrome/answer/7440301
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 20:52:24
@a_quadrat
Also Spotify ist überall geschlossen. Dann habe ich Spotify im Incognito-Browserfenster geöffnet und mich dort angemeldet, Cookies akzeptiert.
Wie und wo hast du die Cookies aus dem Inkognito-Browser genommen? Ist das der gleiche Seitenaufruf wie er in Fhem angezeigt wird oder handelt es sich dabei um eine andere Adresse?
Titel: Antw:fhempy: googlecast
Beitrag von: a_quadrat am 03 Januar 2021, 20:59:44
Ja, ist der gleiche Aufruf. Es war auch eine neue Zeichenfolge.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 21:06:38
Also wenn ich den gleichen Aufruf benutze, macht er mir das immer in einem normalen Browserfenster auf und es sind die gleichen Einträge wie bereits hinterlegt.

Du hast einfach "chrome://settings/cookies/detail?site=spotify.com" im Chrome Inkognito-Browserfenster eingegeben?
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 03 Januar 2021, 21:09:36
Du kannst auf der Seite im Chrome Browser auf das Schloss Symbol neben der URL drücken und dort die Cookies auswählen.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 21:14:25
Gefunden, sind auch neue Werte. Habe diese in die Devices entsprechend eingetragen.
Leider funktioniert es noch nicht. Starte jetzt mal den Server neu, das musste ja schon öfters mal sein.

Melde mich wenn er wieder online ist.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 21:33:10
So, jetzt ist das Chaos wieder perfekt und die Nest-Devices zeigen im STATE eine Fehlermeldung an:
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.Ist zwar was anderes als Gestern, aber irgendwie habe ich gerade das Gefühl ich drehe mich im Kreise.
Titel: Antw:fhempy: googlecast
Beitrag von: a_quadrat am 03 Januar 2021, 21:39:57
Bei mir funktioniert es auch nicht mehr, ich bin ebenfalls ratlos...
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 03 Januar 2021, 21:41:32
Bekommst du die selbe Fehlermeldung?
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 03 Januar 2021, 21:44:10
Ich glaube ich habe da was gefunden. Probier bitte mal einfach den gleichen sp_dc und sp_key mit attr zu bestätigen (also im FHEM Web attr drücken). Danach nochmals play probieren.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 21:59:44
Hat nichts geändert.
Hatte vorher auch schon die ganzen Befehle  bezüglich Spotify-Token Installation durchlaufen lassen.

Bei mir steht immer noch die Fehlermeldung

Interessant ist vielleicht, dass er bei der Lautsprechergruppe (in der Home App angelegt) folgendes bei STATE anzeigt:"PythonBinding timeout"
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 03 Januar 2021, 22:05:28
Also, ich glaube aktuell geht der sp_dc und key jeweils nur 1h.

Die Aktualisierung erfolgt NUR beim Setzen eines der Attribute. Wenn es also jemand am Laufen hat und danach nicht mehr geht, bitte Mal nur eines der Attribute nochmals auf den gleichen Wert setzen, sonst nichts ändern.

Ich baue noch ein, dass es nach 1h aktualisiert wird.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 22:24:19
Ich habe gerade ncoh mal ein Update vom Fhem gemacht. Dabei ist mir folgendes Aufgefallen:
2021.01.03 22:21:49.169 1 : ws:127.0.0.1:15733 disconnected, waiting to reappear (local_pybinding)
2021.01.03 22:21:49.174 1 : BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)
2021.01.03 22:22:01.887 1 : ws:127.0.0.1:15733 reappeared (local_pybinding)
2021.01.03 22:22:05.259 1 : BindingsIo: ERROR: Timeout while waiting for function to finish (id: 1131209)
2021.01.03 22:22:07.774 1 : BindingsIo: ERROR: Timeout while waiting for function to finish (id: 87973160)

Hat das vielleicht irgendwas mit meinen Problemen zutun?
Die Fehlermeldung hängt ja offenbar nicht mit der Attribut-Problematik zusammen, oder?
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 03 Januar 2021, 22:25:58
Das passt, beim Update wir fhempy aktualisiert und neu gestartet, daher ist es kurz nicht erreichbar.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 03 Januar 2021, 22:32:40
Ja, hat auch nichts gebracht, die Fehlermeldung ist nach wie vor bei beiden NEst Devices vorhanden, lediglich die Gruppe zeigt "PythonBinding timeout" an.
Bei den echten Google-Nest-Devices steht wie oben schon mal geschrieben:
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.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 04 Januar 2021, 12:26:52
So, habe noch etwas rumgespielt und probiert.
Wie ich schon mal geschrieben hatte, habe ich die Googlecast-Devices manuell angelegt, Fhem hat aber auch die gleichen Geräte automatisch angelegt.

Jetzt habe ich mal die SP_DC und SP_Key Daten von den manuell erstellten auf die automatisch erstellten Devices übertragen und siehe da, nach einem Server-Neustart stand statt wie bisher "online" plötzlich "PythonBinding timeout" im State.

Vielleicht hilft das ja als Information ein Stück weiter.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 04 Januar 2021, 12:40:35
Bitte erkläre was du gemacht hast, dann kann ich besser weiter helfen. "rumgespielt" kann ich nur raten.

Ich vermute du hast discover_mdns eingesetzt? Warum legst du dann nochmals das gleiche Device manuell an?
In welchen Device stand danach "PythonBinding timeout"? Was steht im PythonBinding Log?
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 04 Januar 2021, 20:55:29
Also, ich habe damals die Devices manuell angelegt, weil ich nicht mitbekommen habe, dass Fhem automatisch welche angelegt hatte. Nicht mehr und nicht weniger.
Was ich unter "rumgespielt" gemacht habe, steht im Post vorher. Ich habe lediglich die Werte der beiden Attribute SP_DC und SP_Key aus den manuelle angelegten Devices (die ja rumzicken) kopiert und entsprechend in den automatisch erzeigten eingefügt. Die Automatisch erzeugten standen vorher alls auf online, nach dem Einfügen der Attribute und einem Fhem-Neustart stand das Device bei dem ich die Attribute testweise übertragen hatte eben auf "PythonBinding timeout".
Mehr habe ich nicht gemacht und genauer kann ich es nicht erklären.

Anbei noch die Logs von PythonBinding von gestern und heute und das List des automatisch erstellten Devices:
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      5fcd0e72-f33f-793a-526c-c0aeb5c75a9ed69f
   FVERSION   10_PythonModule.pm:0.182830/2019-01-16
   IODev      local_pybinding
   NAME       Google_Nest_Mini_Wohnzimmerlautsprecher
   NR         134
   PYTHONTYPE googlecast
   STATE      PythonBinding timeout
   TYPE       PythonModule
   .attraggr:
   .attrminint:
   READINGS:
     2021-01-04 09:12:58   app_id         
     2020-12-06 20:02:49   cast_type       cast
     2021-01-04 12:15:20   connection      connected
     2021-01-04 09:12:58   display_name   
     2021-01-04 09:07:57   icon_url       
     2020-12-06 20:02:49   ignore_cec      0
     2020-12-06 20:02:50   is_active_input 0
     2020-12-06 20:02:50   is_stand_by     1
     2021-01-03 16:52:52   mediaAlbum     
     2021-01-03 16:52:52   mediaArtist     
     2021-01-04 09:12:58   mediaContentId 
     2021-01-04 09:12:58   mediaContentType
     2021-01-03 19:30:22   mediaCurrentPosPercent
     2021-01-03 19:30:22   mediaCurrentPosition
     2021-01-04 09:12:58   mediaDuration   
     2021-01-03 16:52:52   mediaImageHeight
     2021-01-03 16:52:52   mediaImageUrl   
     2021-01-03 16:52:52   mediaImageWidth
     2021-01-04 09:12:58   mediaPlayerState UNKNOWN
     2021-01-04 09:12:58   mediaStreamType UNKNOWN
     2021-01-03 16:52:52   mediaTitle     
     2020-12-06 20:02:49   model_name      Google Nest Mini
     2020-12-06 20:02:50   mute            0
     2020-12-06 20:02:49   name            Wohnzimmerlautsprecher
     2021-01-04 09:12:58   session_id     
     2021-01-04 12:15:16   spotify_user    attr spotify_sp... required
     2021-01-04 12:20:28   state           PythonBinding timeout
     2021-01-04 09:12:58   status_text     
     2021-01-04 09:12:58   transport_id   
     2020-12-06 20:02:49   uuid            ec715a28-897e-dc95-3c87-e44ecb1699c0
     2021-01-03 19:30:16   volume          65
   args:
     Google_Nest_Mini_Wohnzimmerlautsprecher
     PythonModule
     googlecast
     Wohnzimmerlautsprecher
   argsh:
Attributes:
   IODev      local_pybinding
   favorite_2 https://open.spotify.com/playlist/4MwJ4E9RlPUii28R0t5dDL
   favorite_3 https://open.spotify.com/playlist/2RxtpesK6vFl9g4q9YQdwD
   icon       scene_scene
   spotify_sp_dc xxx
   spotify_sp_key xxx
   userattr   favorite_1 favorite_2 favorite_3 favorite_4 favorite_5

"discover_mdns" sagt mir gar nichts.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 04 Januar 2021, 20:57:22
Hier noch die Fehlermeldung die im manuell erzeigten Device steht:
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.
Das List dazu:
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
   .triggerUsed 0
   DEF        googlecast Wohnzimmerlautsprecher
   FUUID      5fbac9e2-f33f-793a-66ea-c20857e12b91fab7
   FVERSION   10_PythonModule.pm:0.182830/2019-01-16
   IODev      local_pybinding
   NAME       Wohnzimmerlautsprecher
   NR         94
   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-03 20:02:45   app_id          CC32E753
     2020-11-22 21:28:19   cast_type       cast
     2021-01-03 20:12:01   connection      connected
     2021-01-03 20:02:45   display_name    Spotify
     2021-01-03 20:02:45   icon_url        https://lh3.googleusercontent.com/HOX9yqNu6y87Chb1lHYqhKVTQW43oFAFFe2ojx94yCLh0yMzgygTrM0RweAexApRWqq6UahgrWYimVgK
     2020-11-22 21:28:19   ignore_cec      0
     2020-11-22 21:28:19   is_active_input 0
     2020-11-22 21:28:19   is_stand_by     1
     2021-01-03 16:52:52   mediaAlbum     
     2021-01-03 16:52:52   mediaArtist     
     2021-01-03 19:35:22   mediaContentId 
     2021-01-03 19:35:22   mediaContentType
     2021-01-03 19:30:22   mediaCurrentPosPercent
     2021-01-03 19:30:22   mediaCurrentPosition
     2021-01-03 19:35:22   mediaDuration   
     2021-01-03 16:52:52   mediaImageHeight
     2021-01-03 16:52:52   mediaImageUrl   
     2021-01-03 16:52:52   mediaImageWidth
     2021-01-03 19:35:22   mediaPlayerState UNKNOWN
     2021-01-03 19:35:22   mediaStreamType UNKNOWN
     2021-01-03 16:52:52   mediaTitle     
     2020-11-22 21:28:19   model_name      Google Nest Mini
     2020-11-22 21:28:19   mute            0
     2020-11-22 21:28:19   name            Wohnzimmerlautsprecher
     2021-01-03 20:02:45   session_id      650da717-4f0b-49e3-b89a-4ff289dc5c1c
     2021-01-03 20:11:54   spotify_user    Marko Poschen (marko.poschen@gmx.de)
     2021-01-04 12:20:35   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-03 20:02:45   status_text     Spotify
     2021-01-03 20:02:45   transport_id    650da717-4f0b-49e3-b89a-4ff289dc5c1c
     2020-11-22 21:28:19   uuid            ec715a28-897e-dc95-3c87-e44ecb1699c0
     2021-01-03 19:30:00   volume          65
   args:
     Wohnzimmerlautsprecher
     PythonModule
     googlecast
     Wohnzimmerlautsprecher
   argsh:
Attributes:
   IODev      local_pybinding
   favorite_1 https://open.spotify.com/playlist/4MwJ4E9RlPUii28R0t5dDL
   favorite_2 https://open.spotify.com/playlist/2RxtpesK6vFl9g4q9YQdwD
   group      Audiosystem
   icon       audio_loudness
   room       Devices,GAssistant
   spotify_sp_dc xxx
   spotify_sp_key xxx
   userattr   favorite_1 favorite_2 favorite_3 favorite_4 favorite_5
   verbose    3
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 04 Januar 2021, 21:50:06
Achtung, bitte sp_dc und sp_key nicht posten.

Ok, ich glaube zuerst müssen wir aufräumen. Mir ist kein Modul außer discover_mdns bekannt welches Googlecast Devices anlegt. Irgendwas ist da in deiner FHEM Installation was da Devices anlegt, bitte das mal ausfindig machen und löschen damit wir von einem sauberen Stand weiter arbeiten können.

//Edit: Ich bring heute oder morgen noch ein Update, eventuell sind die Probleme mit Spotify dann auch behoben. Bitte aber dennoch mal aufräumen, da es sonst zu unübersichtlich in der Fehleranalyse wird.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 04 Januar 2021, 22:38:55
So, ich habe jetzt alle Devices gelöscht, das SpotifyMusic (Original Spotify-Modul), das Spotify (Fhempy-spotify), die drei manuellen Lautsprecher (fhempy-googlecast), die automatisch angelegten Lautsprecher (fhempy-googlecast) und ein discover_mdns-Device.

Das heißt ich muss morgen alles von Grund auf neu erstellen.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 05 Januar 2021, 10:33:01
So...Fix ist online. Spotify sollte nun dauerhaft funktionieren.

Bitte um Test. Version: 0.1.15
Titel: Antw:fhempy: googlecast
Beitrag von: ReneH87 am 05 Januar 2021, 16:07:31
Den Fehler mit 127.0.1.1 konnte ich finden und ist behoben. Sollte nicht mehr vorkommen, das 127.0.1.1 Device kannst du löschen.

klappt, kann den Fehler nicht mehr entdecken  :)

Nach dem Update ist mir das noch im abesetzen raspi aufgefallen im Log (funktioniert trotzdem alles, nur zur Info):
Jan 05 16:04:28 raspberrypi fhempy[3746]: 2021-01-05 16:04:28,844 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: CommandDefine(undef, "fhempy_peer_192_168_5_7 BindingsIo 192.168.5.7:15733 Python")
Jan 05 16:04:28 raspberrypi fhempy[3746]: 2021-01-05 16:04:28,853 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: CommandDefine(undef, "fhempy_peer_192_168_5_7 BindingsIo 192.168.5.7:15733 Python")
Jan 05 16:04:28 raspberrypi fhempy[3746]: 2021-01-05 16:04:28,858 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: setDevAttrList('Badezimmer.GoogleHomeMini', 'favorite_1 favorite_2 favorite_3 favorite_4 favorite_5 spotify_sp_dc spotify_sp_key IODev '.$readingFnAttributes)
Jan 05 16:04:28 raspberrypi fhempy[3746]: 2021-01-05 16:04:28,872 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: setDevAttrList('Schlafzimmer.LenovoSmartClock', 'favorite_1 favorite_2 favorite_3 favorite_4 favorite_5 spotify_sp_dc spotify_sp_key IODev '.$readingFnAttributes)
Jan 05 16:04:28 raspberrypi fhempy[3746]: 2021-01-05 16:04:28,878 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: setDevAttrList('Wohnzimmer.SmartDisplay', 'favorite_1 favorite_2 favorite_3 favorite_4 favorite_5 spotify_sp_dc spotify_sp_key IODev '.$readingFnAttributes)
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 05 Januar 2021, 16:40:17
War das kurz nach dem Update vor dem Neustart? Oder nach dem Neustart?
Titel: Antw:fhempy: googlecast
Beitrag von: ReneH87 am 05 Januar 2021, 17:01:38
Das war nach einem Update und anschließenden Neustart von fhempy auf dem remote raspi. fhem hatte sich verbunden, dann ist fhempy auf dem remote raspi abgeschmiert, hat autom. neu gestartet und dann kamen die Meldungen. Hier mal das gesamte Log:

Jan 05 16:03:20 raspberrypi systemd[1]: Started FHEM PythonBinding.
Jan 05 16:03:25 raspberrypi fhempy[3733]: 2021-01-05 16:03:25,963 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
Jan 05 16:03:26 raspberrypi fhempy[3733]: 2021-01-05 16:03:26,199 - INFO     - fhempy.lib.fhem_pythonbinding: Advertise fhempy on local network
Jan 05 16:03:27 raspberrypi fhempy[3733]: 2021-01-05 16:03:27,113 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
Jan 05 16:03:35 raspberrypi fhempy[3733]: 2021-01-05 16:03:35,840 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 192.168.5.2
Jan 05 16:03:36 raspberrypi fhempy[3733]: 2021-01-05 16:03:36,006 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 192.168.5.2
Jan 05 16:03:47 raspberrypi fhempy[3733]: 2021-01-05 16:03:47,268 - ERROR    - fhempy.lib.fhem: Connection closed, can't send message.
Jan 05 16:03:47 raspberrypi fhempy[3733]: 2021-01-05 16:03:47,292 - ERROR    - fhempy.lib.fhem_pythonbinding: Connection closed error
Jan 05 16:03:47 raspberrypi fhempy[3733]: Traceback (most recent call last):
Jan 05 16:03:47 raspberrypi fhempy[3733]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 827, in transfer_data
Jan 05 16:03:47 raspberrypi fhempy[3733]:     message = await self.read_message()
Jan 05 16:03:47 raspberrypi fhempy[3733]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 895, in read_message
Jan 05 16:03:47 raspberrypi fhempy[3733]:     frame = await self.read_data_frame(max_size=self.max_size)
Jan 05 16:03:47 raspberrypi fhempy[3733]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 971, in read_data_frame
Jan 05 16:03:47 raspberrypi fhempy[3733]:     frame = await self.read_frame(max_size)
Jan 05 16:03:47 raspberrypi fhempy[3733]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 1051, in read_frame
Jan 05 16:03:47 raspberrypi fhempy[3733]:     extensions=self.extensions,
Jan 05 16:03:47 raspberrypi fhempy[3733]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/framing.py", line 105, in read
Jan 05 16:03:47 raspberrypi fhempy[3733]:     data = await reader(2)
Jan 05 16:03:47 raspberrypi fhempy[3733]:   File "/usr/lib/python3.7/asyncio/streams.py", line 679, in readexactly
Jan 05 16:03:47 raspberrypi fhempy[3733]:     await self._wait_for_data('readexactly')
Jan 05 16:03:47 raspberrypi fhempy[3733]:   File "/usr/lib/python3.7/asyncio/streams.py", line 473, in _wait_for_data
Jan 05 16:03:47 raspberrypi fhempy[3733]:     await self._waiter
Jan 05 16:03:47 raspberrypi fhempy[3733]: concurrent.futures._base.CancelledError
Jan 05 16:03:47 raspberrypi fhempy[3733]: The above exception was the direct cause of the following exception:
Jan 05 16:03:47 raspberrypi fhempy[3733]: Traceback (most recent call last):
Jan 05 16:03:47 raspberrypi fhempy[3733]:   File "/home/pi/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 63, in pybinding
Jan 05 16:03:47 raspberrypi fhempy[3733]:     async for message in websocket:
Jan 05 16:03:47 raspberrypi fhempy[3733]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 439, in __aiter__
Jan 05 16:03:47 raspberrypi fhempy[3733]:     yield await self.recv()
Jan 05 16:03:47 raspberrypi fhempy[3733]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 509, in recv
Jan 05 16:03:47 raspberrypi fhempy[3733]:     await self.ensure_open()
Jan 05 16:03:47 raspberrypi fhempy[3733]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 803, in ensure_open
Jan 05 16:03:47 raspberrypi fhempy[3733]:     raise self.connection_closed_exc()
Jan 05 16:03:47 raspberrypi fhempy[3733]: websockets.exceptions.ConnectionClosedError: code = 1006 (connection closed abnormally [internal]), no reason
Jan 05 16:03:47 raspberrypi fhempy[3733]: 2021-01-05 16:03:47,323 - INFO     - fhempy.lib.fhem_pythonbinding: Restart binding
Jan 05 16:03:48 raspberrypi systemd[1]: fhempy.service: Main process exited, code=exited, status=1/FAILURE
Jan 05 16:03:48 raspberrypi systemd[1]: fhempy.service: Failed with result 'exit-code'.
Jan 05 16:03:48 raspberrypi systemd[1]: fhempy.service: Service RestartSec=100ms expired, scheduling restart.
Jan 05 16:03:48 raspberrypi systemd[1]: fhempy.service: Scheduled restart job, restart counter is at 1.
Jan 05 16:03:48 raspberrypi systemd[1]: Stopped FHEM PythonBinding.
Jan 05 16:03:48 raspberrypi systemd[1]: Started FHEM PythonBinding.
Jan 05 16:03:53 raspberrypi fhempy[3746]: 2021-01-05 16:03:53,192 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
Jan 05 16:03:53 raspberrypi fhempy[3746]: 2021-01-05 16:03:53,346 - INFO     - fhempy.lib.fhem_pythonbinding: Advertise fhempy on local network
Jan 05 16:03:54 raspberrypi fhempy[3746]: 2021-01-05 16:03:54,244 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
Jan 05 16:04:02 raspberrypi fhempy[3746]: 2021-01-05 16:04:02,266 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 192.168.5.2
Jan 05 16:04:02 raspberrypi fhempy[3746]: 2021-01-05 16:04:02,415 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 192.168.5.2
Jan 05 16:04:28 raspberrypi fhempy[3746]: 2021-01-05 16:04:28,844 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: CommandDefine(undef, "fhempy_peer_192_168_5_7 BindingsIo 192.168.5.7:15733 Python")
Jan 05 16:04:28 raspberrypi fhempy[3746]: 2021-01-05 16:04:28,853 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: CommandDefine(undef, "fhempy_peer_192_168_5_7 BindingsIo 192.168.5.7:15733 Python")
Jan 05 16:04:28 raspberrypi fhempy[3746]: 2021-01-05 16:04:28,858 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: setDevAttrList('Badezimmer.GoogleHomeMini', 'favorite_1 favorite_2 favorite_3 favorite_4 favorite_5 spotify_sp_dc spotify_sp_key IODev '.$readingFnAttributes)
Jan 05 16:04:28 raspberrypi fhempy[3746]: 2021-01-05 16:04:28,872 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: setDevAttrList('Schlafzimmer.LenovoSmartClock', 'favorite_1 favorite_2 favorite_3 favorite_4 favorite_5 spotify_sp_dc spotify_sp_key IODev '.$readingFnAttributes)
Jan 05 16:04:28 raspberrypi fhempy[3746]: 2021-01-05 16:04:28,878 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: setDevAttrList('Wohnzimmer.SmartDisplay', 'favorite_1 favorite_2 favorite_3 favorite_4 favorite_5 spotify_sp_dc spotify_sp_key IODev '.$readingFnAttributes)
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 05 Januar 2021, 17:25:37
Ah, da kommen 2 FHEM Connections rein statt eine, dann startet fhempy automatisch neu. Das dürfte irgendwo in DevIo.pm sein, den Fehler habe ich noch nicht gefunden.

Remote fhempy startet automatisch neu beim Update, da der das Update automatisch mitmacht.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 05 Januar 2021, 17:40:00
So, da ich gestern alle Devices auf deinen Wunsch gelöscht habe, wärst du so freundlich mal alles der Reihe nach mit mir durchzugehen.
Welche Devices brauche ich um
a) von Fhem aus auf meinen google-Nest per Speak Text abzusetzen
b) von Fhem ohne den Webplayer oder die App geöffnet zu haben Musik auf meinen Google-Nest abzuspielen
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 05 Januar 2021, 17:46:24
define castnest PythonModule googlecast MeinNestName

Danach noch sd_dc, sd_key.

Sonst nichts, probier bitte nur das und wenn es nicht geht, meldest du dich bitte.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 05 Januar 2021, 18:32:35
Hallo, also habe die beiden Google-Nest und die entsprechende Gruppe manuell wieder angelegt und sp_dc und sp_key aus dem inkognito-Browser in den Attributen eingefügt.
Speak funktioniert, wobei man jetzt nicht nur bei der Commandzeile sondern auch wenn man einen BEfehl über Set und die Auswahlfelder absetzt den Text in Anführungszeichen setzen muss. Play, also Spotify funktioniert hingegen nicht.
Was mir schon mal aufgefallen ist im Reading "Spotify_User" der Devices steht trotz der eingetragenen Attribute und einem Neustart immer noch "   
attr spotify_sp... required", genauso wie es sonst nur vor dem eintragen der Attribute erscheint.

Also sieht so aus, als wenn Attribute und die Sitzung des WebPlayers im Inkognito-Brwoser nicht passen würde.

Wie kann ich sicherstellen, dass der Webbrowser eine aktuelle Instanz verwendet und die aktuellsten sp_dc und sp_key Werte anzeigt?
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 05 Januar 2021, 19:44:09
Hast du dich im Inkognito Browser eh nicht abgemeldet? Also Logout bei Spotify gedrückt.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 05 Januar 2021, 20:03:29
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".
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 05 Januar 2021, 22:08:24
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?
Titel: Antw:fhempy: googlecast
Beitrag von: a_quadrat am 06 Januar 2021, 13:12:18
Ich habe es seit gestern am Laufen. Bis jetzt funktioniert es ohne Probleme  :).

VG Andreas
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 06 Januar 2021, 17:38:09
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
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 06 Januar 2021, 18:13:28
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)
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 06 Januar 2021, 23:17:25
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.
Titel: Antw:fhempy: googlecast
Beitrag 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.
Titel: Antw:fhempy: googlecast
Beitrag von: a_quadrat am 07 Januar 2021, 15:53:08
ich weiss nicht ob es eine Rolle spielt, aber meine Python Version ist 3.8.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 08 Januar 2021, 00:17:43
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.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 08 Januar 2021, 08:42:26
In dem Thread https://forum.fhem.de/index.php/topic,117513.msg1119042.html#new (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.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 08 Januar 2021, 14:54:18
In dem Thread https://forum.fhem.de/index.php/topic,117513.msg1119042.html#new (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.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 08 Januar 2021, 22:14:26
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.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 08 Januar 2021, 22:30:56
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...
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 08 Januar 2021, 22:39:53
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.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 10 Januar 2021, 10:04:58
Ich habe mal zwei grundlegende Fragen zu deinem Modul:
1) Kann man irgendwie auf Ausgabebefehle reagieren, also zb. wenn ein set speak oder set play gesendet wird die Lautstärke erhöhen und danach verringern?
2) Was passiert wenn mehrere set speak Befehle sich überschneiden, werden diese nacheinander ausgeführt oder überschlägt sich der Ton  oder wird die erste Ausgabe abgeschnitten?
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 10 Januar 2021, 10:13:36
1) Aktuell nicht, musst du im Moment manuell machen. Vorher volume, warten und danach volume.
2) Wahrscheinlich wird der 2. den 1. unterbrechen, gerne mal testen
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 10 Januar 2021, 10:24:13
Wäre denn für den ersten Fall eine Möglichkeit soweit zukünftig mit einzubauen.
Wird halt schnell sehr viel und unübersichtlich mit den Lautstärkebefehlen, ganz zu schweigen von den ganzen Verzögerungen die dann eingebaut werden müssen.

Vielleicht kannst du es ja als Wunsch für ein künftiges Feature sehen.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 10 Januar 2021, 10:52:08
Ja, schau ich mir an. Kommt dann nach der tuya Modul Fertigstellung.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 10 Januar 2021, 15:16:22
So, wie fast schon erwartet funktionieren die LAutsprecher nicht mehr mit play/spotify nachdem ich am Notebook über die Desktop-App Music auf einem der Lautsprecher gestreamt und Fhem neu gestartet habe.
In den Readings taucht wieder:
spotify_user          attr spotify_sp... required auf.

Was nach meinem Verständnis bedeutet, dass die Attribute und damit die Autorisierung nicht mehr gültig ist, richtig?
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 10 Januar 2021, 15:18:06
Nein, das bedeutet, dass die Attribute nicht gesetzt sind. Ist in den beiden Attributen ein Wert drin?
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 10 Januar 2021, 15:27:54
Ja, es ist der Wert drin, der gestern Abend und auch heute Morgen vor dem "normalen" hören üder die App funktioniert hat.

Habe mal testweise einfach die Attribute bearbeitet und neu gesetzt ohne sie zu verändern, dann funktioniert es sofort wieder.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 10 Januar 2021, 15:30:45
Welche Version hast du im Einsatz?
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 10 Januar 2021, 15:31:31
Welche Version wovon?
Da must du leider etwas konkreter werden, vorallem, woher ich die Information bekomme.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 10 Januar 2021, 15:35:33
googlecast Device öffnen, dort auf das IODev Device bei den Internals klicken und dann sieht man dort das Reading version.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 10 Januar 2021, 17:38:19
Version 0.1.18
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 10 Januar 2021, 20:20:21
Es sollte auch nach einem Neustart funktionieren, auch wenn im Reading fälschlicherweise attr spotify... steht. Solange die Attribute da sind, passt es.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 10 Januar 2021, 20:21:41
Was soll ich dazu sagen, Tut es aber nicht.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 10 Januar 2021, 20:32:59
Hmm...das ist eigenartig, kannst du bitte mal probieren nur fhempy neu zu starten? Einfach PythonBinding Device auswählen und dort restart. Warte nach dem Neustart eine Minute bis du in FHEM weiter klickst, da beim fhempy Neustart sehr viele Commands an FHEM geschickt werden.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 10 Januar 2021, 21:51:44
Das kann ich erst machen nachdem der Fehler wieder auftritt, aktuell geht es ja nachdem ich die Attribute einfach aufgerufen und ohne zu ändern bestätigt habe.
Damit ich dann nicht erneut posten muss, was sollte dadurch passieren? Irgendetwas sichtbares oder sollte es dann einfach funktionieren?
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 10 Januar 2021, 21:55:23
Ich habe aus deinem Post verstanden, dass es nicht mehr funktionierte nach Neustart von FHEM und voriger Spotify Wiedergabe über Spotify App. Probier das bitte nochmals, sollte es gehen, dann liegt es scheinbar nicht daran. Wenn es nicht geht, dann start bitte fhempy neu und teste danach ob es funktioniert.
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 10 Januar 2021, 22:41:00
Ja das war auch so, doch wie ebenfalls bereits geschrieben hatte es bereits wieder funktioniert nachdem ich einfach die beiden Attribute sp_dc und sp_key einfach aufgerufen und unverändert bestätigt habe.
Werde das andere aber auch morgen oder übermorgen noch mal probieren und mich dann zurück melden.
Titel: Antw:fhempy: googlecast
Beitrag von: Adimarantis am 18 Januar 2021, 09:21:33
Hallo,

erstmal danke für das Modul. mein altes GOOGLECAST hatte sich klammheimlich schon vor langer Zeit verabschiedet, und da ich es nur genutzt habe um "lauter" und "leiser" Tasten auf meinem FHEM Tablet zu realisieren, hab ich das nie richtig gemerkt.

Zum aktuellen Modul als Feedback: Bei der Ersteinrichtung scheint fhempy ziemlich lange im Hintergrund zu werkeln und nicht ansprechbar zu sein. Zumindest gibt es anfangs eine Menge "verbindung verweigert" Meldungen im Log. Kann man da was machen? Das dürfte Erstbenutzer sehr irritieren und evtl. glauben lassen, sie haben was falsch gemacht. Hat sich bei mir nach 5-6 Meldungen beruhigt und dann hat alles funktioniert.

Ein paar Frage eher zu allgemeinen Verwendung:

Kann man über das Modul auch Befehle absetzen die dann interpretiert werden? Wie z.B. "spiele radiosender xzy"? (Ich denke da jetzt an Buttons auf meinem FHEM Tablet für die Lieblingsradiosender)

Nachdem Google Music zugemacht hat und YouTube Music nur kostenpflichtig sinnvoll nutzbar ist: Welche Optionen gibt es um eigene Musik abzuspielen. Derzeit kann ich nur vom Handy auf mein Google Mini streamen.
Im Angebot hätte ich eine Synology - da könnte ich das directory auf dem Raspberry mounten, habe Plex installiert und natürlich DSAudio.

Die Frage wäre hier noch die Steuerung. Derzeit steuere ich FHEM über gAssistant (ich hatte mal IFTTT und Talk im Einsatz, aber da muss ich ja ein Passwort hinterlegen). Selbst wenn ich MP3s über googlecast starten kann, würde ich das natürlich gerne über einen Sprachbefehl tun.
Gibt es da Lösungen oder Ideen?

Gruß,
Jörg
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 20 Januar 2021, 21:36:27
Hi,

danke dir für die Rückmeldung. Kannst du bitte noch spezifizieren zu welchem Zeitpunkt der Installation die Fehlermeldungen mit "Verbindung verweigert" kamen? War das beim Update? Oder nach dem Neustart?

Kann man über das Modul auch Befehle absetzen die dann interpretiert werden? Wie z.B. "spiele radiosender xzy"? (Ich denke da jetzt an Buttons auf meinem FHEM Tablet für die Lieblingsradiosender)
Ja, einfach Radiosender URL bei Play angeben. Am Chromecast kann man auch URLs zu TV Streams angeben.

Zitat
Nachdem Google Music zugemacht hat und YouTube Music nur kostenpflichtig sinnvoll nutzbar ist: Welche Optionen gibt es um eigene Musik abzuspielen. Derzeit kann ich nur vom Handy auf mein Google Mini streamen.
Im Angebot hätte ich eine Synology - da könnte ich das directory auf dem Raspberry mounten, habe Plex installiert und natürlich DSAudio.
Du könntest noch Spotify nutzen. Eigene Musik abzuspielen sollte gehen, wenn es eine Streaming URL (http) gibt. Das habe ich aber selbst nicht getestet.

Zitat
Die Frage wäre hier noch die Steuerung. Derzeit steuere ich FHEM über gAssistant (ich hatte mal IFTTT und Talk im Einsatz, aber da muss ich ja ein Passwort hinterlegen). Selbst wenn ich MP3s über googlecast starten kann, würde ich das natürlich gerne über einen Sprachbefehl tun.
Gibt es da Lösungen oder Ideen?
Dazu musst du Routinen einrichten und dummys nutzen. Das ist etwas umständlich. Ich würde eher empfehlen Spotify zu nutzen, dann kannst du sowohl von FHEM aus als auch per Standard Sprachbefehl alles machen.
Titel: Antw:fhempy: googlecast
Beitrag von: Adimarantis am 20 Januar 2021, 22:49:04
Hallo Dominik,

ich versuche das mal aus dem Logfile zu rekonstruieren.

Erst habe die entsprechenden Installation auf der Raspberry Kommandozeile gemacht.
Dann weiter in FHEM:
2021.01.13 17:44:15 1: UPD FHEM/10_PythonModule.pm
2021.01.13 17:44:16 1: UPD FHEM/10_BindingsIo.pm
2021.01.13 17:44:16 1: UPD FHEM/10_PythonBinding.pm
2021.01.13 17:44:16 1: UPD FHEM/bindings/python/bin/fhempy
...
2021.01.13 17:45:06 0: Server shutdown
...
2021.01.13 18:01:39 1: define GoogleBad PythonModule googlecast "Badezimmer": Before you use PythonModule please define BindingsIo once:
define pyBinding BindingsIo Python
2021.01.13 18:01:50 1: pyBinding: Can't connect to ws:127.0.0.1:15733: Operation now in progress
2021.01.13 18:01:51 1: pyBinding: Can't connect to ws:127.0.0.1:15733: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.13 18:01:51 1: BindingsIo: ERROR pyBinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.13 18:02:01 1: BindingsIo: ERROR pyBinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.13 18:02:12 1: BindingsIo: ERROR pyBinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.13 18:02:22 1: BindingsIo: ERROR pyBinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.13 18:02:32 1: BindingsIo: ERROR pyBinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.13 18:02:45 1: BindingsIo: ERROR pyBinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.13 18:02:56 1: BindingsIo: ERROR pyBinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.13 18:03:06 1: ws:127.0.0.1:15733 reappeared (pyBinding)
2021.01.13 18:05:53 1: ws:127.0.0.1:15733 disconnected, waiting to reappear (pyBinding)
2021.01.13 18:05:53 1: BindingsIo: ERROR pyBinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.13 18:06:04 1: ws:127.0.0.1:15733 reappeared (pyBinding)
....
2021.01.13 18:17:48 1: ws:127.0.0.1:15733 disconnected, waiting to reappear (pyBinding)
2021.01.13 18:17:48 1: BindingsIo: ERROR pyBinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.13 18:18:00 1: ws:127.0.0.1:15733 reappeared (pyBinding)

Zwischen dem Shutdown und dem define habe ich wohl zuerst den Schritt mit den define pyBinding ausgelassen, das dann aber gleich nachgeholt und die eigentliche Device erstellt.
Dann gab es erst ständig Fehler, dann paar mal reappear/disconnect und danach war es dann eigentlich stabil.

Mit den Radiosendern habe ich das Problem, dass ich keine URL finde die funktioniert. Auf der Homepage von Bayern1 sind z.B. links auf m3u Dateien, die gehen dann auch im VLC auf. Diese links gehen mit "set play" aber weder direkt noch der link den dann VLC unter medieninfo anzeigt. Wenn ich den Radiosender über Sprachbefehl starte (kommt dann wohl von Tunein) steht bei FHEM zwar eine URL drin, die ist aber mit "set play" auch nicht nutzbar.

Beim Abspielen von Musik geht es hauptsächlich um Sachen die es gar nicht bei Spotify gibt (z.B. die Lieblingsweihnachtslieder meiner Frau, die wir von einer Kassette digitalisiert haben). Ich kann zwar mit dem Handy oder PLEX ein Streaming anstossen, aber eben nicht mit FHEM oder über Google Sprachbefehl.

Gruß,
Jörg
Titel: Antw:fhempy: googlecast
Beitrag von: NePheus am 21 Januar 2021, 06:25:29
Liege ich richtig der Annahme, dass der Google Nest Mini 2 nicht unterstützt wird? Ich nutze das fhempy und habe das discover device angelegt. Das zeigt auch alles opened und connected an. Automatisch wird aber kein Chromecast angelegt. Wenn ich mir eine App aus dem Store lade die Chromecast devices sucht, wird das Nest Mini auch nicht angezeigt.
Titel: Antw:fhempy: googlecast
Beitrag von: Adimarantis am 21 Januar 2021, 09:38:40
Ich hab zwei Mini's im Einsatz (woran erkennt man ob es ein Nest 2 ist?). Ich habe diese erst über die Google Home App eingebunden und dort einen Namen vergeben. Diesen Namen habe ich dann zur Erstellung des FHEM device verwendet, was anstandslos funktioniert hat.

Jörg
Titel: Antw:fhempy: googlecast
Beitrag von: NePheus am 21 Januar 2021, 16:25:05
https://www.tink.de/blog/google-nest-mini-vs-google-home-mini-unterschiede-smarte-lautsprecher/

In Google Home hab ich ihn eingerichtet aber ich habe versucht ihn über das fhempy discover Modul automatisch hinzufügen zulassen ohne Erfolg. Wenn ich es richtig verstehe muss das doch als Chromecast in meinem Netzwerk gefunden werden. Habe dann testweise auf meinem Android Smartphone die App "XCast" installiert und die findet den Mini auch nicht. Aber wäre doch quatsch wenn die vom Home auf Nest die Chromecast-Receiver Funktion entfernt hätten? Werde noch nicht so ganz schlau dadraus.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 21 Januar 2021, 20:46:42
Hallo Dominik,

ich versuche das mal aus dem Logfile zu rekonstruieren.

Erst habe die entsprechenden Installation auf der Raspberry Kommandozeile gemacht.
Dann weiter in FHEM:
2021.01.13 17:44:15 1: UPD FHEM/10_PythonModule.pm
2021.01.13 17:44:16 1: UPD FHEM/10_BindingsIo.pm
2021.01.13 17:44:16 1: UPD FHEM/10_PythonBinding.pm
2021.01.13 17:44:16 1: UPD FHEM/bindings/python/bin/fhempy
...
2021.01.13 17:45:06 0: Server shutdown
...
2021.01.13 18:01:39 1: define GoogleBad PythonModule googlecast "Badezimmer": Before you use PythonModule please define BindingsIo once:
define pyBinding BindingsIo Python
2021.01.13 18:01:50 1: pyBinding: Can't connect to ws:127.0.0.1:15733: Operation now in progress
2021.01.13 18:01:51 1: pyBinding: Can't connect to ws:127.0.0.1:15733: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.13 18:01:51 1: BindingsIo: ERROR pyBinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.13 18:02:01 1: BindingsIo: ERROR pyBinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.13 18:02:12 1: BindingsIo: ERROR pyBinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.13 18:02:22 1: BindingsIo: ERROR pyBinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.13 18:02:32 1: BindingsIo: ERROR pyBinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.13 18:02:45 1: BindingsIo: ERROR pyBinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.13 18:02:56 1: BindingsIo: ERROR pyBinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.13 18:03:06 1: ws:127.0.0.1:15733 reappeared (pyBinding)
2021.01.13 18:05:53 1: ws:127.0.0.1:15733 disconnected, waiting to reappear (pyBinding)
2021.01.13 18:05:53 1: BindingsIo: ERROR pyBinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.13 18:06:04 1: ws:127.0.0.1:15733 reappeared (pyBinding)
....
2021.01.13 18:17:48 1: ws:127.0.0.1:15733 disconnected, waiting to reappear (pyBinding)
2021.01.13 18:17:48 1: BindingsIo: ERROR pyBinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.13 18:18:00 1: ws:127.0.0.1:15733 reappeared (pyBinding)

Zwischen dem Shutdown und dem define habe ich wohl zuerst den Schritt mit den define pyBinding ausgelassen, das dann aber gleich nachgeholt und die eigentliche Device erstellt.
Dann gab es erst ständig Fehler, dann paar mal reappear/disconnect und danach war es dann eigentlich stabil.

Mit den Radiosendern habe ich das Problem, dass ich keine URL finde die funktioniert. Auf der Homepage von Bayern1 sind z.B. links auf m3u Dateien, die gehen dann auch im VLC auf. Diese links gehen mit "set play" aber weder direkt noch der link den dann VLC unter medieninfo anzeigt. Wenn ich den Radiosender über Sprachbefehl starte (kommt dann wohl von Tunein) steht bei FHEM zwar eine URL drin, die ist aber mit "set play" auch nicht nutzbar.

Beim Abspielen von Musik geht es hauptsächlich um Sachen die es gar nicht bei Spotify gibt (z.B. die Lieblingsweihnachtslieder meiner Frau, die wir von einer Kassette digitalisiert haben). Ich kann zwar mit dem Handy oder PLEX ein Streaming anstossen, aber eben nicht mit FHEM oder über Google Sprachbefehl.

Gruß,
Jörg

Ich habe nun im BindingsIo noch ein "info" Reading eingebaut wo drin steht, dass man warten soll bis die Verbindung aufgebaut wurde. Hoffe das hilft für Neueinsteiger. Den Fehler selbst kann ich leider nicht unterdrücken.

Diese Bayern1 URL funktioniert bei mir:
https://br-br1-franken.cast.addradio.de/br/br1/franken/mp3/mid
Es dauert aber fast eine Minute bis das Abspielen startet - zumindest ist das bei mir so.

Wenn du einen Server hast, der per http das File als Stream bereitstellen kann, dann sollte das play genauso gehen wie bei Bayern1.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 21 Januar 2021, 20:52:36
https://www.tink.de/blog/google-nest-mini-vs-google-home-mini-unterschiede-smarte-lautsprecher/

In Google Home hab ich ihn eingerichtet aber ich habe versucht ihn über das fhempy discover Modul automatisch hinzufügen zulassen ohne Erfolg. Wenn ich es richtig verstehe muss das doch als Chromecast in meinem Netzwerk gefunden werden. Habe dann testweise auf meinem Android Smartphone die App "XCast" installiert und die findet den Mini auch nicht. Aber wäre doch quatsch wenn die vom Home auf Nest die Chromecast-Receiver Funktion entfernt hätten? Werde noch nicht so ganz schlau dadraus.

Verstehe ich es richtig, dass du das Gerät in der Home App findest und es dort auch benannt hast? Die XCast App zeigt das Device dann trotzdem nicht an? Wie siehst es bei Spotify aus, zeigt das das Device an?
Klingt für mich nach Netzwerkproblem, nur eigenartig, dass die Home App das Gerät erkannt hat.
Installier mal die App "Service Browser" und prüfe ob dort ein Eintrag _googlecast._tcp...... auftaucht. Wenn nicht, dann liegt es garantiert am Netzwerk.
Titel: Antw:fhempy: googlecast
Beitrag von: NePheus am 21 Januar 2021, 21:50:09
_googlecast._tcp findet er und zeigt auch nest mini an. Spotify connect nutze ich darauf regelmäßig ohne Probleme. Als ich ohne Erfolg fhempy ausprobiert habe, habe ich das Gerät in Google Home noch von "Nest Mini" in "Wohnzimmer" umbenannt, weil ich dachte er kommt evtl. mit Leerstellen nicht klar, ohne Erfolg. Vielleicht muss ich mal versuchen das Gerät direkt anzulegen.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 21 Januar 2021, 22:18:24
Ja, probier mal "define asdf PythonModule googlecast Wohnzimmer"
Titel: Antw:fhempy: googlecast
Beitrag von: NePheus am 22 Januar 2021, 06:46:26
Das hat jetzt funktioniert, danke!

Muss dazu auch sagen, dass ich vor der fhempy Installation noch das Buster update gemacht habe und als ich fhempy laut Anleitung installiert habe, er mir in fhem immer eine Meldung ausgegeben hat, dass er das Modul BindingsIO nicht findet. Dann musste ich manuell die 10_... Scripts auf 755+x stellen dann ging es und er zeigt mir wie schon gesagt auch alles als connected und opened an. Ob das jetzt was damit zu tun hat, dass das discover nichts gefunden hat weiß ich nicht.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 22 Januar 2021, 20:36:25
Sicher, dass er das Modul nicht gefunden hat? Poste bitte mal das Log von dem Fehler.
Titel: Antw:fhempy: googlecast
Beitrag von: Adimarantis am 22 Januar 2021, 20:59:10
Diese Bayern1 URL funktioniert bei mir:
https://br-br1-franken.cast.addradio.de/br/br1/franken/mp3/mid
Es dauert aber fast eine Minute bis das Abspielen startet - zumindest ist das bei mir so.

Wenn du einen Server hast, der per http das File als Stream bereitstellen kann, dann sollte das play genauso gehen wie bei Bayern1.
Danke für den Tipp - ich habe jetzt auch die richtige URL für meine Region gefunden. Das klappt.

Das mit dem Streaming hab ich jetzt zwar mal rudimentär hinbekommen, aber das geht hoffentlich einfacher:
Habe auf meiner Synology "Icecast" von einer Community Paketquelle geholt. Da ist auch der "ezstream" client drin.
Mit ezstream kann ich eine playlist mit lokalen MP3 an icecast schicken, dessen URL ich wiederum über googlecast an meine Google Mini übergebe. Dauert wie beim Radiosender eine Weile bis das losläuft (da hab ich aber noch von von einer "burst" option gelesen).

Das kommt mir jetzt halt ziemlich umständlich vor. Und wenn ich das noch über Sprachbefehl über FHEM triggern möchte sehe ich sowas wie dummy-device mit gassistent -> ssh auf diskstation für ezstream / set play auf googlecast ....

Einfachere Ideen?

Jörg
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 22 Januar 2021, 21:03:55
Vielleicht geht ein simpler HTTP Server der die Files bereitstellt? Dann musst du nur "set play http://192.168.0.3/path/to/file.mp3" machen.

Könnte mir vorstellen, dass das funktioniert - selbst nicht getestet, da ich keine lokalen Musik Files mehr habe.
Titel: Antw:fhempy: googlecast
Beitrag von: Adimarantis am 22 Januar 2021, 21:45:05
Hallo Dominik,

das klappt schon (schnell mal ein mp3 auf meinen webserver gelegt). Nutzt jetzt aber nur, wenn man nur eine Datei abspielen will - eine m3u Datei geht da schon nicht mehr.

Gruß,
Jörg
Titel: Antw:fhempy: googlecast
Beitrag von: NePheus am 23 Januar 2021, 19:24:56
Sicher, dass er das Modul nicht gefunden hat? Poste bitte mal das Log von dem Fehler.

Meinst du im FHEM Log? Da finde ich die Stelle garnicht mehr. Habe aber das hier gefunden:

2021.01.17 21:54:00 3: BindingsIo v1.0.0
2021.01.17 21:54:00 3: PythonBinding v1.0.0
2021.01.17 21:54:00 3: Pythonbinding_15733: starting
2021.01.17 21:54:00 3: Pythonbinding_15733: using logfile: ./log/PythonBinding-2021-01-17.log
2021.01.17 21:54:00 3: Pythonbinding_15733: read: end of file reached while sysread
2021.01.17 21:54:00 3: Pythonbinding_15733: stopped
2021.01.17 21:54:00 3: Pythonbinding_15733: starting
2021.01.17 21:54:00 3: Pythonbinding_15733: using logfile: ./log/PythonBinding-2021-01-17.log
2021.01.17 21:54:03 3: Opening local_pybinding device ws:127.0.0.1:15733
2021.01.17 21:54:03 1: local_pybinding: Can't connect to ws:127.0.0.1:15733: Operation now in progress
2021.01.17 21:54:03 1: local_pybinding: Can't connect to ws:127.0.0.1:15733: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.17 21:54:03 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.17 21:54:13 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.17 21:54:23 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.17 21:54:31 3: PythonModule v1.0.0 (discover_mdns)
2021.01.17 21:54:33 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.17 21:54:43 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.17 21:54:54 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.17 21:55:04 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.17 21:55:14 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.17 21:55:25 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.17 21:55:27 3: Pythonbinding_15733: read: end of file reached while sysread
2021.01.17 21:55:27 3: Pythonbinding_15733: stopped
2021.01.17 21:55:27 3: Pythonbinding_15733: starting
2021.01.17 21:55:27 3: Pythonbinding_15733: using logfile: ./log/PythonBinding-2021-01-17.log
2021.01.17 21:55:35 1: ws:127.0.0.1:15733 reappeared (local_pybinding)
2021.01.17 21:58:31 3: Pythonbinding_15733: read: end of file reached while sysread
2021.01.17 21:58:31 3: Pythonbinding_15733: stopped
2021.01.17 21:58:31 3: Pythonbinding_15733: starting
2021.01.17 21:58:31 3: Pythonbinding_15733: using logfile: ./log/PythonBinding-2021-01-17.log
2021.01.17 21:58:32 3: BindingsIo v1.0.0
2021.01.17 21:58:51 3: PythonModule v1.0.0 (discover_mdns)
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 23 Januar 2021, 19:34:09
Ja, FHEM Log meinte ich. Die Meldungen die du gepostet hast sind ok. Die kommen solange fhempy startet, in der Zeit werden noch Installationen durchgeführt.

@Jörg, ich denke eine m3u wird vom Standard Player nicht unterstützt. PyChromecast unterstützt nun aber auch das Abspielen per BubbleUPnP Cast App, vielleicht klappt es damit. Den muss ich aber noch integrieren, dann kannst du testen.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 23 Januar 2021, 20:22:13
Ich habe gerade die BubbleUPNP Version getestet, auch da geht kein m3u.

Nachdem m3u ja nur eine Playlist ist, könntest du auch folgendes machen:
set cast play LIED1
set cast addToQueue LIED2
set cast addToQueue LIED3
set cast addToQueue LIED4
set cast addToQueue LIED5

Dann werden die hintereinander abgespielt.
Titel: Antw:fhempy: googlecast
Beitrag von: wk2000 am 24 Januar 2021, 22:48:16
Hey, kann mir jemand nen Tipp geben, wie ich das fhempy im Docker-Container zum laufen bekomme?

FHEM läuft mit dem offiziellen Docker-Container bei mir auf dem RaspberryPI3 eigentlich out of the box. Nur das Modul hier bereitet mir Probleme.
Eine Zeit lang hat es funktioniert, aber irgendwann gings nicht mehr.

Im Status des GoogleCast Devices steht:

Module failed to load: googlecast
Maybe you need to update fhempy on this or remote peer.

Stacktrace:
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 243, in _onMessage
    functools.partial(importlib.import_module, pymodule)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 32, 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 "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/googlecast/googlecast.py", line 28, in <module>
    import spotify_token as st
ModuleNotFoundError: No module named 'spotify_token'

Und wenn ich "pip3 install fhempy" versuche im terminal:
cat log.txt
Collecting fhempy
  Using cached https://files.pythonhosted.org/packages/e1/7b/21043db7294388143ed                                                                                                                                                             c45026fa5e2bc9d6e6027c886f8f44a88fcec7455/fhempy-0.1.25-py3-none-any.whl
Collecting cryptography>=3.3.1 (from fhempy)
  Using cached https://files.pythonhosted.org/packages/b7/82/f7a4ddc1af185936c1e                                                                                                                                                             4fa000942ffa8fb2d98cff26b75afa7b3c63391c4/cryptography-3.3.1.tar.gz
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
Requirement already satisfied: importlib-metadata>=3.3.0 in /usr/local/lib/pytho                                                                                                                                                             n3.7/dist-packages (from fhempy) (3.4.0)
Requirement already satisfied: websockets>=8.1 in /usr/local/lib/python3.7/dist-                                                                                                                                                             packages (from fhempy) (8.1)
Collecting zeroconf>=0.28.6 (from fhempy)
  Using cached https://files.pythonhosted.org/packages/67/b4/bffd1025384b89fca82                                                                                                                                                             9921b1e76582dd195513879895f03ceb6e484f54b/zeroconf-0.28.8-py3-none-any.whl
Requirement already satisfied: six>=1.4.1 in /usr/lib/python3/dist-packages (fro                                                                                                                                                             m cryptography>=3.3.1->fhempy) (1.12.0)
Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.7/dist-packa                                                                                                                                                             ges (from cryptography>=3.3.1->fhempy) (1.14.4)
Requirement already satisfied: typing-extensions>=3.6.4; python_version < "3.8"                                                                                                                                                              in /usr/local/lib/python3.7/dist-packages (from importlib-metadata>=3.3.0->fhemp                                                                                                                                                             y) (3.7.4.3)
Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packag                                                                                                                                                             es (from importlib-metadata>=3.3.0->fhempy) (3.4.0)
Collecting ifaddr>=0.1.7 (from zeroconf>=0.28.6->fhempy)
  Using cached https://files.pythonhosted.org/packages/92/0f/a577a724c03982b8002                                                                                                                                                             32713874e805c8fcc14f4a2c3060902ed20b50da8/ifaddr-0.1.7-py2.py3-none-any.whl
Requirement already satisfied: pycparser in /usr/local/lib/python3.7/dist-packag                                                                                                                                                             es (from cffi>=1.12->cryptography>=3.3.1->fhempy) (2.20)
Building wheels for collected packages: cryptography
  Running setup.py bdist_wheel for cryptography: started
  Running setup.py bdist_wheel for cryptography: still running...
  Running setup.py bdist_wheel for cryptography: finished with status 'error'
  Complete output from command /usr/bin/python3 -u -c "import setuptools, tokeni                                                                                                                                                             ze;__file__='/tmp/pip-install-m_e3psfu/cryptography/setup.py';f=getattr(tokenize                                                                                                                                                             , 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(com                                                                                                                                                             pile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-c_250hd6 --python-t                                                                                                                                                             ag cp37:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-armv7l-3.7
  creating build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/__init__.py -> build/lib.linux-armv7l-3.7/cryptograph                                                                                                                                                             y
  copying src/cryptography/utils.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/fernet.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/__about__.py -> build/lib.linux-armv7l-3.7/cryptograp                                                                                                                                                             hy
  copying src/cryptography/exceptions.py -> build/lib.linux-armv7l-3.7/cryptogra                                                                                                                                                             phy
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/__init__.py -> build/lib.linux-armv7l-3.7/cryp                                                                                                                                                             tography/hazmat
  copying src/cryptography/hazmat/_oid.py -> build/lib.linux-armv7l-3.7/cryptogr                                                                                                                                                             aphy/hazmat
  copying src/cryptography/hazmat/_der.py -> build/lib.linux-armv7l-3.7/cryptogr                                                                                                                                                             aphy/hazmat
  creating build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-a                                                                                                                                                             rmv7l-3.7/cryptography/x509
  copying src/cryptography/x509/base.py -> build/lib.linux-armv7l-3.7/cryptograp                                                                                                                                                             hy/x509
  copying src/cryptography/x509/__init__.py -> build/lib.linux-armv7l-3.7/crypto                                                                                                                                                             graphy/x509
  copying src/cryptography/x509/ocsp.py -> build/lib.linux-armv7l-3.7/cryptograp                                                                                                                                                             hy/x509
  copying src/cryptography/x509/oid.py -> build/lib.linux-armv7l-3.7/cryptograph                                                                                                                                                             y/x509
  copying src/cryptography/x509/extensions.py -> build/lib.linux-armv7l-3.7/cryp                                                                                                                                                             tography/x509
  copying src/cryptography/x509/general_name.py -> build/lib.linux-armv7l-3.7/cr                                                                                                                                                             yptography/x509
  copying src/cryptography/x509/name.py -> build/lib.linux-armv7l-3.7/cryptograp                                                                                                                                                             hy/x509
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
  copying src/cryptography/hazmat/backends/__init__.py -> build/lib.linux-armv7l                                                                                                                                                             -3.7/cryptography/hazmat/backends
  copying src/cryptography/hazmat/backends/interfaces.py -> build/lib.linux-armv                                                                                                                                                             7l-3.7/cryptography/hazmat/backends
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-armv7l                                                                                                                                                             -3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-armv7                                                                                                                                                             l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.linux-armv                                                                                                                                                             7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-armv7                                                                                                                                                             l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-armv7l-3                                                                                                                                                             .7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux                                                                                                                                                             -armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-armv7l-3                                                                                                                                                             .7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-armv                                                                                                                                                             7l-3.7/cryptography/hazmat/primitives
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings
  copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.linux-armv7l                                                                                                                                                             -3.7/cryptography/hazmat/bindings
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-armv                                                                                                                                                             7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-                                                                                                                                                             armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux                                                                                                                                                             -armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-                                                                                                                                                             armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.linu                                                                                                                                                             x-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-ar                                                                                                                                                             mv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-a                                                                                                                                                             rmv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-arm                                                                                                                                                             v7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ocsp.py -> build/lib.linux-ar                                                                                                                                                             mv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-arm                                                                                                                                                             v7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux                                                                                                                                                             -armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-ar                                                                                                                                                             mv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-a                                                                                                                                                             rmv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.l                                                                                                                                                             inux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-ar                                                                                                                                                             mv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux                                                                                                                                                             -armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.l                                                                                                                                                             inux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-ar                                                                                                                                                             mv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-ar                                                                                                                                                             mv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linu                                                                                                                                                             x-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-armv                                                                                                                                                             7l-3.7/cryptography/hazmat/backends/openssl
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-                                                                                                                                                             armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.li                                                                                                                                                             nux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-                                                                                                                                                             armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.                                                                                                                                                             linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux                                                                                                                                                             -armv7l-3.7/cryptography/hazmat/primitives/ciphers
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serializati                                                                                                                                                             on
  copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.                                                                                                                                                             linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/                                                                                                                                                             lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/li                                                                                                                                                             b.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib                                                                                                                                                             .linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.l                                                                                                                                                             inux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-armv                                                                                                                                                             7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-a                                                                                                                                                             rmv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.linux-                                                                                                                                                             armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-arm                                                                                                                                                             v7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-ar                                                                                                                                                             mv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-ar                                                                                                                                                             mv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux                                                                                                                                                             -armv7l-3.7/cryptography/hazmat/primitives/kdf
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux                                                                                                                                                             -armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.l                                                                                                                                                             inux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.                                                                                                                                                             linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib                                                                                                                                                             .linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.li                                                                                                                                                             nux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linu                                                                                                                                                             x-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linu                                                                                                                                                             x-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.li                                                                                                                                                             nux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.                                                                                                                                                             linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.lin                                                                                                                                                             ux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux           

                                               

edit
Titel: Antw:fhempy: googlecast
Beitrag von: Adimarantis am 26 Januar 2021, 23:22:14
set cast play LIED1
set cast addToQueue LIED2
set cast addToQueue LIED3
set cast addToQueue LIED4
set cast addToQueue LIED5

Danke Dominik. Das hört sich zumindest nach einem Ansatz an. Bei uns stellt sich die Frage meistens zur Adventszeit, sonst taugt eigentlich Radio oder Spotify - d.h. ich hab noch ein wenig Zeit zu sehen, was es bis dahin gibt. Auf jeden Fall eine Fallbacklösung :)

Jörg
Titel: Antw:fhempy: googlecast
Beitrag von: Sommerfeld am 27 Januar 2021, 10:46:35
Hallo Dominik,
seit dem heutigen update, 27.01.21, erhalte ich folgende Fehlermeldung:

Module failed to load: googlecast
Maybe you need to update fhempy on this or remote peer.

Stacktrace:
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/fhem_pythonbinding.py", line 252, in _onMessage
    module_object = await utils.run_blocking(
  File "/opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/utils.py", line 32, in run_blocking
    return await asyncio.get_event_loop().run_in_executor(pool, function)
  File "/usr/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/googlecast/googlecast.py", line 20, in <module>
    from pychromecast.controllers.bubbleupnp import BubbleUPNPController
ModuleNotFoundError: No module named 'pychromecast.controllers.bubbleupnp'/code]

Für Hilfe wäre ich dankbar
Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 27 Januar 2021, 13:36:02
BubbleUPNPController benötigt eine neuere pychromecast. in der manifest.json ist noch eine zu alte version (7.3.0), habe das manuell angepasst und die 7.7.2 wurde beim restart von pythonbinding installiert. dann läufts wieder. Wird im nächsten releas bestimmt gefixed...

Gruss Jan
Titel: Antw:fhempy: googlecast
Beitrag von: Sommerfeld am 27 Januar 2021, 18:17:27
Hallo Jan,
Vielen Dank für den Hinweis.
Wo und wie müsste ich etwas manuell anpassen?
Gruß Armin
Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 27 Januar 2021, 19:48:04
Hallo Armin,

ich habe diese Dateien angepasst:

/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/googlecast/manifest.json
und

/opt/fhem/FHEM/bindings/python/fhempy/lib/googlecast/manifest.json
{
  "requirements": [
    "pychromecast>=7.7.2",
    "youtube_dl>=2020.12.22",
    "spotipy>=2.16.1",
    "zeroconf==0.28.6",
    "spotify-token>=1.0.0",
    "aiohttp"
  ]
}

Bei Dir müsste da noch    "pychromecast>=7.3.0" stehen...

Anschliessend pythonbinding neu starten und die Abhängigkeiten für googlecast werden automatisch neu installiert...

Du hast laut log python3.8 also ist die Datei

 /opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/googlecast/manifest.json
Wenn es dringend ist, ändere es ab, ansonsten warte das Fix bzw. Update ab, das bestimmt nicht lange auf sich warten lässt...

Gruss Jan
 
Titel: Antw:fhempy: googlecast
Beitrag von: Sommerfeld am 27 Januar 2021, 20:32:15
Hallo Jan,
vielen Dank für die Erklärungen.
Einen schönen Abend.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 27 Januar 2021, 20:37:25
Hi,

ist nun in Version 0.1.27 gefixed.
Titel: Antw:fhempy: googlecast
Beitrag von: kriegerkl am 29 Januar 2021, 21:25:25
Hallo Dominik,
ich habe folgenden Fehler beim update des neuen GoogleCast-Moduls s.u.
Was kann ich da machen?

Module failed to load: googlecast
Maybe you need to update fhempy on this or remote peer.

Stacktrace:
Traceback (most recent call last):
  File "/home/pi/.local/lib/python3.8/site-packages/fhempy/lib/fhem_pythonbinding.py", line 252, in _onMessage
    module_object = await utils.run_blocking(
  File "/home/pi/.local/lib/python3.8/site-packages/fhempy/lib/utils.py", line 32, in run_blocking
    return await asyncio.get_event_loop().run_in_executor(pool, function)
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/pi/.local/lib/python3.8/site-packages/fhempy/lib/googlecast/googlecast.py", line 31, in <module>
    import spotify_token as st
ModuleNotFoundError: No module named 'spotify_token'

Im PhytonBinding..log steht folgendes:
2021-01-29 18:45:46,830 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
Traceback (most recent call last):
  File "FHEM/bindings/python/pythonbinding.py", line 81, in <module>
    fpb.run()
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 276, in run
    asyncio.get_event_loop().run_until_complete(
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/usr/local/lib/python3.8/asyncio/tasks.py", line 684, in _wrap_awaitable
    return (yield from awaitable.__await__())
  File "/opt/fhem/.local/lib/python3.8/site-packages/websockets/server.py", line 965, in __await_impl__
    server = await self._create_server()
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 1463, in create_server
    raise OSError(err.errno, 'error while attempting '
OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 15733): address already in use
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 29 Januar 2021, 21:35:19
2 Fehler sehe ich hier:

 - ModuleNotFoundError: No module named 'spotify_token'
Probier bitte mal
sudo -u fhem pip3 install spotify_tokenund poste dann die Ausgabe.

 - OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 15733): address already in use
Hier läuft schon ein fhempy auf dem gleichen Node. Hast du das manuell gestartet?
Titel: Antw:fhempy: googlecast
Beitrag von: kriegerkl am 29 Januar 2021, 22:47:25
Hier ist die Ausgabe:

pi@raspberrypi:/opt/fhem/log $ sudo -u fhem pip3 install spotify_token
Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting spotify_token
  Downloading spotify_token-1.0.0-py2.py3-none-any.whl (3.5 kB)
Requirement already satisfied: requests>=2.0 in /usr/local/lib/python3.8/site-packages (from spotify_token) (2.25.0)
Collecting beautifulsoup4>=4.8.1
  Downloading beautifulsoup4-4.9.3-py3-none-any.whl (115 kB)
     |████████████████████████████████| 115 kB 2.2 MB/s
Collecting lxml>=4.4.1
  Downloading lxml-4.6.2.tar.gz (3.2 MB)
     |████████████████████████████████| 3.2 MB 2.9 MB/s
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ysawmp8w/lxml/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ysawmp8w/lxml/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-2v7nuv37
         cwd: /tmp/pip-install-ysawmp8w/lxml/
    Complete output (3 lines):
    Building lxml version 4.6.2.
    Building without Cython.
    Error: Please make sure the libxml2 and libxslt development packages are installed.
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
WARNING: You are using pip version 20.2.4; however, version 21.0 is available.
You should consider upgrading via the '/usr/bin/python3 -m pip install --upgrade pip' command.

Kann sein, dass ich  fhempy schon lokal gestartet hatte.
Ich starte den pi noch mal neu.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 29 Januar 2021, 23:48:15
Mach mal
sudo apt install libxml2-dev libxslt-dev
Titel: Antw:fhempy: googlecast
Beitrag von: kriegerkl am 30 Januar 2021, 18:25:45
Danke Dominik,

Mach mal
sudo apt install libxml2-dev libxslt-dev
Das habe ich gemacht.

Im PhytonBindingLog gibt es weiter den Fehler:
2021-01-30 18:15:15,348 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-01-30 18:15:15,434 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
Traceback (most recent call last):
  File "FHEM/bindings/python/bin/fhempy", line 121, in <module>
    fpb.run()
  File "/opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/fhem_pythonbinding.py", line 463, in run
    asyncio.get_event_loop().run_until_complete(
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/usr/local/lib/python3.8/asyncio/tasks.py", line 684, in _wrap_awaitable
    return (yield from awaitable.__await__())
  File "/opt/fhem/.local/lib/python3.8/site-packages/websockets/server.py", line 965, in __await_impl__
    server = await self._create_server()
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 1463, in create_server
    raise OSError(err.errno, 'error while attempting '
OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 15733): address already in use

Ich habe einmal sudo fuser 15733/tcp ausgeführt.
Ergebnis: 15733/tcp:            2271

pi@raspberrypi:~ $ ps -p 2271
  PID TTY          TIME CMD
 2271 ?        00:00:22 fhempy

Wenn ich den Prozess kille, entsteht relativ schnell wieder ein neuer fhempy-Prozess.

Was kann das Problem sein?

Ich hatte die Installation befolgt und folgendes ausgeführt:
Systemd configuration for autostart
    curl -sL https://raw.githubusercontent.com/dominikkarall/fhempy/master/install_systemd_fhempy.sh | sudo -E bash -

Wird über den /etc/systemd/system/fhempy.service fhempy immer wieder gestartet oder liegt es an dem User pi unter dem er dort gestartet wird?
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 30 Januar 2021, 19:48:58
Geht es hier um einen fhempy peer oder eine lokale fhempy Installation? Lokale fhempy Installation bedeutet, dass es am gleichen Node wie FHEM läuft.
Titel: Antw:fhempy: googlecast
Beitrag von: kriegerkl am 30 Januar 2021, 20:56:49
Ich habe die nach Deiner Anleitung installiert: https://github.com/dominikkarall/fhempy

Systemd configuration for autostart
    curl -sL https://raw.githubusercontent.com/dominikkarall/fhempy/master/install_systemd_fhempy.sh | sudo -E bash -


Ich weiß nicht genau, was peer bedeutet.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 30 Januar 2021, 21:14:20
Das Command ist NUR für fhempy peers notwendig, was das ist steht hier beschrieben:
https://github.com/dominikkarall/fhempy#fhempy-peers-eg-extend-bluetooth-range

Falls du die Commands nun auf deinem FHEM System ausgeführt hast, musst du nun folgendes machen
sudo systemctl stop fhempy
sudo systemctl disable fhempy
pip3 uninstall fhempy

Danach bitte nochmals im Log prüfen was drin steht.
Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 30 Januar 2021, 21:16:59
Hi,
peer bedeutet dass fhempy nicht auf dem selben raspi wie deine fhem Instanz läuft... Wenn fhempy auf dem selben  raspi läuft wie dein fhem Instanz ist es lokal... Wenn es lokal läuft brauchst du gar nicht den Dienst einzurichten. Dann erfolgt alles automatisch mit dem define des BindingsIO

define local_pybinding BindingsIo Python
Gruss Jan

Titel: Antw:fhempy: googlecast
Beitrag von: kriegerkl am 31 Januar 2021, 00:23:30
Hi,
peer bedeutet dass fhempy nicht auf dem selben raspi wie deine fhem Instanz läuft... Wenn fhempy auf dem selben  raspi läuft wie dein fhem Instanz ist es lokal... Wenn es lokal läuft brauchst du gar nicht den Dienst einzurichten. Dann erfolgt alles automatisch mit dem define des BindingsIO

define local_pybinding BindingsIo Python
Gruss Jan
Danke für die Erklärung.
Dann hab ich das jetzt verstanden.

Das Command ist NUR für fhempy peers notwendig, was das ist steht hier beschrieben:
https://github.com/dominikkarall/fhempy#fhempy-peers-eg-extend-bluetooth-range

Falls du die Commands nun auf deinem FHEM System ausgeführt hast, musst du nun folgendes machen
sudo systemctl stop fhempy
sudo systemctl disable fhempy
pip3 uninstall fhempy

Danach bitte nochmals im Log prüfen was drin steht.

Im Log steht jetzt:

2021-01-30 21:34:31,530 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-01-30 21:34:31,619 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
Traceback (most recent call last):
  File "FHEM/bindings/python/bin/fhempy", line 121, in <module>
    fpb.run()
  File "/opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/fhem_pythonbinding.py", line 463, in run
    asyncio.get_event_loop().run_until_complete(
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/usr/local/lib/python3.8/asyncio/tasks.py", line 684, in _wrap_awaitable
    return (yield from awaitable.__await__())
  File "/opt/fhem/.local/lib/python3.8/site-packages/websockets/server.py", line 965, in __await_impl__
    server = await self._create_server()
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 1463, in create_server
    raise OSError(err.errno, 'error while attempting '
OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 15733): address already in use
2021-01-30 21:34:54,624 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-01-30 21:34:54,732 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2021-01-30 21:34:54,777 - INFO     - asyncio: <Server sockets=(<asyncio.TransportSocket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('0.0.0.0', 15733)>,)> is serving
2021-01-30 21:35:04,492 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
2021-01-30 21:35:04,591 - WARNING  - asyncio: Executing <Task pending name='Task-5' coro=<WebSocketServerProtocol.handler() running at /opt/fhem/.local/lib/python3.8/site-packages/websockets/server.py:191> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x75cf2ec8>()] created at /usr/local/lib/python3.8/asyncio/base_events.py:422> created at /opt/fhem/.local/lib/python3.8/site-packages/websockets/server.py:116> took 0.115 seconds

Sieht also besser aus.
Mein Device:
define castWohnzimmer PythonModule googlecast Wohnzimmer
attr castWohnzimmer userattr favorite_1 favorite_2 favorite_3 favorite_4 favorite_5
attr castWohnzimmer IODev local_pybinding
attr castWohnzimmer icon gassistant

sagt allerdings immer noch:
castWohnzimmer PythonBinding offline


Nach stop und start von fhem jetzt immerhin das:
castWohnzimmer Installing updates...
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 31 Januar 2021, 08:19:16
Ok, jetzt bitte nochmals
sudo -u fhem pip3 install spotify-token
Titel: Antw:fhempy: googlecast
Beitrag von: Sommerfeld am 31 Januar 2021, 09:14:03
Hallo Domonik,
nach mehreren update Versuchen habe ich immer noch die
Version 1.26.
Was muss ich machen, um die aktuelle Version 1.27 zu
bekommen?
Internals:
   .FhemMetaInternals 1
   BindingType Python
   DEF        Python
   DeviceName ws:127.0.0.1:15733
   FD         231
   FUUID      5f513675-f33f-3b5c-6a47-c3e970bbbfac9d07
   FVERSION   10_BindingsIo.pm:0.182830/2019-01-16
   IP         127.0.0.1
   NAME       local_pybinding
   NR         1075
   NTFY_ORDER 50-local_pybinding
   PARTIAL   
   PORT       15733
   STATE      opened
   TYPE       BindingsIo
   WEBSOCKET  1
   localBinding 1
   nextOpenDelay 10
   .attraggr:
   .attrminint:
   READINGS:
     2021-01-31 08:45:25   info            ready
     2021-01-31 08:45:24   state           opened
     2021-01-27 08:05:42   version         0.1.26
   args:
     local_pybinding
     BindingsIo
     Python
   argsh:
Attributes:
     room       06_1_Sprachausgabe,hidden
   verbose    3
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 31 Januar 2021, 09:25:50
sudo -u fhem pip3 install --upgrade fhempy
Da ist mir leider ein Fehler im Update Prozess unterlaufen, daher muss nun einmalig manuell aktualisiert werden.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 31 Januar 2021, 09:37:34
Ok, jetzt bitte nochmals
sudo -u fhem pip3 install spotify-token

Warte noch ein bisschen, ich werde die Abhängigkeit rausnehmen. In dem Package sind zu viele requirements drin die gar nicht gebraucht werden.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 31 Januar 2021, 09:43:10
So, Version 1.0.45. Installier bitte diese, damit sollte es mit spotify_token keine Probleme mehr geben, habe die Dependency entfernt.
Titel: Antw:fhempy: googlecast
Beitrag von: kriegerkl am 31 Januar 2021, 18:57:45
Vielen Dank Dominik für Deine Hilfe
Es hat jetzt funktioniert.
Meine googlecast Devices waren jetzt verbunden (ready).

Dann habe ich allerdings den RPI rebootet, um zu überprüfen, ob es dann auch noch funktioniert.

Im local_pybinding-Device steht dann: "info Please wait till connection is established, might take a few minutes"
Und das steht auch noch nach Stunden da und die googlecast Devices sind offline.

Im PythonBinding.log steht folgendes:
2021-01-31 12:55:01,662 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-01-31 12:55:01,813 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2021-01-31 12:55:01,888 - INFO     - asyncio: <Server sockets=(<asyncio.TransportSocket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('0.0.0.0', 15733)>,)> is serving
2021-01-31 12:55:09,521 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
2021-01-31 12:55:09,644 - WARNING  - asyncio: Executing <Task pending name='Task-5' coro=<WebSocketServerProtocol.handler() running at /opt/fhem/.local/lib/python3.8/site-packages/websockets/server.py:191> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x75cd8f88>()] created at /usr/local/lib/python3.8/asyncio/base_events.py:422> created at /opt/fhem/.local/lib/python3.8/site-packages/websockets/server.py:116> took 0.141 seconds
2021-01-31 12:55:09,980 - WARNING  - asyncio: Executing <Task pending name='Task-9' coro=<PyBinding.onMessage() running at /opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/fhem_pythonbinding.py:126> wait_for=<Future pending cb=[_chain_future.<locals>._call_check_cancel() at /usr/local/lib/python3.8/asyncio/futures.py:360, <TaskWakeupMethWrapper object at 0x74ae9f88>()] created at /usr/local/lib/python3.8/asyncio/base_events.py:422> created at /usr/local/lib/python3.8/asyncio/tasks.py:382> took 0.311 seconds
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 31 Januar 2021, 19:03:50
Kannst du bitte mal schauen ob im FHEM Log was steht?
Titel: Antw:fhempy: googlecast
Beitrag von: kriegerkl am 31 Januar 2021, 19:14:04
Da steht nur folgendes:

2021.01.31 12:56:43 3: BindingsIo v1.0.0
2021.01.31 12:56:43 3: PythonBinding v1.0.0
2021.01.31 12:56:43 3: PythonModule v1.0.0 (googlecast)
2021.01.31 12:56:43 3: PythonModule v1.0.0 (googlecast)
....
2021.01.31 18:48:11 3: BindingsIo v1.0.0
2021.01.31 18:48:11 3: PythonBinding v1.0.0
2021.01.31 18:48:11 3: PythonModule v1.0.0 (googlecast)
2021.01.31 18:48:11 3: PythonModule v1.0.0 (googlecast)

Ich habe jetzt fhem mal gestoppt: sudo systemctl stop fhem und wieder gestartet.
Danach war alles wieder OK.
Device: castWohnzimmer online

Jetzt läuft es, obwohl im PhytonBindingLog wieder folgender Fehler zufinden ist:

2021-01-31 19:11:54,488 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
Traceback (most recent call last):
  File "FHEM/bindings/python/bin/fhempy", line 121, in <module>
    fpb.run()
  File "/opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/fhem_pythonbinding.py", line 463, in run
    asyncio.get_event_loop().run_until_complete(
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/usr/local/lib/python3.8/asyncio/tasks.py", line 684, in _wrap_awaitable
    return (yield from awaitable.__await__())
  File "/opt/fhem/.local/lib/python3.8/site-packages/websockets/server.py", line 965, in __await_impl__
    server = await self._create_server()
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 1463, in create_server
    raise OSError(err.errno, 'error while attempting '
OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 15733): address already in use

Ich reboote den RPI noch einmal und gucke, was dann passiert.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 31 Januar 2021, 19:23:33
Hmm....ich dachte du hast nun systemctl disable gemacht und fhempy für den User pi deinstalliert? Du hast wieder 2 fhempy laufen.

Wie Jan schon geschrieben hat, wenn du fhempy am FHEM System nutzt, ist es kein peer. Du musst/darfst also kein systemctl installieren.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 31 Januar 2021, 19:29:11
Bitte hier entsprechend die Commands ausführen:
Das Command ist NUR für fhempy peers notwendig, was das ist steht hier beschrieben:
https://github.com/dominikkarall/fhempy#fhempy-peers-eg-extend-bluetooth-range

Falls du die Commands nun auf deinem FHEM System ausgeführt hast, musst du nun folgendes machen
sudo systemctl stop fhempy
sudo systemctl disable fhempy
pip3 uninstall fhempy

Danach bitte nochmals im Log prüfen was drin steht.
Titel: Antw:fhempy: googlecast
Beitrag von: kriegerkl am 31 Januar 2021, 19:34:27
Das dachte ich auch, dass ich das gemacht hatte.

Vielleicht liegt es daran,dass ich folgendes über die FHEM-Oberfläche probiert hatte: set Pythonbinding_0 restart


Nach dem erneuten reboot des RPI geht wieder alles.

Allerdings steht im fhem.log folgendes:

2021.01.31 19:15:51 3: Pythonbinding_0: starting
2021.01.31 19:15:51 3: Pythonbinding_0: using logfile: ./log/PythonBinding-2021-01-31.log
2021.01.31 19:15:51 2: gassistant: starting gassistant-fhem: /usr/bin/gassistant-fhem -c ./gassistant-fhem.cfg
2021.01.31 19:15:51 3: gassistant: starting
2021.01.31 19:15:51 3: gassistant: using logfile: ./log/gassistant-2021-01-31.log
2021.01.31 19:15:51 0: Featurelevel: 6
2021.01.31 19:15:51 0: Server started with 57 defined entities (fhem.pl:23613/2021-01-25 perl:5.020002 os:linux user:fhem pid:698)
2021.01.31 19:15:53 3: FHEM2FHEM device opened (remoterpi)
2021.01.31 19:15:56 3: Opening local_pybinding device ws:127.0.0.1:15733
2021.01.31 19:15:56 1: local_pybinding: Can't connect to ws:127.0.0.1:15733: Die Operation ist jetzt in Bearbeitung
2021.01.31 19:15:56 1: local_pybinding: Can't connect to ws:127.0.0.1:15733: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.31 19:15:56 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.01.31 19:16:07 1: ws:127.0.0.1:15733 reappeared (local_pybinding)
2021.01.31 19:17:28 2: AttrTemplates: got 217 entries

Und im PhytonBinding.log folgendes:

2021-01-31 19:15:59,356 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-01-31 19:15:59,505 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2021-01-31 19:15:59,568 - INFO     - asyncio: <Server sockets=(<asyncio.TransportSocket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('0.0.0.0', 15733)>,)> is serving
2021-01-31 19:16:07,373 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
2021-01-31 19:16:07,508 - WARNING  - asyncio: Executing <Task pending name='Task-5' coro=<WebSocketServerProtocol.handler() running at /opt/fhem/.local/lib/python3.8/site-packages/websockets/server.py:191> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x75d59f70>()] created at /usr/local/lib/python3.8/asyncio/base_events.py:422> created at /opt/fhem/.local/lib/python3.8/site-packages/websockets/server.py:116> took 0.157 seconds
2021-01-31 19:16:07,868 - WARNING  - asyncio: Executing <Task pending name='Task-9' coro=<PyBinding.onMessage() running at /opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/fhem_pythonbinding.py:126> wait_for=<Future pending cb=[_chain_future.<locals>._call_check_cancel() at /usr/local/lib/python3.8/asyncio/futures.py:360, <TaskWakeupMethWrapper object at 0x754a8f88>()] created at /usr/local/lib/python3.8/asyncio/base_events.py:422> created at /usr/local/lib/python3.8/asyncio/tasks.py:382> took 0.328 seconds
2021-01-31 19:16:08,437 - WARNING  - asyncio: Executing <Task pending name='Task-12' coro=<PyBinding.onMessage() running at /opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/fhem_pythonbinding.py:126> wait_for=<Future pending cb=[_chain_future.<locals>._call_check_cancel() at /usr/local/lib/python3.8/asyncio/futures.py:360, <TaskWakeupMethWrapper object at 0x74adc2f8>()] created at /usr/local/lib/python3.8/asyncio/base_events.py:422> created at /usr/local/lib/python3.8/asyncio/tasks.py:382> took 0.499 seconds
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 31 Januar 2021, 19:41:49
Prüfe bitte ob du nur Pythonbinding_0 oder auch ein Pythonbinding_15733 hast.

Falls beides, dann bitte das mit _0 löschen.
Titel: Antw:fhempy: googlecast
Beitrag von: kriegerkl am 31 Januar 2021, 22:39:52
Ich habe nur Pythonbinding_0.
Titel: Antw:fhempy: googlecast
Beitrag von: kriegerkl am 02 Februar 2021, 18:34:44
Vielleicht liegt es ja daran:

Ich arbeite meistens direkt über die fhem.cfg und speichere sie ab.
Danach steht im Reading "info" des Devices "local_pybinding" "Please wait till connection is established, might take a few minutes".
Und das bleibt dann so. Dann sind die cast-Devices offline.
Im log ist nichts zu finden.

Erst, wenn ich danach fhem stoppe und starte (sudo systemctl stop fhem), geht es wieder.

Kannst Du da etwas machen?
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 02 Februar 2021, 21:07:29
Das kann sein, dass es am fhem.cfg bearbeiten liegt.

Ist PythonBinding auf running nach dem fhem.cfg bearbeiten oder auf stopped?
Titel: Antw:fhempy: googlecast
Beitrag von: kriegerkl am 02 Februar 2021, 23:45:42
Das Reading "PythonBinding" des Devices "Pythonbinding_0" steht auf "running FHEM/bindings/python/bin/fhempy", allerdings mit einem älteren Zeitpunkt:   "2021-02-02 18:54:32", nachdem ich gerade die fhem.cfg gespeichert habe.
State ist active

Aber wie gesagt, das Reading "info" des Devices "local_pybinding" steht auf "Please wait till connection is established, might take a few minutes" mit aktuellem Zeitpunkt und die googlecast-Devices sind offline.

Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 03 Februar 2021, 19:21:07
Kannst du im PythonBinding Log schauen ob nach dem fhem.cfg bearbeiten etwas auftaucht? Bitte auch im fhem Log.
...und auch ein "ps -efa | grep fhempy" auf der Konsole ausführen und die Ausgabe posten.

Für mich hört sich das so an, als würde die Verbindung vom fhempy Prozess zum BindingIo nicht mehr hergestellt werden.
Titel: Antw:fhempy: googlecast
Beitrag von: kriegerkl am 04 Februar 2021, 18:36:24
Kannst du im PythonBinding Log schauen ob nach dem fhem.cfg bearbeiten etwas auftaucht? Bitte auch im fhem Log.
...und auch ein "ps -efa | grep fhempy" auf der Konsole ausführen und die Ausgabe posten.

Für mich hört sich das so an, als würde die Verbindung vom fhempy Prozess zum BindingIo nicht mehr hergestellt werden.

1) Im PythonBinding Log steht nichts.

2) Im fhem.log steht folgendes
2021.02.04 18:26:42 1: BindingsIo: ERROR: Timeout while waiting for function to finish (id: 33218654)
2021.02.04 18:26:52 1: BindingsIo: ERROR: Timeout while waiting for function to finish (id: 59948867)
2021.02.04 18:26:52 1: BindingsIo: ERROR: Too many timeouts, disconnect now and try to reconnect
2021.02.04 18:26:52 1: ws:127.0.0.1:15733 disconnected, waiting to reappear (local_pybinding)
2021.02.04 18:26:52 1: Pythonbinding_0 is against deletion (Pythonbinding_0 will be deleted after pythonbinding.py has stopped or after 5 seconds. whatever comes first.), continuing with rereadcfg anyway
2021.02.04 18:26:52 1: gassistant is against deletion (gassistant will be deleted after gassistant-fhem has stopped or after 5 seconds. whatever comes first.), continuing with rereadcfg anyway
2021.02.04 18:26:52 1: Including fhem.cfg
2021.02.04 18:26:52 3: telnetPort: port 7072 opened
....
....
2021.02.04 18:26:56 3: BindingsIo v1.0.0
2021.02.04 18:26:56 3: PythonBinding v1.0.0
2021.02.04 18:26:56 3: PythonModule v1.0.0 (googlecast)
2021.02.04 18:26:56 3: PythonModule v1.0.0 (googlecast)
2021.02.04 18:26:56 1: Including ./log/fhem.save
2021.02.04 18:26:56 3: [SamsungAV] device Fernseher initialising....

3) Vor dem save der fhem.cfg:
fhem     26103 26093  0 Feb02 ?        00:16:40 python3 FHEM/bindings/python/bin

Nach dem save der fhem.cfg gibt es einen solchen Prozess nicht mehr

Nach einem Stop und dann Neustart von fhem gibt es den Prozess wieder.
Dann sind die cast-Devices auch wieder online.


Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 04 Februar 2021, 19:53:45
Ich sehe du hast gassistant auch im Einsatz, ist das nach einem fhem.cfg speichern da? Da ist genau der gleiche Mechanismus implementiert für den Restart nach dem Speichern der fhem.cfg.
Titel: Antw:fhempy: googlecast
Beitrag von: kriegerkl am 04 Februar 2021, 21:46:27
Ja, habe ich gerade getestet.
Auch hier sind die Geräte nicht mehr erreichbar nach einem save der fhem.cfg.
Erst wieder nach Neustart von fhem.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 05 Februar 2021, 22:16:54
Ok, da stimmt irgendwas im CoProcess Handling nicht. Ich muss mir das genauer ansehen, eigentlich wird CoProcess::start() aufgerufen...
Titel: Antw:fhempy: googlecast
Beitrag von: kriegerkl am 09 Februar 2021, 17:50:00
Hallo Dominik,
wäre super, wenn Du da etwas machen könntest.

Bzgl. gassistant habe ich mir bisher immer mit einem reload und restart nach einem save der fhem.cfg geholfen.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 09 Februar 2021, 20:24:52
Das kannst du vorerst auch bei fhempy machen. Einfach im BindingIo Device restart ausführen.
Titel: Antw:fhempy: googlecast
Beitrag von: KOAL am 13 Februar 2021, 12:12:44
Hallo,

anscheinend gab es ein Update auf meinem System welches mir das "fhempy" zerschossen hat.


root@FHEM-SERVER:~# journalctl -u fhempy.service -f
-- Logs begin at Fri 2021-02-12 19:38:33 UTC. --
Feb 13 11:06:47 FHEM-SERVER systemd[44430]: fhempy.service: Failed to determine user credentials: No such process
Feb 13 11:06:47 FHEM-SERVER systemd[44430]: fhempy.service: Failed at step USER spawning /home/pi/.local/bin/fhempy: No such process
Feb 13 11:06:47 FHEM-SERVER systemd[1]: fhempy.service: Main process exited, code=exited, status=217/USER
Feb 13 11:06:47 FHEM-SERVER systemd[1]: fhempy.service: Failed with result 'exit-code'.
Feb 13 11:06:47 FHEM-SERVER systemd[1]: fhempy.service: Service RestartSec=100ms expired, scheduling restart.
Feb 13 11:06:47 FHEM-SERVER systemd[1]: fhempy.service: Scheduled restart job, restart counter is at 5.
Feb 13 11:06:47 FHEM-SERVER systemd[1]: Stopped FHEM PythonBinding.
Feb 13 11:06:47 FHEM-SERVER systemd[1]: fhempy.service: Start request repeated too quickly.
Feb 13 11:06:47 FHEM-SERVER systemd[1]: fhempy.service: Failed with result 'exit-code'.
Feb 13 11:06:47 FHEM-SERVER systemd[1]: Failed to start FHEM PythonBinding.


Ein Update vom fhempy...

root@FHEM-SERVER:~# pip3 install --upgrade fhempy

  error: Can not find Rust compiler

  ----------------------------------------
  Failed building wheel for cryptography
  Running setup.py clean for cryptography
Failed to build cryptography

    error: Can not find Rust compiler

    ----------------------------------------
  Can't roll back cryptography; was not uninstalled
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-_lhvgl2a/cryptography/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-g5wdvc74/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-_lhvgl2a/cryptography/




In FHEM sieht das ganze nun so aus:

Module failed to load: googlecast
Maybe you need to update fhempy on this or remote peer.

Stacktrace:
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 253, in _onMessage
    functools.partial(importlib.import_module, pymodule)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 32, 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 "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/googlecast/googlecast.py", line 20, in <module>
    from pychromecast.controllers.bubbleupnp import BubbleUPNPController
ModuleNotFoundError: No module named 'pychromecast.controllers.bubbleupnp'


Bitte um Hilfe, DANKE!

LG
KOAL
Titel: Antw:fhempy: googlecast
Beitrag von: KOAL am 13 Februar 2021, 12:31:48
UPDATE:


Nach einem Update auf Rust 1.50.0, mit dem Befel:
curl -sf -L https://static.rust-lang.org/rustup.sh | sh
Ging das Update von fhempy durch, aber in FHEM selbst funktioniert es noch immer nicht

root@FHEM-SERVER:~# pip3 install --upgrade fhempy
Requirement already up-to-date: fhempy in /usr/local/lib/python3.7/dist-packages (0.1.48)
Requirement already satisfied, skipping upgrade: websockets>=8.1 in /usr/local/lib/python3.7/dist-packages (from fhempy) (8.1)
Requirement already satisfied, skipping upgrade: cryptography>=3.3.1 in /usr/local/lib/python3.7/dist-packages (from fhempy) (3.4.4)
Requirement already satisfied, skipping upgrade: importlib-metadata>=3.3.0 in /usr/local/lib/python3.7/dist-packages (from fhempy) (3.4.0)
Requirement already satisfied, skipping upgrade: zeroconf>=0.28.6 in /usr/local/lib/python3.7/dist-packages (from fhempy) (0.28.6)
Requirement already satisfied, skipping upgrade: cffi>=1.12 in /usr/local/lib/python3.7/dist-packages (from cryptography>=3.3.1->fhempy) (1.14.5)
Requirement already satisfied, skipping upgrade: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata>=3.3.0->fhempy) (3.4.0)
Requirement already satisfied, skipping upgrade: typing-extensions>=3.6.4; python_version < "3.8" in /usr/local/lib/python3.7/dist-packages (from importlib-metadata>=3.3.0->fhempy) (3.7.4.3)
Requirement already satisfied, skipping upgrade: ifaddr>=0.1.7 in /usr/local/lib/python3.7/dist-packages (from zeroconf>=0.28.6->fhempy) (0.1.7)
Requirement already satisfied, skipping upgrade: pycparser in /usr/local/lib/python3.7/dist-packages (from cffi>=1.12->cryptography>=3.3.1->fhempy) (2.20)
root@FHEM-SERVER:~#


Ich kann jedoch fhempy nicht starten:

root@FHEM-SERVER:~# journalctl -u fhempy.service -f
-- Logs begin at Sat 2021-02-13 11:22:05 UTC. --
Feb 13 11:27:22 FHEM-SERVER systemd[2233]: fhempy.service: Failed to determine user credentials: No such process
Feb 13 11:27:22 FHEM-SERVER systemd[2233]: fhempy.service: Failed at step USER spawning /home/pi/.local/bin/fhempy: No such process
Feb 13 11:27:22 FHEM-SERVER systemd[1]: fhempy.service: Main process exited, code=exited, status=217/USER
Feb 13 11:27:22 FHEM-SERVER systemd[1]: fhempy.service: Failed with result 'exit-code'.
Feb 13 11:27:23 FHEM-SERVER systemd[1]: fhempy.service: Service RestartSec=100ms expired, scheduling restart.
Feb 13 11:27:23 FHEM-SERVER systemd[1]: fhempy.service: Scheduled restart job, restart counter is at 5.
Feb 13 11:27:23 FHEM-SERVER systemd[1]: Stopped FHEM PythonBinding.
Feb 13 11:27:23 FHEM-SERVER systemd[1]: fhempy.service: Start request repeated too quickly.
Feb 13 11:27:23 FHEM-SERVER systemd[1]: fhempy.service: Failed with result 'exit-code'.
Feb 13 11:27:23 FHEM-SERVER systemd[1]: Failed to start FHEM PythonBinding.

System: (uodate/ugrade alles auf akuellem Stand)
root@FHEM-SERVER:~# cat /etc/issue
Debian GNU/Linux 10 \n \l

Fhem-Version:
6.0.23723

Pychromecast Verion:
root@FHEM-SERVER:~# sudo -u fhem pip3 show pychromecast
Name: PyChromecast
Version: 7.5.1
Summary: Python module to talk to Google Chromecast.
Home-page: https://github.com/balloob/pychromecast
Author: Paulus Schoutsen
Author-email: paulus@paulusschoutsen.nl
License: MIT
Location: /usr/local/lib/python3.7/dist-packages
Requires: casttube, protobuf, zeroconf, requests
Required-by:





Hmm :/
hat jemand die gleichen Problem?
Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 13 Februar 2021, 12:45:29
Hi,

auf nem FHEM System, also kein remote peer, solltest Du fhempy gar nicht per pip installieren. Das geschieht alles automatisch mit der Definition des BindingsIO define local_pybinding BindingsIo Python
Gruss Jan
Titel: Antw:fhempy: googlecast
Beitrag von: KOAL am 13 Februar 2021, 13:04:02
UPDATE:

erstmal danke für die Antwort "JF Mennedy".
Somit ist es voll OK wenn FHEMPY nicht läuft und ich kann es auch wieder deinstallieren am Hauptserver?

Ich konnte das Problem nun "lösen" bzw. umgehen...keine Ahnung ob das Ok ist.
Eventuell kann das jemand bestätigen nicht das ich mir so einen Sicherheitslücke geschaffen habe.

Lösung:

sudo pip install git+https://github.com/dominikkarall/pychromecast.git

dadurch wurde PyChromecast von Version 8.1.0 auf 7.1.1 downgegraded, und schwups war es in FHEM wieder OK.
Successfully built PyChromecast
Installing collected packages: PyChromecast
  Found existing installation: PyChromecast 8.1.0
    Uninstalling PyChromecast-8.1.0:
      Successfully uninstalled PyChromecast-8.1.0
Successfully installed PyChromecast-7.1.1

Google spricht wieder mit mir :) FHEM:
CASTNAME: Wohnzimmer
DEF: googlecast "Wohnzimmer"
IODev: local_pybinding
NAME: Wohnzimmer.chromecast
NR: 2157
PYTHONTYPE: googlecast
STATE: online
TYPE: PythonModule
Denk das Problem ist behoben.
DANKE
Titel: Antw:fhempy: googlecast
Beitrag von: benm am 13 Februar 2021, 13:25:22
Hallo zusammen,

hat jemand fhempy in Docker am laufen? Bei mir bleibt local_pybinding immer auf disconnected stehen.

Im fhempy.log steht folgendes:
2021-02-13 13:19:12,690 - INFO     - __main__: Attempting install of fhempy>=0.1.12
2021-02-13 13:19:57,641 - ERROR    - __main__: Unable to install package fhempy>=0.1.12: Failed building wheel for cryptography
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-bafee938/cryptography/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-n22o6ttk/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /tmp/pip-install-bafee938/cryptography/
2021-02-13 13:19:57,642 - ERROR    - __main__: Failed to install fhempy, exit now...

Und im fhem.log steht das hier und wiederholt sich ständig:
2021.02.13 13:22:43.799 3: Pythonbinding_15733: read: end of file reached while sysread
2021.02.13 13:22:43.799 3: Pythonbinding_15733: stopped
2021.02.13 13:22:43.808 3: Pythonbinding_15733: starting
2021.02.13 13:22:43.812 3: Pythonbinding_15733: using logfile: ./log/fhempy-2021-02-13.log
2021.02.13 13:22:43.813 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)
2021.02.13 13:22:55.607 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)
2021.02.13 13:23:08.625 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)
2021.02.13 13:23:21.734 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)
2021.02.13 13:23:32.358 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)

Jemand eine Idee, was ich falsch mache?

Grüße, Benjamin
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 13 Februar 2021, 18:22:30
UPDATE:

erstmal danke für die Antwort "JF Mennedy".
Somit ist es voll OK wenn FHEMPY nicht läuft und ich kann es auch wieder deinstallieren am Hauptserver?

Ich konnte das Problem nun "lösen" bzw. umgehen...keine Ahnung ob das Ok ist.
Eventuell kann das jemand bestätigen nicht das ich mir so einen Sicherheitslücke geschaffen habe.

Lösung:

sudo pip install git+https://github.com/dominikkarall/pychromecast.git

dadurch wurde PyChromecast von Version 8.1.0 auf 7.1.1 downgegraded, und schwups war es in FHEM wieder OK.
Successfully built PyChromecast
Installing collected packages: PyChromecast
  Found existing installation: PyChromecast 8.1.0
    Uninstalling PyChromecast-8.1.0:
      Successfully uninstalled PyChromecast-8.1.0
Successfully installed PyChromecast-7.1.1

Google spricht wieder mit mir :) FHEM:
CASTNAME: Wohnzimmer
DEF: googlecast "Wohnzimmer"
IODev: local_pybinding
NAME: Wohnzimmer.chromecast
NR: 2157
PYTHONTYPE: googlecast
STATE: online
TYPE: PythonModule
Denk das Problem ist behoben.
DANKE

Hi,
mein pychromecast Repository ist schon ziemlich alt. Da sollte schon 8.x verwendet werden.

2 Fragen
 - Lässt du fhempy bewusst als root User laufen? Das solltest du nicht machen, fhempy benötigt kein root und sollte daher als pi oder ähnlicher User laufen. fhempy ist somit OHNE sudo zu installieren.
 - cryptography dürfte das Problem sein. Installiere bitte nochmals die apt Pakete hier: https://github.com/dominikkarall/fhempy#console danach starte nochmals neu.

Mach bitte auch ein "sudo pip3 install --upgrade pychromecast" damit du wieder die letzte Version hast.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 13 Februar 2021, 18:23:36
Hallo zusammen,

hat jemand fhempy in Docker am laufen? Bei mir bleibt local_pybinding immer auf disconnected stehen.

Im fhempy.log steht folgendes:
2021-02-13 13:19:12,690 - INFO     - __main__: Attempting install of fhempy>=0.1.12
2021-02-13 13:19:57,641 - ERROR    - __main__: Unable to install package fhempy>=0.1.12: Failed building wheel for cryptography
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-bafee938/cryptography/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-n22o6ttk/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /tmp/pip-install-bafee938/cryptography/
2021-02-13 13:19:57,642 - ERROR    - __main__: Failed to install fhempy, exit now...

Und im fhem.log steht das hier und wiederholt sich ständig:
2021.02.13 13:22:43.799 3: Pythonbinding_15733: read: end of file reached while sysread
2021.02.13 13:22:43.799 3: Pythonbinding_15733: stopped
2021.02.13 13:22:43.808 3: Pythonbinding_15733: starting
2021.02.13 13:22:43.812 3: Pythonbinding_15733: using logfile: ./log/fhempy-2021-02-13.log
2021.02.13 13:22:43.813 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)
2021.02.13 13:22:55.607 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)
2021.02.13 13:23:08.625 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)
2021.02.13 13:23:21.734 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)
2021.02.13 13:23:32.358 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)

Jemand eine Idee, was ich falsch mache?

Grüße, Benjamin

Dürfte ebenfalls das cryptography package sein. Kannst du bitte auch nochmals per apt alles installieren: https://github.com/dominikkarall/fhempy#console
Danach bitte nochmals testen.
Titel: Antw:fhempy: googlecast
Beitrag von: benm am 13 Februar 2021, 21:15:47
Dürfte ebenfalls das cryptography package sein. Kannst du bitte auch nochmals per apt alles installieren: https://github.com/dominikkarall/fhempy#console
Danach bitte nochmals testen.

Danke für deine schnelle Antwort...hatte vergessen zu schreiben, dass ich das auch schon gemacht habe. Hab mein Container aber noch mal ohne irgendwelche Parameter gestartet und nur die Installation für fhempy durchgeführt.

Leider wieder das gleiche Ergebnis:
2021-02-13 21:05:05,192 - INFO     - __main__: Attempting install of fhempy>=0.1.12
2021-02-13 21:06:25,724 - ERROR    - __main__: Unable to install package fhempy>=0.1.12: Failed building wheel for cryptography
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-7_4zn6dv/cryptography/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-cvz5l3ym/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /tmp/pip-install-7_4zn6dv/cryptography/
2021-02-13 21:06:25,725 - ERROR    - __main__: Failed to install fhempy, exit now...

Keine Ahnung ob das hilft, ich bin gerade dabei meine FHEM Installation in Docker neu aufzusetzen, deshalb habe ich noch nichts anderes installiert. Ich nutze diese FHEM Docker:
https://github.com/fhem/fhem-docker (https://github.com/fhem/fhem-docker)

Mein Container habe ich bisher so erzeugt:
sudo docker run -d --name fhem -p 8083:8083 -p 15733:15733 --restart always -v /opt/fhem:/opt/fhem --device=/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AL021S0E-if00-port0:/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AL021S0E-if00-port0 -e TZ=Europe/Berlin -e APT_PKGS="python3 python3-pip python3-dev libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libglib2.0-dev libdbus-1-dev bluez libbluetooth-dev" -e CPAN_PKGS="Protocol::WebSocket" --add-host host.docker.internal:host-gateway fhem/fhem
Nach deinem Hinweis habe ich mein Container noch mal so erstellt:
docker run -d --name fhem -p 8083:8083 -v /opt/fhem:/opt/fhem fhem/fhemund dann per apt installiert.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 13 Februar 2021, 22:41:30
Kannst du mal im Container ein
sudo -u fhem pip3 install cryptographymachen und mir die Ausgabe posten.
Titel: Antw:fhempy: googlecast
Beitrag von: Keichi am 14 Februar 2021, 00:04:03
Hallo zusammen,

hat jemand fhempy in Docker am laufen? Bei mir bleibt local_pybinding immer auf disconnected stehen.

Im fhempy.log steht folgendes:
2021-02-13 13:19:12,690 - INFO     - __main__: Attempting install of fhempy>=0.1.12
2021-02-13 13:19:57,641 - ERROR    - __main__: Unable to install package fhempy>=0.1.12: Failed building wheel for cryptography
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-bafee938/cryptography/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-n22o6ttk/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /tmp/pip-install-bafee938/cryptography/
2021-02-13 13:19:57,642 - ERROR    - __main__: Failed to install fhempy, exit now...

Und im fhem.log steht das hier und wiederholt sich ständig:
2021.02.13 13:22:43.799 3: Pythonbinding_15733: read: end of file reached while sysread
2021.02.13 13:22:43.799 3: Pythonbinding_15733: stopped
2021.02.13 13:22:43.808 3: Pythonbinding_15733: starting
2021.02.13 13:22:43.812 3: Pythonbinding_15733: using logfile: ./log/fhempy-2021-02-13.log
2021.02.13 13:22:43.813 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)
2021.02.13 13:22:55.607 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)
2021.02.13 13:23:08.625 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)
2021.02.13 13:23:21.734 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)
2021.02.13 13:23:32.358 1: BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Connection refused (111)

Jemand eine Idee, was ich falsch mache?

Grüße, Benjamin

Da schließ ich mich mal an.. Selber Fehler auf nen RPI 3B+ mit aktuellen Buster.. Bei mir scheitert der auch am Cryptomodul.

Kannst du mal im Container ein
sudo -u fhem pip3 install cryptographymachen und mir die Ausgabe posten.

Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: cryptography in /usr/lib/python3/dist-packages (2.6.1)
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 14 Februar 2021, 08:52:06
Bitte dann folgendes testen:
sudo -u fhem pip3 install --upgrade cryptography
sudo -u fhem pip3 install --upgrade fhempy
Titel: Antw:fhempy: googlecast
Beitrag von: Keichi am 14 Februar 2021, 09:18:29
Bitte dann folgendes testen:
sudo -u fhem pip3 install --upgrade cryptography
sudo -u fhem pip3 install --upgrade fhempy

Bleibt dabei.. Alles auf dem neusten Stand.

pi@fhem:~ $ sudo -u fhem pip3 install --upgrade cryptography
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already up-to-date: cryptography in /opt/fhem/.local/lib/python3.7/site-packages (3.4.5)
Requirement already satisfied, skipping upgrade: cffi>=1.12 in /opt/fhem/.local/lib/python3.7/site-packages (from cryptography) (1.14.5)
Requirement already satisfied, skipping upgrade: pycparser in /opt/fhem/.local/lib/python3.7/site-packages (from cffi>=1.12->cryptography) (2.20)
pi@fhem:~ $ sudo -u fhem pip3 install --upgrade fhempy
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already up-to-date: fhempy in /opt/fhem/.local/lib/python3.7/site-packages (0.1.48)
Requirement already satisfied, skipping upgrade: websockets>=8.1 in /opt/fhem/.local/lib/python3.7/site-packages (from fhempy) (8.1)
Requirement already satisfied, skipping upgrade: importlib-metadata>=3.3.0 in /opt/fhem/.local/lib/python3.7/site-packages (from fhempy) (3.4.0)
Requirement already satisfied, skipping upgrade: zeroconf>=0.28.6 in /opt/fhem/.local/lib/python3.7/site-packages (from fhempy) (0.28.6)
Requirement already satisfied, skipping upgrade: cryptography>=3.3.1 in /opt/fhem/.local/lib/python3.7/site-packages (from fhempy) (3.4.5)
Requirement already satisfied, skipping upgrade: typing-extensions>=3.6.4; python_version < "3.8" in /opt/fhem/.local/lib/python3.7/site-packages (from importlib-metadata>=3.3.0->fhempy) (3.7.4.3)
Requirement already satisfied, skipping upgrade: zipp>=0.5 in /opt/fhem/.local/lib/python3.7/site-packages (from importlib-metadata>=3.3.0->fhempy) (3.4.0)
Requirement already satisfied, skipping upgrade: ifaddr>=0.1.7 in /opt/fhem/.local/lib/python3.7/site-packages (from zeroconf>=0.28.6->fhempy) (0.1.7)
Requirement already satisfied, skipping upgrade: cffi>=1.12 in /opt/fhem/.local/lib/python3.7/site-packages (from cryptography>=3.3.1->fhempy) (1.14.5)
Requirement already satisfied, skipping upgrade: pycparser in /opt/fhem/.local/lib/python3.7/site-packages (from cffi>=1.12->cryptography>=3.3.1->fhempy) (2.20)
pi@fhem:~ $
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 14 Februar 2021, 09:25:50
Und wenn du jetzt fhempy startest kommt trotzdem der Fehler? Kannst du das bitte nochmals testen.
Titel: Antw:fhempy: googlecast
Beitrag von: Keichi am 14 Februar 2021, 09:35:16
Und wenn du jetzt fhempy startest kommt trotzdem der Fehler? Kannst du das bitte nochmals testen.

Okay.. Nun läufts... Wieso auch immer, der hat doch nichts neues installiert  :o Na, dann erstmal weitermachen und die Minis in Fhem integrieren, dann seh ich ja was geht und was nicht.

Edit: Super, nun sind beide Minis auch wieder in Fhem. Du solltest aber vielleicht noch in der Readme erwähnen das <NAME> für den Namen aus der Google Home App steht.. Da braucht ich echt ne Minute um zu kapieren was gemeint war.
Titel: Antw:fhempy: googlecast
Beitrag von: benm am 14 Februar 2021, 13:42:15
Kannst du mal im Container ein
sudo -u fhem pip3 install cryptographymachen und mir die Ausgabe posten.

Hi Dominik,

habe ich ausgeführt und bekomme folgendes zurück (hoffe es ist nicht zu viel...):
     ┌────────────────────────────────────────────────────────────────────┐
     │                        • MobaXterm 20.6 •                          │
     │            (SSH client, X-server and networking tools)             │
     │                                                                    │
     │ ➤ SSH session to pi@192.168.86.152                                 │
     │   • SSH compression : ✔                                            │
     │   • SSH-browser     : ✔                                            │
     │   • X11-forwarding  : ✔  (remote display is forwarded through SSH) │
     │   • DISPLAY         : ✔  (automatically set on remote server)      │
     │                                                                    │
     │ ➤ For more info, ctrl+click on help or visit our website           │
     └────────────────────────────────────────────────────────────────────┘

Linux raspberrypi 5.10.14-v7+ #1401 SMP Mon Feb 8 14:23:24 GMT 2021 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Feb 14 13:01:57 2021 from 192.168.86.40

SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.


Wi-Fi is currently blocked by rfkill.
Use raspi-config to set the country before use.

pi@raspberrypi:~ $ docker exec -it fhem bash
root@6f2a32ab32b7:/opt/fhem# sudo -u fhem pip3 install cryptography
Collecting cryptography
  Using cached https://files.pythonhosted.org/packages/60/6d/b32368327f600a12e59fb51a904fc6200dd7e65e953fd6fc6ae6468e3423/cryptography-3.4.5.tar.gz
  Installing build dependencies ... done
Requirement already satisfied: cffi>=1.12 in ./.local/lib/python3.7/site-packages (from cryptography) (1.14.5)
Requirement already satisfied: pycparser in ./.local/lib/python3.7/site-packages (from cffi>=1.12->cryptography) (2.20)
Building wheels for collected packages: cryptography
  Running setup.py bdist_wheel for cryptography ... error
  Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-4gzaxddm/cryptography/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-716o1ldc --python-tag cp37:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-armv7l-3.7
  creating build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/utils.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/fernet.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/exceptions.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/__about__.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/__init__.py -> build/lib.linux-armv7l-3.7/cryptography
  creating build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/oid.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/ocsp.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/name.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/general_name.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/extensions.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/base.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/_oid.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/_types.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/_der.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings
  copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
  copying src/cryptography/hazmat/backends/interfaces.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
  copying src/cryptography/hazmat/backends/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/utils.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ocsp.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  running egg_info
  writing src/cryptography.egg-info/PKG-INFO
  writing dependency_links to src/cryptography.egg-info/dependency_links.txt
  writing requirements to src/cryptography.egg-info/requires.txt
  writing top-level names to src/cryptography.egg-info/top_level.txt
  reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  no previously-included directories found matching 'docs/_build'
  warning: no previously-included files found matching 'vectors'
  warning: no previously-included files matching '*' found under directory 'vectors'
  warning: no previously-included files matching '*' found under directory '.github'
  warning: no previously-included files found matching 'release.py'
  warning: no previously-included files found matching '.coveragerc'
  warning: no previously-included files found matching 'codecov.yml'
  warning: no previously-included files found matching '.readthedocs.yml'
  warning: no previously-included files found matching 'dev-requirements.txt'
  warning: no previously-included files found matching 'tox.ini'
  warning: no previously-included files found matching 'mypy.ini'
  warning: no previously-included files matching '*' found under directory '.zuul.d'
  warning: no previously-included files matching '*' found under directory '.zuul.playbooks'
  writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
  copying src/cryptography/py.typed -> build/lib.linux-armv7l-3.7/cryptography
  running build_ext
  generating cffi module 'build/temp.linux-armv7l-3.7/_padding.c'
  creating build/temp.linux-armv7l-3.7
  generating cffi module 'build/temp.linux-armv7l-3.7/_openssl.c'
  running build_rust

      =============================DEBUG ASSISTANCE=============================
      If you are seeing a compilation error please try the following steps to
      successfully install cryptography:
      1) Upgrade to the latest pip and try again. This will fix errors for most
         users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
      2) Read https://cryptography.io/en/latest/installation.html for specific
         instructions for your platform.
      3) Check our frequently asked questions for more information:
         https://cryptography.io/en/latest/faq.html
      4) Ensure you have a recent Rust toolchain installed:
         https://cryptography.io/en/latest/installation.html#rust
      5) If you are experiencing issues with Rust for *this release only* you may
         set the environment variable `CRYPTOGRAPHY_DONT_BUILD_RUST=1`.
      =============================DEBUG ASSISTANCE=============================

  error: Can not find Rust compiler

  ----------------------------------------
  Failed building wheel for cryptography
  Running setup.py clean for cryptography
Failed to build cryptography
Installing collected packages: cryptography
  Running setup.py install for cryptography ... error
    Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-4gzaxddm/cryptography/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-wyoldcwf/install-record.txt --single-version-externally-managed --compile --user --prefix=:
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-armv7l-3.7
    creating build/lib.linux-armv7l-3.7/cryptography
    copying src/cryptography/utils.py -> build/lib.linux-armv7l-3.7/cryptography
    copying src/cryptography/fernet.py -> build/lib.linux-armv7l-3.7/cryptography
    copying src/cryptography/exceptions.py -> build/lib.linux-armv7l-3.7/cryptography
    copying src/cryptography/__about__.py -> build/lib.linux-armv7l-3.7/cryptography
    copying src/cryptography/__init__.py -> build/lib.linux-armv7l-3.7/cryptography
    creating build/lib.linux-armv7l-3.7/cryptography/x509
    copying src/cryptography/x509/oid.py -> build/lib.linux-armv7l-3.7/cryptography/x509
    copying src/cryptography/x509/ocsp.py -> build/lib.linux-armv7l-3.7/cryptography/x509
    copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-armv7l-3.7/cryptography/x509
    copying src/cryptography/x509/name.py -> build/lib.linux-armv7l-3.7/cryptography/x509
    copying src/cryptography/x509/general_name.py -> build/lib.linux-armv7l-3.7/cryptography/x509
    copying src/cryptography/x509/extensions.py -> build/lib.linux-armv7l-3.7/cryptography/x509
    copying src/cryptography/x509/base.py -> build/lib.linux-armv7l-3.7/cryptography/x509
    copying src/cryptography/x509/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/x509
    creating build/lib.linux-armv7l-3.7/cryptography/hazmat
    copying src/cryptography/hazmat/_oid.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
    copying src/cryptography/hazmat/_types.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
    copying src/cryptography/hazmat/_der.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
    copying src/cryptography/hazmat/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
    creating build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings
    copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings
    creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
    copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
    copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
    copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
    copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
    copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
    copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
    copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
    copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
    copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
    copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
    copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
    creating build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
    copying src/cryptography/hazmat/backends/interfaces.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
    copying src/cryptography/hazmat/backends/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
    creating build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
    copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
    copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
    copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
    creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
    copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
    copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
    copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
    copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
    copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
    creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
    copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
    copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
    copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
    copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
    copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
    copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
    copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
    creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
    copying src/cryptography/hazmat/primitives/twofactor/utils.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
    copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
    copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
    copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
    creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
    copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
    copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
    copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
    copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
    copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
    copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
    copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
    copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
    copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
    copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
    copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
    creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
    copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
    copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
    copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
    copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
    copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
    creating build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    copying src/cryptography/hazmat/backends/openssl/ocsp.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
    running egg_info
    writing src/cryptography.egg-info/PKG-INFO
    writing dependency_links to src/cryptography.egg-info/dependency_links.txt
    writing requirements to src/cryptography.egg-info/requires.txt
    writing top-level names to src/cryptography.egg-info/top_level.txt
    reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    no previously-included directories found matching 'docs/_build'
    warning: no previously-included files found matching 'vectors'
    warning: no previously-included files matching '*' found under directory 'vectors'
    warning: no previously-included files matching '*' found under directory '.github'
    warning: no previously-included files found matching 'release.py'
    warning: no previously-included files found matching '.coveragerc'
    warning: no previously-included files found matching 'codecov.yml'
    warning: no previously-included files found matching '.readthedocs.yml'
    warning: no previously-included files found matching 'dev-requirements.txt'
    warning: no previously-included files found matching 'tox.ini'
    warning: no previously-included files found matching 'mypy.ini'
    warning: no previously-included files matching '*' found under directory '.zuul.d'
    warning: no previously-included files matching '*' found under directory '.zuul.playbooks'
    writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
    copying src/cryptography/py.typed -> build/lib.linux-armv7l-3.7/cryptography
    running build_ext
    generating cffi module 'build/temp.linux-armv7l-3.7/_padding.c'
    creating build/temp.linux-armv7l-3.7
    generating cffi module 'build/temp.linux-armv7l-3.7/_openssl.c'
    running build_rust

        =============================DEBUG ASSISTANCE=============================
        If you are seeing a compilation error please try the following steps to
        successfully install cryptography:
        1) Upgrade to the latest pip and try again. This will fix errors for most
           users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
        2) Read https://cryptography.io/en/latest/installation.html for specific
           instructions for your platform.
        3) Check our frequently asked questions for more information:
           https://cryptography.io/en/latest/faq.html
        4) Ensure you have a recent Rust toolchain installed:
           https://cryptography.io/en/latest/installation.html#rust
        5) If you are experiencing issues with Rust for *this release only* you may
           set the environment variable `CRYPTOGRAPHY_DONT_BUILD_RUST=1`.
        =============================DEBUG ASSISTANCE=============================

    error: Can not find Rust compiler

    ----------------------------------------
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-4gzaxddm/cryptography/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-wyoldcwf/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /tmp/pip-install-4gzaxddm/cryptography/
root@6f2a32ab32b7:/opt/fhem#

Wegen der Zeile:
error: Can not find Rust compilerhabe ich Rust installiert:
curl https://sh.rustup.rs -sSf | shHat leider keine Besserung gebracht

Obwohl das vermutlich nichts bringt, wegen der obrigen Fehlermeldung habe ich deinen zweiten Vorschlag auch ausgeführt:
Bitte dann folgendes testen:
sudo -u fhem pip3 install --upgrade cryptography
sudo -u fhem pip3 install --upgrade fhempy

Als Ergebnis kam das raus:
running build_rust

        =============================DEBUG ASSISTANCE=============================
        If you are seeing a compilation error please try the following steps to
        successfully install cryptography:
        1) Upgrade to the latest pip and try again. This will fix errors for most
           users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
        2) Read https://cryptography.io/en/latest/installation.html for specific
           instructions for your platform.
        3) Check our frequently asked questions for more information:
           https://cryptography.io/en/latest/faq.html
        4) Ensure you have a recent Rust toolchain installed:
           https://cryptography.io/en/latest/installation.html#rust
        5) If you are experiencing issues with Rust for *this release only* you may
           set the environment variable `CRYPTOGRAPHY_DONT_BUILD_RUST=1`.
        =============================DEBUG ASSISTANCE=============================

    error: Can not find Rust compiler

    ----------------------------------------
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-ngq5wpyw/cryptography/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-ho0_lwtc/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /tmp/pip-install-ngq5wpyw/cryptography/

Ich vermute, dass es mit dem fehlenden Rust Compiler zu tun hat...stehe aber auf dem Schlauch.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 14 Februar 2021, 14:55:36
Ok, der Fehler liegt an der neuen Cryptography Rust Abhängigkeit, hat wohl mehrere erwischt:
https://github.com/pyca/cryptography/issues/5771

Ich schau mal was ich tun kann, eventuell entferne ich die Abhängigkeit auch und suche eine andere Library.
Titel: Antw:fhempy: googlecast
Beitrag von: benm am 14 Februar 2021, 15:43:29
Ok, der Fehler liegt an der neuen Cryptography Rust Abhängigkeit, hat wohl mehrere erwischt:
https://github.com/pyca/cryptography/issues/5771

Ich schau mal was ich tun kann, eventuell entferne ich die Abhängigkeit auch und suche eine andere Library.

 :'(

Danke dir...eine Möglichkeit die alte Version zu installieren gibt es nicht?!?
Titel: Antw:fhempy: googlecast
Beitrag von: benm am 14 Februar 2021, 17:16:29
Scheinbar hat es jetzt geklappt.

Hab mir einige Posts hier durchgelesen:
https://github.com/pyca/cryptography/issues/5771 (https://github.com/pyca/cryptography/issues/5771)

Dort steht, dass als Lösungsvorschlag:
apt install -y rustc python3-pip
Danach noch mal:
sudo -u fhem pip3 install cryptography
Und es läuft durch.

Danke dir noch mal für deine Hilfe!

Edit 17:54 Uhr:
Leider noch mal eine Korrektur, ich glaube es geht doch nicht. Meine Google Cast Geräte bleiben alle offline.

Kann das damit was zu tun haben?:
2021-02-14 17:32:39,013 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-02-14 17:32:39,039 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2021-02-14 17:32:39,050 - INFO     - asyncio: <Server sockets=[<socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('0.0.0.0', 15733)>]> is serving
2021-02-14 17:32:46,639 - INFO     - asyncio: poll took 7587.267 ms: 1 events
2021-02-14 17:32:46,663 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
2021-02-14 17:32:47,020 - WARNING  - asyncio: Executing <Task pending coro=<PyBinding.onMessage() running at /opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py:126> wait_for=<Future pending cb=[_chain_future.<locals>._call_check_cancel() at /usr/lib/python3.7/asyncio/futures.py:348, <TaskWakeupMethWrapper object at 0x73fcf530>()] created at /usr/lib/python3.7/asyncio/base_events.py:396> created at /usr/lib/python3.7/asyncio/tasks.py:325> took 0.205 seconds
2021-02-14 17:32:47,953 - WARNING  - asyncio: Executing <Handle <TaskWakeupMethWrapper object at 0x71c41930>(<Future finis...events.py:396>) created at /usr/lib/python3.7/asyncio/tasks.py:368> took 0.311 seconds
2021-02-14 17:32:56,228 - INFO     - asyncio: poll took 6990.183 ms: 1 events
2021-02-14 17:32:59,775 - INFO     - asyncio: poll took 2730.697 ms: 1 events

Die beiden Befehle hatte ich auch ausgeführt:
sudo -u fhem pip3 install --upgrade cryptography
sudo -u fhem pip3 install --upgrade fhempy
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 14 Februar 2021, 20:59:08
Das Log sieht eigentlich gut aus.

Auch nach einem Neustart von fhempy tut es nicht? Stell mal bei einem Googlecast Device verbose auf 5 und schau dann nochmals im fhempy Log.
Titel: Antw:fhempy: googlecast
Beitrag von: benm am 14 Februar 2021, 21:12:01
Das Log sieht eigentlich gut aus.

Auch nach einem Neustart von fhempy tut es nicht? Stell mal bei einem Googlecast Device verbose auf 5 und schau dann nochmals im fhempy Log.

Hab bei dem "cast" welches den Namen "Wohnzimmer" (Nest Wifi) hat auf Verbose 5 gestellt. Hab zusätzlich noch zwei andere GoogleCast Geräte (Chromecast Audio und Nest Mini) hinzugefügt (ohne Verbose hoch zu setzen), beide sind auch "offline".

Das ist das LOG File von fhempy seit dem Container-Restart:
2021-02-14 19:00:14,993 - WARNING  - asyncio: Executing <Handle _SelectorSocketTransport._read_ready() created at /usr/lib/python3.7/asyncio/selector_events.py:249> took 0.107 seconds
2021-02-14 21:04:13,088 - INFO     - asyncio: poll took 7437795.551 ms: 1 events
2021-02-14 21:04:30,119 - INFO     - asyncio: poll took 16837.416 ms: 1 events
2021-02-14 21:06:18,150 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-02-14 21:06:18,190 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2021-02-14 21:06:18,215 - INFO     - asyncio: <Server sockets=[<socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('0.0.0.0', 15733)>]> is serving
2021-02-14 21:06:25,492 - INFO     - asyncio: poll took 7275.678 ms: 1 events
2021-02-14 21:06:25,537 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
2021-02-14 21:06:25,702 - WARNING  - asyncio: Executing <Task pending coro=<PyBinding.onMessage() running at /opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py:126> wait_for=<Future pending cb=[_chain_future.<locals>._call_check_cancel() at /usr/lib/python3.7/asyncio/futures.py:348, <TaskWakeupMethWrapper object at 0x75375350>()] created at /usr/lib/python3.7/asyncio/base_events.py:396> created at /usr/lib/python3.7/asyncio/tasks.py:325> took 0.101 seconds
2021-02-14 21:06:25,818 - WARNING  - asyncio: Executing <Task pending coro=<PyBinding.onMessage() running at /opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py:126> wait_for=<Future pending cb=[_chain_future.<locals>._call_check_cancel() at /usr/lib/python3.7/asyncio/futures.py:348, <TaskWakeupMethWrapper object at 0x749d4630>()] created at /usr/lib/python3.7/asyncio/base_events.py:396> created at /usr/lib/python3.7/asyncio/tasks.py:325> took 0.109 seconds
2021-02-14 21:06:25,948 - WARNING  - asyncio: Executing <Task pending coro=<PyBinding.onMessage() running at /opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py:126> wait_for=<Future pending cb=[_chain_future.<locals>._call_check_cancel() at /usr/lib/python3.7/asyncio/futures.py:348, <TaskWakeupMethWrapper object at 0x749fcc10>()] created at /usr/lib/python3.7/asyncio/base_events.py:396> created at /usr/lib/python3.7/asyncio/tasks.py:325> took 0.113 seconds
2021-02-14 21:06:27,251 - WARNING  - asyncio: Executing <Handle <TaskWakeupMethWrapper object at 0x71787690>(<Future finis...events.py:396>) created at /usr/lib/python3.7/asyncio/tasks.py:368> took 0.509 seconds
2021-02-14 21:06:29,071 - INFO     - asyncio: poll took 1790.579 ms: 1 events
2021-02-14 21:06:29,613 - DEBUG    - cast: Start discovery
2021-02-14 21:06:32,912 - INFO     - asyncio: poll took 3291.207 ms: 1 events
2021-02-14 21:06:34,067 - INFO     - asyncio: poll took 1092.769 ms: 1 events
2021-02-14 21:06:39,925 - INFO     - asyncio: poll took 5823.931 ms: 1 events
2021-02-14 21:07:57,532 - INFO     - asyncio: poll took 76782.353 ms: 1 events
2021-02-14 21:08:00,971 - INFO     - asyncio: poll took 3381.136 ms: 1 events
2021-02-14 21:08:11,609 - INFO     - asyncio: poll took 10571.946 ms: 1 events
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 14 Februar 2021, 21:18:41
Kann es sein, dass das Device aus dem Container nicht gefunden werden kann? Eventuell Netzwerk Thema?
Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 26 März 2021, 15:29:11
Hallo funktioniert bei Euch noch spotify mit googlecast?
Bis vor ein paar Tagen alles gut, doch jetzt gehts nicht merhr und im log steht folgendes:

2021-03-26 15:22:42,941 - ERROR    - Google_Home_Mini: No device with id "a5d21dadee4casasdafgasg1a4ebc821a0c" known by Spotify
2021-03-26 15:22:42,941 - ERROR    - Google_Home_Mini: Known devices: []

Das erste Mal war das am 22.03. im Log..

Habe noch mal die sp_dc und sp_key erneuert, Spotify_USer wird auch in den Readings richtig angezeigt... 
Hat hier eventuell Spotify etwas geändert?

Gruss Jan
Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 27 März 2021, 15:02:56
Anscheinend ist das Problem bereits bei spotipy bekannt...
https://github.com/plamere/spotipy/issues/659
Titel: Antw:fhempy: googlecast
Beitrag von: Atara am 31 März 2021, 09:29:05
Hallo,
ich hoffe, ich frage nichts, was hier schon behandelt wurde.

Ich habe mit dem "Fünfzeiler" das Binding  auf meinem RPi installiert und anschließend ein googlecast device angelegt.

defmod FG_CAST PythonModule googlecast "Flur Erdgeschoss"

Das wurde aber nicht installiert.
Bei der Fehlersuche habe ich bemerkt, dass das Binding fhempy nicht automatisch gestartet wurde.
Nach einem manuellen Start wurde alles installiert und meine Sprachausgabe funktioniert.

Nur bleibt das Problem, dass fhempy (0.1.57) nicht automatisch startet.

Kann mir hier jemand einen Tipp geben?

Besten Dank im Voraus!
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 04 April 2021, 20:07:43
Hi,

das mit Spotify dürfte wohl ein generelles Problem sein.

Kannst du mal folgendes probieren:
 - define spotify_player PythonModule spotify
 - Einloggen über den Link in den Readings
 - set home_mini startSpotify
 - set spotify_player update_devices
 - DeviceID kopieren (nur die ID, nicht den Name)
 - set spotify_player play https://SPOTIFYURL DEVICEID

Sollte das gehen, dann muss ich wohl im Chromecast Modul den Spotify Login + sp_dc integrieren.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 04 April 2021, 20:09:09
Hallo,
ich hoffe, ich frage nichts, was hier schon behandelt wurde.

Ich habe mit dem "Fünfzeiler" das Binding  auf meinem RPi installiert und anschließend ein googlecast device angelegt.

defmod FG_CAST PythonModule googlecast "Flur Erdgeschoss"

Das wurde aber nicht installiert.
Bei der Fehlersuche habe ich bemerkt, dass das Binding fhempy nicht automatisch gestartet wurde.
Nach einem manuellen Start wurde alles installiert und meine Sprachausgabe funktioniert.

Nur bleibt das Problem, dass fhempy (0.1.57) nicht automatisch startet.

Kann mir hier jemand einen Tipp geben?

Besten Dank im Voraus!

define local_pybinding BindingsIo Python
hast du gemacht? Existiert ein Device Pythonbinding_15733? Das macht den Autostart.
Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 04 April 2021, 20:58:11
Hi,

das mit Spotify dürfte wohl ein generelles Problem sein.

Kannst du mal folgendes probieren:
 - define spotify_player PythonModule spotify
 - Einloggen über den Link in den Readings
 - set home_mini startSpotify
 - set spotify_player update_devices
 - DeviceID kopieren (nur die ID, nicht den Name)
 - set spotify_player play https://SPOTIFYURL DEVICEID

Sollte das gehen, dann muss ich wohl im Chromecast Modul den Spotify Login + sp_dc integrieren.

Hi Dominik,

 - set home_mini startSpotify
  -> Pling auf Ghome ertönt
 - set spotify_player update_devices
  -> Ich bekomme eine Device ID
 - set spotify_player play https://SPOTIFYURL DEVICEID := set Google_Home_Mini_Bureau play https://open.spotify.com/playlist/37i9asdasdad0zmsulfyDdq 12esdfsdfsdfsdfsd741c97f56b9d38d73fa1c222cc
  -> Antwort von Fhem "Usage: set Google_Home_Mini_Bureau play url"

Gruss Jan
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 04 April 2021, 22:15:03
Hi Jan,

ich habe es bei mir gerade mit folgendem play probiert:
set spotify_player play https://open.spotify.com/artist/3fgrINtlzNkMEhUEq0CZS8 DEVICEID

Da hat es funktioniert über FHEM Web. Eventuell hat sich da noch irgendwo ein Leerzeichen eingeschlichen bei dir?
Kannst du es mal mit einer öffentlichen Playlist oder Artist Link testen? Wobei eine private Playlist eigentlich auch klappen sollte.
Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 04 April 2021, 22:50:10
Ok, ich Hornochse.. hab set play auf dem CastDevice ausgeführt.. Im Spoti-Player gehts...
Titel: Antw:fhempy: googlecast
Beitrag von: Atara am 05 April 2021, 18:15:24
Das ist alles, was ich in der fhem.cfg habe:

define local_pybinding BindingsIo Python
attr local_pybinding room hidden
define FG_CAST PythonModule googlecast "Flur Erdgeschoss"
attr FG_CAST IODev local_pybinding
attr FG_CAST cmdIcon pause:rc_PAUSE play:rc_PLAY
attr FG_CAST icon gassistant
attr FG_CAST webCmd volume:play:pause

Ein Pythonbinding_15733 existiert nicht.

Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 05 April 2021, 20:09:07
Schau mal im Raum hidden...
Titel: Antw:fhempy: googlecast
Beitrag von: Atara am 06 April 2021, 19:06:04
Hallo JF Mennedy,
da ist nur das local_pybinding.
Ich habe es mit list gemacht und alles gefunden, bis auf das Pythonbinding_15733.

Wenn es irgend etwas hilft, kann ich das Binding noch einmal löschen.
Allerdings muss ich doch scher auch irgend etwas mit Pip deinstallieren, oder?

Vielen Dank für die Hilfe!

Beste Grüße
Frank
Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 06 April 2021, 21:28:28
Hi Franz,

schaut fast so aus als wenn Dominik dir da weiterhelfen muss.. Normalerweise sollte das Pythonbinding_15733 automatisch angelegt werden, wenn Du das local_binding definierst... Auch alle Abhängigkeiten sollten automatisch installiert werden.. Hast du es mit defmod oder define angelegt? Ich habe schon mal Probleme gehabt, wenn ich mit defmod gearbeitet habe...

Wo läuft dein python binding? Auf dem selben host wie fhem?

Gruss Jan
Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 06 April 2021, 21:42:43
So schaut mein BindingsIo aus :

   BindingType Python
   DEF        Python
   DeviceName ws:127.0.0.1:15733
   FD         85
   FUUID      5fec57b2-f33f-7f5e-ad9f-350de361d7cfa081
   IP         127.0.0.1
   NAME       local_pybinding
   NR         1649
   NTFY_ORDER 50-local_pybinding
   PARTIAL   
   PORT       15733
   STATE      opened
   TYPE       BindingsIo
   WEBSOCKET  1
   localBinding 1
   nextOpenDelay 10
   READINGS:
     2021-04-06 05:51:19   info            ready
     2021-04-06 05:51:17   state           opened
     2021-04-05 09:10:28   version         0.1.57
   args:
     local_pybinding
     BindingsIo
     Python
   argsh:
Attributes:
   DbLogExclude .*
   alias      local_pybinding
   room       55_System,77_GoogleCast,hidden

Und das ist das zugehörige PythonBinding, welches dann angelegt wird:

Internals:
   DEF        0
   FD         68
   FUUID      5fec57b2-f33f-7f5e-48a5-43287e9c586a19be
   LAST_START 2021-04-06 05:51:12
   LAST_STOP  2021-04-06 05:51:12
   NAME       Pythonbinding_15733
   NR         1650
   NTFY_ORDER 50-Pythonbinding_15733
   PID        3695
   STARTS     4
   STATE      active
   TYPE       PythonBinding
   currentlogfile ./log/PythonBinding-2021-04-06.log
   logfile    ./log/PythonBinding-%Y-%m-%d.log
   CoProcess:
     cmdFn      PythonBinding_getCmd
     name       fhempy
     state      running FHEM/bindings/python/bin/fhempy
   READINGS:
     2021-04-06 05:51:12   fhempy          running FHEM/bindings/python/bin/fhempy
     2021-04-04 21:30:51   state           active
Attributes:
   DbLogExclude .*
   alias      Pythonbinding_15733
   logfile    ./log/PythonBinding-%Y-%m-%d.log
   nrarchive  10
   room       55_System,77_GoogleCast,hidden

Kannst du sehen, ob schon ein python instanz läuft oder dein Port 15733 benutzt wird? Versuch mal

sudo killall python3

Und schau danach, ob das Pythonbinding_15733 angelegt wird...
Titel: Antw:fhempy: googlecast
Beitrag von: Atara am 07 April 2021, 19:39:03
Hallo JF Mennedy,
deine Frage mit dem defmod vs. define hat mich auf was gestoßen.
Ob das die Ursache war weiß ich aber nicht.

Ich habe zwar nicht defmod verwendet aber das define per Editor in die fhem.cfg geschrieben und dann ein "rereadcfg" gemacht.
Ich habe die Netzdevices gerne oben im File.
Das war bisher auch kein Problem aber bisher hat auch kein Device bei seine Definition weitere Devices bei mir angelegt.

Auf jeden Fall habe ich alles noch mal rausgeschmissen, das fhempy im Binding-Verzeichnis umbenannt und anschließend noch einmal ein "update all" gemacht.
Anschließend das "define PYTHONBINDING_0 PythonBinding" über das Eingabefeld ausgeführt.
Dabei wurde nun auch das Pythonbinding_15733 angelegt und alles ist gut.

Mein vorheriges Vorgehen habe ich nicht versucht zu rekonstruieren.
Daher kann ich nicht sagen, ob es tatsächlich der Grund für das Fehlverhalten war.

Nun ist aber alles, wie es soll.

Vielen Dank für deine Hilfe und Grüße
von
Frank

Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 07 April 2021, 19:43:36
Na prima, freut mich 👍👍👍
Titel: Antw:fhempy: googlecast
Beitrag von: benm am 07 April 2021, 21:18:20
Kann es sein, dass das Device aus dem Container nicht gefunden werden kann? Eventuell Netzwerk Thema?

Für alle Docker-Anfänger, wie ich es einer bin: Wenn man FHEM im Docker laufen lässt, dann ist man in einem anderen Netz, deshalb läuft googlecast und Sonos z.B. nicht. Deshalb habe ich jetzt mein Docker mit --net=host laufen, damit geht es. Klar, damit ist es unsicher, war mein FHEM vorher ohne Docker aber ja auch...

Jetzt lief alles und ich habe mich ans Übertragen aller meiner Geräte mittels RAW gemacht. Das hat auch funktioniert, allerdings bekomme ich jetzt von fhempy folgende Fehlermeldungen:
2021-04-07 21:12:29,117 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-04-07 21:12:29,149 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
Traceback (most recent call last):
  File "FHEM/bindings/python/bin/fhempy", line 121, in <module>
    fpb.run()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 468, in run
    pybinding, "0.0.0.0", port, ping_timeout=None, ping_interval=None
  File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete
    return future.result()
  File "/usr/lib/python3.7/asyncio/tasks.py", line 603, in _wrap_awaitable
    return (yield from awaitable.__await__())
  File "/opt/fhem/.local/lib/python3.7/site-packages/websockets/server.py", line 965, in __await_impl__
    server = await self._create_server()
  File "/usr/lib/python3.7/asyncio/base_events.py", line 1378, in create_server
    % (sa, err.strerror.lower())) from None
OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 15733): address already in use

Diese wiederholt sich so ständig. Klar, irgendein Gerät von mir nutzt wohl auch '0.0.0.0', allerdings hab ich keine Ahnung welches...kann man das irgendwie raus bekommen?

Danke im Voraus für eure Hilfe.

Grüße, Benjamin
Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 13 April 2021, 17:38:15
Hi,

das mit Spotify dürfte wohl ein generelles Problem sein.

Kannst du mal folgendes probieren:
 - define spotify_player PythonModule spotify
 - Einloggen über den Link in den Readings
 - set home_mini startSpotify
 - set spotify_player update_devices
 - DeviceID kopieren (nur die ID, nicht den Name)
 - set spotify_player play https://SPOTIFYURL DEVICEID

Sollte das gehen, dann muss ich wohl im Chromecast Modul den Spotify Login + sp_dc integrieren.

Hi Dominik,

baust Du den Login und sp_dc noch in das Modul ein? Ich würde mich da ja mal selber dran wagen, weiss aber nicht genau wie und wo ich da ansetzen soll...

Im Chromecast Modul sind ja schon der Login (sp_key) und sp_dc über die Attribute eingetragen, oder?

Gruss Jan
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 18 April 2021, 20:03:08
Für alle Docker-Anfänger, wie ich es einer bin: Wenn man FHEM im Docker laufen lässt, dann ist man in einem anderen Netz, deshalb läuft googlecast und Sonos z.B. nicht. Deshalb habe ich jetzt mein Docker mit --net=host laufen, damit geht es. Klar, damit ist es unsicher, war mein FHEM vorher ohne Docker aber ja auch...

Jetzt lief alles und ich habe mich ans Übertragen aller meiner Geräte mittels RAW gemacht. Das hat auch funktioniert, allerdings bekomme ich jetzt von fhempy folgende Fehlermeldungen:
2021-04-07 21:12:29,117 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-04-07 21:12:29,149 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
Traceback (most recent call last):
  File "FHEM/bindings/python/bin/fhempy", line 121, in <module>
    fpb.run()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 468, in run
    pybinding, "0.0.0.0", port, ping_timeout=None, ping_interval=None
  File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete
    return future.result()
  File "/usr/lib/python3.7/asyncio/tasks.py", line 603, in _wrap_awaitable
    return (yield from awaitable.__await__())
  File "/opt/fhem/.local/lib/python3.7/site-packages/websockets/server.py", line 965, in __await_impl__
    server = await self._create_server()
  File "/usr/lib/python3.7/asyncio/base_events.py", line 1378, in create_server
    % (sa, err.strerror.lower())) from None
OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 15733): address already in use

Diese wiederholt sich so ständig. Klar, irgendein Gerät von mir nutzt wohl auch '0.0.0.0', allerdings hab ich keine Ahnung welches...kann man das irgendwie raus bekommen?

Danke im Voraus für eure Hilfe.

Grüße, Benjamin

Da dürfte fhempy nochmals gestartet werden. Hast du vielleicht irgendwo konfiguriert, dass fhempy per Script gestartet wird? Weil eigentlich macht das das PythonBinding Modul.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 18 April 2021, 20:06:35
Hi Dominik,

baust Du den Login und sp_dc noch in das Modul ein? Ich würde mich da ja mal selber dran wagen, weiss aber nicht genau wie und wo ich da ansetzen soll...

Im Chromecast Modul sind ja schon der Login (sp_key) und sp_dc über die Attribute eingetragen, oder?

Gruss Jan

Ja, ist geplant. Ich muss da ein paar Teile aus dem spotify Modul verwenden und diese im googlecast Modul mit einbauen. Ich habe es mal auf meine Todo Liste gesetzt, kann aber durchaus noch 2-3 Wochen dauern, da ich gerade wenig Zeit habe.
Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 21 April 2021, 17:54:54
Hi Dominik,

kein Problem, bin im Moment auch total eingespannt bei der Arbeit...Mit dieser Anpassung im Code geht Spotify wieder:

            # Match active spotify devices with the spotify controller's device id
            spotify_device_id = None
            sp = SpotifyController(self.spotify_access_token, self.spotify_expires)
            self.cast.register_handler(sp)
            await utils.run_blocking(functools.partial(sp.launch_app))
            #spotify_device_id = None
            spotify_device_id = sp.device
            #for device in devices_available["devices"]:
            #    if device["id"] == sp.device:
            #        spotify_device_id = device["id"]
            #        break

            if not spotify_device_id:
                self.logger.error(
                    'No device with id "{}" known by Spotify'.format(sp.device)
                )
                self.logger.error(
                    "Known devices: {}".format(devices_available["devices"])
                )
                return


Kannst ja mal schaun, ob das auch in Deinem Sinne so ok ist....

Gruss Jan
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 22 Mai 2021, 21:34:00
Hallo Dominic,

ich habe seit geraumer Zeit Probleme mit Spotify. Es wird wieder einmal nichts auf einen Google-Nest abgespielt.
Der Lautsprecher reagiert zwar indem er einen Ping von sich gibt, aber danach kommt nichts mehr.

Das Fhempy-Log ist seit Tagen komplett leer. Im Nest-Device steht im Reading "spotify_user" nur "login required" drin.
Im Spotify-login-Reading steht "Connect Spotify account (new window/tab)"

Dachte zuerst das Problem hat eine andere Ursache, aber jetzt habe ich hier gelesen, dass es wohl generelle Probleme gegeben hat.

Was kann/muss ich tun damit es wieder läuft?
Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 23 Mai 2021, 09:02:43
In der version 0.1.60 wurde das login geändert.. Du musst dich einmal neu anmelden auf deinen Geräten..
Titel: Antw:fhempy: googlecast
Beitrag von: a_quadrat am 06 Juni 2021, 15:50:56
Hallo Zusammen,

ich habe gestern ein Update auf die neue Version gemacht. Spotify geht wieder  :), aber seitdem funktioniert die Speak-Funktion nicht mehr.
Hat noch jemand das Problem? Oder liegt es an meinem System?

VG Andreas
Titel: Antw:fhempy: googlecast
Beitrag von: loosu am 06 Juni 2021, 20:16:48
Zitat
ich habe gestern ein Update auf die neue Version gemacht. Spotify geht wieder  :), aber seitdem funktioniert die Speak-Funktion nicht mehr.
Hat noch jemand das Problem? Oder liegt es an meinem System?

Ja!!!!!!!! ,bei mir auch. Ich lasse mir die Temperaturen und Fensterzustände bei kritischen Situationen durchsagen. habe heute den ganzen Tag probiert und herausgefunden das alle meine original google mini und co. , auch in Gruppen nichts mehr mit Speak sagen. ein einzelner LG WK7 mit Assistent machts noch, aber dann auch nur direkt und nicht aus der Gruppe heraus. ärgerlich.  Es sieht so aus als ob Google seinen Geräten ein neues Updaten verpasst hat. Pakete wie nodejs usw. habe ich auch schon aktualisiert. keine Chance. Auch der direkte URL-Stream läuft mit PLAY im Gegensatz zum normalen WEB-Radiostream nicht. http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=das%20ist%20ein%20test.
Auch mit dem alten Modul geht das nicht mehr.
Über den Webbrowser oder VLC wird der Stream ausgegeben! ich tappe total im dunklen. bin auch in der Programmierung nicht fit. Da kann, glaube ich, nur einer helfen, wenn er mal Zeit hat.
Titel: Antw:fhempy: googlecast
Beitrag von: a_quadrat am 07 Juni 2021, 20:14:22
Danke für deine Antwort, dann scheint es an Google zu liegen.
Titel: Antw:fhempy: googlecast
Beitrag von: Atara am 07 Juni 2021, 21:25:15
Bei mir geht 'Speak' ebenfalls nicht mehr.
Es kommt, wie immer, ein Ping am Lautsprecher und danach nichts mehr.
Titel: Antw:fhempy: googlecast
Beitrag von: loosu am 08 Juni 2021, 13:32:54
Seit heute läuft Speak wieder! jedenfalls im Moment
Titel: Antw:fhempy: googlecast
Beitrag von: a_quadrat am 09 Juni 2021, 08:11:16
Bei mir läuft's auch wieder  :).
Titel: Antw:fhempy: googlecast
Beitrag von: loosu am 09 Juni 2021, 16:21:50
Aber verdammt langsame Geschwindigkeit, genau wie direkt bei Google translate selbst. Naja vielleicht ändert sich das auch wieder.
Titel: Antw:fhempy: googlecast
Beitrag von: robii am 09 Juni 2021, 20:08:27
es funktioniert wieder aber diese weinerlich bist selbstmordgefährdet klingende Stimme nervt echt. War irgendwie besser als es gar nicht mehr funktioniert hat ...
Titel: Antw:fhempy: googlecast
Beitrag von: loosu am 09 Juni 2021, 22:10:07
habe schon mal ein Feedback an google geschickt.....vieleicht wird es irgendwann mal wieder besser
Titel: Antw:fhempy: googlecast
Beitrag von: presskopf am 28 Juni 2021, 23:45:05
Das Speak ist schon klasse. Ich lasse meiner Frau berichten, dass die Waschmaschine fertig ist. :D (Sie findet es wirklich gut!)


Ein anderes Thema beschäftigt mich gerade:

Ich streame gerne Radiostreams auf meinen Onkyo per googlecast. Das funktioniert recht gut.
Mir ist aber aufgefallen, dass keine Daten zum Stream angezeigt werden. Ich fänd es prima, wenn z.B. Radiosender, Artist oder Song angezeigt werden. Das ließe sich doch prima im FTUI visualisieren. :)
Wenn ich den Stream im VLC am PC abspiele, erhalte ich diese Daten. Die sind also da.

Muss ich noch was einstellen oder ist das im Moment nicht möglich?
Beispielstreams:
set onkyo.chromecast play http://streams.radiobob.de/bob-acdc/mp3-192/mediaplayer

http://br-br3-live.cast.addradio.de/br/br3/live/mp3/128/stream.mp3

Titel: Antw:fhempy: googlecast
Beitrag von: presskopf am 03 Juli 2021, 10:37:52
Für mein zuvor beschriebenes Problem habe ich nun folgenden Workaround gefunden; elegant ist aber anders, finde ich:

Ich verwende den MPD, um den Stream aus dem Internet zu holen und gebe als Output-Device einen httpd an: z.B. localhost:8000
Der MPD zeigt mir Artist und Title als Reading an, welches ich dann am FTUI ausgeben kann.

Nun nutze ich fhempy-googlecast, um den Stream am localhost an den Onkyo weiterzuleiten. Dabei wird der Stream vom MPD per lame re-encodiert. Ein Durchreichen habe ich nicht gefunden. Es geht, ist aber gefühlt Käse, zwei Devices zum Streamen einzuschalten :(

Weiterer Nachteil:
Wenn man einen Stream am MPD umschaltet, dauert es doch einige Sekunden, bis das am Onkyo ankommt.
Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 16 August 2021, 11:52:19
Hallo,

Spotify geht seit einiger Zeit nicht mehr, liegt jedoch an der pychromecast lib und nicht an fhempy.
Es gibt schon ein fix bei pychromecast, habe es bei mir eingebaut und dann geht es wieder.
unter \.local\lib\python3.x\site-packages\pychromecast\controllers\spotify.py ersetzen durch:
"""
Controller to interface with Spotify.
"""
import logging
import threading
import requests
import json

from . import BaseController
from ..config import APP_SPOTIFY
from ..error import LaunchError

APP_NAMESPACE = "urn:x-cast:com.spotify.chromecast.secure.v1"
TYPE_GET_INFO = "getInfo"
TYPE_GET_INFO_RESPONSE = "getInfoResponse"
#TYPE_SET_CREDENTIALS = "setCredentials"
#TYPE_SET_CREDENTIALS_ERROR = "setCredentialsError"
#TYPE_SET_CREDENTIALS_RESPONSE = "setCredentialsResponse"
TYPE_ADD_USER = "addUser"
TYPE_ADD_USER_RESPONSE = "addUserResponse"
TYPE_ADD_USER_ERROR = "addUserError"

# pylint: disable=too-many-instance-attributes
class SpotifyController(BaseController):
    """Controller to interact with Spotify namespace."""

    def __init__(self, access_token=None, expires=None):
        super().__init__(APP_NAMESPACE, APP_SPOTIFY)

        self.logger = logging.getLogger(__name__)
        self.session_started = False
        self.access_token = access_token
        self.expires = expires
        self.is_launched = False
        self.device = None
        self.credential_error = False
        self.waiting = threading.Event()

    def receive_message(self, _message, data: dict):
        """
        Handle the auth flow and active player selection.

        Called when a message is received.
        """
        if data["type"] == TYPE_GET_INFO_RESPONSE:
            self.device = data["payload"]["deviceID"]
            self.client = data["payload"]["clientID"]
            headers = {
                'authority': 'spclient.wg.spotify.com',
                'authorization': 'Bearer {}'.format(self.access_token),
                'content-type': 'text/plain;charset=UTF-8'
            }

            request_body = json.dumps({'clientId': self.client, 'deviceId': self.device})

            response = requests.post('https://spclient.wg.spotify.com/device-auth/v1/refresh', headers=headers, data=request_body)
            json_resp = response.json()
            self.send_message({
                "type": TYPE_ADD_USER,
                "payload": {
                    "blob": json_resp["accessToken"],
                    "tokenType": "accesstoken"
                }
            })
        if data["type"] == TYPE_ADD_USER_RESPONSE:
            self.is_launched = True
            self.waiting.set()

        if data["type"] == TYPE_ADD_USER_ERROR:
            self.device = None
            self.credential_error = True
            self.waiting.set()
        return True

    def launch_app(self, timeout=10):
        """
        Launch Spotify application.

        Will raise a LaunchError exception if there is no response from the
        Spotify app within timeout seconds.
        """

        if self.access_token is None or self.expires is None:
            raise ValueError("access_token and expires cannot be empty")

        def callback():
            """Callback function"""
            self.send_message({"type": TYPE_GET_INFO, "payload": {}})
           
        self.device = None
        self.credential_error = False
        self.waiting.clear()
        self.launch(callback_function=callback)

        counter = 0
        while counter < (timeout + 1):
            if self.is_launched:
                return
            self.waiting.wait(1)
            counter += 1

        if not self.is_launched:
            raise LaunchError(
                "Timeout when waiting for status response from Spotify app"
            )

    # pylint: disable=too-many-locals
    def quick_play(self, **kwargs):
        """
        Launches the spotify controller and returns when it's ready.
        To actually play media, another application using spotify connect is required.
        """
        self.access_token = kwargs["access_token"]
        self.expires = kwargs["expires"]

        self.launch_app(timeout=20)

Ich habe zusätzlich zu dieser Änderung auch ein Update auf die Versin 9.2.0 von pychromecast gemacht... (.local\lib\python3.x\site-packages\fhempy\lib\googlecast\manifest.json)

Gruss Jan
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 16 August 2021, 15:37:02
Hi Jan,

danke für die Info! Ist in der 9.2.0 Version der Bug schon behoben? Wenn ja, dann aktualisiere ich gleich die Abhängigkeit.
Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 16 August 2021, 15:50:29
Hi Dominik,

nein ist noch nicht behoben, ist aber schon ein PR gestellt... Ich halte das mal im Auge und melde mich, wenn es gemerged ist...

Gruss Jan
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 16 August 2021, 15:57:20
Super, danke dir!
Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 31 August 2021, 08:54:31
Hi,

hier der Stand der Dinge bezüglich Pychromecast und Spotify: Anscheinend wird Pychromecast nicht aktualisiert https://github.com/home-assistant-libs/pychromecast/pull/509 (https://github.com/home-assistant-libs/pychromecast/pull/509), dafür ist Spotify in eine eigene Lib https://github.com/fondberg/spotcast (https://github.com/fondberg/spotcast) ausgelagert worden.

Zur Zeit läuft Spotify bei mir mit pychromecast 9.2.0 und dem beschriebenen Fix, aber wahrscheinlich auch nur so lange, bis auf Seiten von Spotify wieder etwas geändert wird, was im Übrigen auch der Grund war, weshalb der SpotifyController aus Pychromecast ausgelagert wird :-(

Gruss Jan
Titel: Antw:fhempy: googlecast
Beitrag von: hkspks am 07 September 2021, 22:53:31
Es gibt schon ein fix bei pychromecast, habe es bei mir eingebaut und dann geht es wieder.
unter \.local\lib\python3.x\site-packages\pychromecast\controllers\spotify.py ersetzen durch:

Hi, ich stochere gerade im Nebelmeer - wo finde ich denn das file auf Buster? /usr/local/lib/python3.7/* war nicht erfolgreich :(
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 07 September 2021, 23:08:11
Hi,
/opt/fhem/.local/......
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 08 September 2021, 09:03:29
Funktioniert Spotify an Googlecast-Devices nun oder nicht?
Ich verliere den Überblick

Und wenn nicht, gibt es bereits einen Fix?
Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 08 September 2021, 09:17:49
Hi, es gibt keinen offiziellen fix und wird es vermutlich auch nicht geben.

Wenn Du unter /opt/fhem/.local/lib/python3.x/site-packages/pychromecast/controllers/spotify.py
durch folgenden Code ersetzt, sollte Spotify wieder funktionieren. Bei mir geht es auf jeden Fall...

"""
Controller to interface with Spotify.
"""
import logging
import threading
import requests
import json

from . import BaseController
from ..config import APP_SPOTIFY
from ..error import LaunchError

APP_NAMESPACE = "urn:x-cast:com.spotify.chromecast.secure.v1"
TYPE_GET_INFO = "getInfo"
TYPE_GET_INFO_RESPONSE = "getInfoResponse"
#TYPE_SET_CREDENTIALS = "setCredentials"
#TYPE_SET_CREDENTIALS_ERROR = "setCredentialsError"
#TYPE_SET_CREDENTIALS_RESPONSE = "setCredentialsResponse"
TYPE_ADD_USER = "addUser"
TYPE_ADD_USER_RESPONSE = "addUserResponse"
TYPE_ADD_USER_ERROR = "addUserError"

# pylint: disable=too-many-instance-attributes
class SpotifyController(BaseController):
    """Controller to interact with Spotify namespace."""

    def __init__(self, access_token=None, expires=None):
        super().__init__(APP_NAMESPACE, APP_SPOTIFY)

        self.logger = logging.getLogger(__name__)
        self.session_started = False
        self.access_token = access_token
        self.expires = expires
        self.is_launched = False
        self.device = None
        self.credential_error = False
        self.waiting = threading.Event()

    def receive_message(self, _message, data: dict):
        """
        Handle the auth flow and active player selection.

        Called when a message is received.
        """
        if data["type"] == TYPE_GET_INFO_RESPONSE:
            self.device = data["payload"]["deviceID"]
            self.client = data["payload"]["clientID"]
            headers = {
                'authority': 'spclient.wg.spotify.com',
                'authorization': 'Bearer {}'.format(self.access_token),
                'content-type': 'text/plain;charset=UTF-8'
            }

            request_body = json.dumps({'clientId': self.client, 'deviceId': self.device})

            response = requests.post('https://spclient.wg.spotify.com/device-auth/v1/refresh', headers=headers, data=request_body)
            json_resp = response.json()
            self.send_message({
                "type": TYPE_ADD_USER,
                "payload": {
                    "blob": json_resp["accessToken"],
                    "tokenType": "accesstoken"
                }
            })
        if data["type"] == TYPE_ADD_USER_RESPONSE:
            self.is_launched = True
            self.waiting.set()

        if data["type"] == TYPE_ADD_USER_ERROR:
            self.device = None
            self.credential_error = True
            self.waiting.set()
        return True

    def launch_app(self, timeout=10):
        """
        Launch Spotify application.

        Will raise a LaunchError exception if there is no response from the
        Spotify app within timeout seconds.
        """

        if self.access_token is None or self.expires is None:
            raise ValueError("access_token and expires cannot be empty")

        def callback():
            """Callback function"""
            self.send_message({"type": TYPE_GET_INFO, "payload": {}})
           
        self.device = None
        self.credential_error = False
        self.waiting.clear()
        self.launch(callback_function=callback)

        counter = 0
        while counter < (timeout + 1):
            if self.is_launched:
                return
            self.waiting.wait(1)
            counter += 1

        if not self.is_launched:
            raise LaunchError(
                "Timeout when waiting for status response from Spotify app"
            )

    # pylint: disable=too-many-locals
    def quick_play(self, **kwargs):
        """
        Launches the spotify controller and returns when it's ready.
        To actually play media, another application using spotify connect is required.
        """
        self.access_token = kwargs["access_token"]
        self.expires = kwargs["expires"]

        self.launch_app(timeout=20)

Gruss Jan
Titel: Antw:fhempy: googlecast
Beitrag von: hkspks am 08 September 2021, 09:50:44
Geht bei mir nicht. Gibt als State ein Timeout vom python-binding ... Webradio klappt famos.

Zur Installationsanleitung: ggf. sollte man in die Anleitung noch aufnehmen, dass auch der auth-code gesetzt werden muss; nicht nur die beiden spotify_sp* attribute
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 08 September 2021, 12:20:44
Bei mir funktioniert es auf beiden Google-Nest-Lautsprechern. Mal sehen wie lange - Danke für die Lösung.

@hkspks
Trag die beiden Readings spotify_sp und spotify_key mal neu ein, da war mal was, dass die sich nach einer bestimmten Zeit geändert automatisch haben.
Titel: Antw:fhempy
Beitrag von: Heiner am 13 September 2021, 09:16:03
Hi,

ich versuche gerade fhempy ans laufen zu bringen und scheitere leider.

Ich habe auf meinem PI zunaechst Python 3.7 installiert mit
sudo apt install python3 python3-pip python3-dev libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libglib2.0-dev libdbus-1-dev bluez libbluetooth-devsowie ein
sudo cpan Protocol::WebSocketausgefuehrt.

Dann in fhem mein updatefile erweitert
update add https://raw.githubusercontent.com/dom...und das update durrchgefuehrt
ein
define local_pybinding BindingsIo Python
erzeugt zwar auch ein Pytonbinding_15733 der auch active ist,
aber  leider bekomme ich  nicht den "opened" status im neu definierten "local_pybinding"

fhempy_log meldet:
Unable to install package fhempy>=0.1.12: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-9ja41_su/websockets/

Was kann ich tun?
Titel: Antw:fhempy: googlecast
Beitrag von: thburkhart am 28 September 2021, 20:01:09
welches Update hast du gemacht?
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 07 Oktober 2021, 12:45:15
Hat noch jemand probleme Spotify über ein Googlecast-Device abzuspielen?

Auf dem Webplayer hat sich wohl was geändert, jedenfalls wird mir als Streaming-Ziel neuerdings nur noch der Rechner und GoogleCast angezeigt und erst wenn ich GoogleCast auswähle kann ich meine Nest-Geräte auswählen. Früher konnte ich die Nest-Geräte direkt auswählen. Weiß nicht ob das was damit zu tun hat.

Ergänzung:
Die beiden Devices zeigen an ob aus dem Webplayer auf einem der Nest-Geräte gestreamt wird oder nicht.
Lassen sich im streamingfall auch komplett bedienen (Pause, Start, Stop etc.)
Lediglich das Streamen zu starten funktioniert nicht mehr.
Titel: Antw:fhempy: googlecast
Beitrag von: SouzA am 07 Oktober 2021, 13:38:16
Hat noch jemand probleme Spotify über ein Googlecast-Device abzuspielen?

Auf dem Webplayer hat sich wohl was geändert, jedenfalls wird mir als Streaming-Ziel neuerdings nur noch der Rechner und GoogleCast angezeigt und erst wenn ich GoogleCast auswähle kann ich meine Nest-Geräte auswählen. Früher konnte ich die Nest-Geräte direkt auswählen. Weiß nicht ob das was damit zu tun hat.


Kann ich bestätigen.
Ist bei mir auch so.

Bis denn
SouzA
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 07 Oktober 2021, 19:30:56
Auch mit dieser (Link) Anpassung funktioniert es nicht?
https://forum.fhem.de/index.php/topic,116455.msg1173670.html#msg1173670
Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 07 Oktober 2021, 20:23:15
heute morgen gab es bei den kids keine musik aber heute abend geht es wieder...
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 07 Oktober 2021, 23:54:26
Nein, bis vorgestern ging es mit der Änderung an der Datei und der .pm.
Doch seit vorgestern geht kein Start mehr.

Wie gesagt, wenn eine Verbindung hergestellt ist funktioniert die Bedienung einwandfrei.
Lediglich das Ansprechen des Googlecast-Gerätes scheint nicht zu funktionieren, was dazu passt, dass Spotify in der Auswahl der Streaming-Ziele wohl was verändert hat.
Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 08 Oktober 2021, 15:23:51
Komisch, bei mir läuft noch alles wie gewünscht...
Die Url wird aus einem Favorit aufgerufen
set Google_Home_Mini_Julia playFavorite 2attr Google_Home_Mini_Julia favorite_2 https://open.spotify.com/playlist/7r7uO6oaiT0KAmJWksGkED

Titel: Antw:fhempy: googlecast
Beitrag 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.
Titel: Antw:fhempy: googlecast
Beitrag von: dominik am 10 Oktober 2021, 20:17:32
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.
Titel: Antw:fhempy: googlecast
Beitrag von: JF Mennedy am 10 Oktober 2021, 20:27:06
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...
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 10 Oktober 2021, 20:59:16
Alles Durchprobiert
Titel: Antw:fhempy: googlecast
Beitrag von: Superposchi am 10 Oktober 2021, 23:31:44
Hallo, auch hier war die fehlerhafte DNS-Auflösung das Problem