Autor Thema: [Neues Modul] GoogleCast (98_GOOGLECAST.pm)  (Gelesen 60350 mal)

Offline michaelw

  • New Member
  • *
  • Beiträge: 6
Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
« Antwort #435 am: 07 Februar 2018, 12:32:45 »
Kann mir hier jemand helfen?
Hast du irgendwas anderes installiert, was requests vorraussetzt? Bei mir lief bis gestern das Googlcast Modul nicht, auch mit der Meldung cannot import name certs. Gestern habe ich auf meinem Ubuntu ein Update für Certbot bekommen. Damit wurden auch ein paar andere Abhängigkeiten ebenfalls aktualisiert. Seit dem Certbot Update funktioniert das Ganze bei mir (also irgendwie umgekehrt zu deinem Verhalten). (siehe auch von mir von gestern.)

Offline siggi85

  • Full Member
  • ***
  • Beiträge: 329
Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
« Antwort #436 am: 07 Februar 2018, 12:39:09 »
Hast du irgendwas anderes installiert, was requests vorraussetzt? Bei mir lief bis gestern das Googlcast Modul nicht, auch mit der Meldung cannot import name certs. Gestern habe ich auf meinem Ubuntu ein Update für Certbot bekommen. Damit wurden auch ein paar andere Abhängigkeiten ebenfalls aktualisiert. Seit dem Certbot Update funktioniert das Ganze bei mir (also irgendwie umgekehrt zu deinem Verhalten). (siehe auch von mir von gestern.)

Nach dem Update von FHEM hatte ich das Problem mit dem Modul requests. Nach dem ausführen der Befehle in der commandref (anscheinend haben sich im Laufe der Zeit weitere Abhängigkeiten ergeben), kam dann die certs Fehlermeldung. Seitdem habe ich während der Fehlersuche mitunter auch mal wieder ein "apt-get update/upgrade" durchgeführt.
Kann mir jemand ggf. den Inhalt der Certs.py schicken? Meine ist nämlich ziemlich kurz und würde checken ob (warum auch immer) die Datei nicht den richtigen bzw. genug Inhalt hat um als Modul importiert zu werden.
Raspberry Pi mit FHEM, (Hue, Chromecast, Harmony, PRESENCE, SYSMON, WEATHER, SVG, WOL etc.) CULv3 bisher nur mit Baumarktsteckdosen (Modul IT)
Ich gebe es zu... ich bin ein FHEMinist!

Offline duke-f

  • Sr. Member
  • ****
  • Beiträge: 577
Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
« Antwort #437 am: 11 Februar 2018, 19:33:11 »
Ich will ja nichts heraufbeschwören, aber auf meiner Sparversion auf dem Raspberry Pi scheint das ganze jetzt soweit zumindest stabil zu laufen, ohne dass diese Socket-Probleme auftreten. Allerdings nutze ich dieses Modul praktisch noch nicht direkt, da es jetzt wie gesagt auf einem Parallel-Universum zum Hauptsystem ohne jegliche Verknüpfung läuft.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
AVR-NET-IO, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

Offline Det20

  • Full Member
  • ***
  • Beiträge: 337
Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
« Antwort #438 am: 15 Februar 2018, 21:02:27 »
In fast allen Fällen kommt zunächst im Log "Found and deleted bad fileno for GOOGLECAST-irgendwas". Anschließend dann "GOOGLECAST (irgendwas): checkConnection, connection failure, reconnect...".
Die Verbindung wird also vom Mainloop beendet, weil das Handle ungültig ist. Die Frage ist, wieso die Verbindung zum Socket vom ccdevice plötzlich weg ist, im System aber offen bleibt.

Scheint aber eher Bug im pychromecast zu sein als im Modul. Es gibt ja regelmäßig ein Update davon, traue mich aber nicht, das zu installieren. Nachher geht wieder nix mehr.
« Letzte Änderung: 16 Februar 2018, 09:49:10 von Det20 »

Offline dominik

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 638
Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
« Antwort #439 am: 17 Februar 2018, 00:55:52 »
Hallo zusammen,
aus privaten Gründen fehlt mir gerade etwas die Zeit hier wieder mehr aktiv zu sein. Ich habe aber per Mail den Hinweis bekommen, dass es scheinbar noch immer Probleme mit offenen Sockets gibt?

Ich habe bei mir die letzte pychromecast Version und 98_GOOGLECAST in der Version 2.0.2. Mit 12 Tagen FHEM Uptime sehe ich bei mir nur folgende Connections
pi@raspberrypi ~ $ netstat -a|grep chrome
tcp      798      0 raspberrypi.local:39256 chromecast.lan:8009     CLOSE_WAIT
tcp      798      0 raspberrypi.local:39496 chromecast.lan:8009     CLOSE_WAIT
tcp      798      0 raspberrypi.local:50748 chromecast.lan:8009     CLOSE_WAIT
tcp     1276      0 raspberrypi.local:45874 chromecast.lan:8009     ESTABLISHED
tcp        0      0 raspberrypi.local:49110 chromecast.lan:8009     ESTABLISHED
tcp     1276      0 raspberrypi.local:38284 chromecast.lan:8009     ESTABLISHED
Prüft bitte mal ob ihr die letzten Versionen nutzt wg. den offenen Sockets.

