Ankündigung

Einklappen
Keine Ankündigung bisher.

Entwicklung Plugin für Denon / Marantz Receiver

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #61
    Danke für den Hinweis, werde das einmal ändern.

    Michel

    EDIT: Nach einem ersten Test finde ich die Fehlermeldung nicht mehr im LOG File. Danke ! Beobachte das nochmal etwas länger.

    Kommentar


      #62
      Hallo,

      wie Ihr in einem ähnlichen Post lesen könnt, möchte SAT Radio nur über den AVR und STB hören also ohne TV. Da aber alles gemeinsam über HDMI CEC An oder Aus geht, also beim starten der STB oder des AVR geht auch der TV an, suche ich eine Möglichkeit den nur den TV gezielt auszuschalten oder zuminsdest den Bildschirm auszuschalten (Ecomode). Da ich den Philips TV über Jointspace steure hab ich auch hier gepost.

      Ich frage mich daher ob es möglich über den AVR (Denon) mit diesem Plugin und dem HS4 gezielt nur den TV über HDMI CEC auszuschalten? Leider hab ich bisher bei meinen Recherchen über HDMI CEC nicht herausgefunden ob man z.B. dem AVR sagen kann dass er nur ein bestimmtes Gerät ein- oder ausschalten soll.

      Oder wie macht Ihr das bei nur Radio ohne TV?

      Vielen Dank im Voraus für eure Tipps

      MfG

      Kommentar


        #63
        Hallo,

        ich hatte ein Plugin geschrieben für den Denon (siehe separater Post). Mein X3000 macht dann nur seinen Teil an. Mein Fernseher (Samsung) bleibt aus. Umgekehrt hatte ich das über HDMI so eingestellt, dass der Denon angeht wenn der Fernseher eingeschaltet wird. Das ist aber im Samsung in den Einstellungen festzulegen. Geht auch so, dass der AVR nicht mit angeht. Selbst in diesem Fall ist es so, dass wenn ich den AVR nachträglich einschalte, dass der Ton vom Fernseher an den AVR übergeben wird.

        Michel

        Kommentar


          #64
          Hi,

          habe das Plugin von Orion gerade auf einem Denon x4200w aktiv geschaltet. Good Work!

          Hat jemand schon eine items.conf mit etwas größerem Befehlssatz erstellt?

          Viele Grüße

          Kommentar


            #65
            Danke für die Blumen

            Michel

            Kommentar


              #66
              @Orion: hab dir gerade mal eine Issue auf Github eingestellt, bei mir gibt es aktuell Probleme im sh Threading durch das Plugin Ich habe das Problem, dass ich mit meinem Python 3.4 beim Abbruch mit STRG-C im Debugmodus von sh.py folgende Meldung - ausgelöst durch das Denon Plugin - kriege:
              2016-04-02 09:10:33,227 INFO Main Thread: denon, still alive -- smarthome.py:stop:386
              Exception ignored in:
              Traceback (most recent call last):
              File "/usr/local/python3/lib/python3.4/threading.py", line 1294, in shutdown
              t.join()
              File "/usr/local/python3/lib/python3.4/threading.py", line 1060, in join
              self.wait_for_tstate_lock()
              File "/usr/local/python3/lib/python3.4/threading.py", line 1076, in _wait_for_tstate_lock
              elif lock.acquire(block, timeout):
              File "/volume1/python/smarthome/bin/smarthome.py", line 390, in stop
              exit()
              File "/usr/local/python3/lib/python3.4/_sitebuiltins.py", line 26, in __call

              raise SystemExit(code)
              SystemExit: None
              Ich vermute, dass es Probleme mit dem Beenden des Threads für das Plugin gibt, muss aber selber nochmals genauer analysieren. Denke das hat irgendwie mit dem Lock zu tun, dass Du setzt.


              Kommentar


                #67
                Hallo RonnyLULU,

                bei mir habe ich die Konfiguration einfach anders herum: Der TV macht den Receiver an. Vielleicht ist das ja eine Lösung für Dich !

                Michel

                Kommentar


                  #68
                  @Orion: aktuell kriege ich beim Senden einer Streaming URL folgendes (SOAP Body ebenfalls anbei). Ideen? Muss ich den 8080er erst irgendwie aktivieren? Früher hatte das aber alles wunderbar funktioniert.. Kenne leider die ganzen Services und URLs von Denon noch nicht so gut, wie jetzt von AVM... Auf welcher Doku baust Du auf?

                  2016-04-09 10:56:45,287 DEBUG Main <?xml version="1.0" encoding="utf-8"?>
                  <s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
                  <s:Body><u:SetAVTransportURI xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
                  <InstanceID>0</InstanceID>
                  <CurrentURI>http://www.radiodenon.com/pls/pls14570.m3u</CurrentURI>
                  <CurrentURIMetaData></CurrentURIMetaData>
                  </u:SetAVTransportURI>
                  </s:Body>
                  </s:Envelope>
                  -- __init__.py:_upnp_set_uri:343
                  2016-04-09 10:56:45,290 WARNING Main Problem fetching http://192.168.178.29:8080/AVTransport/ctrl: 400 Bad Request -- tools.py:fetch_url:90

                  PS: Verwende die aktuellste Version v 0.6 aus dem GIT, da die davor hier das Thread Lock nicht aufgelöst hat, da es 2mal gesetzt wurde...

                  Kommentar


                    #69
                    OK, die Doku ist beim Denon einProblem, das ging nur mit Reverse Engineering. Es gibt nur eine beschränkte Beschreibung der Seriell Protokolls, das auch auf dem Telnet Interface des Denon drauf ist. Hierzu gibt es auch ein Plugin, allerdings ist dieses Interface nur für einen Teilnehmer möglich (bei Telnet klar) und die Verbindung ist instabil. Also viel Wireshark verwendet. Und ich hatte mit mal ein Paar UPNP Tools geschrieben (ist auch bei mir auf Github) um die UPNP Schnittstellen und Services von Mediageräten zu finden. BTW: Da wir auch ganz viel auf der AVM Seite der FB sichtbar. Ich hatte das mal als Alternative zum TR064 Protokoll zum Ausbau des FB Plugins angefangen. Aber das hattest Du ja dankenswerter Weise übernommen.

                    Der aktuelle Fehler kann dadurch entstanden sein, dass ich die Webrequests wie beim HUE Plugin gewünscht von einer lokalen Implementierung auf die von Tools.py zur verfügung gestellten Lösung umgestellt habe. Vielleicht ist mir dort ein Fehler reingerutscht. Ich hatte nur die ersten Schritte bei mir getestet. Ich glaube aber, dass ich weis, woran es liegen kann. Hier muß ich die Tools.py noch etwas aufbohren. Wahrscheinlich ist die Umsetzung von Headers noch nicht drin.

                    Als Alternative zu tools.py kann man ja auch die requests Bibliothek nutzen. Ist ganz schön, weiss aber nicht, ob die beim standard python mit dabei ist und wenn nicht, wie man die sinnvollerweise zu smarthome.py dazubekommt. Deine Meinung ?

                    Ich schaue mir das mal an.

                    Michel

                    Kommentar


                      #70
                      OK, das mit der tools.py ist eine grössere Sache. Meine Erweiterung bislang ist OK, deckt nicht alles ab. Wenn ich weiter mache, verliere ich die Kompatibilität und das Restsystem nutzt die auch. Aus meiner Sicht wäre die requests Bibliothek langfristig die richtige Variante.

                      Aktuelle soweit behoben v0.63 aus dem Repo sollte es tun.

                      Michel

                      Kommentar


                        #71
                        @Orion: ich habe für AVM ja auch "requests" genommen. Fand die Bibliothek ansich super und war bei mir sowohl unter Synology als auch unter dem "standard" Python Installer für Windows glaube ich dabei. Fand auch das Handling recht angenehm. Und auch keiner der bisherigen Tester hatte da größer Probleme (außer einem, der updaten musste)

                        Bin daher gerne dabei das als Standard für uns zu etablieren. Kann nur nicht viel zur Performance im Vergleich zu einer mehr "low level" Implementierung sagen. Ich hatte kurzzeitig schon überlegt, das Denon Plugin mit Requests gleich als nächstes Projekt neu zu schreiben, kann aber leider auch nicht alles machen. Steuerbar müsste ja noch deutlich mehr sein. Über das Abhören der App bzw die Web-GUI müsste man doch gut auslesen können. Ich dachte auch schon Datenblätter direkt von Denon gefunden zu haben.

                        Kommentar


                          #72
                          psilo

                          Im Grunde hatte ich das so gemacht. Da über ein Befehl (der auch implementiert ist) im Grunde (fast) der gesamte Telnet Umfang emuliert werden kann ist der Umfang von AVRX3000_PROTOCOL(10.2.0)_V01.pdf (findest Du im Internet oder melde Dich, wenn Du das brauchst) bedienbar.

                          Jetzt kommt das aber: die Weboberfläche verwendet das nicht direkt, sondern andere Elemente. Teilweise gleiche Inhalte mit verschiedenen Bezeichnen (es gibt mal Zone 0, mal heißt diese Main Zone usw.). Nicht gerade freundlich. Auch die Stati kann man nicht mehr alle Abfragen (Höhen und Tiefen kann man setzen, aber nicht über diese Schnittstelle auslesen). Zumindest habe ich das bislang nicht geschafft.

                          Sofern request bei smarthome.py Einzug hält, dann würde ich den heutigen Stand noch auf requests umstellen. Habe ich schon an andere Stelle verwendet, sehe keine Performance Probleme. Mich Tiefer in die UPNP Thematik einzuarbeiten oder die SOAP Themen noch weiter zu nutzen, dazu habe ich keine Zeit, Du kannst aber gerne dort weitermachen.

                          Michel


                          Kommentar


                            #73
                            Für mich ist wahrscheinlich dann das AVRX4000_PROTOCOL(10.3.0)_V01.zip interessant.. Zumindest ein Ansatz. Ich diskutiere auf Gitter mal das Thema "Requests". Den Core darauf umstellen weiß ich aber nicht.. Würde nur die Entscheidung als Standard "verwenden oder nicht verwenden" sinnvoll sehen. Grundlegend ist im Plugin aber irgendwo auch frei. Aber für Core Plugins wäre es ne gute Sache..

                            Ich bohre im Plugin gerne dann Features auf, die ich selber benötige. Bei den AVM Geräten ging es darüber hinaus, einmal reicht aber

                            Kommentar


                              #74
                              Ich würde auch nur das Thema requests als Standard sehen. Den core umzustellen eher nicht. Wichtig ist, wie ein Neunutzer sinnvoll aus dem Repo die Installation machen kann, ohne dass er etwas vergisst oder lange Listen durcharbeiten muss.

                              Kommentar


                                #75
                                Ja, ich hatte auch schon Plugins an denen ich gescheitert bin.. Bspw. weil unter Synology die bluez lib irgendwie nicht vernünftig verfügbar war...

                                PS: Neuste Version funktioniert jetzt wieder! Danke. Damit ist die Grundfunktionalität wieder da..
                                Zuletzt geändert von psilo; 09.04.2016, 17:45.

                                Kommentar

                                Lädt...
                                X