Ankündigung

Einklappen
Keine Ankündigung bisher.

sonos mit eibpc in bus einbinden

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

    sonos mit eibpc in bus einbinden

    Hallo
    vorweg erst mal, finde das hier ein super forum.
    jetzt zu meiner frage:
    ich möchte einem sonos zoneplayer über tastsensoren am bus bedienen.
    ist dies mit dem eibpc möglich?
    für lösungsansätze wäre ish sehr dankbar.

    wüsche allen ein schönes wochenende

    #2
    ...als begeisterter Sonos/EibPC Besitzer wäre ich auch extrem daran interessiert

    Was ich bisher geschafft habe:
    Buttons im EibWebPC die Funktionen auslösen (ich glaub mit plink oder so) Nur bei Tastern oder Bewegungsmeldern ist mir das nicht gelungen

    Darum, Ideen? :-)

    Kommentar


      #3
      Zitat von Sto Beitrag anzeigen
      Hallo
      vorweg erst mal, finde das hier ein super forum.
      jetzt zu meiner frage:
      ich möchte einem sonos zoneplayer über tastsensoren am bus bedienen.
      ist dies mit dem eibpc möglich?
      Was macht denn der Zoneplayer - kurz umrissen? Gibt es da eine TCP Kommandoschnittstelle oder wie?
      offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
      Enertex Produkte kaufen

      Kommentar


        #4
        Zitat von enertegus Beitrag anzeigen
        Was macht denn der Zoneplayer - kurz umrissen? Gibt es da eine TCP Kommandoschnittstelle oder wie?
        Sonos hat da leider kein Protokoll dafür AFAIK. Das Ding kann aber über UPNP mit einem Media Renderer angesprochen werden. So macht das meines Wissens Manu mit seinem HS Baustein und auch das Media Renderer QC Plugin.
        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


          #5
          Hi, vermutlich kennt ihr das hier. Da gibt es eine Webschnittstelle für Sonos bestehend aus Server und Client. Evtl. kann man im Perl für den Server ja was finden ...

          Gruß,
          Bernd

          Kommentar


            #6
            Zitat von bmx Beitrag anzeigen
            Hi, vermutlich kennt ihr das hier. Da gibt es eine Webschnittstelle für Sonos bestehend aus Server und Client. Evtl. kann man im Perl für den Server ja was finden ...,
            Bin da wohl etwas schwer von Begriff. Was soll denn der EibPC da genau machen? Einen Webserver Remote ansprechen?
            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
            Enertex Produkte kaufen

            Kommentar


              #7
              Schön dass hier gerade das Thema aufkommt. Ich beschäftige mich nämlich auch damit.
              Und bei mir kam auch die Frage auf, ob es wohl möglich ist Sonos mit dem EibPC zu steuern.
              Mich würde interessieren ob man Sonos vom EibPc aus starten kann bzw. eine Playlist abspielen lassen kann. Ich kann es mir zwar nicht vorstellen aber würde mich freuen, wenn ich mich irre.

              edit: es müssten upnp Befehle gesendet werden können. Habe derzeit weder den EibPC noch das Sonossystem aber nach dem was ich bisher gelesen habe braucht man dafür dann schon einen HS oder ähnliches.

              Kommentar


                #8
                du brauchst ein Stück Software, das sich bei den Sonos als UPNP Media Renderer registriert. Das muss nicht der HS sein, nur hat der für den QC ein rudimentäres Plugin. Der Baustein den Manu gemacht hat geht AFAIK genauso vor, geht aber über die Fähigkeiten des mitgelieferten Plugins hinaus.
                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


                  #9
                  Zitat von 2ndsky Beitrag anzeigen
                  du brauchst ein Stück Software, das sich bei den Sonos als UPNP Media Renderer registriert. Das muss nicht der HS sein, nur hat der für den QC ein rudimentäres Plugin. Der Baustein den Manu gemacht hat geht AFAIK genauso vor, geht aber über die Fähigkeiten des mitgelieferten Plugins hinaus.
                  Das versteh ich leider immer noch nicht so genau im Detail. Aber ich werd das mal bei uns weiterleiten.
                  offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                  Enertex Produkte kaufen

                  Kommentar


                    #10
                    Ich habe da noch etwas gefunden. Keine Ahnung ob es hilfreich ist. Da komm ich nämlich nicht mehr mit.
                    Sonos Forums - View Single Post - Gesucht: Sonos Schalter zum einbauen

                    Kommentar


                      #11
                      Zitat von Chriko Beitrag anzeigen
                      Ich habe da noch etwas gefunden. Keine Ahnung ob es hilfreich ist.
                      Das hört sich brauchbar an, allerdings ist morgen bei uns Feiertag, kann also noch dauern, bis ich das den Experten weitergeben kann.
                      offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                      Enertex Produkte kaufen

                      Kommentar


                        #12
                        Wollt einfach mal nachfragen.... Gibt es hier schon irgendwelche News? Gruss und äs schöns Tägli

                        Kommentar


                          #13
                          Zitat von kaempfen Beitrag anzeigen
                          Wollt einfach mal nachfragen.... Gibt es hier schon irgendwelche News? Gruss und äs schöns Tägli
                          Die Steuerung von Sonos Komponenten über EibPC ist grundsätzlich möglich. Ich verwende das aktuell um über Zentral-Aus auch die Sonos-Verstärker abzuschalten, um bei gewissen Szenen Verstärker einzuschalten und um die Lautstärke zu regeln. Weitere Funktionen sind ebenfalls möglich, verwende ich aktuell aber nicht.

                          Hier mal ein Auszug aus meinem Code. Der Lesbarkeit halber habe ich nur die Kommandos für das Schlafzimmer im Code belassen.

                          Code:
                          //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                          :begin Sonos()
                          :info $Sonos-Dienst$
                          :shortinfo $Sonos-Dienst$
                           
                          sonos_ip_schlafzimmer = $192.168.0.201$
                           
                          CRLF = $  $
                           
                          if systemstart() then {
                             stringset(CRLF, 0x0d, 0u16);
                             stringset(CRLF, 0x0a, 1u16)
                          } endif
                           
                          sonos_host = $127.0.0.1$
                          sonos_ip = resolve(sonos_host)
                          sonos_port = 1400u16
                           
                          sonos_command = $$
                          sonos_param = $$
                          sonos_service = $AVTransport$
                           
                          if sonos_command == $SetVolume$ or sonos_command == $SetMute$ then {
                             sonos_service = $RenderingControl$
                          } else {
                             sonos_service = $AVTransport$
                          } endif 
                           
                          sonos_soap = $<s:Envelope xmlns:s="[URL]http://schemas.xmlsoap.org/soap/envelope/"$[/URL] + \\
                                       $ s:encodingStyle="[URL]http://schemas.xmlsoap.org/soap/encoding/">$[/URL] + \\
                                       $<s:Body>$ + \\
                                       $<u:$ + sonos_command + $ xmlns:u="urn:schemas-upnp-org:service:$ + sonos_service + $:1">$ + \\
                                       $<InstanceID>0</InstanceID>$ + \\
                                       sonos_param + \\
                                       $</u:$ + sonos_command + $>$ + \\
                                       $</s:Body>$ + \\
                                       $</s:Envelope>$
                           
                          sonos_len = size(sonos_soap)
                           
                          sonos_string = $POST /MediaRenderer/$ + sonos_service + $/Control HTTP/1.1$ + CRLF + \\
                                         $CONNECTION: close$ + CRLF + \\
                                         $HOST: $ + sonos_host + $:$ + convert(sonos_port, $$) + CRLF + \\
                                         $CONTENT-LENGTH: $ + convert(sonos_len, $$) + CRLF + \\
                                         $CONTENT-TYPE: text/xml; charset="utf-8"$ + CRLF + \\
                                         $SOAPACTION: "urn:schemas-upnp-org:service:$ + sonos_service + $:1#$ + sonos_command + $"$ + CRLF + \\
                                         CRLF + \\
                                         sonos_soap + CRLF
                           
                          sonos_send = AUS
                          sonos_connect = AUS
                          sonos_connect_status = 1
                          sonos_close = AUS
                          sonos_success = AUS
                          sonos_reply = $$
                          sonos_count = 0u32
                           
                          sonos_read_port = 0u16
                          sonos_read_ip = 0u32
                          sonos_read_text = $$
                           
                          if sonos_connect == AUS and after(sonos_send == EIN, 100u64) and size(sonos_string) > 0u16 then {
                             sonos_count = sonos_count + 1u32;
                             sonos_connect = EIN;
                             sonos_close = AUS;
                             sonos_success = AUS;
                             sonos_reply = $$;
                             sonos_connect_status = connecttcp(sonos_port, sonos_ip)
                          } endif
                           
                          if (delay(sonos_connect == EIN, 2000u64) or sonos_connect_status == 0) and sonos_connect == EIN then {
                             sendtcp(sonos_port, sonos_ip, sonos_string)   
                          } endif
                           
                          if event(readtcp(sonos_read_port, sonos_read_ip, sonos_read_text)) and sonos_read_ip == sonos_ip and sonos_connect == EIN then {
                             sonos_reply = sonos_read_text;
                             sonos_close = EIN;
                             sonos_success = EIN
                          } endif
                           
                          if delay(sonos_connect == EIN, 3000u64) and sonos_connect == EIN then {
                             sonos_close = EIN
                          } endif
                           
                          if sonos_close == EIN and sonos_connect == EIN then {
                             sonos_send = AUS;
                             sonos_connect = AUS;
                             sonos_connect_status = 1;
                             sonos_close = AUS;
                             closetcp(sonos_port, sonos_ip)
                          } endif
                           
                          //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                          // Zentral Aus Schlafzimmer
                           
                          if event("Zentral Aus Schlafzimmer-0/1/51") then {
                             sonos_command = $Pause$;
                             sonos_param = $$;
                             sonos_host = sonos_ip_schlafzimmer;
                             sonos_success = AUS;
                             sonos_send = EIN
                          } endif
                           
                          //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                          // Schlafen gehen: Lautstärke auf 20 % und Verstärker einschalten
                           
                          if event("Schlafen gehen-12/0/10") then {
                             sonos_host = sonos_ip_schlafzimmer;
                             sonos_command = $SetVolume$;
                             sonos_param = $<Channel>Master</Channel><DesiredVolume>20</DesiredVolume>$;
                             sonos_send = EIN
                          } endif
                           
                          if delay(event("Schlafen gehen-12/0/10"), 500u64) then {
                             sonos_host = sonos_ip_schlafzimmer;
                             sonos_command = $Play$;
                             sonos_param = $<Speed>1</Speed>$;
                             sonos_send = EIN
                          } endif
                          :end

                          Kommentar


                            #14
                            Das ist ja Klasse. Vielen Dank.

                            Kommentar


                              #15
                              Wow, wahnsinn! Das klappt 1A!
                              Vielen, vielen Dank! Eindeutig mein Held!

                              Frage: welche anderen Befehle funktionieren denn noch? Gibt's hier vielleicht eine Übersicht?

                              Kommentar

                              Lädt...
                              X