Plugin ‚sonos‘ Konfiguration

plugin logo

Im folgenden sind etwaige Anforderungen und unterstützte Hardware beschrieben. Danach folgt die Beschreibung, wie das Plugin sonos konfiguriert wird. Außerdem ist im folgenden beschrieben, wie das Plugin in den Item Definitionen genutzt werden kann. [1]

Es handelt sich bei diesem Plugin um ein gateway Plugin.

Beschreibung

Anbindung von Sonos Lautsprechern

Anforderungen

  • Minimum SmartHomeNG Version: 1.5.1

  • Minimum Python Version: 3.8

Konfiguration

Im folgenden ist beschrieben, wie das Plugin sonos konfiguriert wird. Außerdem ist im folgenden beschrieben, wie das Plugin in den Item Definitionen genutzt werden kann.

Parameter

Das Plugin verfügt über folgende Parameter, die in der Datei ../etc/plugin.yaml konfiguriert werden:

discover_cycle

Zeitintervall, nach dem (erneut) nach (neuen) Lautsprechern im Netzwerk gesucht wird.

  • Datentyp: int

  • Standardwert: 180

  • Minimalwert: 120

local_webservice_path

(optional) In dieses Verzeichnis werden alle TTS-Dateien automatisch gespeichert. Ist die Option „tts“ aktiviert, dann muss diese Option gesetzt sein.

  • Datentyp: str

  • Standardwert: /tmp/tts

local_webservice_path_snippet

(optional) Die eigenen Audio-Snippet Dateien können beim Setzen dieser Option getrennt von den automatisch generierten TTS-Dateien gespeichert werden. Wird diese Option nicht gesetzt und „tts“ ist aktiviert, so wird der Wert von „local_webservice_path“ für Snippets benutzt.

  • Datentyp: str

snippet_duration_offset

(optional) Verlängert die Dauer von Snippet Audio Dateien um einen festen Offset in Sekunden.

  • Datentyp: num

  • Standardwert: 0

  • Minimalwert: 0

speaker_ips

(optional) Die IPs der Lautsprecher können manuell gesetzt werden. Dies kann in einer Container-Umgebung (z.B Docker) mit eingeschränkten Netzwerkzugriff sinnvoll sein.

  • Datentyp: list

tts

(optional) Aktiviert die Google TTS Funktionalität.

  • Datentyp: bool

  • Standardwert: False

webservice_ip

(optional) Für TTS und die Audio-Snippet-Funktionalität wird ein simpler Webservice gestartet. Die IP-Adresse wird per default automatisch ermittelt, kann hier aber manuell gesetzt werden.

  • Datentyp: ip

webservice_port

(optional) Für TTS und die Audio-Snippet-Funktionalität wird ein simpler Webservice gestartet. Der Webservice-Port dafür wird hier definiert

  • Datentyp: int

  • Standardwert: 23500

  • Minimalwert: 1024

  • Maximalwert: 65535

Item Attribute

Das Plugin unterstützt folgende Item Attribute, die in den Dateien im Verzeichnis ../items verwendet werden:

sonos_attrib

ergänzende Attribute, die immer Child-Items des sendenden Items sein müssen

  • Datentyp: str

  • Mögliche Werte:

    • group

    • dpt3_helper

    • vol_dpt3

    • max_volume

    • tts_language

    • tts_volume

    • tts_fade_in

    • start_after

    • snippet_fade_in

    • snippet_volume

    • clear_queue

    • start_track

sonos_dpt3_step

Relatives dpt3 Inkrement

  • Datentyp: int

sonos_dpt3_time

Dpt3 Zeitinkrement

  • Datentyp: int

sonos_recv

Sonos Zonen/Speaker Attribut für den Emfang von Daten/Ergebnissen

  • Datentyp: str

  • Mögliche Werte:

    • is_initialized

    • volume

    • play

    • is_coordiantor

    • mute

    • stop

    • seek

    • pause

    • track_title

    • track_artist

    • track_uri

    • track_album

    • track_album_art

    • bass

    • treble

    • loudness

    • play_mode

    • radio_show

    • radio_station

    • serial_number

    • software_version

    • hardware_version

    • model

    • uid

    • ip

    • mac_address

    • status

    • additional_zone_members

    • alarms

    • is_coordinator

    • tts_local_mode

    • night_mode

    • dialog_mode

    • buttons_enabled

    • cross_fade

    • coordinator

    • snooze

    • status_light

    • zone_group_members

    • player_name

    • household_id

    • streamtype

    • current_track

    • number_of_tracks

    • current_transport_actions

    • current_valid_play_modes

    • sonos_playlists

    • stream_content

    • current_track_duration

    • sonos_favorites

    • favorite_radio_stations

sonos_send

Sonos Zonen/Speaker Attribut für das Senden von Daten/Kommandos

  • Datentyp: str

  • Mögliche Werte:

    • volume

    • play

    • pause

    • stop

    • mute

    • cross_fade

    • snooze

    • play_mode

    • next

    • previous

    • play_tunein

    • play_url

    • play_sharelink

    • load_sonos_playlist

    • play_snippet

    • play_tts

    • join

    • unjoin

    • volume_up

    • volume_down

    • partymode

    • bass

    • treble

    • loudness

    • playmode

    • seek

    • status

    • alarms

    • get_playlist

    • set_playlist

    • night_mode

    • dialog_mode

    • buttons_enabled

    • cross_fade

    • snooze

    • status_light

    • switch_linein

    • switch_tv

    • play_favorite_title

    • play_favorite_number

    • play_favorite_radio_title

    • play_favorite_radio_number

    • play_sonos_radio

sonos_uid

Sonos eindeutige Geräte/Zone Identifikation (Unique Device ID)

  • Datentyp: str

Logik Parameter

Das Plugin verfügt über folgende Parameter, die in der Datei ../etc/logic.yaml konfiguriert werden:

Keine Logik Parameter in den Metadaten beschrieben - Bitte in der README nachsehen (siehe Fußnote)

Plugin Functions

Das Plugin verfügt über folgende öffentliche Funktionen, die z.B. in Logiken aufgerufen werden können.

play_all(alert_uri, speaker_list, alert_volume, alert_duration, fade_back)

Spiel eine URL auf allen Speakern, oder einer Untermenge, ab

  • Ergebnistyp der Funktion: foo

alert_uri

URL die Sonos abspielen soll

  • Datentyp: str

speaker_list

Liste mit Speaker Namen, auf denen der Sound abgespielt werden soll

  • Datentyp: list

alert_volume

Volumenlevel (0-100)

  • Datentyp: int

alert_duration

Länge der Ansage in Sekunden (wenn 0, dann gleich Tracklänge)

  • Datentyp: int

fade_back

auf True setzen, um den Sound nach der Ansage ansteigen zu lassen

  • Datentyp: bool