Ankündigung

Einklappen
Keine Ankündigung bisher.

Sonos Anbindung

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

  • pfischi
    antwortet
    RoyalTS Das stimmt soweit. Kannst du mal den Broker per
    Code:
    sudo systemctl stop sonos-broker.service
    stoppen und händisch mit
    Code:
    sudo sonos-broker start -d >> /tmp/sonos-debug.log
    starten? Die Log-Datei bräuchte ich dann.

    Gruss,

    Stefan

    Einen Kommentar schreiben:


  • RoyalTS
    antwortet
    Hallo Stefan,

    nur zur Vollständigkeit, damit es nachvollziehbar ist.
    Ich hab das 1.3er SmarthomeNG-Image als Grundlage genommen, alles aktualisiert und via
    Code:
    sudo python3 -m pip -v install sonos-broker-1.1.tar.gz
    den Broker installiert und als systemctl-Service laufen.

    Vielleicht hab ich da wo ja was übersehen?

    Danke und Grüße
    Thorsten
    Zuletzt geändert von RoyalTS; 06.03.2017, 09:32.

    Einen Kommentar schreiben:


  • RoyalTS
    antwortet
    Sind "nur" 12 Sonos
    K.A. wieso die Nummern nach jedem "update" sich ändern.

    Hier noch die netstat-Ausgabe:
    Code:
    Aktive Internetverbindungen (Nur Server)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      1593/smbd       
    tcp        0      0 0.0.0.0:44175           0.0.0.0:*               LISTEN      -               
    tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      251/rpcbind     
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1317/lighttpd   
    tcp        0      0 127.0.0.1:2323          0.0.0.0:*               LISTEN      2389/python3    
    tcp        0      0 0.0.0.0:46259           0.0.0.0:*               LISTEN      588/rpc.mountd  
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1264/dropbear   
    tcp        0      0 0.0.0.0:2424            0.0.0.0:*               LISTEN      2389/python3    
    tcp        0      0 192.168.1.139:1400      0.0.0.0:*               LISTEN      1229/python3    
    tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      1593/smbd       
    tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -               
    tcp        0      0 0.0.0.0:38499           0.0.0.0:*               LISTEN      588/rpc.mountd  
    tcp        0      0 0.0.0.0:12900           0.0.0.0:*               LISTEN      1229/python3    
    tcp        0      0 0.0.0.0:54853           0.0.0.0:*               LISTEN      588/rpc.mountd  
    tcp6       0      0 :::42891                :::*                    LISTEN      588/rpc.mountd  
    tcp6       0      0 :::139                  :::*                    LISTEN      1593/smbd       
    tcp6       0      0 :::37231                :::*                    LISTEN      588/rpc.mountd  
    tcp6       0      0 :::111                  :::*                    LISTEN      251/rpcbind     
    tcp6       0      0 :::80                   :::*                    LISTEN      1317/lighttpd   
    tcp6       0      0 :::22                   :::*                    LISTEN      1264/dropbear   
    tcp6       0      0 :::445                  :::*                    LISTEN      1593/smbd       
    tcp6       0      0 :::6720                 :::*                    LISTEN      1/init          
    tcp6       0      0 :::2049                 :::*                    LISTEN      -               
    tcp6       0      0 :::44197                :::*                    LISTEN      -               
    tcp6       0      0 :::56679                :::*                    LISTEN      588/rpc.mountd  
    udp        0      0 0.0.0.0:5353            0.0.0.0:*                           515/avahi-daemon: r
    udp        0      0 0.0.0.0:56057           0.0.0.0:*                           -               
    udp        0      0 0.0.0.0:35583           0.0.0.0:*                           515/avahi-daemon: r
    udp        0      0 0.0.0.0:9999            0.0.0.0:*                           2389/python3    
    udp        0      0 0.0.0.0:58156           0.0.0.0:*                           588/rpc.mountd  
    udp        0      0 0.0.0.0:851             0.0.0.0:*                           251/rpcbind     
    udp        0      0 0.0.0.0:40813           0.0.0.0:*                           588/rpc.mountd  
    udp        0      0 0.0.0.0:54716           0.0.0.0:*                           588/rpc.mountd  
    udp        0      0 0.0.0.0:2049            0.0.0.0:*                           -               
    udp        0      0 0.0.0.0:68              0.0.0.0:*                           1226/dhcpcd     
    udp        0      0 0.0.0.0:3671            0.0.0.0:*                           1233/knxd       
    udp        0      0 192.168.1.139:3672      0.0.0.0:*                           1233/knxd       
    udp        0      0 0.0.0.0:111             0.0.0.0:*                           251/rpcbind     
    udp        0      0 192.168.1.139:123       0.0.0.0:*                           1283/ntpd       
    udp        0      0 192.168.1.55:123        0.0.0.0:*                           1283/ntpd       
    udp        0      0 127.0.0.1:123           0.0.0.0:*                           1283/ntpd       
    udp        0      0 0.0.0.0:123             0.0.0.0:*                           1283/ntpd       
    udp        0      0 192.168.1.255:137       0.0.0.0:*                           1562/nmbd       
    udp        0      0 192.168.1.55:137        0.0.0.0:*                           1562/nmbd       
    udp        0      0 192.168.1.255:137       0.0.0.0:*                           1562/nmbd       
    udp        0      0 192.168.1.139:137       0.0.0.0:*                           1562/nmbd       
    udp        0      0 0.0.0.0:137             0.0.0.0:*                           1562/nmbd       
    udp        0      0 192.168.1.255:138       0.0.0.0:*                           1562/nmbd       
    udp        0      0 192.168.1.55:138        0.0.0.0:*                           1562/nmbd       
    udp        0      0 192.168.1.255:138       0.0.0.0:*                           1562/nmbd       
    udp        0      0 192.168.1.139:138       0.0.0.0:*                           1562/nmbd       
    udp        0      0 0.0.0.0:138             0.0.0.0:*                           1562/nmbd       
    udp6       0      0 :::5353                 :::*                                515/avahi-daemon: r
    udp6       0      0 :::851                  :::*                                251/rpcbind     
    udp6       0      0 :::51584                :::*                                -               
    udp6       0      0 :::48586                :::*                                588/rpc.mountd  
    udp6       0      0 :::54236                :::*                                588/rpc.mountd  
    udp6       0      0 :::2049                 :::*                                -               
    udp6       0      0 :::546                  :::*                                1226/dhcpcd     
    udp6       0      0 :::111                  :::*                                251/rpcbind     
    udp6       0      0 fe80::ba27:ebff:fee:123 :::*                                1283/ntpd       
    udp6       0      0 2003:6b:71b:7553:ba:123 :::*                                1283/ntpd       
    udp6       0      0 ::1:123                 :::*                                1283/ntpd       
    udp6       0      0 2003:6b:71b:7553:bf:123 :::*                                1283/ntpd       
    udp6       0      0 :::123                  :::*                                1283/ntpd       
    udp6       0      0 :::49285                :::*                                515/avahi-daemon: r
    udp6       0      0 :::43193                :::*                                588/rpc.mountd
    Danke und Grüße
    Thorsten

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Ok, es scheinen tatsächlich keine Events gefeuert zu werden. Die Frage ist nur warum.

    Code:
    2017-03-05 19:49:42,694 DEBUG    Thread-795   COMMAND SetPlay -- attributes: play: 1, uid: rincon_5caafd24427c01400 -- sonos_commands.py:run:849
    2017-03-05 19:49:42,821 DEBUG    Thread-795   Server response -- status: True -- response:  -- sonos_service.py:do_POST:109
    Nach diese Eintrag müsste sofort eine entsprechende Antwort kommen. Ich muss morgen noch zusätzliche Debug-Ausgaben in die Log-Datei umlenken, dann kann ich mehr sehen. Mit deinen 16 Lautsprechern treibst du das System aber an die Höchstleistung

    Kannst du auch nochmal ein
    Code:
    sudo netstat -tulpn
    auf dem System absetzen, wo der Broker läuft?

    Gruss,

    Stefan

    Einen Kommentar schreiben:


  • RoyalTS
    antwortet
    Alles klar. Hier die gewünschten Infos

    Code:
    =>> speaker
    
    speaker(s):
    -----------
    (1)        rincon_000e58d290a001400    [192.168.1.101|Esszimmer|Sonos CONNECT:AMP]
    (2)        rincon_000e58851b2001400    [192.168.1.117|Esszimmer|Sonos PLAY:5]
    (3)        rincon_000e5876cef201400    [192.168.1.103|Esszimmer|Sonos PLAY:3]
    (4)        rincon_000e582d7aa001400    [192.168.1.123|Esszimmer|Sonos CONNECT]
    (5)        rincon_000e58c373cc01400    [192.168.1.115|Esszimmer|Sonos PLAY:1]
    (8)        rincon_000e58f0a68c01400    [192.168.1.116|Melissa Schlafzi|Sonos PLAY:3]
    (9)        rincon_000e58716d5801400    [192.168.1.105|A&A Schlafzimmer|Sonos PLAY:3]
    (10)        rincon_000e58a257c401400    [192.168.1.127|Büro|Sonos CONNECT]
    (12)        rincon_000e58c7806a01400    [192.168.1.112|Kinderbad|Sonos PLAY:1]
    (13)        rincon_000e58d28e9a01400    [192.168.1.110|Schlafzimmer|Sonos CONNECT:AMP]
    (14)        rincon_000e58f0a38401400    [192.168.1.114|Schlafzimmer|Sonos PLAY:3]
    (16)        rincon_5caafd24427c01400    [192.168.1.102|Hobbyraum|Sonos PLAY:1]
    
    
    =>> speaker 16
    
    rincon_5caafd24427c01400 =>> play
    play: 0
    
    rincon_5caafd24427c01400 =>> play set
    Play (0|1)                 [0]:1
    play: 0
    
    rincon_5caafd24427c01400 =>> play
    play: 0
    
    rincon_5caafd24427c01400 =>> play
    play: 0
    
    rincon_5caafd24427c01400 =>> play
    play: 1
    
    rincon_5caafd24427c01400 =>>
    Es dauer über 30 Sekunden, bis auch Play dann angezeigt wird. Abgespielt wird kurz nach play set 1.

    Log im Anhang dazu vom Broker.


    Ok, eine wichtige Infos vielleicht: ich hab auf den Sonos-Speakern die aktuelle Beta laufen (7.2).
    Angehängte Dateien

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Ok, jetzt müssen wir mal das ganze schrittweise testen. Als erstes müssen wir sicher gehen, das der Broker vernünftig die Events empfängt und versendet.
    Dazu schalte mal bitte einen deiner Lautsprecher über
    Code:
    sonos-cmd
    ein und aus:

    Im Prgramm:
    Code:
    update
    speaker
    speaker x  # zum steuern
    play           # zeigt den aktuellen play-Status
    play set     # hier 0 oder 1 wählen --> es wird ein Wert nach dem Ausführen angezeigt, ignorieren --> 5sek warten
    play           # sollte dann der Wert sein, der eingebeben wurde
    Am besten wäre noch, wenn du von diesem Vorgang das Broker-Log mitschickst.

    Gruss,

    Stefan

    Einen Kommentar schreiben:


  • RoyalTS
    antwortet
    Hmm, hat sich für die Logiken mit 1.x was geändert? Ich such einfach noch die Ursache, wieso es hier nicht geht. Also Play/Stop via App bzw. auch wenn ich einen Schalter betätige macht mir SmarthomeNG kein Play oder Stop.

    Beispiel einer meiner einfachen Logiken:
    Code:
    if sh.Hobby.play() :
        sh.Hobby.stop(1)
    else:
        sh.Hobby.play(1)
    Ging mit meinem alten Setup (smarthome und sonos-broker 0.9) ohne Probleme.

    Bin auch mal via CLI drauf:
    Code:
    > ls Hobby
    Items:
    ======
    Hobby = None
    Hobby.mute = False
    Hobby.led = True
    Hobby.volume = 34
    Hobby.max_volume = -1
    Hobby.stop = False
    Hobby.play = True
    Hobby.seek =
    Hobby.pause = False
    Hobby.next = None
    Hobby.previous = None
    Hobby.track_title =
    Hobby.track_album =
    Hobby.track_duration = 00:00:00
    Hobby.track_position = 00:00:00
    Hobby.track_artist =
    Hobby.track_uri =
    Hobby.track_album_art =
    Hobby.playlist_position = 0
    Hobby.playlist_total_tracks = 0
    Hobby.streamtype =
    Hobby.play_uri =
    Hobby.play_tunein =
    Hobby.play_snippet =
    Hobby.play_tts =
    Hobby.radio_show =
    Hobby.radio_station =
    Hobby.uid = rincon_5caafd24427c01400
    Hobby.ip = 192.168.1.102
    Hobby.model = Sonos PLAY:1
    Hobby.model_number = S1
    Hobby.display_version = 7.2
    Hobby.household_id = Sonos_ShsoW1qSxZxZlzOJH3su84VJUz
    Hobby.zone_name = Hobbyraum
    Hobby.zone_icon = /img/icon-S1.png
    Hobby.serial_number = 5C-AA-FD-24-42-7C:3
    Hobby.software_version = 35.3-38281
    Hobby.hardware_version = 1.8.3.7-2
    Hobby.mac_address = 5C-AA-FD-24-42-7C
    Hobby.status = True
    Hobby.join =
    Hobby.unjoin = None
    Hobby.partymode = None
    Hobby.volume_up = None
    Hobby.volume_down = None
    Hobby.additional_zone_members =
    Hobby.bass = 0
    Hobby.treble = 0
    Hobby.loudness = True
    Hobby.nightmode = False
    Hobby.playmode = normal
    Hobby.alarms = {}
    Hobby.is_coordinator = True
    Hobby.tts_local_mode = False
    Hobby.sonos_playlists =
    Hobby.load_sonos_playlist =
    Hobby.balance = 0
    Hobby.wifi_state = True
    Hobby.clear_queue = False
    Hobby.transport_actions =
    >
    Via CLI play gesendet geht. Mach ich aber via App stop, dann aktualisieren sich die Items nicht.

    Hab nun noch weiter versucht. Setze ich Item-Values manuell, dann gehen auch meine Logiken und ich kann am Schalter Play machen. Aber danach nicht mehr Stop, da die Values nicht aktualisiert werden.

    Was könnte ich den noch schauen, wieso der Broker die Items nicht richtig aktualisiert?
    Broker seh ich mit ps x nur via SUDO und SmarthomeNG als User "smarthome"
    Zuletzt geändert von RoyalTS; 05.03.2017, 18:55.

    Einen Kommentar schreiben:


  • RoyalTS
    antwortet
    Zitat von pfischi Beitrag anzeigen
    Zu deinen Logs: sieht alles richtig aus, was genau funktioniert (ausser der Loop) nicht?
    Wenn ich via Sonos-App Play/Stop mache, dann kommt keine Reaktion im SmarthomNG an.
    KNX zum Broker geht.

    Zur Playlist: Da haben meine Damen wohl gespielt
    2017-03-05 17.39.05.png
    Hab den letzten Eintrag mal gelöscht.

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Was mir noch aufgefallen ist: deine Playlisten haben folgende Namen:

    Code:
    2015er Mix,Butzemann & Co,Cool,Cool -Blacklist & Co,Fetenhits,Instrumental Lounge,Katie Melua,Kinder-Aufwachen,Kinder-Schlafmusik,Leo Lausemaus,Leo Lausemaus - Alle,LoungeMix,Melua Und Co,Old Stuff,Rock gesampled,Unplugged,Wichtige Kidsplaylis,Xmas 2015, xxxxxxx
    Der letzte Eintrag ist nur Kauderwelch im Log. Kannst du mir mal en Eintrag hier nennen? Dann kann ich da mal nachforschen.

    Gruss,

    Stefan

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Zitat von RoyalTS Beitrag anzeigen
    Ach ja... noch etwas ganz anderes...

    Kann ich via Netzwerkbefehl den Broker ein Snippet abspielen lassen?
    Code:
    https://sonos-broker-ip:port/play_snippet?speaker=1&snippet=xxxx
    Da geht leider nicht, diie Kommuniktaion geht auschließlich per JSON-Reqeusts. Die Kommandos sind für den Broker beschrieben, falls du diese direkt absetzen möchtest. Und danke für den Hinweis auf die alte Doku, das mache ich noch raus.

    Zum Snippet-Loop: Ist leider ein bekanntes Problem, ich sitze gearde dran und suche nach einer Lösung. Ist leider echt nervig, wie Sonos intern Streams behandelt, ein paar Beiträge weiter oben haben ich das schonmal beschrieben warum.

    Zu deinen Logs: sieht alles richtig aus, was genau funktioniert (ausser der Loop) nicht?

    Einen Kommentar schreiben:


  • RoyalTS
    antwortet
    Ach ja... noch etwas ganz anderes...

    Kann ich via Netzwerkbefehl den Broker ein Snippet abspielen lassen?
    Code:
    https://sonos-broker-ip:port/play_snippet?speaker=1&snippet=xxxx

    Einen Kommentar schreiben:


  • RoyalTS
    antwortet
    Bzgl. Webserver:
    To get your sonos speaker id, type this command in your browser (while sonos server is running):
    Code:
    http://<sonos_server_ip:port>/client/list
    Das wollte ich machen.
    Und wie gesagt, irgendwie seh ich in smarthomeNG keine Reaktion auf Änderungen via der Sonos-App. Mit dem 0.9er Broker und dem alten Smarthome hat es noch geklappt.

    Hatte beim Neuaufsetzen: logics.conf und plugins.conf wieder angepasst und die Logiken und Items wieder an die passenden Orte kopiert.
    Alle Sonos-Broker relevanten Items hab ich nach deinem Beispiel komplett neu erstellt.

    Bzgl. Webservice: Also einfach bei mir z.B.
    Code:
    http://192.168.1.55:12900/Tuergong.mp3
    aufrufen?

    Code:
    rincon_00ssssccscsc1400 =>> play_snippet
    Url (http://.. or Sonos url)   []:http://192.168.1.55:12900/Tuergong.mp3
    snippet volume (-1-100)   [-1]:20
    fade in (0|1)              [0]:
    group command (0|1)        [0]:1
    endet hier in einer Endlosschleife... die MP3 wird immer und immer wieder abgespielt

    Grüße
    Thorsten

    PS: Logs angehängt in der Zip
    Angehängte Dateien

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Zitat von RoyalTS Beitrag anzeigen
    Bin immer noch am Testen

    Wenn ich die Broker-Webseite aufrufe, dann kommt dort folgendes:

    Error response

    Error code: 404

    Message: File Not Found: /client/list.

    Error code explanation: 404 - Nothing matches the given URI.



    ----
    Könnte ihr auch die Ursache sein, dass ich keine Broker-Meldung an smarthomeNG bekomme, wenn ich via Sonos-App Play oder Stop mache?
    Welche Webseite möchtest du denn aufrufen? Die gibt's nicht.
    am besten du postest mal die Logs von SmarthomeNG und dem Broker hier.


    Zuletzt geändert von pfischi; 05.03.2017, 12:18.

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Die Anweisung selber sind nach dem Restart wieder weg. Je nach Linux-Distro kann man diese zB. in die .bashrc des Nutzers eintragen.

    Zu play_snippet: ich sehe du nutzt cifs. Da muss ich noch etwas anpassen. Versuch mal den integrierten Webservice stattdessen (siehe Anleitung), theoretisch brauchst du kein gemountetes Laufwerk/Verzeichnis mehr.

    Gruss,

    Stefan

    Einen Kommentar schreiben:


  • RoyalTS
    antwortet
    Bin immer noch am Testen

    Wenn ich die Broker-Webseite aufrufe, dann kommt dort folgendes:

    Error response

    Error code: 404

    Message: File Not Found: /client/list.

    Error code explanation: 404 - Nothing matches the given URI.



    ----
    Könnte ihr auch die Ursache sein, dass ich keine Broker-Meldung an smarthomeNG bekomme, wenn ich via Sonos-App Play oder Stop mache?
    Zuletzt geändert von RoyalTS; 05.03.2017, 10:49.

    Einen Kommentar schreiben:

Lädt...
X