Plugin ‚sonos‘ Konfiguration
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