fhempy: googlecast

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

Vorheriges Thema - Nächstes Thema

kriegerkl

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.

dominik

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.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Bitte hier entsprechend die Commands ausführen:
Zitat 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.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

kriegerkl

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

dominik

Prüfe bitte ob du nur Pythonbinding_0 oder auch ein Pythonbinding_15733 hast.

Falls beides, dann bitte das mit _0 löschen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

kriegerkl

Ich habe nur Pythonbinding_0.

kriegerkl

#201
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?

dominik

Das kann sein, dass es am fhem.cfg bearbeiten liegt.

Ist PythonBinding auf running nach dem fhem.cfg bearbeiten oder auf stopped?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

kriegerkl

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.


dominik

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.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

kriegerkl

#205
Zitat 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.

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.



dominik

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.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

kriegerkl

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.

dominik

Ok, da stimmt irgendwas im CoProcess Handling nicht. Ich muss mir das genauer ansehen, eigentlich wird CoProcess::start() aufgerufen...
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

kriegerkl

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.