Zur Anfrage wg. speak Limitierung auf 100 Zeichen. Ich kann mich erinnern, dass Google das mal auf 100 Zeichen limitiert hatte. Das dürfte wohl nicht mehr der Fall sein, daher werde ich die Limitierung rausnehmen.
Module: 10_EQ3BT (EQ-3 Bluetooth Thermostat), 98_BOSEST (BOSE SoundTouch), 98_DLNARenderer (DLNA Renderer), 98_GOOGLECAST (Google Cast)

Offline duke-f

  • Sr. Member
  • ****
  • Beiträge: 577
Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
« Antwort #440 am: 17 Februar 2018, 02:23:56 »
Also ich hatte gerade auf meinem Minimal-FHEM auf dem Raspberry mit nahezu ausschließlich GOOGLECAST zu ersten mal die Log voll geknallt mit den Meldungen "Too many files open". Das war aber genau dann, als ich auch FireTV dahin verlagert hatte. Jetzt kann ich nicht mehr sagen, ob dies damals auf dem Hauptsystem auch erst dann auftrat (Man sollte auch bei sowas anfangen genau Protokoll zu führen).

Ob sich da etwas beißt? Habe jetzt FireTV wieder entfernt und sehe mal die nächten Tage weiter.

GOOGLECAST habe ich
98_GOOGLECAST.pm  15833 2018-01-08 19:44:11Z dominik
von wann ist die letzte Version von pychromecast? Wird das auch mit apt-get upgrade aktualisiert?
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
AVR-NET-IO, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

Offline dominik

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 638
Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
« Antwort #441 am: 17 Februar 2018, 09:16:46 »
PyChromecast sollte man mit
sudo pip install --upgrade pychromecastinstallieren und aktualisieren.
Module: 10_EQ3BT (EQ-3 Bluetooth Thermostat), 98_BOSEST (BOSE SoundTouch), 98_DLNARenderer (DLNA Renderer), 98_GOOGLECAST (Google Cast)

Offline Det20

  • Full Member
  • ***
  • Beiträge: 337
Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
« Antwort #442 am: 17 Februar 2018, 11:21:58 »
Was für ein Glück ...

pi@raspberrypi:~ $ sudo pip install --upgrade pychromecast
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    load_entry_point('pip==1.5.6', 'console_scripts', 'pip')()
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 356, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2476, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2190, in load
    ['__name__'])
  File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 74, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", line 9, in <module>
    from pip.download import path_to_url
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 25, in <module>
    from requests.compat import IncompleteRead
ImportError: cannot import name IncompleteRead

Offline dominik

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 638
Module: 10_EQ3BT (EQ-3 Bluetooth Thermostat), 98_BOSEST (BOSE SoundTouch), 98_DLNARenderer (DLNA Renderer), 98_GOOGLECAST (Google Cast)

Offline Det20

  • Full Member
  • ***
  • Beiträge: 337
Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
« Antwort #444 am: 17 Februar 2018, 13:43:13 »
Ach dieses PIP Gedöns ist doch Mist, spiele nun nach knapp 1 Stunde ein Image zurück, es hat leider nix mehr funktioniert.
So recht werde ich aus den Trace-Fehlermeldungen auch nicht schlau, dagegen sind Java-Fehlermeldung ja ein Witz :)

2018.02.17 13:41:24 1: PERL WARNING: Subroutine GOOGLECAST_Read redefined at ./FHEM/98_GOOGLECAST.pm line 575, <$fh> line 1747.
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/__init__.py", line 12, in <module>
    from .config import *  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pychromecast/config.py", line 6, in <module>
    import requests
  File "/usr/lib/python2.7/dist-packages/requests/__init__.py", line 68, in <module>
    _attach_namespace(urllib3, 'requests.packages')
  File "/usr/lib/python2.7/dist-packages/requests/__init__.py", line 63, in _attach_namespace
    module = __import__(name)
  File "/usr/local/lib/python2.7/dist-packages/urllib3/contrib/_securetransport/bindings.py", line 43, in <module>
    security_path = find_library('Security')
  File "/usr/lib/python2.7/ctypes/util.py", line 253, in find_library
    return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name))
  File "/usr/lib/python2.7/ctypes/util.py", line 246, in _findSoname_ldconfig
    f.close()
IOError: [Errno 10] No child processes
2018.02.17 13:41:24 1: reload: Error:Modul 98_GOOGLECAST deactivated:
 Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/Inline/Python.pm line 221.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 648.

2018.02.17 13:41:24 0: Error -- py_eval raised an exception at /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/Inline/Python.pm line 221.
BEGIN failed--compilation aborted at ./FHEM/98_GOOGLECAST.pm line 648.

urllib3+ldconfig sind installiert, Anpassung in .PY gemacht.
« Letzte Änderung: 17 Februar 2018, 14:03:52 von Det20 »

