Ankündigung

Einklappen
Keine Ankündigung bisher.

Sonos Anbindung

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

  • pfischi
    antwortet
    Abend zusammen,

    langsam nähern wir uns dem Release:

    -->Hier<-- nochmal eine Version zum Testen. Neu drin:
    • current_track
    • number_of_tracks
    • current_track_duration
    • current_transport_actions
    • current_valid_play_modes
    • track_artist
    • track_title

    Ich mach die restlichen Eigenschaften noch fertig, lass dann das ganz nochmal eine Zeit laufen und dann gehts in Stapellauf. GoogleTTS ist dann noch nicht enthalten, da möchte ich mir die entsprechende Zeit lassen, um diese Funktion sauber zu impelmentieren.

    Grüsse,

    Stefan


    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Zitat von malte Beitrag anzeigen
    Bisher hatte das Thema Sonos-Integration noch nicht die höchste Dringlichkeitsstufe (auch wenn ich den Thread vor über vier Jahren gestartet hatte) und ich habe nur ein paar Basis-Features (z.B. Radio im Bad an mit dem KNX-Taster) implementiert, aber wenn ich das irgendwann mal ordentlich anpacke, ist dein Plugin eine Bomben-Sache - insofern helfe ich nicht dir, sondern du hast mir - und etlichen anderen Usern - schon unendlich viel geholfen! Danke dir dafür! ...
    Vielen Dank fürs Lob, deswegen machen wir mit den täglichen Updates weiter

    -->Hier<-- gibts wieder eins. Hinzu gekommen sind:
    • switch_linein (Play5: Wechsel zum Line.In)
    • switch_tv (Playbar: Wechsel zum TV-Modus)
    • music_mode (was wird gerade abgespielt: 'music', 'radio', line-in', 'tv')
    • track_uri


    @malte:
    Eigentlich wäre für den Test damit alles fertig. Mit 'switch_tv' kannst du zum TV-Modus wechseln und 'music_mode' müsste dann korrekterweise 'tv' ausgeben.


    Edit: Den 'dialog_mode' und 'night_mode hab ich noch vergessen. Die müssten auch getestet werden Ich habe noch ein paar Debug-Ausgaben rein gemacht, damit ich die Events sehe.


    Gruss,

    Stefan
    Zuletzt geändert von pfischi; 16.03.2017, 21:06.

    Einen Kommentar schreiben:


  • malte
    antwortet
    Und ich dachte schon, ich soll dir das Ding einfach zuschicken ;-)

    Nein klar, mache ich natürlich gerne. Weiß nicht, ob ich es heute Abend schaffe, aber morgen Abend sollte klappen.

    Die Playbar - zumindest meine - hat aber keinen Line-In! Es gibt nur den S/PDIF an dem der Fernseher bzw. in meinem Fall der Sky-Receiver hängt.

    Bisher hatte das Thema Sonos-Integration noch nicht die höchste Dringlichkeitsstufe (auch wenn ich den Thread vor über vier Jahren gestartet hatte) und ich habe nur ein paar Basis-Features (z.B. Radio im Bad an mit dem KNX-Taster) implementiert, aber wenn ich das irgendwann mal ordentlich anpacke, ist dein Plugin eine Bomben-Sache - insofern helfe ich nicht dir, sondern du hast mir - und etlichen anderen Usern - schon unendlich viel geholfen! Danke dir dafür!

    Beste Grüße,
    Malte

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Zitat von malte Beitrag anzeigen
    Hi Stefan/pfischi ,
    ich habe eine Playbar!

    Was kann ich tun?

    Beste Grüße,
    Malte
    Hi, Danke für die Rückmeldung.
    Es gibt bei der Playbar 4 Modi, die ich leider nicht testen kann: Night-Mode, Dialog-Mode, und das Umschalten zwischen Line-In und TV. Vor allem kann ich nicht die Events sehen die getriggert werden, wenn man diese Modi schaltet. Ich würde dir gerne heute Abend eine Version fertig machen, die ich mit Debug-Ausgaben versehe. Wenn du so nett wärst könntest du die Modi testen:

    1. einfach per Sonos-App Dialog-Modus, Nacht-Modus ein paar mal hin und her schalten
    2. Zwischen Line-In und TV-Eingang schalten,
    3. und wenn du Zeit hast, die Modi per SmarthomeNG-Items schalten, und schauen, ob diese richtig implementiert sind.

    Von all dem brauche ich dann das SmarthomeNG-Logfile.

    Wäre mir eine große Hilfe.

    Gruss,

    Stefan

    Einen Kommentar schreiben:


  • malte
    antwortet
    Hi Stefan/pfischi ,
    ich habe eine Playbar!

    Was kann ich tun?

    Beste Grüße,
    Malte

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Und weiter gehts,

    Update -->Hier<--

    Folgende Items sind hinzugefügt:
    • play_mode
    • next
    • previous
    • player_name
    • houehold_id


    Als nächstes kommen die ganzen Track-Informationen. Und wenn das fertig ist kommt mein persönlicher "Liebling" dran: Google-TTS.

    Edit: Aufruf an Playbar-Besitzer besteht weiterhin, bitte melden.

    Gruss,

    Stefan

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Abend,

    und weiter gehts mit den Beta-Updates.

    -->HIER<--

    Neu implementiert sind:
    • snooze (das ist ganz neu und war bisher im alten Broker nicht drin)
    • night_mode
    • dialog_mode
    • cross_fade
    • status_light


    Dazu habe ich die Anleitung erweitert. Jedes Item sollte da nun ausführlich beschrieben sein.


    Noch eine kleine Bitte:
    Wenn jemand eine Playbar hat, bitte kurz melden. Ich muss die Events des Night-Mode und Dialog-Mode herausfinden.


    Gruss,

    Stefan

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    RoyalTS

    Noch ein kleiner Hinweis zum neuen is_initialized-Item: Du müsstest dann entsprechend die Logiken etwas abändern, damit du sicher stellst, dass der Speaker einen definierten Zustand hat:

    Code:
    from time import sleep  
    
    sleep(0.2)  
    
    if sh.MySonos.Schlafzimmer.is_initialized():    
        if sh.MySonos.Schlafzimmer.play():        
            sh.MySonos.Schlafzimmer.stop(1)    
        else:
            sh.MySonos.Schlafzimmer.volume(20)        
            sh.MySonos.Schlafzimmer.play(1)
    So wäre es sauber. Zusätzlich könntest du auch ein watch auf diese neue Item einrichten und dann erst die Logiken starten lassen.

    Gruss,

    Stefan
    Zuletzt geändert von pfischi; 14.03.2017, 17:42.

    Einen Kommentar schreiben:


  • RoyalTS
    antwortet
    Und die logic.yaml sieht so aus:
    Code:
    sonos_schlafzimmer:
        filename: sonos_schlafzimmer.py
        watch_item: OG.Schlafzimmer.Musik
    
    sonos_schlafzimmer_snooze:
        filename: sonos_snooze.py
        watch_item: OG.Schlafzimmer.Musik_snooze
    
    sonos_status:
        filename: sonosstatus.py
        watch_item:
        - MySonos.WC.play
        - MySonos.Schlafzimmer.play
        - MySonos.Kueche.play
        - MySonos.Lounge.play
        - MySonos.Esszimmer.play
        - MySonos.Kind1.play
        - MySonos.Kind2.play
        - MySonos.Kinderbad.play
        - MySonos.Hobby.play

    Einen Kommentar schreiben:


  • RoyalTS
    antwortet
    Eigentlich ist es nicht viel.
    Es gibt eine snooze-Logik. Die soll eigentlich nicht viel. Sie wird von einem KNX-Schalter getriggert (OG.Schlafzimmer.Musik_snooze).

    Code:
    from time import sleep
    
    sleep(0.2)
    
    if sh.MySonos.Schlafzimmer.play() :
        sh.MySonos.Schlafzimmer.mute(1)
        sh.OG.Schlafzimmer.Musik_snooze_LED(1)
        sleep(600)
        sh.OG.Schlafzimmer.Musik_snooze_LED(0)
        sh.MySonos.Schlafzimmer.mute(0)
    Ansonsten gibt es noch eine Logik "sonos_status.py", die LEDs an den Lichtschaltern an bzw. ausschaltet, wenn Musik läuft.
    Code:
    if sh.MySonos.GaesteWC.play:
        sh.EG.GaesteWC.Musik_LED(True)
    else:
        sh.EG.GaesteWC.Musik_LED(False)
    
    if sh.MySonos.Schlafzimmer.play:
        sh.OG.Schlafzimmer.Musik_LED(True)
    else:
        sh.OG.Schlafzimmer.Musik_LED(False)
    
    if sh.MySonos.Kinderbad.play:
        sh.OG.Kinderbad.Musik_LED(True)
    else:
        sh.OG.Kinderbad.Musik_LED(False)
    
    if sh.MySonos.Kind1.play:
        sh.OG.Kind1.Musik_LED(True)
    else:
        sh.OG.Kind1.Musik_LED(False)
    
    if sh.MySonos.Kind2.play:
        sh.OG.Kind2.Musik_LED(True)
    else:
        sh.OG.Kind2.Musik_LED(False)
    
    if sh.MySonos.Buero.play:
        sh.DG.Buero.Musik_LED(True)
    else:
        sh.DG.Buero.Musik_LED(False)
    
    if sh.MySonos.Hobby.play:
        sh.DG.Hobby.Musik_LED(True)
    else:
        sh.DG.Hobby.Musik_LED(False)
    Und ansonsten nur Funktionen in den Räumen zum Musik an und aus machen. Wie z.B. sonos_schlafzimmer.py:
    Code:
    from time import sleep
    
    sleep(0.2)
    
    if sh.MySonos.Schlafzimmer.play() :
        sh.MySonos.Schlafzimmer.stop(1)
    else:
        sh.MySonos.Schlafzimmer.volume(20)
        sh.MySonos.Schlafzimmer.play(1)

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Darf ich fragen was du mit den Logiken machst? Die ballern dir ganz schön den Bus zu. Ich hatte da irgendwas von snooze gelesen. Ich baue gerade die Snooze-Funktion für die Lautsprecher ein, die von Haus aus in den Lautsprechern implementiert sind. Versuchst du damit das gleiche nachzubilden? Eventuell kannst du dir das dann sparen.

    Edit: Sieht aber gut aus das Log. Soweit ich das hier mit den beschränkten Seitenverhältnissen des Handys sehe, werden die Events korrekt initialisiert und die Werte richtig verarbeitet. Und als Sonos-Fan verdrücke ich immer noch eine Träne bei deiner Anzahl an Lautsprechern

    Gruss,

    Stefan
    Zuletzt geändert von pfischi; 14.03.2017, 07:39.

    Einen Kommentar schreiben:


  • RoyalTS
    antwortet
    Hallo pfischi !
    Hier noch mein Log von gestern Abend. Ja ... 2 Fehler da drinn hab ich schon behoben

    Ich hab gestern Abend meinen smarthomeNG-Ordner komplett gelöscht und alles neu eingerichtet. Nun (mit der dev-1.4.xxxx) gehen auch die yaml-Dateien.
    Heute Abend kann ich vielleicht weiter testen. Konnte gestern leider nicht mehr schaun, ob KNX zu Sonos und meine Logiken laufen. Dafür war es einfach zu spät, wenn man morgens schon um 5:30 raus muss

    Grüße
    Thorsten
    Angehängte Dateien

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Abend,

    --> HIER <-- gibts wieder ein Update.

    Wichtigste Änderungen:
    • Item is_initialized hinzugefügt
      • wenn dieser Wert False ist, dann ist der Speaker noch nicht initialisiert bzw. offline
      • diesen Wert können z.B. Logiken abfragen
    • treble, loudness, bass Items eingepflegt
    • Event-Handling weiter verbessert; ist nun fehlertoleranter
    • README.md angefangen für die neue Anleitung


    Die Anleitung soll in der neuen Version deutlich erweitert werden. Ich habe mal mit einer "Best Practise"-Sektion angefangen. Hier könnt ihr mir gerne Dinge nennen, über die ihr schonmal gestolpert seid und in die Anleitung rein müssen.

    Gruss,

    Stefan

    Einen Kommentar schreiben:


  • RoyalTS
    antwortet
    Da hoffe ich noch auf Glasfaser... soll endlich im Sommer gelegt sein.

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Hole dir ein kleinen virtuellen Server im Netz für 5 Euro im Monat, lass die Clients zu diesem Server connecten (da läuft OpenVPN als Server) und schon hast du VPN zwischen den Clients. So habe ichs damals gemacht, als ich eine geNATete-IP-Adresse hatte (und ich vermute das wird das Problem beim Hybridanschluss der Telekom sein).

    Gruss,

    Stefan

    Einen Kommentar schreiben:

Lädt...
X