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

    Entwicklung Plugin für Denon / Marantz Receiver

    Wie angekündigt werde ich in diesem Thread den Fortschritt bei der Entwicklung eines Plugin für Denon AVR's dokumentieren.

    Der Source befindet sich hier im github.

    Was momentan funktioniert: Ein / Ausschalten, Lautstärke regeln. Alles auch mit Rückantwort für die VISU.

    Anscheinend nutzen Marantz die gleichen BridgeCo telnet server mit dem gleichen Befehlssatz. Es scheint so als ob dieses Plugin auch für Marantz Verstärker funktionieren müsste.

    Das Protokoll ist das gleiche, egal ob der Verstärker per IP oder seriel angeschlossen ist. Das heisst wenn jemand das Plugin um serielle Kommunikation erweitert müsste der Rest des Plugins direkt funktionieren.

    Wer mitarbeiten möchte könnte sich villeicht an ein Widget herantasten ? Mir Quellenauswahl und sonstigen Funktionen die mat mit einem AVR hat und die nicht im standard multimedia Widget sind.

    MfG,

    Serge

    #2
    Vol+, Vol-, Mute hinzugefügt

    Kommentar


      #3
      Hallo Serge,

      das klingt ja super - der WAF der Visu steigt immer weiter :-)

      Im github steht das ein Logitech Media Server notwendig ist. Ist das ein Kopier-Bug der Doku oder ist das wirklich so?

      Danke
      Gunnar

      Edit :
      Habs gerade gesehen:
      [denon] class_name = Denon class_path = plugins.denon host = <ip> # port = <port> Description of the attributes:
      • host: IP or hostname of the AVR
      • port: Port number of the Logitech Media Server if not 23



      --> das ist dann der normale Telnet-Port und hat nichts mt LMS zu tun?!

      Kommentar


        #4
        Kopierfehler ...
        Habt Ihr schonmal multiple connections ausprobiert? Also App und Plugin ?
        Ich bekomme hier nach jedem App-Zugriff ein:
        Code:
        2014-01-10 21:03:31,124 DEBUG    Main         Denon: closing socket 192.168.2.61:23 -- connection.py:close:302
        2014-01-10 21:03:38,123 DEBUG    Connections  Denon: connected to 192.168.2.61:23 -- connection.py:connect:384
        Woran das liegt ist mir klar, die lassen nur eine Telnet-Verbindung zu, aber vielleicht gibts ja nen Workaround ?
        Umgezogen? Ja! ... Fertig? Nein!
        Baustelle 2.0 !

        Kommentar


          #5
          @gklein: Ja, copy & paste Fehler :-) Das ganze ist ja erst Alpha, deshalb ist es ja auch noch nicht im offiziellen Repo. Hab erst 3 Stunden damit verbracht oder so ...

          Woran das liegt ist mir klar, die lassen nur eine Telnet-Verbindung zu, aber vielleicht gibts ja nen Workaround ?
          Sieh schlecht aus. Probier mal manuell ein Telnet zum port 23 und lass die Verbindung offen... Dann probier mal eine zweite Telnet Verbindung herzustellen.

          Ich dachte er wirft dann die erste raus. Bei mir ist es aber so dass die erste bleibt, und der zweite ein "Connection refused" bekommt.

          Alternative wäre im Plugin die Verbindung nach jedem Senden eines Kommandos zu beenden. Dann hast du aber keine Rückmeldungen mehr wenn du mit den Knöpfen oder der Fernsteuerung schaltest, und du hast bei jedem Schalten per Visu eine riesen Latenz...

          Für mich also keine praktikable Alternative ....

          Kommentar


            #6
            Update: Auswahl der Quelle mit Rückmeldung

            Kommentar


              #7
              Hallo Serge,

              tolles Plugin, habe mir das gerade nach der Anleitung aus dem Git auf sh 1.0 installiert und anhand Deines Beispiels konfiguriert. Ich verwende einen Denon X3000 und es funktioniert auf Anhieb. Ich war schon dran mit der Logik auf dem Web Interface zu arbeiten, weil nur ein Device bei mir eine Telnetverbindung offen halten kann. Andere werden dann vom Receiver abgewiesen. Auch soll die Telnet Verbindung nicht immer stabil sein. Hier wird nach aussagen aus anderen Foren ein reconnect Mechanismus benötigt.

              Die Rückmeldungen zur Lautstärke kommen, mehr habe ich noch nicht probiert.

              Aber in Summe Klasse. Biete mich weiter als Tester an !

              Michel

              Kommentar


                #8
                Was heißt "reconnect Mechanismus benötigt" ? Kommen keine Daten oder macht der Receiver zu? Letzteres fängt das Plugin/sh.py ab. Kommen einfach keine Daten mehr wirds hässlich.

                Ich grübel schon seit einer Woche wie man die Befehle generischer gestalten könnte. Die harte Codierung will mir noch nicht so recht gefallen, aber ich gebe zu momentan auch keinen universellen Weg zu kennen. Sollte man bis dahin die Befehle nicht nach denen aus der Doku benennen? Also "MV UP" statt "volume+".

                Grüße
                Umgezogen? Ja! ... Fertig? Nein!
                Baustelle 2.0 !

                Kommentar


                  #9
                  ...das mit dem Abbruch der Telnetverbindung hatte ich in mehrere Foren gelesen, die teilweise ältere Denen Receiver über die Telnet Schnittstelle versuch haben zu steuern. Die sind dann sogar bis zur IP/RS-232 HW Umsetzer gegangen und haben dann per RS-232 den Receiver bedient. Bislang hatte ich noch keinen Abbruch (aber erst auch 30 Minuten ausprobiert).

                  Wegen den Befehlen bin ich eigentlich der Meinung wie auch bei Squeezebox Plugin: Man sollte bei den Original Befehlen bleiben. Wenn man für die Basics Beispiele hat, wie ja in der Doku drin, dann ist das in 2 Minuten gemacht. Ansonsten beschränkt man sich auf 20 Befehle, wo im Denon Interface heute mindestens 300 machbar wären.

                  Ergänzung: hatte schon 2 andere Netzwerkfähige Receiver ausprobiert, da gibt es wenige Gemeinsamkeiten ausser den Basics (Volume, Quelle, Power). Alternative immer der Hybridlösung: die Basics sind abstrahiert, der Rest geht mit einem "Komplex" Interface, wo alles geht. Macht aber doppelt Aufwand und ich würde mich als Nutzer auch nur auf ein Interface einschiessen. Wie gesagt, ich habe auch Squeezeboxen und anderes im Rennen, es gibt kein Standard der Plugins.

                  Michel

                  Kommentar


                    #10
                    Freut mich dass das Plugin noch für andere zu gebrauchen ist.

                    re Telnet: Ja, die Verbindung wird manchmal ohne Grund unterbrochen. Vor allem beim ein- und ausschalten des Receivers. In diesem Fall ist es aber wie JuMi2006 sagt: Das Plugin fängt dieses automatisch ab das es lib.connction benutzt. Es verbindet sich einfach wieder neu. Klappt bei mir bei den Tests auch.

                    re Kommandos: Wenn jemand mit einer guten Lösung kommt bin ich gerne bereit umzuschreiben. Das Problem ist aber dass z.B. die Power Befehle 2 verschiedene sind. PWON für on, und PWSTANDBY für off. Dann müsste man in der Items.conf 2 Items eintragen, oder wie ? Man könnte villeicht einen flexiblen Kompromiss machen. Die gemeinsamen Befehle wie z.B. power, volume, mute erkennt er und wandelt diese um. Wenn er einen Befehl nicht selbst kennt sendet er es einfach 1:1 weider an den Verstärker. Wie gefällt das ?

                    Zur Info: Ich bin auch parallel dabei ein Widget zu entwickeln das eventuell nachher in das multimedia eingebunden werden kann als multimedia.avr. Der Thread ist https://knx-user-forum.de/smartvisu/...erker-avr.html aber ich bin noch am Anfang.

                    Kommentar


                      #11
                      Ja so ein Zwitter wäre denkbar, ich hab momentan einfach keine Zeit mich damit zu beschäftigen sonst hätte ich das parallel schon gemacht. Ich würde (vorerst) den Befehl aus der item.conf lesen und weiterleiten ausser (cmd == 'POWERON', cmd=='VOL UP') usw. damit sind prinzipiell erstmal alle Befehle möglich, für Rückmeldungen muss man sich dann was einfallen lassen, aber keine Sorge das wird schon.
                      Umgezogen? Ja! ... Fertig? Nein!
                      Baustelle 2.0 !

                      Kommentar


                        #12
                        Klingt auch für mich sehr plausibel, für die wenigen Standard Themen die Kommandos zu machen, den Rest durchzuschieben.

                        Danke noch mal an die Arbeit zum schreiben des Plugins, ist Klasse!

                        Michel


                        Gesendet von meinem iPad mit Tapatalk

                        Kommentar


                          #13
                          Ich hatte bereits ein Denon Plugin entwickelt... scheinbar hat Marcus alte branches aus dem sh.py Git Repo entfernt. Mein Plugin hat es nie in den development branch geschafft, da ich es mit dem 3313 nicht problemlos hin bekommen habe. Telnet Verbindungsabbrüche und timing Geschichten machten mir das Leben schwer. Hauptproblem war, dass die ersten Befehle nach dem Einschalten verschluckt wurden. Obwohl ich die Pause nach dem Power On zum Testen wesentlich höher als in der Protokollbeschreibung angegeben gewählt habe. Hatte damals aber auch keine so hohe Prio für mich, dass ich das unbedingt fertig stellen musste. Wenn das bei dir funktioniert, dann werde ich das wohl mal testen müssen... nachdem ich endlich mal auf sh.py v1.0 umgestiegen bin
                          Mit freundlichen Grüßen
                          Niko Will

                          Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                          - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                          Kommentar


                            #14
                            Das gibts noch: https://github.com/mknx/smarthome/tr...op/plugins/dev
                            Umgezogen? Ja! ... Fertig? Nein!
                            Baustelle 2.0 !

                            Kommentar


                              #15
                              ei kuck an... hab wohl echt zu lange Pause gemacht. Danke für den Hinweis!
                              Mit freundlichen Grüßen
                              Niko Will

                              Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                              - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                              Kommentar

                              Lädt...
                              X