Autor Thema: fhempy: googlecast  (Gelesen 18997 mal)

Offline Atara

  • New Member
  • *
  • Beiträge: 5
Antw:fhempy: googlecast
« Antwort #240 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.


Offline JF Mennedy

  • Full Member
  • ***
  • Beiträge: 182
Antw:fhempy: googlecast
« Antwort #241 am: 05 April 2021, 20:09:07 »
Schau mal im Raum hidden...

Offline Atara

  • New Member
  • *
  • Beiträge: 5
Antw:fhempy: googlecast
« Antwort #242 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

Offline JF Mennedy

  • Full Member
  • ***
  • Beiträge: 182
Antw:fhempy: googlecast
« Antwort #243 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

Offline JF Mennedy

  • Full Member
  • ***
  • Beiträge: 182
Antw:fhempy: googlecast
« Antwort #244 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...

Offline Atara

  • New Member
  • *
  • Beiträge: 5
Antw:fhempy: googlecast
« Antwort #245 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


Offline JF Mennedy

  • Full Member
  • ***
  • Beiträge: 182
Antw:fhempy: googlecast
« Antwort #246 am: 07 April 2021, 19:43:36 »
Na prima, freut mich 👍👍👍

Offline benm

  • New Member
  • *
  • Beiträge: 15
Antw:fhempy: googlecast
« Antwort #247 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
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline JF Mennedy

  • Full Member
  • ***
  • Beiträge: 182
Antw:fhempy: googlecast
« Antwort #248 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

Offline dominik

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2776
Antw:fhempy: googlecast
« Antwort #249 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.
fhempy -  https://github.com/dominikkarall/fhempy: GoogleCast, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Offline dominik

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2776
Antw:fhempy: googlecast
« Antwort #250 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.
fhempy -  https://github.com/dominikkarall/fhempy: GoogleCast, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Offline JF Mennedy

  • Full Member
  • ***
  • Beiträge: 182
Antw:fhempy: googlecast
« Antwort #251 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

Offline Superposchi

  • Sr. Member
  • ****
  • Beiträge: 676
Antw:fhempy: googlecast
« Antwort #252 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?

Offline JF Mennedy

  • Full Member
  • ***
  • Beiträge: 182
Antw:fhempy: googlecast
« Antwort #253 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..

Offline a_quadrat

  • Full Member
  • ***
  • Beiträge: 291
Antw:fhempy: googlecast
« Antwort #254 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