Forum

Das Forum für dich... Smarthome-Fans unter sich!
FIBARO HC3 Bundle Intensis
Bitte oder Registrieren, um Beiträge und Themen zu erstellen.

Sonos Player Quick App

Es existiert schon zwar eine super Sonos Zonen Controller QA, jedoch oft braucht man keine extra Informationen (Sonos Infos, Quelle, Playliste) - sondern nur die reine (und schnelle) Funktionalität. Die meisten Benutzer spielen sowieso nur etwas ab (meistens Radio oder Medienfreigabe) und möchten die nur starten/stoppen, am besten noch zwischendurch eine ding-dong.mp3 (wenn es an der Tür klingelt), oder wäsche-fertig.mp3 (um anzugeben -:) abspielen.

Extra für solch einfache Steuerung habe eine QA geschrieben,

aus den Block Szenen:

  • play
  • stop
  • pause
  • next
  • prev
  • mute
  • setVolume

aus den LUA Szenen zusätzlich:

  • playFromUri
  • playFromCIFS

Zusätzlich kann man aus den Status der QA triggern, z.b. wenn Sonos angefangen hat etwas abzuspielen, Party Lichter einschalten 🙂
Das Triggern geht nur mit LUA, ist aber einfach/verständlich (1234 ist die ID des Sonos Player Quick App):

{
  conditions = { {
      id = 1234,
      isTrigger = true,
      operator = "anyValue",
      property = "state",
      type = "device"
    } },
  operator = "all"
}

und dann der Code:

local trigger = sourceTrigger
if trigger.type=='device' then
    if trigger.value == "PLAYING" then
        print("sonos playing something, let's turn on some party lights")
    elseif trigger.value == "PAUSED_PLAYBACK" or trigger.value == "STOPPED" then
        print("sonos not playing, let's turn off party lights now")
    end
end

Um Radio abzuspielen:

fibaro.call(SonosQAID, "playFromUri","stream.laut.fm/hiphop-forever")

um mp3 abzuspielen (vom webserver, nas server web zugriff)

fibaro.call(SonosQAID, "playFromUri","http://192.168.199.11/mp3/dog.mp3")

um mp3 von einer Netzwerkfreigabe abzuspielen:

fibaro.call(SonosQAID, "playFromCIFS","192.168.199.33/2Pac/Me and My Girlfriend.mp3")

Die QuickApp fügt absichtlich nicht die abgespielte Datei zu der Playlist hinzu. Die letzte Datei kann man auslesen, mit z.b.:

fibaro.call(SonosQAID, "getCurrentSourceURI")
fibaro.sleep(1000)
fibaro.getValue(SonosQAID, "currentSourceURI")

abspeichern, ding-dong.mp3 abspielen und dann wieder die abgespeicherte URI abspielen.

Da die meisten sowieso bestimmte Radiosender abspielen, reicht es vollkommen nach dem ding-dnog.mp3 einfach mit playFromUri(deine-radio-station) wieder den Stream abzuspielen.

Die QA ist noch nicht auf unserer QA website (https://quickapps.info/), wer schon testen möchte siehe Anhang.

 

 

Hochgeladene Dateien:
  • Du musst dich anmelden um auf Uploads zugreifen zu können.