Offline dominik

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 638
Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
« Antwort #445 am: 17 Februar 2018, 17:44:21 »
Installiere mal pychromecast komplett neu. Also zuerst komplett remove und dann install. Ich glaube deinen Fehler hatte ich auch mal.
Module: 10_EQ3BT (EQ-3 Bluetooth Thermostat), 98_BOSEST (BOSE SoundTouch), 98_DLNARenderer (DLNA Renderer), 98_GOOGLECAST (Google Cast)

Offline duke-f

  • Sr. Member
  • ****
  • Beiträge: 577
Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
« Antwort #446 am: 18 Februar 2018, 21:19:20 »
bei mir scheint das wesentliche aber aktuell zu sein. Auf dem Raspberry wird gar nichts aktualisiert, auf dem Cubietruck wird gemeldet:

root@cubie:~# sudo pip install --upgrade pychromecast
Requirement already up-to-date: pychromecast in /usr/local/lib/python2.7/dist-packages
Requirement already up-to-date: requests>=2.0 in /usr/local/lib/python2.7/dist-packages (from pychromecast)
Requirement already up-to-date: six>=1.10.0 in /usr/local/lib/python2.7/dist-packages (from pychromecast)
Requirement already up-to-date: protobuf>=3.0.0 in /usr/local/lib/python2.7/dist-packages (from pychromecast)
Requirement already up-to-date: zeroconf>=0.17.7 in /usr/local/lib/python2.7/dist-packages (from pychromecast)
Requirement already up-to-date: idna<2.7,>=2.5 in /usr/local/lib/python2.7/dist-packages (from requests>=2.0->pychromecast)
Requirement already up-to-date: urllib3<1.23,>=1.21.1 in /usr/local/lib/python2.7/dist-packages (from requests>=2.0->pychromecast)
Collecting certifi>=2017.4.17 (from requests>=2.0->pychromecast)
  Downloading certifi-2018.1.18-py2.py3-none-any.whl (151kB)
    100% |████████████████████████████████| 153kB 483kB/s
Requirement already up-to-date: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python2.7/dist-packages (from requests>=2.0->pychromecast)
Collecting setuptools (from protobuf>=3.0.0->pychromecast)
  Downloading setuptools-38.5.1-py2.py3-none-any.whl (489kB)
    100% |████████████████████████████████| 491kB 225kB/s
Requirement already up-to-date: netifaces!=0.10.5 in /usr/local/lib/python2.7/dist-packages (from zeroconf>=0.17.7->pychromecast)
Requirement already up-to-date: enum-compat in /usr/local/lib/python2.7/dist-packages (from zeroconf>=0.17.7->pychromecast)
Requirement already up-to-date: enum34 in /usr/local/lib/python2.7/dist-packages (from enum-compat->zeroconf>=0.17.7->pychromecast)
Installing collected packages: certifi, setuptools
  Found existing installation: certifi 2017.11.5
    Uninstalling certifi-2017.11.5:
      Successfully uninstalled certifi-2017.11.5
  Found existing installation: setuptools 38.4.0
    Uninstalling setuptools-38.4.0:
      Successfully uninstalled setuptools-38.4.0
Successfully installed certifi-2018.1.18 setuptools-38.5.1
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
AVR-NET-IO, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

Offline Kuzl

  • Sr. Member
  • ****
  • Beiträge: 873
Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
« Antwort #447 am: 19 Februar 2018, 07:19:36 »
Wie groß ist denn dieses PyChromecast?
Evtl. wärs doch besser die ganze Kommunikation selbst in die Hand zu nehmen und in Perl auszuprogrammieren.
Dann hat man die ganzen Probleme und das umständliche installieren und kompilieren nicht mehr.

Offline duke-f

  • Sr. Member
  • ****
  • Beiträge: 577
Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
« Antwort #448 am: 19 Februar 2018, 09:40:06 »
Kannst Du das? Ich glaube nicht, dass Dominik traurig wäre, wenn sich jemand dessen annehmen würde.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
AVR-NET-IO, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

Offline dominik

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 638
Antw:[Neues Modul] GoogleCast (98_GOOGLECAST.pm)
« Antwort #449 am: 20 Februar 2018, 00:08:10 »
Wenn das jemand in Perl umsetzen (und weiterentwickeln) will, immer gerne. Ich beziehe mich gerne auf bestehende Libraries um Aufwände zu reduzieren.
Nachdem Python aber aktuell mehr Hype als Perl hat, müsste man eher FHEM in Python abbilden, das würde viele Entwicklungen erleichtern, da doch einige Python Libraries vorhanden sind.

Btw, habe gerade noch einen Fix für die offenen Sockets am Laufen, am Wochenende gibt's dann hoffentlich eine finale Lösung.
Module: 10_EQ3BT (EQ-3 Bluetooth Thermostat), 98_BOSEST (BOSE SoundTouch), 98_DLNARenderer (DLNA Renderer), 98_GOOGLECAST (Google Cast)
Gefällt mir Gefällt mir x 1 Liste anzeigen